Забыли пароль?
Запросите новый здесь.

Автор темы: chrom
ID темы: 627
Информация:
Тема содержит 33 сообщения, была просмотрена 9229 раз.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Вопросы новичков
 Распечатать тему
Помогите переделать панель на 7.02.
chrom
Скачать исходники  Код
<?php
$INFO['sql_driver']         =   'mysql';
$INFO['sql_host']         =   'Данные подключения к базе IPB';
$INFO['sql_database']         =   'Данные подключения к базе IPB';
$INFO['sql_user']         =   'Данные подключения к базе IPB';
$INFO['sql_pass']         =   'Данные подключения к базе IPB';
$INFO['sql_tbl_prefix']         =   '';
$INFO['sql_debug']         =   '1';
$INFO['board_start']         =   '1203429778';
$INFO['installed']         =   '1';
$INFO['php_ext']         =   'php';
$INFO['safe_mode']         =   '0';
$INFO['board_url']         =   'http://forum.';
$INFO['banned_group']         =   '5';
$INFO['admin_group']         =   '4';
$INFO['guest_group']         =   '2';
$INFO['member_group']         =   '3';
$INFO['auth_group']         =   '1';
$INFO['mysql_tbl_type']         =   'MyISAM';
$INFO['mysql_codepage']         =   'cp1251';
?>




ссылку на форум убрал и остальное все верно. Панель же отображается и показывает последние сообщения. Но вот после нее, как на скрине, вылазит ошибка и сайт не грузится.
 
Web
Neo_Allex
ну, видишь - здесь как раз все настройки для твоего форума- юзер, пароль, база и хост, кодировка и т.д.

НАСТРОЙ в файле conf_global.php все, как надо.
Пробуй такой код панели:
<?php

/*
* PHP-Fusion v7
* Copyright (C) 2009 by mishqa35
* http://sf-fusion.ru/
* Filename: block_ipb_panel.php
* Author: mishqa35
*/

if (!defined("IN_FUSION")) { die("Access Denied"); }

mysql_close(); //закрываем предыдущее соединение

include BASEDIR."conf_global.php"; //подключаем файл настроек для ФОРУМА

dbconnect($INFO['sql_host'], $INFO['sql_user'], $INFO['sql_pass'], $INFO['sql_database']); //конектимся к базе ФОРУМА, используя данные (из массива) из настроек

opentable("Последние темы форума");
$result = dbquery("SELECT posts, state, views, tid, title, last_post, poll_state, last_poster_name, last_poster_id, forum_id FROM ".$INFO['sql_tbl_prefix']."topics ORDER BY last_post DESC LIMIT 5");
if (dbrows($result) != 0) {
$i = 0;
echo "<table cellpadding='0' cellspacing='1' width='100%' class='tbl-border'>n<tr>n";
echo "<td class='tbl2'>&nbsp;</td>n";
echo "<td width='100%' class='tbl2'><strong>Темы</strong></td>n";
echo "<td width='1%' class='tbl2' style='text-align:center;white-space:nowrap'><strong>Просмотров</strong></td>n";
echo "<td width='1%' class='tbl2' style='text-align:center;white-space:nowrap'><strong>Ответов</strong></td>n";
echo "<td width='1%' class='tbl2' style='text-align:center;white-space:nowrap'><strong>Последние сообщения</strong></td>n";
echo "</tr>n";
while($row = dbarray($result)) {
$row_color = ($i % 2 == 0 ? "tbl1" : "tbl2");
echo "<tr>n<td class='".$row_color."'>";
if ($row['state'] == 'open') {
echo "<img src='".get_image("foldernew")."' alt='' />";
} elseif ($row['state'] == 'closed') {
echo "<img src='".get_image("folderlock")."' alt='' />";
}
if ($row['poll_state'] != '0') {
$poll = "<span class='small' style='font-weight:bold'>[Опрос]</span> ";
} else {
$poll = "";
}
echo "</td>n";
echo "<td width='100%' class='".$row_color."'>".$poll."<a href='".$INFO['board_url']."/index.php?showtopic=".$row["tid"]."&view=getnewpost' title='".$row['title']."'>".trimlink($row['title'], 30)."</a></td>n";
echo "<td width='1%' class='".$row_color."' style='text-align:center;white-space:nowrap'>".$row['views']."</td>n";
echo "<td width='1%' class='".$row_color."' style='text-align:center;white-space:nowrap'>".$row['posts']."</td>n";
echo "<td width='1%' class='".$row_color."' style='text-align:center;white-space:nowrap'><a href='".$INFO['board_url']."/index.php?showuser=".$row['last_poster_id']."'>".$row['last_poster_name']."</a><br />n".showdate("forumdate", $row['last_post'])."</td>n";
echo "</tr>n";
$i++;
}
echo "</table>";
} else {
echo "<div style='text-align:center'>Нет тем</div>n";
}

