Перед созданием новой темы, пожалуйста, ознакомьтесь с FAQ по LinkorCMS

Небольшие фиксы и дополнение для 1.4.1

Супер пользователь
Сообщений: 125
См. также:
Обновляем ColorBox(просмотр изобр.) в 1.4.1
Обновляем elfinder(Файловый менеджер) в 1.4.1
Добавляем капчу(проверочный код) при авториз. в админке
Мод для вкл. и откл. категорий в 1.4.1

Содержание:
#2 Добавляем возможность показывать описание(непосредственно находясь в ней) категории при ее просмотре
#3 Фиксим поиск по сайту
#4 Добавляем кнопочки обзора файлов на сервере для полей с адресов иконок к категориям и адресу файла в модуле - архив файлов.
#5 Убираем тире в заголовке если в настройках не задано Название сайта или Подзаголовок главной страницы
#6 Фикс для php 5.4 (Ошибка при попытке восстановления пароля и отправке писем),
Добавляем доступ к главной странице админ панели для других администраторов(по умолч. доступна только для 1 админа-главного (!! Изменения от 02.02.2016 !!)
#7 Исправляем косяк при восстановлении БД из резервной копии через админку
#8 Добавляем выбора шрифтов и размера букв при написании ОПИСАНИЙ (TinyMCE)
#9 Фикс для модуля Архив файлов, Фикс для модуля Формы(!!добавлен от 08.02.2016!!)
#10 Фикс для настройки максимально прикрепляемого файла в Обратной связи,
Добавляем настройку показывать или не показывать проверочный код для зарегистрированных пользователей в обратной связи(админам не показывается) - По умолчанию показывалась всем!
#11 Фикс для файлового менеджера. Изначально невозможно создать папку, выходит ошибка!
#13 Мини фикс для modules\blocks\admin.php, Мини фикс для modules\pages\admin.php, Мини фикс для modules/adminmenu/admin.php
#14 Добавляем возможность авто переименования загружаемых изображений.
#15 Избавляемся от кнопки назад в Оценке контента.
#17 Улучшаем функцию Url
#18 Добавляем возможность наложения ВОДЯНОГО ЗНАКА при загрузке в фотогалерею! !! Изменения от 02.02.2016 !!
#19 Добавляем для других администраторов Возможность чистить кеш
#22 Делаем все категории по алфавиту !
#23 МИНИ фикс для \config\init.php, МИНИ фикс для base\inc\LmFileCache.php
#24 При удалении статьи не записывается заголовок в аудит и выходит ошибка.
#25 Для работы на PHP 5.5. (без ошибок) !! дополнения пункта 3 от 02.02.2016 !!
#26 Небольшая правка функции ImageSize !! Переписана от 02.02.2016 !!
#33 Важный фикс! Исправляет двойную инициализацию в модуле промежуточных страниц и тем самым мы избежим фатальных ошибок которые очень трудно обнаружить.
#36 Фиксим верхнее меню в админке !!Изменения от 09.02.2106!!
#37 Баг в модуле Тестирование кода (невозможно сохранить)

-- Изменено "Fort": 13.03.2016 01:38 --
Супер пользователь
Сообщений: 125
Добавляем возможность показывать описание(непосредственно находясь в ней) категории при ее просмотре
1. в файл base\inc\tree.class.php добавим код после функции GetParentId

<?
    /**<br />
     * Возвращает данные родительского элемента<br />
     *<br />
     * @param int $curId Идентификатор объекта<br />
     * @return array родительского объекта<br />
     */<br />
    public function GetParent( $curId ){<br />
        if(isset($this->IdCats[$curId])){<br />
            return $this->IdCats[$curId];<br />
        }else{<br />
            return 0;<br />
        }<br />
    }
?>

2. в файле base\inc\tree_b.class.php заменим функцию ShowCats на

<?
    /**<br />
     * Выводит данные каталога.<br />
     * @param type $cat_id<br />
     */<br />
    public function ShowCats( $cat_id ){<br />
        $vars = array();<br />
        <br />
        $cats = $this->GetChildTree($cat_id); // получаем категории<br />
        $c = count($cats); // кол-во категорий в тек<br />
        <br />
        $vars['desc_parent'] = '';<br />
        if($cat_id != 0){ // если не корень, то получ. инф о родителе<br />
            $parent = $this->GetParent($cat_id); // получаем данные родителя<br />
            $vars['desc_parent'] = $parent['description']; // описание родителя<br />
        }<br />
        <br />
        if( $c > 0 || $vars['desc_parent'] != '' ){ // если есть категории или описание родителя<br />
            <br />
            System::site()->AddTemplatedBox('', $this->catTemplate); // добавляем шаблон категорий<br />
            // Включаем все блоки в шаблоне (по умолчанию)<br />
            System::site()->AddBlock('this_cat', true, true, 'cat'); // Включаем блок this_cat<br />
            System::site()->AddBlock('cats', true, true, 'cat'); // Включаем блок cats<br />
            System::site()->AddBlock('cat_caption', true, false, '', '', '');  // Включаем блок cat_caption<br />
            <br />
            if(isset($vars['desc_parent'])){ // если есть описание родителя<br />
                System::site()->AddSubBlock('this_cat', true, $vars); // Включаем субблок this_cat<br />
            }<br />
            <br />
            if($c > 0){ // если есть категории<br />
                <br />
                for($i = 0; $i < $c; $i++){ // перебираем категории<br />
                    $id = SafeDB($cats[$i]['id'], 11, int);<br />
                    $vars['url'] = Ufu('index.php?name='.$this->moduleName.'&'.$this->id_par_name.'='.$id, $this->moduleName.'/{'.$this->id_par_name.'}/');<br />
                    $vars['title'] = SafeDB($cats[$i]['title'], 255, str);<br />
                    $vars['icon_url'] = 'images/cat_'.$this->moduleName.'_noicon.png';<br />
                    if(file_exists($cats[$i]['icon'])){ // если существует файл иконки<br />
                        $vars['icon_url'] = SafeDB(RealPath2($cats[$i]['icon']), 255, str);<br />
                    }<br />
                    $vars['description'] = '';<br />
                    if($cats[$i]['description'] != ''){<br />
                        $vars['description'] = trim(str_replace('&nbsp;', ' ', $cats[$i]['description']));<br />
                        $vars['description'] = SafeDB($vars['description'], 999, str, true, false);<br />
                        $vars['description'] = substr($vars['description'], 0, 80).'&hellip;';<br />
                    }<br />
                    $counters = $this->GetCountersRecursive($id);<br />
                    $vars['count'] = $counters['files'];<br />
                    $vars['cat_count'] = $counters['cats'];<br />
<br />
                    // Выводим подкатегории<br />
                    $childs = '';<br />
                    $sub = '';<br />
                    if(isset($cats[$i][TREE_CHILD_ID])){<br />
                        for($j = 0, $k = count($cats[$i][TREE_CHILD_ID]); $j < $k; $j++){<br />
                            $child_id = SafeDB($cats[$i][TREE_CHILD_ID][$j]['id'], 11, int);<br />
                            $child_counters = $this->GetCountersRecursive($child_id);<br />
                            $link = Ufu('index.php?name='.$t
his->moduleName.'&'.$this->id_par_name.'='.$child_id, $this->moduleName.'/{'.$this->id_par_name.'}/');<br />
                            $sub .= '<a href="'.$link.'">'.$cats[$i][TREE_CHILD_ID][$j]['title'].'</a>'.'&nbsp;('.$child_counters['files'].'), ';<br />
                        }<br />
                        $childs .= substr($sub, 0, -2);<br />
                    }<br />
                    $vars['childs_cats'] = $childs;<br />
<br />
                    System::site()->AddSubBlock('cats', true, $vars);  // Добавляем субблок cats<br />
                }<br />
                $text = '';<br />
                if($cat_id == 0 && function_exists($this->NumItems)){ // если в корне и в модуле есть фун-я подсчета кол-ва элементов<br />
                    $text = $this->NumItemsCaption.call_user_func($this->NumItems); // кол-во всех элементов во всех категориях<br />
                }<br />
                System::site()->AddBlock('cat_caption', true, false, '', '', $text);  // Включаем блок cat_caption<br />
            }<br />
        }elseif($cat_id == 0){<br />
            System::site()->AddTextBox('', '<p align="center">Категорий пока нет.</p>');<br />
        }<br />
    }
?>

нужно создать файлы images / cat_ИМЯ КАЖДОГО МОДУЛЯ_noicon.png - для категорий у которых не установлена иконка !
3. пример шаблона cats.html со всеми доступными переменными
Скрытый текст


-- Изменено "Fort": 26.09.2015 19:10 --
Супер пользователь
Сообщений: 125
Фиксим поиск по сайту
1. в файле base\inc\system\search.php заменяем функцию SSearch(..) на

<?
function SSearch($text, $search){<br />
    if($search == ''){<br />
        return false;<br />
    }<br />
    $search = preg_replace('/ +/', ' ', $search); // Удаляем двойные пробелы<br />
    $swords = explode(' ', $search);<br />
    $text = preg_replace('/\\[[^\\]]*\\]/s', '', $text); // Удаляем BBCode<br />
    $text = strip_tags($text);<br />
    foreach($swords as $search){<br />
        if(mb_stristr($text, $search) === false){<br />
            return false;<br />
        }<br />
    }<br />
    return true;<br />
}
?>

Здесь исправляем ошибку, если в поле поиска присутствуют 2 пробела подряд - сыпались ошибки
2. в файле modules\search\index.php найти

<?
if(isset($_GET['searchstr'])){ // Поисковый запрос<br />
        $searchstr = $_GET['searchstr'];<br />
    }else{<br />
        System::site()->AddTextBox('', '<div style="text-align: center;">По вашему запросу ничего не найдено.</div>');<br />
        return;<br />
    }
?>

заменить на

<?
if(isset($_GET['searchstr']) && $_GET['searchstr'] != ''){ // Поисковый запрос<br />
        if (strlen(trim($_GET['searchstr'])) > 2){<br />
            $searchstr = trim($_GET['searchstr']);<br />
        } else {<br />
            System::site()->AddTextBox('', '<div style="text-align: center;" class="errors_message">Минимальная длинна слова для поиска 3 символа.</div>');<br />
            return;<br />
        }<br />
    }else{<br />
        return;<br />
    }
?>

тут добавили обрезание пробелов в начале и конце, потом проверка на мин длину(3 симв.). При пустом запросе возвращаем форму без каких либо сообщений.
3. Заменяем все поисковые плагины. Добавлена подсветка в заголовке и показ где найдено через запятую(например: в заголовке, описании, клуч. словах...). Было только одно из(например: описание)!
Заменить все содержимое в файлах plugins/search/.../index.php на:
articles

<?php<br />

<br />
if(!defined('VALID_RUN')){<br />
    header("HTTP/1.1 404 Not Found");<br />
    exit;<br />
}<br />
<br />
global $search_results, $searchstr;<br />
<br />
$objects = System::database()->Select('articles', GetWhereByAccess('view', "`active`='1'"));<br />
<br />
foreach($objects as $object){<br />
    $result = array();<br />
    $result['mod'] = $plugin_info['mod_title']; // Имя модуля<br />
    $result['coincidence'] = ''; // Показывает где было совпадение<br />
    $result['title'] = SafeDB($object['title'], 255, str); // Заголовок<br />
    $result['public'] = TimeRender(SafeDB($object['public'], 11, int));// Дата публикации<br />
    // Ссылка на просмотр обьекта<br />
    $result['link'] = Ufu('index.php?name=articles&op=read&art='.SafeDB($ob
ject['id'], 11, int).'&cat='.SafeDB($object['cat_id'], 11, int), 'articles/{cat}/{art}/');<br />
    $result['text'] = SafeDB($object['description'], 0, str, false, false); // Текст (описание)<br />
<br />
    if(strlen($result['text']) > 255){<br />
        $result['text'] = substr($result['text'], 0, 255).'&nbsp; ...';<br />
    }<br />
    <br />
    $trueres_stitle = SSearch($object['seo_title'], $searchstr);<br />
    $trueres_skey = SSearch($object['seo_keywords'], $searchstr);<br />
    $trueres_sdesc = SSearch($object['seo_description'], $searchstr);<br />
    $trueres_title = SSearch($object['title'], $searchstr);<br />
    $trueres_desc = SSearch($object['description'], $searchstr);<br />
    $trueres_art = SSearch($object['article'], $searchstr);<br />
    <br />
    if($trueres_stitle != false || $trueres_skey != false ||
 $trueres_sdesc != false || $trueres_title != false || $true
res_desc != false || $trueres_art != false) {<br />
        $result['coincidence'] = 'Совпадения в';<br />
        <br />
        if($trueres_stitle != false || $trueres_skey != fals
e || $trueres_sdesc != false){<br />
            $result['coincidence'] .= ' ключевых словах';<br />
        }<br />
        if($trueres_title != false){<br />
            $result['title'] = SCoincidence($object['title'], $searchstr);<br />
            if (strlen($result['coincidence']) > 13) {$result['coincidence'] .= ',';}<br />
            $result['coincidence'] .= ' заголовке';<br />
        }<br />
        if($trueres_desc != false || $trueres_art != false) 
{<br />
            if (strlen($result['coincidence']) > 13) {$result['coincidence'] .= ',';}<br />
            $result['coincidence'] .= ' тексте статьи';<br />
            if($trueres_desc != false){<br />
                $result['text'] = SCoincidence($object['description'], $searchstr);<br />
            }else{<br />
                $result['text'] = SCoincidence($object['article'], $searchstr);<br />
            }<br />
        }<br />
        <br />
        $search_results[] = $result;<br />
    }<br />
}<br />


downloads

<?php<br />

<br />
if(!defined('VALID_RUN')){<br />
    header("HTTP/1.1 404 Not Found");<br />
    exit;<br />
}<br />
<br />
global $search_results, $searchstr;<br />
<br />
$objects = System::database()->Select('downloads', GetWhereByAccess('view', "`active`='1'"));<br />
<br />
foreach($objects as $object){<br />
    $result = array();<br />
    $result['mod'] = $plugin_info['mod_title']; //'Архив файлов';  // Имя модуля<br />
    $result['coincidence'] = ''; // Показывает где было совпадение<br />
    $result['title'] = SafeDB($object['title'], 255, str); // Заголовок<br />
    $result['public'] = TimeRender(SafeDB($object['public'], 11, int)); // Дата публикации<br />
    // Ссылка на просмотр обьекта<br />
    $result['link'] = Ufu('index.php?name=downloads&op=full&cat='.SafeDB($objec
t['category'], 11, int).'&file='.SafeDB($object['id'], 11, int), 'downloads/{cat}/{file}/');<br />
    $result['text'] = SafeDB($object['shortdesc'], 0, str); // Текст (описание)<br />
    <br />
    if(strlen($result['text']) > 255){<br />
        $result['text'] = substr($result['text'], 0, 255).'&nbsp; ...';<br />
    }<br />
    <br />
    $trueres_title = SSearch($object['title'], $searchstr);<br />
    $trueres_shortdesc = SSearch($object['shortdesc'], $searchstr);<br />
    $trueres_desc = SSearch($object['description'], $searchstr);<br />
    <br />
    if($trueres_title != false || $trueres_shortdesc != fals
e || $trueres_desc != false) {<br />
        $result['coincidence'] = 'Совпадения в';<br />
        <br />
        if($trueres_title != false){<br />
            $result['title'] = SCoincidence($object['title'], $searchstr);<br />
            $result['coincidence'] .= ' заголовке';<br />
        }<br />
        if($trueres_shortdesc != false || $trueres_desc != f
alse){<br />
            if (strlen($result['coincidence']) > 13) {$result['coincidence'] .= ' и';}<br />
            $result['coincidence'] .= ' описании';<br />
            <br />
            if($trueres_shortdesc != false) {<br />
                $result['text'] = SCoincidence($object['shortdesc'], $searchstr);<br />
            }else{<br />
                $result['text'] = SCoincidence($object['description'], $searchstr);<br />
            }<br />
        }<br />
        $search_results[] = $result;<br />
    }<br />
}<br />


gallery

<?php<br />

<br />
if(!defined('VALID_RUN')){<br />
    header("HTTP/1.1 404 Not Found");<br />
    exit;<br />
}<br />
<br />
global $search_results, $searchstr;<br />
<br />
$objects = System::database()->Select('gallery', GetWhereByAccess('view', "`show`='1'"));<br />
<br />
foreach($objects as $object){<br />
    $result = array();<br />
    $result['mod'] = $plugin_info['mod_title']; // Имя модуля<br />
    $result['coincidence'] = ''; // Показывает где было совпадение<br />
    $result['title'] = SafeDB($object['title'], 255, str); // Заголовок<br />
    $result['public'] = TimeRender(SafeDB($object['public'], 11, int)); // Дата публикации<br />
    // Ссылка на просмотр обьекта<br />
    $result['link'] = Ufu('index.php?name=gallery&op=view&img='.SafeDB($obj
ect['id'], 11, int).'&cat='.SafeDB($object['cat_id'], 11, int), 'gallery/{cat}/{img}/');<br />
    $result['text'] = SafeDB($object['description'], 0, str, false, false); // Текст (описание)<br />
    <br />
    if(strlen($result['text']) > 255){<br />
        $result['text'] = substr($result['text'], 0, 255).'&nbsp; ...';<br />
    }<br />
    <br />
    $trueres_title = SSearch($object['title'], $searchstr);<br />
    $trueres_desc = SSearch($object['description'], $searchstr);<br />
    <br />
    if($trueres_title != false || $trueres_desc != false){<b
r />
        $result['coincidence'] = 'Совпадения в';<br />
        <br />
        if($trueres_title != false){<br />
            $result['title'] = SCoincidence($object['title'], $searchstr);<br />
            $result['coincidence'] .= ' заголовке';<br />
        }<br />
        if($trueres_desc != false){<br />
            $result['text'] = SCoincidence($object['description'], $searchstr);<br />
            if (strlen($result['coincidence']) > 13) {$result['coincidence'] .= ' и';}<br />
            $result['coincidence'] .= ' описании';<br />
            <br />
        }<br />
        <br />
        $search_results[] = $result;<br />
    }<br />
}


news

<?php<br />

<br />
if(!defined('VALID_RUN')){<br />
    header("HTTP/1.1 404 Not Found");<br />
    exit;<br />
}<br />
<br />
global $search_results, $searchstr;<br />
<br />
$objects = System::database()->Select('news', GetWhereByAccess('view', "`enabled`='1'"));<br />
<br />
foreach($objects as $news){<br />
    $result = array();<br />
    $result['mod'] = $plugin_info['mod_title']; // Имя модуля<br />
    $result['coincidence'] = ''; // Показывает где было совпадение<br />
    $result['title'] = SafeDB($news['title'], 255, str); // Заголовок<br />
    $result['public'] = TimeRender(SafeDB($news['date'], 11, int)); // Дата публикации<br />
    // Ссылка на просмотр обьекта<br />
    $result['link'] = Ufu('index.php?name=news&op=readfull&news='.SafeDB($n
ews['id'], 11, int).'&topic='.SafeDB($news['topic_id'], 11, int), 'news/{topic}/{news}/');<br />
    $result['text'] = SafeDB($news['start_text'], 0, str); // Текст (описание)<br />
    if($news['auto_br'] == '1'){<br />
        $result['text'] = SafeDB(nl2br($result['text']), 0, str, false, false);<br />
    }else{<br />
        $result['text'] = SafeDB($result['text'], 0, str, false, false);<br />
    }<br />
    if(strlen($result['text']) > 255){<br />
        $result['text'] = substr($result['text'], 0, 255).'&nbsp; ...';<br />
    }<br />
    <br />
    $trueres_stitle = SSearch($news['seo_title'], $searchstr);<br />
    $trueres_skey = SSearch($news['seo_keywords'], $searchstr);<br />
    $trueres_sdesc = SSearch($news['seo_description'], $searchstr);<br />
    $trueres_title = SSearch($news['title'], $searchstr);<br />
    $trueres_start_txt = SSearch($news['start_text'], $searchstr);<br />
    $trueres_end_txt = SSearch($news['end_text'], $searchstr);<br />
    <br />
    if($trueres_stitle != false || $trueres_skey != false ||
 $trueres_sdesc != false || $trueres_title != false || $true
res_start_txt != false || $trueres_end_txt != false) {<br />
        $result['coincidence'] = 'Совпадения в';<br />
    <br />
        if($trueres_stitle != false || $trueres_skey != fals
e || $trueres_sdesc != false){<br />
            $result['coincidence'] .= ' ключевых словах';<br />
        }<br />
        if($trueres_title != false){<br />
            $result['title'] = SCoincidence($news['title'], $searchstr);<br />
            if (strlen($result['coincidence']) > 13) {$result['coincidence'] .= ',';}<br />
            $result['coincidence'] .= ' заголовке';<br />
        }<br />
        if($trueres_start_txt != false || $trueres_end_txt !
= false) {<br />
            if (strlen($result['coincidence']) > 13) {$result['coincidence'] .= ',';}<br />
            $result['coincidence'] .= ' тексте новости';<br />
            if($trueres_start_txt != false){<br />
                $result['text'] = SCoincidence($news['start_text'], $searchstr);<br />
            }else{<br />
                $result['text'] = SCoincidence($news['end_text'], $searchstr);<br />
            }<br />
        }<br />
        <br />
        $search_results[] = $result;<br />
    }<br />
}<br />


pages

<?php<br />

<br />
if(!defined('VALID_RUN')){<br />
    header("HTTP/1.1 404 Not Found");<br />
    exit;<br />
}<br />
<br />
global $search_results, $searchstr;<br />
<br />
$objects = System::database()->Select('pages', GetWhereByAccess('view', "`enabled`='1' and `type`='page'"));<br />
<br />
foreach($objects as $object){<br />
    $result = array();<br />
    $result['mod'] = $plugin_info['mod_title']; // Имя модуля<br />
    $result['coincidence'] = ''; // Показывает где было совпадение<br />
    $result['title'] = SafeDB($object['title'], 255, str); // Заголовок<br />
    $result['public'] = TimeRender(SafeDB($object['modified'], 11, int)); // Дата публикации<br />
    // Ссылка на просмотр обьекта<br />
    $result['link'] = Ufu('index.php?name=pages&file='.SafeDB($object['link'], 255, str), 'pages/{file}.html');<br />
    $result['text'] = SafeDB($object['text'], 0, str); // Текст (описание)<br />
    <br />
    if($object['auto_br'] == '1'){<br />
        $result['text'] = SafeDB(nl2br($result['text']), 0, str, false, false);<br />
    }else{<br />
        $result['text'] = SafeDB($result['text'], 0, str, false, false);<br />
    }<br />
    if(strlen($result['text']) > 255){<br />
        $result['text'] = substr($result['text'], 0, 255).'&nbsp; ...';<br />
    }<br />
    <br />
    $trueres_stitle = SSearch($object['seo_title'], $searchstr);<br />
    $trueres_skey = SSearch($object['seo_keywords'], $searchstr);<br />
    $trueres_sdesc = SSearch($object['seo_description'], $searchstr);<br />
    $trueres_title = SSearch($object['title'], $searchstr);<br />
    $trueres_text = SSearch($object['text'], $searchstr);<br />
    <br />
    if($trueres_stitle != false || $trueres_skey != false ||
 $trueres_sdesc != false || $trueres_title != false || $true
res_text != false) {<br />
        $result['coincidence'] = 'Совпадения в';<br />
        <br />
        if($trueres_stitle != false || $trueres_skey != fals
e || $trueres_sdesc != false){<br />
            $result['coincidence'] .= ' ключевых словах';<br />
        }<br />
        if($trueres_title != false){<br />
            $result['title'] = SCoincidence($object['title'], $searchstr);<br />
            if (strlen($result['coincidence']) > 13) {$result['coincidence'] .= ',';}<br />
            $result['coincidence'] .= ' заголовке';<br />
        }<br />
        if($trueres_text != false){<br />
            $result['text'] = SCoincidence($object['text'], $searchstr);<br />
            if (strlen($result['coincidence']) > 13) {$result['coincidence'] .= ',';}<br />
            $result['coincidence'] .= ' тексте страницы';<br />
        }<br />
    <br />
        $search_results[] = $result;<br />
    }<br />
}<br />


-- Изменено "Fort": 26.09.2015 19:04 --
Супер пользователь
Сообщений: 125
Добавляем кнопочки обзора файлов на сервере для полей с адресов иконок к категориям и адресу файла в модуле - архив файлов.
1. файле base\inc\tree_a.class.php найти

<?
FormRow('Иконка', System::site()->Edit('icon', $icon, false, 'maxlength="250" style="width:400px;"'));
?>

заменить на

<?
FormRow('Иконка. Пример: uploads/category_icons/.../image.png', System::admin()->FileManager('icon', $icon));
?>


2. в файле modules\downloads\admin.php найти

<?
FormRow('Путь к файлу', System::site()->Edit('url', $url, false, 'style="width:400px;"')); <br />
    //FormRow('Путь к файлу', System::site()->FileManager( 'url', $url, 400));
?>

заменить на

<?
FormRow('Путь к файлу', System::site()->FileManager( 'url', $url, 400));
?>


-- Изменено "Fort": 29.09.2015 21:40 --
Супер пользователь
Сообщений: 125
Убираем тире в заголовке если в настройках не задано Название сайта или Подзаголовок главной страницы
1. в файле /base/inc/page_template.class.php найти функцию GenerateTitle() и заменить на
Скрытый текст
Супер пользователь
Сообщений: 125
Фикс для php 5.4 (Ошибка при попытке восстановления пароля и отправке писем)
Источник: http://linkorcms.ru/index.php?name=forum&op=showtopic&topic=610

1. в файле base/inc/LmEmailExtended.php найти (строчки (352-357)):
Скрытый текст

заменить на:
Скрытый текст


Добавляем доступ к главной странице админ панели для других администраторов(по умолч. доступна только для 1 админа-главного
!! Изменения от 02.02.2016 !!

1. найти:

<?
if(($module['system'] == '1' && !System::user()->isSuperUser()) || !System::user()->CheckAccess2($ModuleName, $ModuleName)){ // Проверка на доступ
?>


2. заменить на

<?
if( ($module['system'] == '1' && !System::user()->isSuperUser()) || (!$ModuleName == 'adminpanel' && !System:
:user()->CheckAccess2($ModuleName, $ModuleName)) ){ // Проверка на доступ
?>


-- Изменено "Fort": 09.02.2016 00:35 --
Супер пользователь
Сообщений: 125
Исправляем косяк при восстановлении БД из резервной копии через админку(Изначально все сыпалось в ошибки и база стералась частично)
источник: http://linkorcms.ru/index.php?name=forum&op=showtopic&topic=134

1. в файле base/inc/plugins/database/layer_mysql/mysql.layer.php
найти

<?
$rdata .= str_replace("\n", "\r\n", $query_result[0]['Create Table'].";\n\n");
?>

заменить на

<?
$rdata .= str_replace("\n", "\r\n", $query_result[0]['Create Table']).";\r\n";
?>

найти

<?
$sql = explode(";", $sql);
?>

заменить на

<?
$sql = explode(";\r\n", $sql);
?>

2. удалить все старые бекапы, создать новый!

-- Изменено "Fort": 26.09.2015 19:05 --
Супер пользователь
Сообщений: 125
Добавляем выбора шрифтов и размера букв при написании ОПИСАНИЙ (TinyMCE)
источник: http://linkorcms.ru/forum/topic399.html
1. зайти в Расширения->плагины->настройки TinyMCE - WYSIWYG HTML редактор
theme_advanced_buttons1 все содержимое заменить на
Скрытый текст

theme_advanced_buttons2 все содержимое заменить на
Скрытый текст


-- Изменено "Fort": 24.09.2015 00:15 --
Супер пользователь
Сообщений: 125
!! добавлен фикс форм от 08.02.2016
Фикс для модуля Архив файлов
1. в функ-и IndexDownloadsMain() найти

<?
if(System::config('downloads/show_last')=='1'){<br />
IndexDownloadsGetTree()->ShowCats($cat);<br />
IndexDownloadsGetTree()->BreadCrumbs($cat);<br />
}
?>

заменить на

<?
if(System::config('downloads/show_catnav') == '1'){<br />
        IndexDownloadsGetTree()->BreadCrumbs($cat);<br />
        IndexDownloadsGetTree()->ShowCats($cat);<br />
    }
?>


Фикс для модуля Формы
1 найти

<?
$action = Ufu("index.php?name=forms&form=$form_id&op=save", 'forms/{op}/');
?>


заменить на

<?
$action = Ufu("index.php?name=forms&form=$form_id&op=save", 'forms/save/{form}/');
?>


-- Изменено "Fort": 09.02.2016 00:44 --
Супер пользователь
Сообщений: 125
Фикс для настройки максимально прикрепляемого файла в Обратной связи.
При указании знач 0 файлы не загружались и выходила ошибка - должно ограничеваться настройками сервера! и Указывать нужно было в байтах!, делаем в мегабайтах.

1. в файле modules\feedback\index.php найти
Скрытый текст

заменить на
Скрытый текст

найти
Скрытый текст

заменить на
Скрытый текст


Добавляем настройку показывать или не показывать проверочный код для зарегистрированных пользователей в обратной связи(админам не показывается) - По умолчанию показывалась всем!

1. Добавим настройку через админ панель в группу Обратная связь c параметрами: имя-show_captcha, заголовок-Каптча для пользователей, описание-Показывать проверочный код для зарегистрированных пользователей., значение-0, Элемент-Раскрыв. список, Функция-yes_no, Тип данных-логический, Длина поля-1, видимая-да, автозагрузка-да.
2. в файле modules\feedback\index.php найти
Скрытый текст

заменить на
Скрытый текст

3. в шаблоне templates\...\module\feedback.html блок с капчей помещаем в {feedback:show_kaptcha}{/feedback:show_kaptcha}

-- Изменено "Fort": 24.09.2015 00:59 --

-- Изменено "Fort": 25.09.2015 23:10 --
Супер пользователь
Сообщений: 125
Фикс для файлового менеджера. Изначально невозможно создать папку, выходит ошибка!
источник: http://linkorcms.ru/forum/topic596-new.html

1. в файле modules\filemanager\admin.php находим функцию AdminFileManager() и полностью заменяем её на

<?
function AdminFileManager(){<br />
    UseScript('elfinder');<br />
<br />
    $options = array(<br />
        'url' => 'index.php?name=plugins&p=connectors&mod=el
finder',<br />
        'lang' => 'ru',<br />
        'docked' => true,<br />
        'height' => 490,<br />
        'requestType' => 'post'<br />
    );<br />
<br />
    System::admin()->AddOnLoadJS('var elfinder = $("#finder").elfinder('.JsonEncode($options).')');<br />
    System::admin()->AddTextBox('Файловый менеджер', '<div id="finder">finder</div>');<br />
}
?>


2. в файле plugins\filemanagers\default_filemanager\index.php находим

<?
title            : \'Файловый менеджер\',<br />
        width            : 950,<br />
        height            : 600,<br />
        autoOpen        : true,<br />
        destroyOnClose    : true,<br />
        debug            : false
?>

заменяем на

<?
title            : \'Файловый менеджер\',<br />
        width            : 950,<br />
        height            : 600,<br />
        autoOpen        : true,<br />
        destroyOnClose    : true,<br />
        debug            : false,<br />
        requestType        : \'post\'
?>


-- Изменено "Fort": 30.09.2015 03:32 --
Разработчик
Сообщений: 605
Я даже не знаю что добавлять. Могу лишь сказать, что перед тем как пробовать mb_stristr() использовать в поиске лучше разобраться с установкой локали (я дополнил об этом оригинальную тему с этой проблемой). Показ описания категорий и улучшение поисковых плагинов реализованы не слишком красиво. Но все-равно спасибо, что собрали это все в одном месте.
Гости не могут отвечать на темы. Войдите или Зарегистрируйтесь.
Здесь присутствуют
(пользователей: 0, гостей: 1)
Быстрый переход: