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

blizfix

новички
  • Публикации

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

  • Посещение

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

  1. Как задать минимальные размеры изображения для загрузки в доп поля "Загружаемое изображение", и запретить загрузку если размеры изображения меньше заданных?
    У меня к сожалению знаний php нет, и пока что не удалось добиться желаемого.
    Начал с того, что открыл файл /engine/inc/xfields.php нашел

    			<div class="form-group">
    			  <label class="control-label col-md-2 col-sm-3"><?php echo $lang['xfield_xi1']; ?></label>
    			  <div class="col-md-10 col-sm-9">
    				<input class="form-control text-center" style="width:100%;max-width: 100px;" type="text" name="editedxfield[9]" value="<?php echo htmlspecialchars($editedxfield[9], ENT_QUOTES, $config['charset']); ?>" /><i class="help-button visible-lg-inline-block text-primary-600 fa fa-question-circle position-right position-left" data-rel="popover" data-trigger="hover" data-placement="right" data-content="<?php echo $lang['xfield_xi2']; ?>" ></i>
    			  </div>
    			</div>

    ниже добавил

    			<div class="form-group">
    			  <label class="control-label col-md-2 col-sm-3"><?php echo $lang['xfield_xi1']; ?></label>
    			  <div class="col-md-10 col-sm-9">
    				<input class="form-control text-center" style="width:100%;max-width: 100px;" type="text" name="editedxfield[22]" value="<?php echo htmlspecialchars($editedxfield[22], ENT_QUOTES, $config['charset']); ?>" /><i class="help-button visible-lg-inline-block text-primary-600 fa fa-question-circle position-right position-left" data-rel="popover" data-trigger="hover" data-placement="right" data-content="<?php echo $lang['xfield_xi2']; ?>" ></i>
    			  </div>
    			</div>

    теперь в админке можно задать размеры минимального изображения для доп поля. В файле /engine/data/xfields.txt заданные размеры сохраняются. Вот как теперь запретить загрузку изображения, если оно меньше заданного размера? Далее скорее всего нужно править /engine/ajax/upload.php и /engine/classes/uploads/upload.class.php но вот что именно, я пока не разобрался.

    Подскажите пожалуйста, на что обратить внимания. Как всегда, не прошу все сделать за меня, нужна лишь подсказка.

    Надеюсь на вашу помощь. Заранее спасибо!

  2. Как fullstory вывести ид подкатегорий, без родительской категории?

    К примеру в show.full.php

    $category_id = $row['category'];
    $category_id_parent = intval( $category_id )

    как из

    $category_id

    удалить

    $category_id_parent

    получив ид подкатегорий без родительской категории

    $category_id_sub

     

  3. Кстати что касается xfields="x" в custom, тоже было бы не плохо добавить возможность указать конкретное доп поле для поиска в нем, xfname="x" xfields="x". где xfname название доп поля, xfields значение. Так как есть ложные срабатывания, если в другом доп поле есть такое же значение в контексте. Скажем 2017, и если в другом доп поле скриншоты скажем есть в адресе к фото /uploads/post/2017-08/ то добавляет и этот пост. Таким запросом скажем

    SUBSTRING_INDEX( SUBSTRING_INDEX( p.xfields,  '{$xfname}|', -1 ) ,  '||', 1 ) LIKE '%{$xfvalue}%'
  4. 9 минут назад, celsoft сказал:

    Такого быть точно не должно. Может нет прав на запись в папку кеша? Установите CHMOD 777 на engine/cache/ и все подпапки. Из самой папки engine/cache/ удалите все файлы кроме .htaccess и посмотрите создаются ли файлы с кешем.

    Файлы с кэшем создаются, и кэш в виде .tmp для конкретного тега custom где есть tags='x' тоже создается.

    Но из всего тега custom, чтобы в него не добавляли, xfields, author, и прочее, только tags='x' постоянно делает запрос в базу.

  5. 3 часа назад, celsoft сказал:

    Возможно запрос не от этого блока.

    от этого, если убрать из custom

    tags="новости,шаблоны"

    запроса такого нет.

    Плюс добавляли разные значения tags в custom и именно это значение потом было в запросе к базе.

  6. В 31.08.2017 в 01:13, Gameer сказал:

    Верно, не кэшируется. Но кэшируется сам блок, у вас стоит параметр cache="yes".

    То что кэшируется сам блок это я знаю. Вопрос в том, почему постоянно идет запрос в базу, если блок сохранен в кэше?

    SELECT news_id FROM dle_tags WHERE tag='новости' OR tag='шаблоны'

     

  7. Здравствуйте!

    Подскажите пожалуйста, если использовать в custom

    {custom id="1-50" category="2,3,5-8" author="x" days="x" tags="новости,шаблоны" template="custom" cache="yes"}

    то запрос

     SELECT news_id FROM dle_tags WHERE tag='новости' OR tag='шаблоны'

    не кэшируется при включенном кэшировании на сайте?

  8. 1 час назад, celsoft сказал:

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

    Прошу прощения за не точный вопрос.

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

  9. Здравствуйте!

    Подскажите пожалуйста, как отключить кэш закладок? В show.short.php на строке

    if( ! in_array( $row['id'], $fav_arr ) or $config['allow_cache']) {

    удалил

     or $config['allow_cache']

    но кэш закладок в коротких новостях по прежнему кэшируются.

     

    Сайт  http://multifile.org

  10. Здравствуйте!

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

    Пробовал продублировать, создав еще один столбец в таблице _post и в engine.php вот так 

    } elseif ($catalog != "" and $_GET['n']) {
    // ################ Вывод по буквенному идентификатору N #################
    			if ($cstart) {
    				$cstart = $cstart - 1;
    				$cstart = $cstart * $config['news_number'];
    			}
    			
    			$url_page = $config['http_home_url'] . "catalog/" . urlencode ( $catalog );
    			$user_query = "catalog=" . urlencode ( $catalog );
    			
    			$news_sort_by = ($config['catalog_sort']) ? $config['catalog_sort'] : "date";
    			$news_direction_by = ($config['catalog_msort']) ? $config['catalog_msort'] : "DESC";
    			
    			if (isset ( $_SESSION['dle_sort_catalog'] )) $news_sort_by = $_SESSION['dle_sort_catalog'];
    			if (isset ( $_SESSION['dle_direction_catalog'] )) $news_direction_by = $_SESSION['dle_direction_catalog'];
    			
    			$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE {$stop_list}symboll = '$catalog' AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
    			$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$stop_list}symboll = '$catalog' AND approve=1" . $where_date;
    
    } elseif ($catalog != "" and !$_GET['n']) {
    			// ################ Вывод по буквенному идентификатору #################
    			if ($cstart) {
    				$cstart = $cstart - 1;
    				$cstart = $cstart * $config['news_number'];
    			}
    			
    			$url_page = $config['http_home_url'] . "catalog/" . urlencode ( $catalog );
    			$user_query = "catalog=" . urlencode ( $catalog );
    			
    			$news_sort_by = ($config['catalog_sort']) ? $config['catalog_sort'] : "date";
    			$news_direction_by = ($config['catalog_msort']) ? $config['catalog_msort'] : "DESC";
    			
    			if (isset ( $_SESSION['dle_sort_catalog'] )) $news_sort_by = $_SESSION['dle_sort_catalog'];
    			if (isset ( $_SESSION['dle_direction_catalog'] )) $news_direction_by = $_SESSION['dle_direction_catalog'];
    			
    			$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE {$stop_list}symbol = '$catalog' AND approve=1" . $where_date . " ORDER BY " . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
    			$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE {$stop_list}symbol = '$catalog' AND approve=1" . $where_date;

    но не выходит, ищет либо symbol либо symboll одновременно нет.

    Может возможно через запятую указать a, b для поиска по обеим значениям.

    Заранее спасибо за любую помощь в данном вопросе.

    http://multifile.org/

  11. Здравствуйте!

    Подскажите пожалуйста как можно отклонить добавление комментария в котором содержатся символы html кода, к примеру

    &#0104;&#0116;&#0116;&#0112;&#058;&#047;&#047;

    Добавляю в addcomments.php

    if (preg_match ("/href|url|http|www|.ru|.com|.net|.info|.org|&#104;&#116;&#116;&#112;&#58;&#47;&#47;|&#104;|&#116;|&#112;|&#58;|&#47;|&#104;|&#107;&#46;&#114;&#117;|&#107;|&#46;|&#114;|&#117;/i", $_POST['comments']) || preg_match ("/href|url|http|www|.ru|.com|.net|.info|.org|&#104;&#116;&#116;&#112;&#58;&#47;&#47;|&#104;|&#116;|&#112;|&#58;|&#47;|&#104;|&#107;&#46;&#114;&#117;|&#107;|&#46;|&#114;|&#117;/i", $_POST['name'])){
    	$stop[] = "Сработал анти-спам фильтр, публиковать ссылки в комментариях запрещено! Ваш ip адрес добавлен в список нежелательных пользователей.<br>Пожалуйста, прекратите!";
        $CN_HALT = TRUE;
    }

    Но спамер все равно пробивается, добавляя нули в спец символы, и так можно бесконечно.

    К примеру блокирую этот символ 

    &#104;

    он добавляет так 

    &#0104;

    и так далее.

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

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

    Заранее спасибо за любую помощь.

    http://multifile.org/

  12. Здравствуйте.

    Подскажите пожалуйста, при удалении дополнительного поля в админке, в базе данных тоже удаляется это доп поле с его значением?

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

    Спасибо!

  13. Я не там пробел поставил. Не до а после нужно оставлять пробел. Должно быть:

    return "<!--dle_leech_begin--><a href=\"" . $url['html'] . "\" >" . $url['show'] . "</a><!--dle_leech_end-->" . $url['end'];

     

    Это мы уже выяснили тоже, что так можно, но дело в том что в 9.7 сохранялось без этого пробела, и все работало, я бы и рад уже и эту конструкцию использовать если в дальнейшем ничего не будет меняться, я имею ввиду следующие версии, чтобы можно было без проблем обновляться. Но есть одно большое но, в базе 6к новостей которые сохранялись в 9.7 без этого пробела.

  14. Одинаково все в версиях и в 9.7 и в 10.6. Только раньше вы удаляли просто

    " . $target . "

    а теперь при удалении захватили еще и пробел который перед " . $target . ", а его нужно оставлять, тогда и проблем не будет при обратном конвертировании.

     

    У вас должно получатся после ваших удалений

    return "<!--dle_leech_begin--><a href=\"" . $url['html'] . " \">" . $url['show'] . "</a><!--dle_leech_end-->" . $url['end']с вашим кодом тоже не работает, можете проверить у себя.

    С Вашим кодом тоже не работает, можете проверить у себя.

    В 9.7 было вот так

    return "<!--dle_leech_begin--><a href=\"" . $url['html'] . "\">" . $url['show'] . "</a><!--dle_leech_end-->" . $url['end'];
    и все отлично работало, после вставки этого же кода в 10.6, ничего не удаляя просто заменив часть кода, и не работает. Дело в том что сайт был на 9.7 обновили на 10.6 просто заменив нужный кусок кода и при редактировании получается то что сообщением выше.
  15. Подскажите как можно удалить target="_blank" у тега leech, в 10.6 не получается это сделать, вот тут

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

     

    Подскажите как можно удалить target="_blank" у тега leech, в 10.6 не получается это сделать, вот тут

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

    Спасибо за ответ!
    Очевидно все же что то меняли в теге leech. Поясню. Если смотреть в базе то к примеру в 9.7 идет так 

    " target="_blank"


    а в 10.6 идет вот так 

    "  target="_blank"


    на один пробел больше. И если в 9.7 удалить 

     " . $target . "


    чтобы получилось так 

    return "<!--dle_leech_begin--><a href=\"" . $url['html'] . "\">" . $url['show'] . "</a><!--dle_leech_end-->" . $url['end'];


    то материалы нормально сохраняются и редактируются, если удалить в 10.6 то при редактировании получается что то вроде этого 
     

    <!--dle_leech_begin--><a href="http://domen/engine/go.php?url=aHR0cDovL3NhaXQuY29t">My Webpage</a><!--dle_leech_end-->


    Повторюсь что в 9.7 такого не было.

     
  16. Здравствуйте.

    Подскажите как можно удалить target="_blank" у тега leech, в 10.6 не получается это сделать, вот тут

    return "<!--dle_leech_begin--><a href=\"" . $url['html'] . "\" " . $target . ">" . $url['show'] . "</a><!--dle_leech_end-->" . $url['end'];

    удаляю

     " . $target . "

    но так не работает, в более ранних версиях работало.

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