Forum. MyNuke.ru

Forum. MyNuke.ru (http://forum.mynuke.ru/index.php)
-   Темы оформления phpNuke (http://forum.mynuke.ru/forumdisplay.php?f=12)
-   -   ошибка после установки темы (http://forum.mynuke.ru/showthread.php?t=3641)

S0uRce 12.05.2009 12:34

ошибка после установки темы
 
Помогите, кто может. Пытаюсь освоить PHP-nuke. Скачал установил русскую сборку на Denwer. Так же удалось разместить и запустить на бесплатном хостинге.
Проблема вот в чем. Ставлю тему (отличную от RusNuke2003) внизу вместо подвала выдает:
Fatal error: Call to undefined function get_author() in Z:\home\nuke01.ru\www\themes\3D-Fantasy\theme.php on line 151
Если другую тему ставлю ошибка в другой строке, но код там тот же:

149: }
150: $posted = ""._POSTEDBY." ";
151: $posted .= get_author($aid);
152: $posted .= " "._ON." $time $timezone ($counter "._READS.")";
153: $tmpl_file = "themes/3D-Fantasy/story_home.html";
154: $thefile = implode("", file($tmpl_file));
155: $thefile = addslashes($thefile);
156: $thefile = "\$r_file=\"".$thefile."\";";
157: eval($thefile);
158: print $r_file;
159: }

Что такое $posted .= get_author($aid);
и как это победить?

Soniks 13.05.2009 13:19

S0uRce версия phpnuke какая?
Цитата Что такое $posted .= get_author($aid);
и как это победить?

функция получает имя автора новости. можно закомментировать эту строку.

S0uRce 14.05.2009 22:19

Цитата: Сообщение от Soniks
S0uRce версия phpnuke какая?

функция получает имя автора новости. можно закомментировать эту строку.


Версия нюки 8.1
Спасибо за подсказку, работает. А где все таки надо прописать имя автора, чтобы оно корректно отображалось? Нашел в какой sql базе эта тестовая новость содержится, автора какого-нибудь по умолчанию не смог добавить.

Soniks 15.05.2009 13:36

у вас по идее в файле mainfile.php должна быть функция:
PHP код:
 function get_author($aid) {
 global 
$prefix$db;
    static 
$users;
    if (isset(
$users[$aid]) AND is_array($users[$aid])) {
        
$row $users[$aid];
    } else {
        
$sql "SELECT url, email FROM ".$prefix."_authors WHERE aid='$aid'";
        
$result $db->sql_query($sql);
        
$row $db->sql_fetchrow($result);
        
$users[$aid] = $row;
        
$db->sql_freeresult($result);
    }
 
$aidurl filter($row['url'], "nohtml");
 
$aidmail filter($row['email'], "nohtml");
    if (isset(
$aidurl) && $aidurl != "http://") {
        
$aid "<a href=\"".$aidurl."\">$aid</a>";
    } elseif (isset(
$aidmail)) {
        
$aid "<a href=\"mailto:".$aidmail."\">$aid</a>";
    } else {
        
$aid $aid;
    }
    return 
$aid;


которая как раз за это и отвечает, у вас по видимому ее нет, или она по другому названа.

S0uRce 15.05.2009 16:54

Хм... Действительно в файле mainfile.php нет этой функции.
Что касается автора, то было только вот это:

function formatAidHeader($aid) {
global $anonymous;
$AidHeader = get_author($aid);
if ($aid!=$anonymous) {
$AidHeader="<a href=\"modules.php?name=Your_Account&amp;op=userinfo&amp;username =".$aid."\">".$aid."</a>";
}
else {
$AidHeader=$aid;
}
echo $AidHeader;
}

Огромное спасибо, теперь все нормально.


Часовой пояс GMT +4, время: 05:01.

Copyright © 2005 by Soniks