mysql_close();//закрываем текущее соединение с базой
dbconnect($db_host, $db_user, $db_pass, $db_name);//открываем соединение с базой Фьюжена

echo "<!-- PHP-Fusion v7 ; Copyright (C) 2009 by mishqa35 ; http://sf-fusion.ru/ ; Filename: block_ipb_panel.php ; Author: mishqa35 -->";

closetable();
?>

http://how-make.i...ticles.php - как это делают? Современные технологии изготовления вещей и изделий...
 
Web
chrom
Все равно не работает ac
 
Web
dark
Да с хостингом что то. Например ограничено количество соединений с базой.
 
chrom
неужели в 7.02 увеличили кол-во подключений. Из-за чего этой панельке не удается нормально работать?
Повторюсь, в 7.01 то все нормально работало..
 
Web
dark
В 7.02 ввели что то вроде защиты, это уничтожение переменных с данными коннекта к базе, после установки соединения. Это в ядре (maincore.php) вот такая строка:

Скачать исходники  Код
unset($db_host, $db_user, $db_pass);




А так как данных нет, то второй коннект к базе как раз наверное и проходит из-за этого. Строка:
Скачать исходники  Код
dbconnect($db_host, $db_user, $db_pass, $db_name);//открываем соединение с базой Фьюжена



в Вашем скрипте.

Отсюда можно попробовать следующее:
в maincore.php закомментировать строку:

Скачать исходники  Код
//unset($db_host, $db_user, $db_pass);




Либо повторно вписать значения $db_host, $db_user, $db_pass перед строкой коннекта в вашем скрипте.
 
chrom
Закоментировал. теперь какието буквы nnnnnnnnnnnnnnnnn
перед панелью отображает. Но сайт работает!
 
Web
dark
в коде панели в строках с echo в конце есть у вас n.

Например
echo "</tr>n";


поставьте перед n обратный слеш (форум его почему то не печатает).
 
chrom
Все сделал. Спасибо всем большое за помощь! ab
P.S. Вопросик для общего развития, вот в конфиге закомментил строчку, это на что-то может повлиять?
 
Web
jikaka
chrom, смотря какую строчку
на будущее, пишите как решили проблему
 
Web
chrom
Проблема решена с помощью поста #22, #26 и #28.
 
Web
dark
chrom написал:
P.S. Вопросик для общего развития, вот в конфиге закомментил строчку, это на что-то может повлиять?


В этой строке уничтожаются из памяти данные подключения к базе. Повлиять это может тем что к примеру те админы у какие есть доступ к модулям где выполняются скрипты (например дополнительные страницы) смогут легко узнать ваш логин и пароль от базы данных. Достаточно 1 строчки (не стал писать что бы "супер" хакеры не пытались, кто "шарит" тот поймет что написать).

Так же такой доступ могут получить и передать своему разработчику сторонние плагины. Видимо именно для этого ввели такую опцию в движке. Админы же с вышеуказанными правами в стандартном варианте движка могут другим способом получить логин и пароль от базы.

Вообще такую панель если соблюдать всю безопасность, нужно делать отдельной страницей и догружать на страницу сайта через java-script, ajax или iframe или readfile.
Изменил(а) dark, 20.05.2011 21:38
 
chrom
Понятно. спасибо! ab
 
Web

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)