| NordWest |
Отправлено: 8 декабря 2012 — 22:49 • Тема: Этапы разработки CMS Limbo • Форум: Limbo CMS |
Ответов: 115 Просмотров: 41458
 |
Была техническая пауза - две недели был занят другим.
Сегодня снова вернулся к старому рукоблудию.  |
| NordWest |
Отправлено: 20 ноября 2012 — 00:06 • Тема: История изменений... • Форум: Limbo CMS |
Ответов: 40 Просмотров: 28468
 |
admin_functions.php
Добавил новую функцию info_com($sel), единую для всех ссылок "Инфо"
Спойлер (Показать)function info_com($tipe,$path)
{
global $cid,$lm_updates;
$preview_path = 'images/stories/blank.png';
$table_req = array ( 'name'=>'name','title'=>'title','author'=>'author','version'=>'version','authorEmail'=>'authorEmail','authorUrl'=>'authorUrl',"desc"=>"Description");
if ($path)
{
switch ($tipe)
{
case 'templates' :
$xml_file=$lm_updates."templates/".$cid[0]."/templateDetails.xml";
$preview_path=$lm_updates."templates/".$cid[0]."/template_thumbnail.png";
$header = _TEMPLATES_INFO;
break;
case 'lang' :
$xml_file=$lm_updates."lang/".$cid[0]."/".$cid[0].".xml";
$preview_path=$lm_updates."lang/".$cid[0]."/".$cid[0].".png";
$header = _LANG_INFO_HEAD;
break;
case 'components' :
$xml_file=$lm_updates."components/".$cid[0]."/".$cid[0].".xml";
$header = _COMPONENTS_PARAMS;
break;
case 'modules' :
$xml_file=$lm_updates."modules/".$cid[0]."/mod_".$cid[0].".xml";
$header = _MODULES_EDIT_HEAD;
break;
case 'limbots' :
$xml_file=$lm_updates."limbots/".$cid[0]."/".$cid[0].".xml";
$header = _LIMBOTS_INSTALL_HEAD;
break;
case 'hacks' :
$xml_file=$lm_updates."hacks/".$cid[0]."/".$cid[0].".xml";
$header = _HACKS;
break;
default :
break;
}
$info=read_urlfile_xml($xml_file,$table_req);
}
else
{
switch ($tipe)
{
case 'templates' :
$xml_file="templates/".$cid[0]."/templateDetails.xml";
$preview_path="templates/".$cid[0]."/template_thumbnail.png";
$header = _TEMPLATES_INFO;
break;
case 'lang' :
$xml_file="lang/".$cid[0]."/".$cid[0].".xml";
$preview_path="lang/".$cid[0]."/".$cid[0].".png";
$header = _LANG_INFO_HEAD;
break;
default :
break;
}
$info=read_file_xml($xml_file,$table_req);
}
if($info <> false)
{
$gui=new admin_interface();
$gui->add("form","adminform","","admin.php?com_option=templates");
$gui->add("com_header",$header);
$gui->add("tab_head");
$gui->add("tab_simple","",$header);
$gui->add("html","","","<tr><td width = 20% ><img src=\"$preview_path\"></td><td valign=\"top\">");
$gui->add("table","","","","cellpadding='5' cellspacing='2' ");
$gui->add("form_text","",_CMN_NAME,$info['title']);
$gui->add("form_text","",_CMN_VER,$info['version']);
$gui->add("form_text","",_CMN_AUTHOR,$info['author']);
$gui->add("form_text","",_CMN_EMAIL,$info['authorEmail']);
$gui->add("form_text","",_CMN_WEBSITE,$info['authorUrl']);
$gui->add("form_text","",_CMN_DESC,$info['desc']);
$gui->add("end_table");
$gui->add("html","","","</td></tr>");
$gui->add("tab_end");
$gui->add("tab_tail");
$gui->add("end_form");
$gui->generate();
}
else
{echo '<div align="center">'._CMN_INFO_ERROR.'</div>';}
} |
| NordWest |
Отправлено: 19 ноября 2012 — 22:58 • Тема: Как узнать определена ли функция • Форум: Записная книжка PHP |
Ответов: 0 Просмотров: 3469
 |
