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

Автор темы: chrom
ID темы: 627
Информация:
Тема содержит 33 сообщения, была просмотрена 8422 раз.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Вопросы новичков
 Распечатать тему
Помогите переделать панель на 7.02.
chrom
Это панель для вывода последних сообщений с форума IPB. Работала на 7.01. С переходом на 7.02 возникает ошибка, изза которой сайт не работает. Очень прошу помочь переделать ибо сам не разбираюсь)
Скачать исходники  Код
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)




Сам код панели
Скачать исходники  Код
<?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"); }

include BASEDIR."conf_global.php";

// setting

//$sql_host = "";         /* Хост */
//$sql_user = "";            /* Имя пользователя базы */
//$sql_pass = "";               /* Пароль к базе */
//$sql_database = "";            /* имя базы форума */
//$sql_tbl_prefix = "";         /* прификс таблиц форума */
//$board_url = "";   /* УРЛ форума без слеша на конце */

// setting

mysql_close();
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();
?>



 
Web
Neo_Allex
Настрой:
//$sql_host = ""; /* Хост */
//$sql_user = ""; /* Имя пользователя базы */
//$sql_pass = ""; /* Пароль к базе */
//$sql_database = ""; /* имя базы форума */
//$sql_tbl_prefix = ""; /* прификс таблиц форума */
//$board_url = "";

http://how-make.i...ticles.php - как это делают? Современные технологии изготовления вещей и изделий...
 
Web
jikaka
в 7.02 есть еще COOKIE_PREFIX
 
Web
Neo_Allex
да он во всех версиях есть )
define("DB_PREFIX", $db_prefix); - стандарт

Тут же, если надобится:

define("DB_PREFIX", $sql_tbl_prefix); - но будет, вероятно, ошибка, при назначении с тем же названием.
http://how-make.i...ticles.php - как это делают? Современные технологии изготовления вещей и изделий...
 
Web
jikaka
Neo_Allex, ты видимо не понял
я имею ввиду COOKIE_PREFIX
он появился начиная с версии 7.02
 
Web
dark
Neo_Allex все правильно говорит COOKIE_PREFIX был всегда в семерке. Он назначался в файле multisite_include.php, а теперь с 7.02 его перенесли в config.php
 
chrom
Да настроить то я настроил, просто данные убрал отсюда ab

Так мне какую строку надо добавить чтобы работала панель? И самый главный вопрос в каком именно место)
Изменил(а) chrom, 19.05.2011 15:06
 
Web
jikaka
dark, я об этом и говорил, что теперь его нужно прописывать дополнительно в config.php
 
Web
Neo_Allex
jikaka написал:
Neo_Allex, ты видимо не понял
я имею ввиду COOKIE_PREFIX
Тьфу, имел ввиду одно - а выдрал код другой ))) Абазаццц...

Да, COOKIE_PREFIX был раньше в multisite_include.php:
define("COOKIE_PREFIX", "fusion_");

А я открыл код config.php, уже сформированный, но от старой версии, и автоматом скопировал! Блин, очки надо себе купить, черные )))

Вот, из сетап.пхп, как формируется:

$cookie_prefix = (isset($_POST['cookie_prefix']) ? stripinput(trim($_POST['cookie_prefix'])) : "fusion_");
....
if ($cookie_prefix != "") {
$cookie_prefix_last = $cookie_prefix[strlen($cookie_prefix)-1];
if ($cookie_prefix_last != "_") { $cookie_prefix = $cookie_prefix."_"; }
}
....
$config .= "define("COOKIE_PREFIX", "".$cookie_prefix."");n";

http://how-make.i...ticles.php - как это делают? Современные технологии изготовления вещей и изделий...
 
Web
chrom
Ребят, а мне то что сделать вы скажите четко)
 
Web
Neo_Allex
chrom
Если ты убрал то, что в #2
то, как говорит jikaka, копируй это (переменные) в config.php - и там заполняй, как надо.
Но, можешь и в том же самом файле - он для этого и предназначен ))
http://how-make.i...ticles.php - как это делают? Современные технологии изготовления вещей и изделий...
 
Web
chrom
Закоментированные данные для подключения к БД? Парадокс но они такие и были) Я их не комментировал когда сюда вставлял.
И они у меня заполнены, просто в целях безопасности я их убрал)
 
Web
Neo_Allex
б-р-р-р- - мы наверное не понимаем друг друга....

Смотри, у тебя пишет:
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

это значит, что не может подконектися к базе данных.

Коннект осуществляет функция, с этими параметрами:

dbconnect($INFO['sql_host'], $INFO['sql_user'], $INFO['sql_pass'], $INFO['sql_database']);


итого, в том файле тебе надо заполнить переменные данными: - это хост, $sql_user - это юзер базы ... и т.д.

Если у тебя одна база, для ФЬюжика и форума - то те самые данные и вставляй, или переназнач переменные, напр
$sql_host = $db_host;
$sql_user = $db_user;
$sql_pas=$db_pass;
и т.д.

Но, насколько я понял - все это дело пишется в массив $INFO
Итого, наверное в файле conf_global.php типа этого:
$INFO = array('sql_host' => $sql_host, 'sql_user' => $sql_user, .....);
или
$INFO = array('sql_host' => $db_host, 'db_user' => $db_user, .....);

ну, разберись с теми файлами и переменными..
http://how-make.i...ticles.php - как это делают? Современные технологии изготовления вещей и изделий...
 
Web
chrom
вы меня совсем запутали. у меня разные базы. IPB форум лежит на другом домене и другая база. поэтому в этом файле другие данные для коннекта к mysql.
 
Web
dark
<?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"); }

//include BASEDIR."conf_global.php";

// setting

$sql_host = ""; /* Хост */
$sql_user = ""; /* Имя пользователя базы */
$sql_pass = ""; /* Пароль к базе */
$sql_database = ""; /* имя базы форума */
$sql_tbl_prefix = ""; /* прификс таблиц форума */
$board_url = ""; /* УРЛ форума без слеша на конце */


// setting

mysql_close();
dbconnect($sql_host, $sql_user, $sql_pass, $sql_database);

opentable("Последние темы форума");
$result = dbquery("SELECT posts, state, views, tid, title, last_post, poll_state, last_poster_name, last_poster_id, forum_id FROM ".$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='".$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='".$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();
?>


Заполни только настройки
 
Neo_Allex
chrom, Говори dark-у спасибо ))) (Скрытый текст: Он самый неленивый оказался)
http://how-make.i...ticles.php - как это делают? Современные технологии изготовления вещей и изделий...
 
Web
chrom
Поменял на ваш код, результат тот же:
http://www.diigo.com/item/image/1cnpj/bha3

спасибо то не жалко) Но проблема жаль не решена)
 
Web
dark
А с SQL точно все в порядке? База на месте? Пароль логин и т.п. Эта ошибка обозначает нет соединения через сокет к базе. Сам сервер MySQL запущен? Если сервер localhost попробуйте набрать туда 127.0.0.1
 
chrom
Все впорядке. На 7.01 все работало, логин пароль правильные. Название базы тоже. БД на хостинге.
 
Web
Neo_Allex
что в файле
conf_global.php
? Может, он все-таки тут "причем"...
http://how-make.i...ticles.php - как это делают? Современные технологии изготовления вещей и изделий...
 
Web

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

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