Что нового

Нужна помощь

  • Автор темы Автор темы foxbob
  • Дата начала Дата начала

foxbob

Посетитель
OLD SkripTers
Регистрация
17 Дек 2019
Сообщения
656
Реакции
36
Здравствуйте.Надо хак установить в админскую часть.Проблема в том, что при добавлении и редактировании не запоминаются категории, потому что не выполняется условие... $tpl->set( '{category}', $categories_list ); которое есть в обычном addnews.php Вот сам хакТестировался на DLE: 9.2Хак заменяет стандартный выбор категорий в пользовательской части.1. Открыть файл engine/modules/functuions.phpЗаменить ВСЮ функцию:function CategoryNewsSelectionНа:function CategoryNewsSelection($categoryid = 0, $parentid = 0, $nocat = TRUE, $sublevelmarker = '', $returnstring = '') {    global $cat_info, $user_group, $member_id;        $allow_list = explode( ',', $user_group[$member_id['user_group']]['cat_allow_addnews'] );    $spec_list = explode( ',', $user_group[$member_id['user_group']]['cat_add'] );    $root_category = array ();        if( $parentid == 0 ) {        if( $nocat ) $returnstring .= '';    } else {        $sublevelmarker .= '   ';    }        if( count( $cat_info ) ) {                foreach ( $cat_info as $cats ) {            if( $cats['parentid'] == $parentid ) $root_category[] = $cats['id'];        }                if( count( $root_category ) ) {            foreach ( $root_category as $id ) {                                if( $allow_list[0] == "all" or in_array( $id, $allow_list ) ) {                                        if( $spec_list[0] == "all" or in_array( $id, $spec_list ) ) $color = "black";                    else $color = "red";                    $returnstring .= $sublevelmarker . "<input id=\\"catlist_".$id."\\" onchange=\\"onCategoryChange(this.value)\\" name=\\"catlist[]\\" type=\\"checkbox\\" value=\\"".$id."\\" ";                    if( is_array( $categoryid ) ) {                        foreach ( $categoryid as $element ) {                            if( $element == $id ) $returnstring .= ' CHECKED ';                        }                    } elseif( $categoryid == $id ) $returnstring .= ' CHECKED ';                                        $returnstring .= '/><label for=\\"catlist_".$id."\\" style=\\"color: {$color}\\">' . $cat_info[$id]['name'] . '</label><br />';                }                $returnstring = CategoryNewsSelection( $categoryid, $id, $nocat, $sublevelmarker, $returnstring );            }        }    }    return $returnstring;}Ищем строку:$returnstring .= $sublevelmarker . "<input id=\\"catlist_".$id."\\" onchange=\\"onCategoryChange(this.value)\\" name=\\"catlist[]\\" type=\\"checkbox\\" value=\\"".$id."\\" ";Заменить на$returnstring .= "<div style=\\"float:left;width:200px;\\"><input id=\\"catlist_".$id."\\" onchange=\\"onCategoryChange(this.value)\\" name=\\"catlist[]\\" type=\\"checkbox\\" value=\\"".$id."\\" ";Строку:$returnstring .= '/><label for=\\"catlist_".$id."\\" style=\\"color: {$color}\\">' . $cat_info[$id]['name'] . '</label><br />';Заменить на:$returnstring .= '/><label for=\\"catlist_".$id."\\" style=\\"color: {$color}\\">' . $cat_info[$id]['name'] . '</label></div>';2. Открыть файл engine/modules/addnews.phpЗаменить:$tpl->set( '{category}', $cats );На:$tpl->set( '{category}', $categories_list );
 
Верх