Если нужно проверить, определена ли функция (т.е. можно ли её из этого участка кода вызвать), используем встроенную функцию PHP function_exists
Например так...
code:if (function_exists ('info_com'))
{
?><script type="text/javascript"> alert('Функция определена!'); </script> <?php
}; |
| NordWest |
Отправлено: 19 ноября 2012 — 13:06 • Тема: История изменений... • Форум: Limbo CMS |
Ответов: 40 Просмотров: 28468
 |
admin_functions.php
добавил новую функцию для работы репозитария
code:function array_replace_pub($data,$inst)
{
for($i=0;$i<count($data);$i++)
{
$data[$i]['published'] = 0;
foreach($inst as $var=>$val)
{
if ($data[$i]['name'] == $inst[$var]['name'])
{
if ($data[$i]['version'] == $inst[$var]['version'])
{$data[$i]['published'] = 1;}
else
{$data[$i]['published'] = 2;}
}
}
}
return $data;
} |
| NordWest |
Отправлено: 18 ноября 2012 — 22:31 • Тема: История изменений... • Форум: Limbo CMS |
Ответов: 40 Просмотров: 28468
 |
admin.language.html.php
поправил функцию info_language() - перестроил структуру отображения
стало (Показать)function info_language()
{
global $cid,$lm_absolute_path;
$xml_file=$lm_absolute_path."lang/".$cid[0]."/".$cid[0].".xml";
$table_req = array ( 'name'=>'name','title'=>'title','author'=>'author','description'=>'description','version'=>'version','authorEmail'=>'authorEmail' );
if($info=read_file_xml($xml_file,$table_req))
{
$gui=new admin_interface();
$gui->add("form","adminform","","admin.php?com_option=language" );
$gui->add("bar" );
$gui->add("com_header",_LANG_INFO_HEAD);
$gui->add("tab_head" );
$gui->add("tab_simple","",_LANG_INFO_HEAD,"" );
$gui->add("form_text","",_CMN_NAME,$info['title']);
$gui->add("form_text","",_CMN_AUTHOR,$info['author']." (".$info['authorEmail']." )" );
$gui->add("form_text","",_CMN_TITLE,$info['description']);
$gui->add("form_text","",_CMN_VER,$info['version']);
$gui->add("tab_end" );
$gui->add("tab_tail" );
$gui->add("end_form" );
$gui->generate();
}
else
{echo '<div align="center">'._LANG_INFO_ERROR.'</div>';}
} |
| NordWest |
Отправлено: 18 ноября 2012 — 21:36 • Тема: История изменений... • Форум: Limbo CMS |
Ответов: 40 Просмотров: 28468
 |
admin_functions.php
было
code:foreach($req as $var=>$val )
{
$obj = $rootEl->getElementByPath($val);
//echo $obj->getValue();
$tinfo[$var]=$obj->getValue();
}
стало
code: foreach($req as $var=>$val )
{
$obj = $rootEl->getElementByPath($val);
if($obj)
{$tinfo[$var]=$obj->getValue();}
else
{$tinfo[$var]='';}
}
Замена произведена в трех местах файла.
Устраняет зависание админки, если искомый параметр не найден.
Теперь в этом случае параметру просто присваивается пустое значение. |
| NordWest |
Отправлено: 18 ноября 2012 — 21:23 • Тема: Этапы разработки CMS Limbo • Форум: Limbo CMS |
Ответов: 115 Просмотров: 41458
 |
Подсунул в дистрибутив сформированный по новым правилам языковой xml файл и получил зависание админки при попытке выбрать язык. Это лишний раз подтверждает что я всё дальше ухожу от последнего оригинального дистрибутива. Контроль версий просто необходим, иначе будут малообъяснимые глюки. |
|