GithubHelp home page GithubHelp logo

dle-modules / dle-blockpro Goto Github PK

View Code? Open in Web Editor NEW
13.0 6.0 14.0 1015 KB

Модуль вывода новостей для DLE

Home Page: http://bp.pafnuty.name/

License: MIT License

PHP 89.61% CSS 0.49% JavaScript 2.47% Smarty 7.44%
blockpro pafnuty dle dle-blockpro php

dle-blockpro's People

Contributors

kohone avatar pafnuty avatar yuribtr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

dle-blockpro's Issues

Блок багов и пожеланий от первого покупателя

  • после генерации пропадает ссылка на используемый шаблон, тогда как все остальные параметры сохраняются.
  • нет парсера или хотябы окошка для айди имеющегося блока. Когда (и если) уловишь логику кода, то потом не трудно руками править, но все же с генератором намного удобнее

Экранирование символа `

Если в названии новости есть ' то выодится ', например I'm выведет как I'm, Как это можно исправить.

Добавить файл дополнительных настроек

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

Расширенная работа с датами новостей

  • Указание периода для отбора в днях, а не интервал типа &day=now$dayCount=1 не должен захватывать новости, принадлежащие позавчерашнему дню.
  • Вывод новостей за конкретный интервал по датам &dateInterval=24.01.2015-30.02.2015
  • Вывод новостей на ненаступившую дату &dateFuture=y разрешает вывод новостей на ненаступившую дату несмотря на настройки движка. Так же при указании dayCount не убавляет, а прибавляет дни. Так же нужна поддержка &dateInterval

Вызов модуля в рассылках

Поступило пердложение реализовать возможность встраивания модуля в рассылки с сайта.
Думаю можно попробовать реализовать.
Либо запилить отдельный модуль.

Умный кроп

Павел, здравствуйте! Помните, просил вас сделать так, чтобы картинки в модуле BlockPro сначала уменьшались до фиксированного размера по ширине, а потом уже и обратилась до фиксированного по вертикали, чтобы сохранялись пропорции картинки. Это реально?

Брать следующую картинку, если текущая не подходит + вывод всех картинок массивом

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

 // Вылавливаем URL первой картинки
      if (preg_match_all('/<img(?:\\s[^<>]*?)?\\bsrc\\s*=\\s*(?|"([^"]*)"|\'([^\']*)\'|([^<>\'"\\s]*))[^<>]*>/i', $shortStory, $m)) {
        // Адрес первой нормальной картинки в новости
        $imageUrl = false;
        foreach ($m[1] as $imgItem) {
          $_bl = false;
          foreach ($cfg['mediaBlacklist'] as $blItem) {
            if (($imgItem == null) || (strpos($imgItem, $blItem) !== false)) {
              $_bl = true;
              break;
            }
          }
          if ($_bl) {
            continue;
          }
          else {
            $imageUrl = $imgItem;
            break;
          }

        }
      }

Админка

  • Реализовать получение строки подключения на ajax
  • Тянуть имена допполей из движка.

Использование статичной функции как обычной

Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/core/base.php on line 44 Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/core/base.php on line 63 Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/core/base.php on line 83 Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/blockpro.php on line 181 Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/blockpro.php on line 409 Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/core/base.php on line 131 Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/core/base.php on line 131 Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/core/base.php on line 133 Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/core/base.php on line 135 Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/core/base.php on line 135 Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/core/base.php on line 137 Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/core/base.php on line 140 Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/core/base.php on line 225 Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/core/base.php on line 231 Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/core/base.php on line 231 Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/core/base.php on line 232 Strict Standards: Accessing static property base::$dle_config as non static in /home/p36186/www/poigrala.ru/engine/modules/base/blockpro.php on line 456

Это на одном из сайтов. Нужно поправить.

Значимые переменные для формирования кеша

Нужно внедрить возможность указания значимых переменных из массива $_REQUEST для формирования кеша.
Как то так:
&cachePrefix=request|neswid|cat
Тогда для каждой страницы будет создан свой кеш.
Полезно к пимеру, если в списке новостей нужно выделить текущую.

{set $get = $.request}
<ul class="topnavi">
    {foreach $list as $key => $el}
        <li {if $get.newsid == $el.id} class="active" {/if}>
            <a href="{$el.url}" title="{$el.title}">{$el.xfields['short-name']}</a>
        </li>
    {/foreach}
</ul> <!-- .topnavi -->

Сейчас такое можно реализовать только через отключение кеширования блока.

Пигинация

  • Ещё вариант пагинации - кнопка "Показать ещё" с подгрузкой следующего блока новостей
  • http://lab.hakim.se/flexing-pagination/ - ещё один вариант пагинации и заодно стилизация.

При отрицательном рейтинге не работает "Хит"

Fatal error: SafeMySQL: BIGINT UNSIGNED value is out of range in '((`vip_news`.`e`.`rating` * 100) + (`vip_news`.`p`.`comm_num` * 10))'. Full query: [SELECT p.id, p.autor, p.date, p.short_story, p.full_story, p.xfields, p.title, p.category, p.alt_name, p.allow_comm, p.comm_num, 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 `dle_post` p LEFT JOIN `dle_post_extras` e ON (p.id=e.news_id) WHERE approve AND date >= "2015-03-11 19:33:45" - INTERVAL 7 DAY AND date < "2015-03-11 19:33:45" ORDER BY fixed DESC, (e.rating*100+p.comm_num*10+e.news_read) DESC LIMIT 0, 20]. Error initiated in /var/www/html/engine/modules/base/blockpro.php on line 421, thrown in /var/www/html/engine/modules/base/core/SafeMySQL.php on line 610

Не работает author=this

подозреваю, что виной тому $base->db->parse('?s', $_REQUEST["user"]);
нужно проверить все подобные конструкции

Блок с новостями на стороннем сайте.

Уже двое просили о подобной возможности.
Я вижу два пути:

  1. Вывод RSS-информера, что удобно - его на стороннем сайте можно выводить и средствами js, а больших телодвижений совершать не требуется, только шаблон вывода и минимодуль для генерации rss-потока.
  2. Вывод через некое API по url или ещё как то, к примеру id блока равен какому-либо кешу или хешу. Возможно придётся подрубать работу с БД, например хранить там характеристики блока. В этом случаи можно будет обойтись дополнительным мини-модулем, работающем на ajax.

Функционал публички

  • Сортировка по кол-ву скачиваний прикреплённых файлов.
  • Брать следующую картинку, если текущая не подходит
     // Вылавливаем URL первой картинки
      if (preg_match_all('/<img(?:\\s[^<>]*?)?\\bsrc\\s*=\\s*(?|"([^"]*)"|\'([^\']*)\'|([^<>\'"\\s]*))[^<>]*>/i', $shortStory, $m)) {
        // Адрес первой нормальной картинки в новости
        $imageUrl = false;
        foreach ($m[1] as $imgItem) {
          $_bl = false;
          foreach ($cfg['mediaBlacklist'] as $blItem) {
            if (($imgItem == null) || (strpos($imgItem, $blItem) !== false)) {
              $_bl = true;
              break;
            }
          }
          if ($_bl) {
            continue;
          }
          else {
            $imageUrl = $imgItem;
            break;
          }

        }
      }
  • Рефакторинг кода получения картинки. А ещё лучше переделать весь класс под нужды модуля, чтоб сам всё, что нужно проверял и выдавал картинку на выходе.
  • Выводить все картинки из новости в виде массива (будет полезно для галереек.)

Вывод блока в категориях сайта (аналог [catlist=])

идея такая:
что-бы строка модуля
{include file="engine/modules/base/blockpro.php?template=blockpro/randompost&cacheLive=60&limit=4&CatId=2,3-32&sort=date"}

имела параметры для отображения себя ТОЛЬКО в перечисленных категориях.

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

ИЛИ тегов.

Новый установщик.

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

Пользовательские действия

  • Реализация пользовательской сортировки
  • Реализовать пользовательские фильтры
  • Реализация навигации с перезагрузкой страницы

Возвращать размеры картинок (width, height)

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.