Перейти к публикации

Sander1

местные
  • Публикации

    119
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    20

Сообщения, опубликованные пользователем Sander1

  1. Сделал тут давеча бекап средствами DLE и через некоторое время решил восстановить БД. После импорта слетела авторизация. Каково же было мое удивление, когда оказалось, что таблица dle_users не была сохранена, но при импорте была пересоздана и оказалась пустой. Т.е. полностью слетели данные таблицы dle_users и dle_admin_sections (возможно и другие некоторые).

    Выполняю запрос на dle 12.1

    SHOW TABLE STATUS WHERE name like 'dle_users'

    В результате вижу Rows = 0, хотя записи однозначно есть.

    http://prntscr.com/j7d450

    Выполняю этот же запрос на DLE 12, все норм.

    Кодировка utf-8, версия PHP: 5.6, 7.0, 7.1

     

    PS. Кто не знает, в файле engine/inc/dumper.php именно по результатам этого запроса выполняется проверка, экспортировать данные из таблицы или нет (т.к. их нету типа).

  2. DLE 12.

    Если у группы пользователей запрещен доступ (или открыт) в определенные категории, то он получит ошибку:

    Unknown column 'dle_post.category' in 'where clause'

     

    Код:

    (SELECT id FROM " . PREFIX . "_comments " . $where . " ORDER BY id desc LIMIT ".$fromcstart.", ".intval($config['comm_nummers'])." ) as sub

    Имеем запрос:

    (SELECT id FROM dle_comments WHERE dle_post.category NOT REGEXP '[[:<:]](3)[[:>:]]' ORDER BY id desc LIMIT 0, 30 ) as sub

    не хватает LEFT JOIN dle_post ON ...

     

    (SELECT " . PREFIX . "_comments.id FROM " . PREFIX . "_comments LEFT JOIN " . PREFIX . "_post ON " . PREFIX . "_comments.post_id=" . PREFIX . "_post.id " . $where . " ORDER BY " . PREFIX . "_comments.id desc LIMIT ".$fromcstart.", ".intval($config['comm_nummers'])." ) as sub

     

  3. engine/modules/show.short.php

    Разве эта строка должна находиться внутри цикла while?

    $xfields = xfieldsload();

    Я бы так вообще предложил такой вариант, перед while:

    	$xfields = xfieldsload();
    	foreach ($xfields as $k => $v) {
    		if (stripos($tpl->copy_template, '_'.$v[0].']') == false) {
    			unset($xfields[$k]);
    		}
    	}

     

    • Нравится 1
  4. При временном размещении пользователя в группе используется разный формат даты в datepicker и тот что выводит DLE.

    DLE: d.m.Y H:i:s

    datepiker: Y-m-d H:i

     

    Открыть engine/inc/editusers.php

    Найти строку:

    if( $row['time_limit'] != "" ) $row['time_limit'] = date( $langformatdatefull, $row['time_limit'] );

    Заменить на:

    if( $row['time_limit'] != "" ) $row['time_limit'] = date( "Y-m-d H:i", $row['time_limit'] );

     

  5. 14 часа назад, SKYNET74 сказал:

    С чего это он будет отображаться как обычный текст?
    Будет отображаться точно так же, как и был добавлен.

    С того, что htmlpurifier был добавлен только в 11.2. До этого в стандартном BB редакторе подобная конструкция легко проходит и отображается в итоге http://example.com/

  6. Подключаю файл:

    {include file="file.php?field=[xfvalue_poster]"}

     

    Имя картинки примерно такое:

    /uploads/posts/2016-05/1027396235-agenty-sch.i.t..jpg

     

    В файле engine/classes/templates.class.php в строке 

    $name = str_replace( '..', '', $name );

    Заменяются точки не только в пути подключения файла, но и в передаваемом значении. После чего в файле уже получаем значение с неправильным адресом.

    /uploads/posts/2016-05/1027396235-agenty-sch.i.tjpg

     

  7. Если изначально стоял уровень 10, и были ветки с 10 уровнями, то при изменении (уменьшении) этого параметра в админке на 6 - все комментарии уровней 7 и выше - просто не отображаются.

     

    Открыть файл engine/classes/comments.class.php

    Найти строку:

    if ($config['tree_comments'] AND $config['tree_comments_level'] AND $indent > $config['tree_comments_level'] ) return;

    Заменить на

    if ($config['tree_comments'] AND $config['tree_comments_level'] AND $indent > $config['tree_comments_level'] ) $sublevelmarker = false;

     

  8. В .htaccess ранее было правило ([^/]*)

    Сейчас оно изменено на ([^.]+)

     

    Теперь если в поле используется значение с точкой: /xfsearch/date/2016.03.27/ то сервер матюгается:

    Цитата

     

    Not Found

    The requested URL /xfsearch/date/2016.03.27/ was not found on this server.

     

     

  9. Для статических страниц сделать возможность подключения модулей напрямую.

    Сейчас есть возможность подключения только файла шаблона. И приходится создавать "переходной" tpl файл в котором прописана только одна строка:

    {include file="engine/mods/ModName/file.php"}

    И еще убрать обязательное заполнения поля "Текст страницы" если используется отдельный файл шаблона.

  10.  

    я конечно понимаю, что некоторые люди «тугие» на соображалку, но не до такой же степени... ты же вроде как веб-мастер! Или ключевое слово здесь «вроде как»? Неужели так сложно перейти по ссылки, которую я дал и посмотреть?

    В общем я пасс с тобой общаться, всё равно разработчики проигнорируют твоё сообщение, потому что это уже в движке реализовано.

    Он все правильно говорит, просто не совсем ясно излагает.

    Якоря есть, но в comments.tpl можно вставить только сформированный тег {news_title}, который выводит сразу ссылку:

    <a href="сайт.ру/категория/123-новость.html">Заголовок</a>

    Чтобы вставить тот же якорь - необходимо вносить изменения в файл comments.class.php, было бы удобнее, если бы была возможность прописывать тег заголовка и ссылки по отдельности: {news-title} и {news-link}.

     

    Но главная проблема в страницах навигации.

    Допустим есть ссылка на комментарий:

    http://dle-news.ru/release/1644-datalife-engine-v105-final-release.html#comment-id-15545

    Однако такого якоря на этой странице не существует.

    Этот комментарий находится на второй странице навигации:

    http://dle-news.ru/release/page,1,2,1644-datalife-engine-v105-final-release.html#comment-id-15545

    В DLE нет возможности сформировать ссылку сразу на вторую страницу навигации. Он формирует ее только на саму новость, без учета страниц.

    • Поддерживаю 2
  11. Если выделен текст, то появляется форма с уведомлением об опечатке на сайте.

    В DLE 10.5 если текст не выделен, то при нажатии комбинации клавиш Ctrl->Enter ничего не происходит. Даже если в шаблоне прописан свой обработчик для этого события.

    Сейчас в dle_js.js прописано:

    if (selectedText == "" ) { return false; }

    В предыдущих версиях стояло просто:

    if (selectedText == "" ) { return; }
    

     

  12. При создании новой категории не учитывается индекс posi

    Пример (в скобках указан индекс posi):

     

    Создал категорию "Номера (1)" с подкатегориями:

    - Информация (1)

    - Номера (1)

    - - Один (1)

    - - Два (1)

    - - Три (1)

     

    Нажал кнопку "Сохранить порядок сортировки...", получил список

    - Информация (1)

    - Номера (2)

    - - Один (3)

    - - Два (4)

    - - Три (5)

     

    Теперь при создании новой подкатегории, она будет создана с индексом 1 и будет размещена перед подкатегорией "Один", т.е. получится список:

    - Информация (1)

    - Номера (2)

    - - Четыре (1)

    - - Один (3)

    - - Два (4)

    - - Три (5)

     

    И так каждый раз при создании подкатегории, она будет добавляться не в конец списка, а в начало.

  13. Не совсем правильно выразился.

    Если пользователь добавил новость в закладки, а потом через некоторое время эта новость была удалена администрацией сайта, то у пользователя ID этой новости все равно останется в списке закладок.

    Код:

    $tpl->set( '{favorite-count}', count(explode("," ,$member_id['favorites'])) );[/CODE]

    Например в переменной $member_id['favorites'] записано "1,2,3,4,5,6,7,8,9,10"

    Но новости с 1й по 8ю удалены. В итоге счетчик будет показывать, что закладок 10, а на странице отображения /?do=favorites будет показано только 2 новости, 9 и 10.

  14. Не хватает графического оформления для горизонтального меню категорий: Собаки Мыши Шиншиллы. Такое обычно делают для поисковиков, но никак не для удобства пользования. Как минимум стоит добавить иконки.

    Ну и для списка правильнее было бы использовать теги ul и li. Но это не обязательно.

    Назначение правой колонки пока остается загадкой...

    Картинку в короткой новости сделать кликабельной - переход на полную новость. Попробуйте зайти с телефона и попасть пальцем в эти маленькие кнопочки. А картинка большая, удобная.

    В полной новости оформление заголовка вообще какое-то не выразительное, сливается с текстом. Можно попробовать увеличить шрифт до 21px и поставить Trebuchet MS или PT Sans. Ну и отступ увеличить. Можно еще попробовать разместить его перед блоком с картинкой

    Использование таблиц для верстки хоть и не осуждается, но далеко не приветствуется. Таблицы следует использовать только для вывода табличных данных, но не для разметки страницы.

    На странице регистрации сделайте капчу по-больше. А-то не которые символы в ней меньше самого шрифта на сайте, да еще и покрученные. Люди со слабым зрением будут проклинать вас :)

    Так же странца регистрации не дооформлена. Если не заполнять поля и нажать "зарегистрироваться" появляется поле "Информация" которое висит как попало.

    В теге {info} не надо писать весь текст ошибки заглавными буквами.

    • Поддерживаю 1
  15. Замечено в версиях DLE 10.3 и 10.4

    engine/classes/uploads/uploads.class.php

    $ftpurl = str_replace(chr(0), '', $ftpurl);
    
    $ftpurl = trim( htmlspecialchars( strip_tags( $_POST['ftpurl'] ) ) );
    и
    $imageurl = str_replace(chr(0), '', $imageurl);
    
    $imageurl = trim( htmlspecialchars( strip_tags( $_POST['imageurl'] ) ) );
    Строки надо поменять местами. Т.е.
    $imageurl = trim( htmlspecialchars( strip_tags( $_POST['imageurl'] ) ) );
    
    $imageurl = str_replace(chr(0), '', $imageurl);

    • Поддерживаю 3
  16. Если в списке передаваемых данных будет двоеточие, то не работает include

    Вот пример, подключаю модуль в userinfo.tpl

    {include file="/engine/modules/mod/offtime.php?uname={lastdate}"}
    В итоге, в обработчике, после строки:
    $url = @parse_url ($name);[/code]
    
    
    Переменная $url пуста. Это именно из-за двоеточия в теге [b]{lastdate}[/b]
    
    
    
    Пришлось пока ставить костыль...
    
    
    [code]$name = str_replace( ':', '%twodot%', $name ); $url = @parse_url ($name); if($url['query']) $url['query'] = str_replace( '%twodot%', ':', $url['query'] );[/code]

×
×
  • Создать...