Instantcms Ремонтник деревьев

Тема в разделе "Доработки Instantcms", создана пользователем Kuler, 15 май 2014.

  1. Kuler

    Kuler Команда форума Пользователь

    Сообщения:
    26
    Симпатии:
    8
    Пол:
    Мужской
    Род занятий:
    программирование
    Адрес:
    Moskau, Russia
    Часто так бывает когда мы заходим на страничку по ремонту деревьев и видим там ошибки
    Но раньше спешить нажимать кнопку в самой Instantcms было нельзя. Так как могло просто слететь старое меню.
    Но с таким хаком можно это сделать легко

    И так приступаем править пару файлов ручками

    Открываем файл: /admin/applets/repairnested.php
    Перед строкой:
    Код:
       function repairNestedSet($table){
    Вставляем
    Код:
    	function tree_all_ns($s_table, $i_value = 1, $k_parent = 0, $lvl = 0){
    	
    	$inDB = cmsDatabase::getInstance();
    	
    	if(!is_numeric($k_parent) || !is_numeric($i_value))return false;
    	
    	$r = $inDB->query("SELECT id FROM {$s_table} WHERE parent_id='{$k_parent}' ORDER BY NSLeft ASC, ordering ASC");
    	if(!$r)return false;
    	
    	$count = $inDB->num_rows($r);
    	$o = 1;
    	while ($f = $inDB->fetch_assoc($r)){
    	$k_item = $f['id'];
    	$i_right = tree_all_ns($s_table, $i_value + 1, $k_item, $lvl+1);
    	if($i_right === false)return false;
    	
    	if(!$inDB->query("UPDATE ".$s_table." SET NSLeft='".$i_value."', NSRight='".$i_right."', ordering = '".$o++."', NSLevel = '{$lvl}' where id='".$k_item."'"))return false;
    	
    	$i_value = $i_right + 1;
    	}
    	return $i_value;
    	
    	}
    А строку
    Код:
    repairNestedSet($tables[(int)$table_id]);
    Заменить
    Код:
    	if(tree_all_ns($tables[(int)$table_id]['name']) !== false)cmsCore::addSessionMessage($tables[(int)$table_id]['title'].' '.$_LANG['AD_RESTORED'], 'success');
    Или просто скачайте файл ниже.

    Все теперь можно нажать кнопку и все пройдет автоматически
     

    Вложения:

  2. Azbukafin

    Azbukafin Пользователь

    Сообщения:
    7
    Симпатии:
    0
    Вот таким порой свойством и сломал себе сайт. Нажал вот так отремонтировать и получил в итоге ужас чего.