Автор: Fayl: Дата: 01.14.2011
Добрый день!
Дорабатываю скрипт панели управления WCP, которую перевёл Senasol.
Меня устраивает полностью, гну под себя, поменял дизайн, вставил отправку письма после регистрации, систему техподдержки и ещё пару мелочей.
От идеальной для меня системы, её отделяет только наличие базы данных по монстрам и итемам. В паблике я не нашел не намёка на отдельный скрипт, предоставляющий такую возможность. Посему было принято решение переделать ROSE, вытащить из неё куски отвечающие за базу.
Методом тыка было установленно, что файл который коннектится с бд и тащит информацию по мобам: module.mobs.php, он работает с паре с файлом const.php, который расшифровывает сокращённые названия и интерпретирует в базу натуральные имена.
За вывод на сайт отвечает файл: mobs.html.
Всё бы хороше, но ROSE тесно дружит со smarty, отсюда начинаются непонятные, лично для меня, ошибки. Прошу помочь дружбу эту крепкую преодолеть.
Итак, приведу кусок кода, со своими комментариями
require_once('/wcp/include/const.php'); //тот самый конст, берём
include ('include/conf.php'); //и тут всё ясно, параметры подключения к БД
// получим список всех мобов - для выпадающего меню(это не мой коммент)
$mobs=GetAll("SELECT ID as id, iName as name FROM ".$config['ro_db'].".mob_db ORDER BY `iName`");
$smarty->assign("mobs",$mobs); //тадан! тут видимо в дело вмешивается смарти
// проверим на отображение конкретного элемента
if(isset($_PARAMS[1]) && $_PARAMS[1]=='detail'){
$_PARAMS[2]=(int)$_PARAMS[2]; // id монстра
// получим моба
$mob=GetAll("SELECT * FROM ".$config['ro_db'].".mob_db WHERE `ID`='".$_PARAMS[2]."'");
if(count($mob)){ // если получили моба
$mob=$mob[0];
if(is_file($config['document_root'].'/img/mob/'.$mob['ID'].'.gif')){
$mob['image']=true;
}else{
$mob['image']=false;
}
$smarty->assign("mob",$mob); //и тут тоже смарти, и ниже тоже
$smarty->assign('_ELEMENT_FIX',$_ELEMENTS_FIX[$mob['Element']]);
$smarty->assign('mode_list',get_mob_mode($mob['Mode'],$_MOB_MODE));
$smarty->assign('current_mob',$mob['ID']);
Автор: Asuma: Дата: 01.15.2011
$_PARAMS - переменная ROSE, посмотри как она получается в ядре.