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

Gameer

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

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

  • Посещение

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

    86

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

  1. 26 минут назад, Datagor сказал:

    Gameer, здравствуйте.

    Новый плагин очень навороченный вышел.

     

    Можно пойти немного другим путём?

    Можно сделать «ручное управление» статусом «Отредактировано/Неотредактировано» для любой статьи?

     

    В админке в редакторе статей есть чекбокс «Выводить информацию о том что новость отредактирована».

    
    <input class="icheck" type="checkbox" id="view_edit" name="view_edit" value="1">

     

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

    В каком смысле навороченный? Там все просто.

    Ну ставите галочку на «Выводить информацию о том что новость отредактирована» или нет, а в custom задаете параметр. Только для этого нужно опять дописывать правки для custom.

  2. 43 минуты назад, Esqin665 сказал:

    Такой способ имеет место быть. Но он теряет свою актуальность если категорий больше 10. Тогда около 100 групп (если не больше) придется делать

    Другой вариант заказать на фрилансе модуль.

  3. 29 минут назад, Esqin665 сказал:

    Например, есть группа A, которой доступны посты из категории 1. Пользователь W купил доступ к категории 1, перейдя в группу A и получил все посты из категории 1. Все довольны.

    Есть категория 2, посты из которой доступны только группе B. Пользователь W купил доступ к категории 2, перейдя в группу B и получил все посты из категории 2.

    НО. Тем самым он перешел в другую группу и потерял доступ к категории А. Это проблема. 

     

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

    Нет, в DataLife Engine нельзя такое сделать. Вы можете создать группу C в которой будет доступ к категории 1 и 2.

  4. 11 минут назад, Datagor сказал:

    Первым по коду страницы идёт custom order="date".

    Следующим идёт блок custom  order="editdate".

     

    Спасибо.

    Пытаюсь понять ваш новый плагин. Но уже ночь. Думаю, не осилю сегодня :D

    Это уже не имеет значение какой по счету идет custom. Скиньте сюда два ваших custom я пропишу вам параметры что бы все работало :)

  5. @Datagor Уже не имеет значения (я о вопросе выше). Реализовал плагин для тега custom. Делает он следующее:

    Указываем нужному custom с которого нужно получить id новостей параметр set="X"

    Указываем второму custom в котором нужно скрыть эти id новостей с первого custom параметр get="X"

    Где X у обеих параметров должен быть один и тот же. Можно туда прописывать что угодно.

    Плагин делает так что бы custom с параметром get выполнялся всегда после custom с параметром set.

    Вот полный пример

    <b>По дате</b>
    {custom set="date" template="shortstory" available="global" navigation="no" from="0" limit="2" order="date" sort="desc"}
    <b>По дате редактирования</b>
    {custom get="date" template="shortstory" available="global" navigation="no" from="0" limit="3" order="editdate" sort="desc"}

    Если нужно еще то просто прописываете другое значение для параметров set и get других custom 

    get параметр можно указывать нескольким custom и скрывать с них id новостей того custom который указан в параметре get и set.

     

    Сам плагин для DataLife Engine 13.0 - 13.2

    <?xml version="1.0" encoding="utf-8"?>
    <dleplugin>
    	<name>Плагин для скрытия ID с другого custom</name>
    	<description>Плагин позволяет не выводить новости которые выводятся одним custom в другом. [ by https://lazydev.pro/ ]</description>
    	<icon></icon>
    	<version>1.0.0</version>
    	<dleversion>13</dleversion>
    	<versioncompare>greater</versioncompare>
    	<upgradeurl></upgradeurl>
    	<filedelete>0</filedelete>
    	<needplugin></needplugin>
    	<mysqlinstall><![CDATA[]]></mysqlinstall>
    	<mysqlupgrade><![CDATA[]]></mysqlupgrade>
    	<mysqlenable><![CDATA[]]></mysqlenable>
    	<mysqldisable><![CDATA[]]></mysqldisable>
    	<mysqldelete><![CDATA[]]></mysqldelete>
    	<phpinstall><![CDATA[]]></phpinstall>
    	<phpupgrade><![CDATA[]]></phpupgrade>
    	<phpenable><![CDATA[]]></phpenable>
    	<phpdisable><![CDATA[]]></phpdisable>
    	<phpdelete><![CDATA[]]></phpdelete>
    	<file name="engine/modules/main.php">
    		<operation action="before">
    			<searchcode><![CDATA[if (stripos ( $tpl->copy_template, "{custom" ) !== false) {]]></searchcode>
    			<replacecode><![CDATA[if (stripos($tpl->copy_template, '{custom') !== false) {
    	$tpl->copy_template = preg_replace_callback("#\\{custom(.+?)\\}#i", 'custom_print', $tpl->copy_template);
    }]]></replacecode>
    		</operation>
    	</file>
    	<file name="engine/modules/functions.php">
    		<operation action="after">
    			<searchcode><![CDATA[$where[] = "approve=1";]]></searchcode>
    			<replacecode><![CDATA[if (preg_match("#get=['\"](.+?)['\"]#i", $param_str, $match)) {
    	$match[1] = strip_tags(stripslashes($match[1]));
    	$notId = idExclude::get($match[1]);
    	if ($notId === false) {
    		return $matches[0];
    	} elseif ($notId) {
    		$where[] = "id NOT IN ('" . implode("','", $notId) . "')";
    	}
    }]]></replacecode>
    		</operation>
    		<operation action="after">
    			<searchcode><![CDATA[include (DLEPlugins::Check(ENGINE_DIR . '/modules/show.custom.php'));]]></searchcode>
    			<replacecode><![CDATA[if (preg_match("#set=['\"](.+?)['\"]#i", $param_str, $match)) {
    	$match[1] = strip_tags(stripslashes($match[1]));
    	idExclude::set($match[1], $attachments ?: 0);
    }]]></replacecode>
    		</operation>
    		<operation action="before">
    			<searchcode><![CDATA[class microTimer {]]></searchcode>
    			<replacecode><![CDATA[class idExclude
    {
    	private static $idArray = [];
    	
    	static function get($k)
    	{
    		return isset(self::$idArray[$k]) ? self::$idArray[$k] : false;
    	}
    	
    	static function set($k, $v)
    	{
    		self::$idArray[$k] = $v;
    	}
    }]]></replacecode>
    		</operation>
    	</file>
    </dleplugin>

     

  6. 2 часа назад, Datagor сказал:

    Подскажите ещё момент!

     

    На Главной странице кастомом выводятся 5 новейших статей (order="date").

    И 5 обновлённых статей (order="editdate") — чтобы сразу были видны исправленные и дополненные материалы.

    Но получается так, что содержимое блоков полностью или частично совпадает. Статьи у меня объёмные и я сохраняю их несколько раз в процессе редактирования и публикации.

     

    Как с этим можно побороться?

     

    Самое простое, что в голову пришло: не пускать новые статьи в блок обновлённых статей в течение установленного срока (1-3-5 дней) с момента опубликования.

    Но, как я понял, штатных средств для этого снова нет.

    :huh:

    А custom у вас с датой редактирования идет до вывода custom по дате добавления или после него?

  7. 3 минуты назад, Ustim сказал:

    Спасибо, не додумался) Пишет ошибку: Access to XMLHttpRequest at 'http://сайт.ru/cat/interior/perlamutrovye_shtukaturki_i_kraski/page/2/' from origin 'https://сайт.ru' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 

    В гугле пишет что это вроде как на хостинге решается, но детально так и не нашёл...

    Это значит что запрос идет с https на http, а это нельзя. И решается не на хостинге а правильным запросом на страницу.

    Нужно на сайте смотреть почему такая ошибка

    • Спасибо 1
  8. 04.08.2019 в 03:37, Ustim сказал:

    Пишет "Загрузка. Пожалуйста, подождите.." и ничего не происходит)

    ))))))

    Откройте консоль браузера, там должна быть ошибка или даже ошибки почему не работает скрипт.

  9. 26 минут назад, Nektov сказал:

    Увы но не работает 

    /engine/modules/search.php найти

    if( preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/", $searchuser ) ) $searchuser="";

    Выше вставить

    if (!isset($_REQUEST['titleonly'])) {
       $titleonly = 3;
    }

     

    • Спасибо 1
  10. 7 минут назад, Spyhog сказал:

    Вы читайте внимательнее ответ и увидите смысл сообщения. Вы предложили обновить, а лучше заменить highslide на другое! Я и прокомментировал на счёт замены. И спросил, что даст обновление.

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

    А на счет замены, даст новые возможности и куда лучший юзабилити чем в highslide.

  11. 3 минуты назад, Spyhog сказал:

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

    А обновишь highslide и как это обычно бывает, добавится куча ненужных кнопок и дизайн изменится на "современный" и неудобный.

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

    Тогда смысл вашего сообщения? Ничего не знаю но осуждаю? Или ваше мнение важней других? Я сделал предложение, остальное решать не вам и не мне.

  12. 53 минуты назад, Spyhog сказал:

    Не надо ничего заменять. Не факт, что всем это понравится. Мне fancybox не очень нравится и я не хотел бы его использовать у себя на сайте, например. Если и внедрять его, то с возможностью выбора highslide или fancybox.

    Зачем вообще обновлять highslide? Он прекрасно выглядит и работает сейчас.

    А зачем вы DLE обновляете? Логика.

  13. Нет, такого стандартно нет. Вот вам плагин

    <?xml version="1.0" encoding="utf-8"?>
    <dleplugin>
    	<name>Добавляем параметр для custom - allow_main</name>
    	<description>Добавляем параметр для вывода новостей которые только на главной или нет для тега custom. [ by https://lazydev.pro/ ]</description>
    	<icon></icon>
    	<version>1.0</version>
    	<dleversion>13</dleversion>
    	<versioncompare>greater</versioncompare>
    	<upgradeurl></upgradeurl>
    	<filedelete>0</filedelete>
    	<needplugin></needplugin>
    	<mysqlinstall><![CDATA[]]></mysqlinstall>
    	<mysqlupgrade><![CDATA[]]></mysqlupgrade>
    	<mysqlenable><![CDATA[]]></mysqlenable>
    	<mysqldisable><![CDATA[]]></mysqldisable>
    	<mysqldelete><![CDATA[]]></mysqldelete>
    	<phpinstall><![CDATA[]]></phpinstall>
    	<phpupgrade><![CDATA[]]></phpupgrade>
    	<phpenable><![CDATA[]]></phpenable>
    	<phpdisable><![CDATA[]]></phpdisable>
    	<phpdelete><![CDATA[]]></phpdelete>
    	<file name="engine/modules/functions.php">
    		<operation action="after">
    			<searchcode><![CDATA[if( $config['allow_cache'] ) $short_news_cache = true; else $short_news_cache = false;]]></searchcode>
    			<replacecode><![CDATA[if (preg_match("#allow_main=['\"](.+?)['\"]#i", $param_str, $match)) {
    	if ($match[1] == "yes") {
    		$where[] = "allow_main='1'";
    	} elseif ($match[1] == "no") {
    		$where[] = "allow_main='0'";
    	}
    }]]></replacecode>
    		</operation>
    	</file>
    </dleplugin>

    allow_main="yes" - только те что разрешены на главной

    allow_main="no" - только те что не разрешены на главной

    • Нравится 2
    • Поддерживаю 1
  14. @celsoft будет ли обновлен highslide до последней версии, а то сейчас в DataLife Engine стоит версия 4.1.13 (2011-10-06) а на сайте разработчика есть 5.0.0 (2016-05-24) ?

    Если нет, то как пожелание обновить версию, а еще лучше заменить на другую галерею (fancybox)

    • Нравится 1
    • Поддерживаю 1
  15. Продолжая свои пожелания:

    1. Для категорий сделать настройку доступа группам. Это будет куда удобней чем заходить в каждую группу и настраивать права доступа в эту категорию, особенно когда их много.

    2. Для категорий добавить настройку исключения категории из поисковиков (meta robots nofollow,noindex), включая отдельную настройку для всех новостей внутри этой категории.

  16. 2 часа назад, YuriBtr сказал:

    Прошу прощения, не понял в каких логах смотреть SQL запрос?

     

    И как я говорил ранее, в access.log отсутствует строка обращения к профилю пользователя через админ панель:

     

    Я скинул запрос, есть таблица dle_admin_logs туда записывается редактирование пользователя, и если в админ панели был отредактирован пользователь то это запишется в таблицу в базе данных. В редактировании пользователя можно очистить комментарии но логи по этому не запишутся, а запишется редактировании пользователя.

  17. 11 минут назад, YuriBtr сказал:

    Комментарии удалялись модераторами, но это были комментарии других лиц. И в логах таких обращений не много.

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

    SELECT * FROM dle_admin_losgs WHERE extras='НИК' AND action=64

     

  18. 20 минут назад, Samsonite сказал:

    Добрый день,

    Хотел видеть в новых версиях для системы плагинов:

    - добавить возможность группировать плагины

    - добавить порядок сортировки плагинов (как категории, дополнительные поля)

    - к каждой действии плагина добавить возможность дополнительно (не обязательно) указать версию DLE (например: "Версия DLE: 13.2 только | и выше| и ниже").

    Последнего увы, не будет. Об этом уже велась беседа.

  19. 42 минуты назад, Colonizator сказал:

    Заметил небольшой косяк. Если перейти по ссылке в которой значение доп.поля - второе в списке (в доп поле лежит строка "Охотское море, Ульбанский залив") https://mapswater.com/xfsearch/places/Ульбанский+залив/

    То соответственно в __this__ отдается что-то другое, и тег custom ничего не выводит. Пытался ковырять - не выходит. Есть способ исправить? Или может подскажете, что лежит в переменных $xf,$xfname; ?

    Попробуйте это.

     

    Замените это

    $match[1] = $xfname . '|' . $xf;

    На это

    $match[1] = $xfname . '|%' . $xf;

     

    • Нравится 2
  20. @celsoft так же хочу внести еще некоторые идеи, пожелания, того что на мой взгляд сейчас не хватает движку.

    Гибкость тегов:
        1. Добавить глобальные теги [tags=X]{tag-value}[/tags], [xfsearch=X|Y]{xfsearch-value}[/xfsearch] для вывода текста и значения на странице тегов или дополнительного поля с значением X, и для дополнительного поля еще Y - название дополнительного поля.
        2. Расширить теги related-news, с поддержкой всех тегов что и в краткой новости.
        3. Добавить теги условий [if ] с операндами >, <, =, !=, ~, !~, >=, <= с поддержкой проверки любой ячейки новости.
        
    Гибкость движка:
        1. Мультивыбор в списке дополнительного поля.
        2. Добавить возможность настраивать выводимые данные на странице редактирования новостей в админ панели.
        3. Расширить возможности быстрого редактирования.
        4. Добавить опции для того что бы кириллические данные в тегах и дополнительных полях конвертировались в латиницу (по типу alt_name для новости).
        5. Возможность создавать tpl файлы в подпапках в разделе редактирования Шаблона.
        6. Возможность загружать картинки, js, css файлы в разделе редактирования Шаблона.
        7. Позволить настраивать данные для тега speedbar (хлебные крошки). К примеру иногда нужно выводить для новостей совсем другие данные.
        8. Добавить авторизацию через: Telegram, Discord.
        9. Возможность указывать для похожих новостей по каким полям и данным их искать. К примеру искать только в названиях новостей, или искать везде по названию текущей новости.
        10. Позволить настраивать вид результата быстрого поиска в tpl файле с поддержкой тегов что и в краткой новости.

    • Поддерживаю 5
  21. @celsoft DataLife Engine хорошо развивается, по-этому думаю стоит уделить немного внимания гибкости вывода новостей.

    Расширить тег custom:
        1. Возможность указывать для каждого параметра (где это уместно) тип поиска по нему «И» или «ИЛИ». К примеру {custom tags="AND|кофе,пончики"} - выведет новости у которых есть теги кофе «И» пончики.  {custom tags="OR|кофе,пончики"} - выведет новости у которых есть теги кофе «ИЛИ» пончики.
        2. Новые параметры / значения:
            2.1 Показ новостей которые на модерации или нет.
            2.2 Показ новостей которые опубликованы на главной или нет.
            2.3 Показ новостей у которых запрещен рейтинг или нет.
            2.4 Показ новостей у которых запрещены комментарии или нет.
            2.5 Показ новостей у которые скрыты из поиска сайта или нет.
            2.6 Показ новостей у которые запрещены для индексации или нет.
            2.7 Параметр для работы с «Датой редактирования» новости.
            2.8 Параметр для вывода новостей с автором Редактирования новостей или его исключением.
            2.9 Параметр для исключения тегов.
            2.10 Показ новостей у которых есть голосования или нет.
            2.11 Показ новостей у которых есть пароль для входа или нет.
            2.12 Показ новостей у которых Просмотров больше или меньше заданого числа.
            2.13 Показ новостей у которых Рейтинг больше или меньше заданого числа.
            2.14 Значение this для вывода новостей текущей просматриваемой категории / тега / дополнительного поля / каталога / пользователя.
        3. Сделать параметр кэширования более гибким, возможность ему задавать время жизни.
        4. Починить сортировку по рейтингу новости 5 звезд. Потому-что сейчас новость у которой была оценка 1 звезда 5 раз, стоит выше чем новость у которой оценка 4 звезды 1 раз. CEIL(e.rating / e.vote_num)
        5. Расширить параметр сортировки, добавить:
            5.1 По символьному коду.
            5.2 По дате редактирования.
            5.3 По значению дополнительного поля.
            5.4 По топу новостей, как тег {topnews} что уже наконец-то позволит удалить данный тег и его функционал окончательно.
            5.5 Сортировка по числовым дополнительным полям.

    • Поддерживаю 5
×
×
  • Создать...