| NordWest |
Отправлено: 14 ноября 2012 — 00:25 • Тема: История изменений... • Форум: Limbo CMS |
Ответов: 40 Просмотров: 32525
 |
class_install.php
было (Показать) $fileext = substr(strrchr(basename($src_file), '.' ), 1);
if ($fileext == "gz" || $fileext == "tar" )
{
PclTarExtract($src_file, $dest_dir);
if (PclErrorCode() != 1)
{
// error return false;
}
$this->from_dir($dest_dir);
}
else
{
$zipfile = new PclZip($src_file);
стало (Показать){
$zipfile = new PclZip($src_file);
Причина - убрал функцию распаковки файлов формата "gz" и "tar", так как в коде нет функций, их обрабатывающих (видимо хотели добавить но забыли... или зибили )
Так же убрал определение под какой ОС крутится PHP - нигде во всем коде эти значения не используются.
code: if (stristr(php_uname(), 'windows')){define('OS_WINDOWS', 1);}
else {define('OS_WINDOWS', 0);} |
| NordWest |
Отправлено: 12 ноября 2012 — 01:04 • Тема: Этапы разработки CMS Limbo • Форум: Limbo CMS |
Ответов: 115 Просмотров: 47577
 |
Цитата от технарь: В админке главной страницы повисают мертвые ссылки Исправил - теперь ядро само хвосты подчищает.
Ещё раз попробовал всё полностью нафиг удалить и создать по новой - никаких косяков связанных с удалением первого раздела не заметил. Зачем блокировку делали - непонятно? Может это просто была ошибка в коде, а не фишка?
Завтра ещё поковыряюсь с интерфейсом админки, а потом снова за репозитарий.
Упорядочивать структуру базы данных пока не буду - к этому делу нужно хорошо подготовиться. Хотя бы описать структуру того, что есть на сегодня. Я начал это делать, но как-то потом забросил. А зря. Будет время - нужно обязательно продолжить. |
| NordWest |
Отправлено: 12 ноября 2012 — 00:52 • Тема: История изменений... • Форум: Limbo CMS |
Ответов: 40 Просмотров: 32525
 |
admin.content.php
было
code: case "delete":
change_val("sections",$sec_id,"count",-1);
$conn->Execute("DELETE FROM #__content WHERE catid = ".$cid[0]);
$easydb->data_table("categories","admin.php?com_option=content&option=categories&sec_id=$sec_id","section=$sec_id");
стало
code: case "delete":
$rs = $conn->Execute("SELECT id FROM #__content WHERE frontpage=1 AND catid = ".$cid[0]);
$rsa=$rs->GetArray();
foreach($rsa as $row)
{$conn->Execute("DELETE FROM #__content_frontpage WHERE id = ".$row['id']);}
change_val("sections",$sec_id,"count",-1);
$conn->Execute("DELETE FROM #__content WHERE catid = ".$cid[0]);
$easydb->data_table("categories","admin.php?com_option=content&option=categories&sec_id=$sec_id","section=$sec_id");
Причина - без данного изменения при удалении категории оставались висячие хвосты на главной странице. |
| NordWest |
Отправлено: 11 ноября 2012 — 23:26 • Тема: Этапы разработки CMS Limbo • Форум: Limbo CMS |
Ответов: 115 Просмотров: 47577
 |
Ошибка при удалении раздела. Связанные с этим разделом категории и статьи повисают в воздухе.
Решил эту проблему через запрет удалять раздел, пока в нем есть категории. Возможно нужно потом будет ещё всплывающее окно с пояснением прикрутить...
Следующий косяк - при удалении статей... В админке главной страницы повисают мертвые ссылки.  |
| NordWest |
Отправлено: 11 ноября 2012 — 22:55 • Тема: История изменений... • Форум: Limbo CMS |
Ответов: 40 Просмотров: 32525
 |
class_easydb.php
было
code:foreach($cid as $var)
{
if($this->is_published($table,$var,$extra)) // если опубликовано
{$this->auto_category($table,$var,-1);} // уменьшаем счетчик
$conn->Execute("DELETE FROM #__$table WHERE id = $var $extra"); // удаляем запись в базе
}
стало
code: foreach($cid as $var)
{
if ($table == 'sections')
{
$cnd=$conn->GetRow("SELECT count FROM #__$table WHERE id = ".$var);
if ($cnd['count'] == 0)
{$conn->Execute("DELETE FROM #__$table WHERE id = $var $extra");}
}
else
{
if($this->is_published($table,$var,$extra)) // если опубликовано
{$this->auto_category($table,$var,-1);} // уменьшаем счетчик
$conn->Execute("DELETE FROM #__$table WHERE id = $var $extra"); // удаляем запись в базе
}
}
Причина - необходимо было запретить удалять разделы, в которых ещё есть категории. |
| NordWest |
Отправлено: 11 ноября 2012 — 04:48 • Тема: Попытка запустить репозитарий • Форум: Limbo CMS |
Ответов: 9 Просмотров: 3976
 |
Пришел к необходимости изменить структуру в xml файлах.
Теперь заголовок должен иметь такой формат:
code:
<name> banners </name>
<title> Banners </title>
<description> Banners rotation </description>
<version> 1.0.5.121106 </version>
<author> Vikas Patial </author>
<authorEmail> radius@maxdsl.ru </authorEmail>
<copyright>This component is released under the GNU/GPL License</copyright>
В этой связи придется прилично код ядра править, переписывать заголовки всех компонентов и перезаливать их на хост.
А ещё придется для корректной работы ссылки "Инфо" писать функцию самому. Та, что есть под мои нужды не подходит...
Вот я и думаю - может ну её пока нафиг? Будет потом нечем заняться, тогда и допилю. А пока проще добавить информацию из содержимого тега <description>. |
| NordWest |
Отправлено: 11 ноября 2012 — 04:25 • Тема: История изменений... • Форум: Limbo CMS |
Ответов: 40 Просмотров: 32525
 |
admin.system.php
было (Показать)case "install" :
{
switch ($tab_num)
{
case '1': $limbocore->redir('admin.php?com_option=templates&task=new&web_path='.$cid[0]);break;
case '2': $limbocore->redir('admin.php?com_option=language&task=new&web_path='.$cid[0]);break;
case '3': $limbocore->redir('admin.php?com_option=components&task=new&web_path='.$cid[0]);break;
case '4': $limbocore->redir('admin.php?com_option=modules&task=new&web_path='.$cid[0]);break;
case '5': $limbocore->redir('admin.php?com_option=system&option=hacks&web_path='.$cid[0]);break;
}
break;
}
default :new_updates(); break;
}
break;
}
стало (Показать)case "install" :
{
if( $cid[0] == '' )
{
?><script type="text/javascript"> var desc='<?php echo _IFC_LIST_ERR;?>'; alert(desc); </script> <?php
$limbocore->redir('admin.php?com_option=system&option=updates');
}
switch ($tab_num)
{
case '1': $limbocore->redir('admin.php?com_option=templates&task=new&web_path='.$lm_updates.'templates/'.$cid[0].'/tem_'.$cid[0].'.zip');break;
case '2': $limbocore->redir('admin.php?com_option=language&task=new&web_path='.$lm_updates.'lang/'.$cid[0].'/lng_'.$cid[0].'.zip');break;
case '3': $limbocore->redir('admin.php?com_option=components&task=new&web_path='.$lm_updates.'components/'.$cid[0].'/com_'.$cid[0].'.zip');break;
case '4': $limbocore->redir('admin.php?com_option=modules&option=install&task=new&web_path='.$lm_updates.'modules/'.$cid[0].'/mod_'.$cid[0].'.zip');break;
case '5': $limbocore->redir('admin.php?com_option=limbots&option=install&task=new&web_path='.$lm_updates.'limbots/'.$cid[0].'/bot_'.$cid[0].'.zip');break;
case '6': $limbocore->redir('admin.php?com_option=system&option=hacks&web_path='.$lm_updates.'hacks/'.$cid[0].'/hac_'.$cid[0].'.zip');break;
}
break;
}
admin.system.html.php
было (Показать)$table_head = array (
array('title'=>'radio' , 'val'=>'id' , 'len'=>'1%' ) ,
array('title'=>_CMN_NAME,'val'=>'name','len'=>'50%','info'=>_CMN_INFO,'ilink'=>'admin.php?com_option=language&task=info&cid[]=ivar1','ivar1'=>'id' ) ,
array('title'=>_CMN_STATUS,'val'=>'published','len'=>'10%','align'=>'center' ),
array('title'=>_CMN_AUTHOR,'val'=>'author','len'=>'15%','mlink'=>'authorEmail' ) ,
array('title'=>_CMN_VER,'val'=>'version','len'=>'10%','align'=>'center' ) ,
array('title'=>_CMN_CREATED,'Created','val'=>'date','len'=>'10%','align'=>'center' ),
array('title'=>_CMN_SIZE,'Size','val'=>'size','len'=>'10%','align'=>'center' )
);
$table_req = array ( 'id'=>'id','name'=>'name','published'=>'published','author'=>'author','version'=>'version','date'=>'date','authorEmail'=>'authorEmail','size'=>'size' );
$gui->add("tab",_TEMPLATES,_TEMPLATES_INSTALL,"dtab");
стало (Показать) $table_head = array (
array('title'=>'radio' , 'val'=>'name' , 'len'=>'1%'),
array('title'=>_CMN_NAME,'val'=>'title','len'=>'30%','info'=>_CMN_INFO,'ilink'=>'admin.php?com_option=system&option=info&task=ivar1&cid[]=ivar2'.'','ivar1'=>'id','ivar2'=>'name'),
array('title'=>_CMN_TITLE,'val'=>'description','len'=>'30%'),
array('title'=>_CMN_STATUS,'val'=>'published','len'=>'10%','align'=>'center'),
array('title'=>_CMN_AUTHOR,'val'=>'author','len'=>'15%','mlink'=>'authorEmail','align'=>'center'),
array('title'=>_CMN_VER,'val'=>'version','len'=>'10%','align'=>'center')
);
$table_req = array ( 'id'=>'id','name'=>'name','title'=>'title','description'=>'description','published'=>'published','author'=>'author','authorEmail'=>'authorEmail','version'=>'version');
Связано с созданием репозитария... |
| NordWest |
Отправлено: 11 ноября 2012 — 01:21 • Тема: История изменений... • Форум: Limbo CMS |
Ответов: 40 Просмотров: 32525
 |
class_install.php
Поправил функцию isValid()
стало (Показать)function isValid()
{
global $lm_version_num;
$ismosinstall = $this->xml->getElementByPath('mosinstall' );
if($ismosinstall->attribute('type') !== $this->type) return _INSTALL_INCORRECT;
if (!$ismosinstall->getElementByPath('version' ))
{return _INSTALL_NOVERS;};
$ismosinstall = $ismosinstall->getElementByPath('version' );
$cor_version = strtolower(str_replace('.','', substr($lm_version_num,0,5)));
$mod_version = strtolower(preg_replace('~[^0-9]+~','', substr($ismosinstall->getValue(),0,5)));
if($mod_version < $cor_version) return _INSTALL_NOVERS;
return false;
}
Связано с изменением структуры заголовка xml файлов инсталляторов. |
|