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

Lexxs

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

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

  • Посещение

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

    4

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

  1. 13 часов назад, TeraMoune сказал:

    Вот вам временное решение пока таких тегов не появилось.

      Скрыть содержимое
    
    
    <?xml version="1.0" encoding="utf-8"?>
    <dleplugin>
    	<name>Tagsblock active plugins</name>
    	<description>Добавляет теги [active-plugins=X] и [not-active-plugins=X] которые управляют отображением содержимого в шаблонах в зависимости от состояния плагина.</description>
    	<icon></icon>
    	<version></version>
    	<dleversion>13.2</dleversion>
    	<versioncompare>greater</versioncompare>
    	<upgradeurl></upgradeurl>
    	<filedelete>0</filedelete>
    	<needplugin></needplugin>
    	<mnotice>1</mnotice>
    	<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>
    	<notice><![CDATA[<p>@<a href="https://t.me/TeraMoune" target="_blank">TeraMoune</a></p>
    <details><summary style="color:#ff720e;font-weight:500" role="button">Click here!</summary>Там где [b]X[/b] id плагина. Найти ID можно под иконкой плагина.
    
    Например:
    [code][not-active-plugins=X] Плагин отключен [/not-active-plugins]
    [active-plugins=X] Плагин включен [/active-plugins][/code]
    </details>]]></notice>
    	<file name="engine/init.php">
    		<operation action="before">
    			<searchcode><![CDATA[//################# Definition of user groups]]></searchcode>
    			<replacecode><![CDATA[//################# Definition of plugins
    $plugins_active = get_vars ( "plugins_active" );
    
    if (!is_array( $plugins_active )) {
    	$plugins_active = array ();
    
    	$db->query ( "SELECT id, active FROM " . USERPREFIX . "_plugins ORDER BY id ASC" );
    
    	while ( $row = $db->get_row () ) {
    
    		$plugins_active[$row['id']] = $row['active'];
    
    	}
    	set_vars ( "plugins_active", $plugins_active );
    	$db->free ();
    }]]></replacecode>
    			<enabled>1</enabled>
    		</operation>
    	</file>
    	<file name="engine/modules/main.php">
    		<operation action="before">
    			<searchcode><![CDATA[if ( ($allow_active_news AND $news_found AND $config['allow_change_sort'] AND $dle_module != "userinfo") OR defined('CUSTOMSORT')) {]]></searchcode>
    			<replacecode><![CDATA[if (stripos ( $tpl->copy_template, "[active-plugins=" ) !== false) {
    	$tpl->copy_template = preg_replace_callback ( "#\\[(active-plugins)=(\d+?)\\](.*?)\\[/active-plugins\\]#is", "check_plugins", $tpl->copy_template );
    }
    
    if (stripos ( $tpl->copy_template, "[not-active-plugins=" ) !== false) {
    	$tpl->copy_template = preg_replace_callback ( "#\\[(not-active-plugins)=(\d+?)\\](.*?)\\[/not-active-plugins\\]#is", "check_plugins", $tpl->copy_template );
    }]]></replacecode>
    			<enabled>1</enabled>
    		</operation>
    	</file>
    	<file name="engine/modules/functions.php">
    		<operation action="before">
    			<searchcode><![CDATA[function check_category( $matches=array() ) {]]></searchcode>
    			<replacecode><![CDATA[function check_plugins( $matches=array() ) {
    	global $plugins_active;
    
    	$block 		= $matches[3];
    	$id_plugins	= intval($matches[2]);
    	
      	if( !isset($plugins_active[$id_plugins]) ) return "";
    
    	if ($matches[1] == "active-plugins") $action = true; else $action = false;
    	
    	$found = false;
    	
      	if( $action ) {
    		
    		if( $plugins_active[$id_plugins] ) return $block;
    	
      	} else {
    			
    		if( $plugins_active[$id_plugins] ) $found = true;
    		
    	}
    
    	if ( !$action AND !$found ) {	
    
    		return $block;
    	}
    
    	return "";
    
    }]]></replacecode>
    			<enabled>1</enabled>
    		</operation>
    	</file>
    	<file name="engine/inc/plugins.php">
    		<operation action="replace">
    			<searchcode><![CDATA[class=\"img-lg section_icon\"></div>]]></searchcode>
    			<replacecode><![CDATA[class=\"img-lg section_icon\"><span style=\"color: #979696;text-align: center;display: inline-block;width: 100%;font-weight: 500;\">{$row['id']}</span></div>]]></replacecode>
    			<enabled>1</enabled>
    		</operation>
    	</file>
    </dleplugin>

     

     

    Спасибо ! Попробую ! По результату отпишусь.

  2. 11 часов назад, Gameer сказал:

    А можно просто зайти в шаблон и обернуть в {* {include ...} *} и не нужны никакие дополнительные теги.

    И таки нужно опять править в шаблоне каждый раз.

    6 часов назад, aleksandrhristich сказал:

     

    А мне одному кажется что можно в модуле сделать условие для его вывода: если он включен,то выводится то что надо а если выключен то ничего не выводится?

    Если знаете, как это сделать, поделитесь )

    2 минуты назад, dds сказал:

    Мне тоже кажется так проще. В engine/inc/options.php чуток подшаманить и в сам модуль добавить условие проверки. И будет полноценный чекбокс (вкл/выкл) данного модуля.

    Или уже из коробки в дле сделать, чтоб не приходилось лишний раз шаманить )

  3. Доброго времени!

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

    Дело в том, что некоторые модули используют в шаблонах ссылки на страницы своего модуля, в теге include, и если отключать модуль на время, или по какой другой причине, то в шаблоне выводится ошибка, типа File engine/mods/modul.php not found.

    Пожелание же такое: Реализовать в DLE возможность работы глобального тега, который допускает вывод текста заключённого в этот тег, при включенном модуле, или отключать вывод текста, при выключенном модуле. Что то типа этого [xfgiven_modul]{include file='engine/mods/modul-page.php}[/xfgiven_modul], где modul - название, или id модуля, или иной, задаваемый идентефикатор.

    Думаю было бы не плохо иметь такую возможность.

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

  4. Индексация, это долгое дело, а в вашем случае переиндексация, так как адреса страниц сменились, это тоже может занять от нескольких недель, до нескольких месяцев.

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

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

    Ну вот. Теперь полная информация. У вас файлы на сервере не соответствуют друг другу и от разных версий. Поэтому и ошибка. Часть файлов у вас от 15.2 часть от более старых версий.

    Спасибо, понял. Вроде копировал с заменой, видимо что то не заменилось.

    Теперь все файлы по новому заменять, или есть какие то конкретные файлы, влияющие на эту проблему? Чтоб всё не заменять.

    Остальное вроде работает как надо.

  6. 23 часа назад, celsoft сказал:

    Значит в лог не все идет. Потому как "thrown in /var/www/сайт/data/www/сайт/engine/inc/googlemap.php on line 139" в переводе звучит как произошла в такой то строке, а что произошло не указано, до этого должен быть текст ошибки.

    Сегодня вот так выдало!

    2022/09/15 11:33:38 [error] 1053#1053: *1593 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined method googlemap::generate() in /var/www/сайт.ру/data/www/сайт.ру/engine/inc/googlemap.php:139
    Stack trace:
    #0 /var/www/сайт.ру/data/www/сайт.ру/engine/inc/include/init.php(598): include_once()
    #1 /var/www/сайт.ру/data/www/сайт.ру/admin.php(29): require_once('/var/www/сайт.ру....')
    #2 {main}
      thrown in /var/www/сайт.ру/data/www/сайт.ру/engine/inc/googlemap.php on line 139" while reading response header from upstream, client: 212.76.21.176, server: сайт.ру, request: "POST /admin.php?mod=googlemap HTTP/1.1", upstream: "fastcgi://unix:/var/run/сайт.ру.sock:", host: "сайт.ру", referrer: "https://сайт.ру/admin.php?mod=googlemap"
    2022/09/15 11:33:40 [error] 1050#1050: *1589 openat() "/var/www/сайт.ру/data/www/сайт.ру//ad/banner/_adsense_/_adserver/_adview_.ad.json" failed (2: No such file or directory), client: 46.211.99.239, server: сайт.ру, request: "GET /ad/banner/_adsense_/_adserver/_adview_.ad.json?adzone=top&adsize=300x250&advid=34189726 HTTP/1.1", host: "сайт.ру", referrer: "https://сайт.ру/50234-enotki.html"
    2022/09/15 11:34:04 [error] 1050#1050: *1636 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined method googlemap::generate() in /var/www/сайт.ру/data/www/zombi.fun/engine/inc/googlemap.php:139
    Stack trace:
    #0 /var/www/сайт.ру/data/www/сайт.ру/engine/inc/include/init.php(598): include_once()
    #1 /var/www/сайт.ру/data/www/сайт.ру/admin.php(29): require_once('/var/www/сайт.ру....')
    #2 {main}
      thrown in /var/www/сайт.ру/data/www/сайт.ру/engine/inc/googlemap.php on line 139" while reading response header from upstream, client: 212.76.21.16, server: сайт.ру, request: "POST /admin.php?mod=googlemap HTTP/1.1", upstream: "fastcgi://unix:/var/run/сайт.ру.fun.sock:", host: "сайт.ру", referrer: "https://сайт.ру/admin.php?mod=googlemap"
    2022/09/15 11:34:07 [error] 1053#1053: *1638 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined method googlemap::generate() in /var/www/сайт.руzombi.fun/data/www/сайт.ру/engine/inc/googlemap.php:139
    Stack trace:
    #0 /var/www/сайт.ру/data/www/сайт.ру/engine/inc/include/init.php(598): include_once()
    #1 /var/www/сайт.ру/data/www/сайт.ру/admin.php(29): require_once('/var/www/сайт.ру....')
    #2 {main}

  7. 16 минут назад, celsoft сказал:

    вы не всю ошибку написали, а только часть, поэтому что либо точнее по ней я вам к сожалению сказать не могу.

    Это вся ошибка, что была в логах. Повторно инициировал, опять вышла в логах та же самая строка.

    А в консоли браузера тоже ничего существенного:
    crbug/1173575, non-JS module files deprecated.
    (anonymous) @ VM60:1907

  8. 15 часов назад, celsoft сказал:

    Это полное сообщение? Потому как оно мало о чем говорит. Прервано соединение во время генерации карты. На сайте много публикаций?

    На сайте более 50000 публикаций. В настройках выставлял по 1000 публикаций на страницу. Не в этом дело.

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

  9. 15 минут назад, celsoft сказал:

    Ошибка 500 серверная ошибка, гадать о причинах можно долго, смотрите логи ошибок сервера, чтобы понимать в чем причина может быть.

     thrown in /var/www/сайт/data/www/сайт/engine/inc/googlemap.php on line 139" while reading response header from upstream, client: 37.9.29.93, server: сайт, request: "POST /admin.php?mod=googlemap HTTP/1.1", upstream: "fastcgi://unix:/var/run/сайт.fun.sock:", host: "сайт", referrer: "https://сайт/admin.php?mod=googlemap"

  10. Доброго времени!
    Уже как то сталкивался с такой ошибкой, на DLE 15.2, при попытке создать карту сайта в админке, выкидывает на ошибку 500, с пояснением, что сайт такой то, не может обработать этот запрос.

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

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

    Разница у этих двух сайтов в одном, первый работает на апач, с хтаччес, второй работает на нгикс, соответственно используются правила ngix с официального источника.
    Может ли из-за отсутствия какой либо строки в правилах нгикс возникнуть такая проблема?
    И можно ли как то это решить? Может что то выставить в настройках?

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

    Непонятно что указывать в href, так как если указать ДП галлереи, то там выводит со всеми тегами ul и li.

    Пробовал типа <a href='[xfvalue_screenshots image="2"]' - тоже ничего не выходит.

    Есть варианты решения этой проблемы?

     

    Для вывода самих изображений css 

    /* Gallery IMG */
    .xfieldimagegallery li img{
      float: left;
      margin-right: 5px;
      border: 0px solid;
      width: 320px; /* Тут ширина */
      height: 240px;/* Тут высота*/
      transition: box-shadow 0.5s ease;
    }

     

  12. Если закрыть доступ к статье для гостей, оставив только администраторам и журналистам, то комментарии к этой статье всёравно видны всем посетителям, в частности выводимые через lastcomments.

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

    Да, DLE 15.2.

  13. 3 часа назад, master27 сказал:

    Не смог заставить работать Ваш код, в консоле (настольный браузер) вижу: Service Worker Registered

    Написано же, для мобильных браузеров.

    3 часа назад, master27 сказал:

    Вы пишете "3 файла js", по факту два.

    Написано: создать 3 файла, js и manifest ... Запятую не поставил )

    3 часа назад, master27 сказал:

    И ещё.. ".register('/sw.js')" - пока полный путь не прописал "'/templates/название шаблона/js/sw.js'" выдавало ошибку.

    Так же написано, что пути нужно прописывать свои. Возможно менять местоположение файлов. Обычно если в корне сайта, то должно вообще без проблем быть.

     

    3 часа назад, master27 сказал:

    Что не так?
    на андроиде яндекс и дефолтный браузеры.

    1. Возможно правильно подключить скрипты, написано внизу поста.

    2. Правильно заполнить в скрипте пункты 

    "name": "",
      "short_name": "",
      "start_url": ""

    Возможно тапа такого

     

    "name": "Мой сайт",
      "short_name": "_site_.ru",
      "start_url": "/"

    Иконки, обязательно, полный путь к ним 

    "src": "/icon/cats-48-48.png",

     

    • Нравится 1
  14. Простейшее приложение на Андроид для вашего сайта.

    создать 3 файла js и manifest ( a2hs.js, sw.js, manifest.webmanifest ) Их заливаем например в корень шаблона в папку JS

    a2hs.js

    if('serviceWorker' in navigator) {
      navigator.serviceWorker
               .register('/sw.js')
               .then(function() { console.log('Service Worker Registered'); });
    }
    
    let deferredPrompt;
    const addBtn = document.querySelector('.add-button');
    addBtn.style.display = 'none';
    
    window.addEventListener('beforeinstallprompt', (e) => {
      // Prevent Chrome 67 and earlier from automatically showing the prompt
      e.preventDefault();
      // Stash the event so it can be triggered later.
      deferredPrompt = e;
      // Update UI to notify the user they can add to home screen
      addBtn.style.display = 'block';
    
      addBtn.addEventListener('click', (e) => {
        // hide our user interface that shows our A2HS button
        addBtn.style.display = 'none';
        // Show the prompt
        deferredPrompt.prompt();
        // Wait for the user to respond to the prompt
        deferredPrompt.userChoice.then((choiceResult) => {
            if (choiceResult.outcome === 'accepted') {
              console.log('User accepted the A2HS prompt');
            } else {
              console.log('User dismissed the A2HS prompt');
            }
            deferredPrompt = null;
          });
      });
    });

    sw.js

    self.addEventListener('install', function(e) {
     e.waitUntil(
       caches.open('pwa-store').then(function(cache) {
         return cache.addAll([
           '/icon/cats-48-48.png'
         ]);
       })
     );
    });
    
    self.addEventListener('fetch', function(e) {
      //console.log(e.request.url);
      e.respondWith(
        caches.match(e.request).then(function(response) {
          return response || fetch(e.request);
        })
      );
    });


     

    manifest.webmanifest

    {
      "display": "fullscreen",
      "background_color": "#fff",
      "description": "",
      "icons": [
        {
        "src": "/icon/cats-48-48.png",
        "sizes": "48x48",
        "type": "image/png"
        }, {
        "src": "/icon/cats-72-72.png",
        "sizes": "72x72",
        "type": "image/png"
        }, {
        "src": "/icon/cats-96-96.png",
        "sizes": "96x96",
        "type": "image/png"
      }, {
        "src": "/icon/cats-144-144.png",
        "sizes": "144x144",
        "type": "image/png"
      }, {
        "src": "/icon/cats-192-192.png",
        "sizes": "192x192",
        "type": "image/png"
      }
      ],
      "name": "",
      "short_name": "",
      "start_url": ""
    }

    Естественно указать адрес сайта, название кратное и большое, сделать иконки и прописать в коде путь к ним.

    и уже в самом шаблоне страницы выводим следующим образом

    <script src="{THEME}/js/a2hs.js"></script>
    <script src="{THEME}/js/sw.js"></script>

    manifest.webmanifest подключаем так

    <link rel="manifest" href="{THEME}/js/manifest.webmanifest">

    И ставим кнопку в нужном месте шаблона:

    <button class="add-button" style="margin-left:25px; background-color: white; color:red; padding: 0px;"><i class="fa fa-mobile fa-2x""></i></button>

     

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

    Похоже на приложение, хотя обычный просмотрщик. А для разработки полноценного приложения, нужны знания и много времени )

    • Нравится 1
  15. 1 час назад, celsoft сказал:

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

    Именно так и сделано, о чём написано выше.

    1. Для начала скопируйте все файлы из папки upload в данном архиве на ваш сервер.
    2. Установите для папки templates права на запись (CHMOD 777)
    3. Установите права для записи (CHMOD 777) для папок backup, uploads, а также для всех папок, находящихся внутри них.
    4. Установите права для записи (CHMOD 777) для папок /engine/data/, /engine/cache/.

     

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

    А чтобы не гадать, то обращайтесь в тех. поддержку

    На локалке техподдержка что может сделать ?

  16. Что то подобное было в одной из прошлых версий, там нужно было выключить какой то пункт в настройках и после этого обновление пошло нормально.

     

    Из консоли браузера, на странице обновления, выходит одна ошибка,

    Строка /engine/classes/min/index.php?charset=utf-8&g=admin&v=d08c6

    И отсылает на https://xhr.spec.whatwg.org/

  17. В идеале было бы, если бы в DLE было применительно к Доп полям функция очистки данных поля.

    То есть, в разделе создания и редактирования доп полей, кнопка, Удалить данные поля, после нажатия которой, удаляются все записи в базе и если были ссылки на картинки, то и удаление изображений. Фантастика ? Но хотелось бы )

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