Головна > Press-Релізи DataLife Engine > DataLife Engine v.11.2 Press Release

DataLife Engine v.11.2 Press Release


29-11-2016. Опублікував: Site Administrator
Шановне товариство!

Завершено основний етап розробки версії 11.2. Реліз знаходиться на тестуванні і передрелізній підготовці, ну а наразі ми пропонуємо вам ознайомитися з інформацією про те, що чекає вас з виходом нової версії.

Були підготовлені і реалізовані наступні зміни:

1. Додана можливість використання двофакторної авторизації на сайті. Включається дана можливість в налаштуваннях скрипта, в панелі управління. Після її включення, всі користувачі зможуть включити двофакторну авторизацію на сайті в своєму профілі. При активації даного типу авторизації, користувачеві, після успішного введення свого логіну і гасла, на його E-mail адресу буде відправлений одноразовий пін-код, який користувач повинен буде ввести на сайті. У разі включення даної опції в профілі користувача, для нього також автоматично включається "контроль зміни IP" і "контроль використовуваного браузера і комп'ютера". Дана можливість істотно збільшує безпеку користувацьких даних. Наприклад, в разі крадіжки у користувачів доступів від сайту, ними неможливо буде скористатися без доступу до E-mail адреси цих користувачів.

DataLife Engine v.11.2 Press Release

DataLife Engine v.11.2 Press Release

2. Для шаблону виведення і редагування профілю користувача (userinfo.tpl) додано використання нового тегу {twofactor-auth}, який виводить чекбокс для включення або відключення двофакторної авторизації на сайті для користувача.

3. Додана можливість підрахунку кількості публікацій у кожній категорії. Підрахунок кількості публікацій у категорій ведеться з урахуванням різних налаштувань сайту і параметрів самої новини. Наприклад, якщо новина опублікована в підкатегорії і при цьому включений показ новин з підкатегорій в батьківських категоріях, то для всіх батьківських категорій також буде врахована ця новина, але якщо батьківська категорія вказана додатково і в списку категорій самої новини, то подвійного обліку вже не буде. Для підрахунку даної інформації був використаний найбільш ефективний механізм, покликаний знизити витрати пам'яті і навантаження, для цього частину підрахунків веде MySQL сервер, а другу частину - PHP. При цьому, якщо включено кешування на сайті, то підрахована кількість публікацій також кешуєтся. Незважаючи на найбільш оптимальний механізм підрахунку, дана можливість збільшує навантаження на сервер, тому ви можете її включити або відключити в налаштуваннях скрипта в панелі управління. Дану інформацію можна виводити на сайті різними способами, які описані в описі даного релізу нижче.

DataLife Engine v.11.2 Press Release

4. Додана можливість виводити і формувати меню з категорій сайту в шаблонах. Для виведення меню категорій використовується тег {catmenu}. Даний тег ви можете використовувати в будь-якому файлі шаблонів, він є глобальним. Даний тег в свою чергу використовує і підключає файл шаблону categorymenu.tpl. У шаблоні categorymenu.tpl ви можете використовувати наступні теги для свого меню:

[root] текст [/root] - виводять текст, вкладений в них при початковій генерації шаблону меню. Дані теги можуть використовуватися для створення зовнішнього оформлення меню. Наприклад, для додавання зовнішніх HTML-елементів або елементів меню, які не входять в список категорій.

[item] текст [/item] - виводять кожен елемент категорії при побудові списку меню категорій. У тексті, вкладеному в цьому тезі, виводиться HTML-оформлення кожного пункту меню.

[sub-prefix] текст [/sub-prefix] - виводять текст, вкладений в них у вигляді префіксу для підкатегорій, якщо категорія є батьківською і у неї є підкатегорії.

[sub-suffix] текст [/sub-suffix] - виводять текст, вкладений в них у вигляді суфіксу для підкатегорій, якщо категорія є батьківською і у неї є підкатегорії.

{sub-item} - вказує місце для виведення підкатегорій в батьківської категорії, в разі, якщо у неї є підкатегорії. Даний тег може використовуватися тільки всередині тегів [item] [/item].

{name} - виводить ім'я категорії. Даний тег може використовуватися тільки всередині тегів [item] [/item].

{url} - виводить URL категорії. Даний тег може використовуватися тільки всередині тегів [item] [/item].

{icon} - виводить іконку категорії. Даний тег може використовуватися тільки всередині тегів [item] [/item].

{news-count} - виводить кількість публікацій в категорії. Даний тег може використовуватися тільки всередині тегів [item] [/item].

[active] текст [/active] - виводить текст, вкладений в них, якщо поточна на сайті категорія або новина належить категорії з меню. Даний тег може використовуватися тільки всередині тегів [item] [/item] і використовується, наприклад, для підсвітки активних категорій з меню.

[isparent] текст [/isparent] - виводить текст, вкладений в них, якщо категорія є батьківською і містить в собі підкатегорії. Даний тег може використовуватися тільки всередині тегів [item] [/item].

Приклад найпростішого шаблону меню категорій на основі HTML-тегів ul і li:

[root] <ul class = "catmenu"> [/root]
[item]
<li> <a href="{url}"> {name} </a>
[sub-prefix] <ul> [/sub-prefix] {sub-item} [sub-suffix] </ul> [/sub-suffix]
</li>
[/item]
[root] </ul> [/root]

5. Крім виведення меню категорій за допомогою тегу {catmenu} додано, також, використання даного тегу з користувацькими параметрами. Ви можете використовувати в даному тезі наступні параметри: {catmenu id = "1,2,3-5" subcat = "yes" template = "custom" cache = "yes"}, де:

id = "1,2,3-5" - список ID категорій, які необхідно вивести в меню. Ви можете перерахувати кілька категорій через кому, або вказати діапазон ID через тире.

subcat = "yes" - даний параметр приймає значення "yes" або "no" і використовується спільно з параметром id даного тегу, і вказує чи потрібно автоматично підключати підкатегорії для зазначеного списку категорій. Наприклад, є категорія з ID 1, у даній категорії є підкатегорії з ID 2 і ID 3, то при використанні тегу {catmenu id = "1" subcat = "yes"} буде виведена категорія 1 і її підкатегорії 2 і 3, а при використанні тегу {catmenu id = "1" subcat = "no"} буде виведена тільки категорія з ID 1.

template = "custom" - вказується ім'я шаблону, яке буде використовуватися для формування меню замість стандартного categorymenu.tpl

cache = "yes" - даний параметр приймає значення "yes" або "no" і вказує кешувати даний блок чи ні. При включенні кешування, автоматично пропаде можливість управляти підсвічуванням активної поточної категорії через теги [active] текст [/active] в шаблоні.

Тим самим, завдяки даним вище можливостям, ви можете сформувати меню на своєму сайті будь-якої складності і оформлення. Оформивши його один раз в шаблоні, в подальшому ви зможете керувати ним уже в адмінпанелі, в розділі управління категоріями, не вдаючись до ручного редагування шаблонів.

6. Додано новий глобальний тег {catnewscount id="X"} для шаблонів. Він виводить кількість публікацій для зазначеної категорії, де X - це ID потрібної вам категорії. Даний тег буде корисний для виведення кількості публікацій, в уже сформованих вручну в шаблонах меню на сайтах.

7. Додано використання абсолютно нового парсеру коду HTML для публікацій на сайті. Даний парсер використовується для фільтрації вхідного HTML-коду, при написанні новин і статичних сторінок. Новий парсер, на відміну від старого, не тільки фільтрує весь введений текст на предмет безпеки HTML-коду, але і автоматично виправляє власні помилки в даному коді. Наприклад, закриваються незакриті HTML-теги, видаляються помилкові або неправильні стилі CSS, а також виправляються помилки, пов'язані з валідністю введеного HTML-коду. Незважаючи на безліч доданих можливостей в парсер, фільтрація HTML-коду в ньому проводитися набагато швидше від старого парсеру (в порівнянні з попередньою версією 11.1)

8. Весь генерований в текстах новин HTML-код, з використанням DLE, був переведений на відповідність специфікаціям HTML5, замість застарілого XHTML.

9. Додана повністю нова система зберігання гасел користувачів в базі даних MySQL. Раніше, для зберігання хешів гасел, використовувалися алгоритми md5, які вже застаріли та дозволяють досить швидко підібрати вихідне гасло методом перебору, якщо зловмисники отримали доступ до хешу гасла. Нова система зберігання гасел використовує алгоритм хешування CRYPT_BLOWFISH, і є, на даний момент, дуже крипостійким алгоритмом. Дане нововведення покликане, в першу чергу, захистити вихідні гасла користувачів в разі компрометації бази даних, наприклад, в разі, якщо зловмисник отримав прямий доступ до бази даних. Оскільки вихідні гасла спочатку не зберігаються в базі даних, заміна хешів гасел буде відбуватися в "м'якому режимі", у міру того як користувачі будуть входити на сайт під своїм логіном і гаслом. Тим самим, всі існуючі гасла користувачів будуть діяти, а в міру першого входу на сайт, алгоритм хешування буде замінений. Також нова система зберігання гасел передбачає автоматичне оновлення алгоритмів хешування гасел, в разі появи нових криптостійких алгоритмів в PHP, тим самим, хеші гасел завжди будуть зберігатися в безпечному вигляді.

10. Завдяки новій системі зберігання гасел, при об'єднанні аккаунту на сайті з аккаунтом в соціальній мережі, вихідні гасла більше не скидаються. Якщо ви були раніше зареєстровані на сайті і авторизувалися за допомогою соціальної мережі, то також можете продовжувати користуватися своїм старим гаслом для входу на сайт.

11. Додана можливість більш спрощеної вставки флеш-роликів і флеш-плеєрів. Тепер скрипт автоматично приведе код вставки флеш в безпечний вигляд, замість його видалення його з тексту новини. Незважаючи на те, що флеш вже застарів як технологія, багато сайтів ще продовжують ним користуватися.

12. Додана можливість відновлення забутого гасла безпосередньо на сторінці входу в панель управління скриптом. Також змінено логіку відновлення гасел. Раніше для груп, що мають доступ до адмінпанелі, можна було заборонити відновлення гасла на сайті, в цілях безпеки, маючи на увазі, що адміністратори не забудуть гасел від свого ж сайту. Однак, як показала практика, дана категорія осіб все одно має властивість забувати гасла до свого сайту, що створювало проблеми з відновленням гасла і доводилося вручну правити базу даних. Тепер ж, для всіх користувачів, що мають доступ до панелі управління завжди заборонено відновлення гасла на сайті, однак вони це можуть зробити завжди безпосередньо на сторінці входу в панель управління скриптом. А для того щоб убезпечити від відновлення адміністраторських гасел в разі, наприклад, крадіжки доступу до e-mail, адресу адмінпанелі завжди можна перейменувати на унікальне ім'я, тим самим доступ для звичайних осіб до цієї сторінки буде недоступний.

DataLife Engine v.11.2 Press Release

13. Для масової розсилки листів і повідомлень, в адмінпанелі, додана можливість вибору інтервалу дати реєстрацій користувачів, яким будуть відправлені листи. Тим самим ви можете більш гнучко вибрати цільову аудиторію для своїх повідомлень.

DataLife Engine v.11.2 Press Release

14. Для масової розсилки листів і повідомлень, в адмінпанелі, додана можливість вибору інтервалу дати останнього відвідування вашого сайту користувачем, і тільки користувачам, які підпадають під ці умови, будуть відправлені листи. Тим самим ви можете більш гнучко вибрати цільову аудиторію для своїх повідомлень.

15. Для виведення публікацій в користувацькому форматі тегові {custom ...} додана можливість вказувати порядок сортування публікацій за датою їх редагування. Для цього використовується параметр order = "editdate". Наприклад, при використанні тегу {custom order="editdate" sort="desc" limit="5"} виведуться п'ять останніх відредагованих новини. Дане виведення буде корисним для виведення блоків новин з новою актуальною інформацією, наприклад, при оновленні посилань в них і т.д.

16. При створенні додаткових полів до публікацій, додана можливість додавати тексти підказок, які будуть виводиться користувачам при додаванні новин. Тим самим ви можете задати інструкції для користувачів, як їм необхідно заповнювати дані поля в публікації.

DataLife Engine v.11.2 Press Release

17. При створенні додаткових полів до публікацій, додана можливість вказувати яким групам користувачів дозволено заповнювати ці поля при публікації новин. Тим самим ви можете прив'язувати процес публікації полів в новинах не тільки до категорій, а й до груп користувачів.

18. При створенні додаткових полів до публікацій, додана можливість вказувати яким групам користувачів дозволено бачити ці поля в опублікованих новинах на сайті. Тим самим спрощується процес верстки шаблонів, якщо якимось групам заборонений перегляд певних дод. полів, і це можна легко вмикати та вимикати безпосередньо в панелі управління.

19. Для шаблону RSS виведення новин (rss.tpl), додана підтримка тегів {image-x} і [image-x] текст [/image-x], які виводять URL "X" картинки, та показують текст укладений в них, якщо картинка присутня.

20. Для тегів {image-x} і [image-x] текст [/image-x] додана підтримка тексту не тільки з короткого опису новини, але і з тексту додаткових полів в публікації. При цьому нумерація картинок йде спочатку з тексту короткого опису, потім з тексту додаткових полів. Дане нововведення буде корисно для веб-майстрів, які не використовують короткий опис публікації, а картинки публікують в текстах додаткових полів.

21. Для тегів {image-x} і [image-x] текст [/image-x] додано ігнорування смайлів, опублікованих в текстах. Наприклад, якщо в тексті публікації були опубліковані смайли, то вони також враховувалися і виводилися цим тегом. Тепер вони повністю ігноруються і не враховуються, а ведеться виведення тільки саме зображень, опублікованих в тексті новин.

22. Додано автоматичне зняття новини з показу в схожий публікаціях, в разі, якщо новина знімається з показу на сайті і відправляється на модерацію. Раніше для її зняття з даного блоку необхідно було робити скидання кешу схожих публікацій.

23. Додано автоматичне визначення режиму роботи PHP-інтерпретатора на сервері. У разі якщо режим роботи був змінений в налаштуваннях сервера, будуть автоматично відключені непідтримувані ним можливості. Наприклад, якщо включено розширений режим авторизації в панелі управління скрипта, а PHP був переключений в режим CGI або FastCGI, в якому даний режим не підтримується сервером, то дане налаштування буде автоматично відключене і адміністратор зможе також без проблем авторизуватися в панелі управління.

24. Додана можливість підписуватися на коментарі до публікацій, без необхідності додавати коментаря на сайті до даної публікації. Для цього в шаблонах виведення повної новини (fullstory.tpl) і додавання коментарів (addcomments.tpl), додані нові теги [comments-subscribe] текст [/comments-subscribe], які виводять текст, укладений в них у вигляді посилання на підписку на повідомлення про нові коментарі. Тим самим відвідувачі сайту можуть підписуватися на коментарі до потрібної публікації без необхідності написання власного коментаря.

25. Додана можливість використання додаткових полів в розділі зворотного зв'язку на сайті. Для того, щоб додати додаткове поле в форму зворотнього зв'язку, вам необхідно лише розмістити необхідне поле з певним ім'ям в формі, після чого воно буде доступне для використання в шаблонах e-mail повідомлень. Для додавання додаткового поля в форму, для поля введення необхідно використовувати атрибут з ім'ям: name = "xfield [X]", де X - це ім'я поля, написане латинськими літерами. Наприклад, ви хочете розмістити в формі зворотнього зв'язку поле для заповнення номеру телефону, для цього в шаблоні feedback.tpl розміщуєте поле:

<input placeholder="Ваш номер телефону" type="text" name="xfield[tel]">

де tel - це унікальне ім'я додаткового поля, а в шаблоні e-mail повідомлень в адмінпанелі розміщуєте тег: {%tel%}, після чого заповнений користувачем номер телефону буде також надсилатися разом з повідомленням. Допускається використання будь-якої кількості додаткових полів.

26. Для розділу управління рекламними матеріалами, в адмінпанелі, додана можливість вказувати рекламним матеріалам, на яких пристроях їх потрібно відображати. Ви можете як окремо, так і разом вказати на яких користувацьких пристроях буде показана ваша реклама. Це можуть бути комп'ютери, планшети або смартфони. Вказавши потрібні пристрої, ви можете спростити верстку шаблону, і трохи зменшити витрати трафіку, якщо на якихось пристроях дану рекламу показувати не потрібно.

DataLife Engine v.11.2 Press Release

27. Для шаблону E-mail повідомлення, яке відправляється при повідомленні про нове персональне повідомлення на сайті, додана підтримка нового тегу {%url%}, який виводить посилання на перегляд даного персонального повідомлення на сайті. Тим самим одержувач листа може відразу по посиланню перейти на перегляд потрібного йому повідомлення.

28. Для системи логування адміністраторських дій, додано логування успішних авторизацій користувачів на сайті, які мають доступ до панелі управління скриптом. Раніше фіксувалися тільки невдалі спроби авторизації, і успішні авторизації при переході в панель управління.

29. Для завантаження файлів на сервер з використанням скрипта, додано обчислення розміру і контрольних сум для цих файлів і подальше їх збереження в базі даних разом з іншою інформацією про файли. При показі на сайті вкладень для скачування, дана інформація береться з бази даних, а не обчислюється на льоту для кожного файлу, що відображається. Дане нововведення істотно знижує навантаження на сервер при публікації великої кількості файлів.

30. Для візуального редактора FroalaEditor додана можливість задавати описи для зменшених копій зображень. Для завдання опису досить написати альтернативний текст для картинки, по відповідній кнопці на зображенні. Дані описи будуть показуватися при збільшенні зменшених копій до оригінальних копій.

DataLife Engine v.11.2 Press Release

31. Для візуального редактора TinyMCE змінена вставка зменшених копій завантажених зображень. Тепер замість використання ББ-тегів в даному редакторі, вставляється HTML-код для показу зменшеної копії. Тим самим в редакторі відразу відображається вставлена картинка, і над нею можна проводити дії, використовуючи можливості візуального редактора, наприклад, задати опис і т.д.

32. З метою забезпечення більш якісної SEO-оптимізації сайту, внесені зміни в формування тегу [img ...]. Тепер для цього тегу атрибут alt буде заповняться автоматично (в разі відсутності ручного опису) заголовком новини тільки для першої картинки в поле тексту, для всіх інших картинок в даному полі він буде залишатися порожнім. Використання однакових описів для різних картинок може негативно впливати на пошукову оптимізацію, тому, якщо потрібно максимально її покращити, задавайте картинкам ручні описи. Для вступу даних змін для старих, раніше опублікованих новин, необхідно буде запустити перебудову публікацій в панелі управління скриптом.

33. З метою забезпечення більш якісної SEO-оптимізації сайту і позбавлення від надмірного коду, для генерації показу зменшених копій зображень внесені зміни. Тепер опис до картинок буде братися автоматично з атрибуту alt, даний атрибут автоматично не буде заповнюватися назвою новини, в разі відсутності ручного опису. Для вступу даних змін для старих, раніше опублікованих новин, необхідно буде запустити перебудову публікацій в панелі управління скриптом.

34. Для генерованого коду зменшених копій зображень, з метою забезпечення валідності генерованого коду, прибрано використання атрибуту "rel".

35. При скачуванні файлів, завантажених через скрипт, додана перевірка параметрів доступу, встановлених для різних груп, безпосередньо в налаштуваннях самої публікації у вкладці "Доступ". Наприклад, якщо для новини заборонений перегляд для певної групи, то і скачування файлів, прикріплених до цієї новини буде заборонено для цієї групи.

36. При скачуванні файлів, завантажених через скрипт, додана перевірка параметрів доступу до різних категорій публікацій, встановлених для даної групи користувачів. Наприклад, якщо користувачам певної групи, заборонена до перегляду будь-яка категорія, то і скачування прикріплених файлів з публікацій даної категорії також буде автоматично заборонено для даних користувачів.

37. Для модуля перехресних посилань покращена система визначення посилань на самих себе, при яких автозаміна не проводиться. Раніше посилання потрібно було писати в повному форматі, включаючи домен, наприклад http://site.com/test/1-test.html і тільки тоді заміна на такий сторінці не проводилася. Тепер достатньо написати скорочений її варіант, без вказівки домену /test/1-test.html і при відвідуванні цієї сторінки, заміни для ключового слова проводиться не буде. Дане нововведення буде корисно при використанні на сайті одночасно різних протоколів http і https, а також при використанні на сайті декількох доменів-дзеркал.

38. При додаванні нової категорії в масових діях, в розділі управління публікаціями, в адмінпанелі, доданий контроль чи присутня вже в публікації категорія, що додається. Якщо так, то її повторне додавання не проводиться. Дане нововведення дозволяє уникнути помилкового повторного додавання категорії для публікації.

39. Покращена система обробки додаткових полів публікацій, при їх виведенні на сайті в шаблонах. Тепер для того, щоб поля оброблялися, необов'язково виводити значення цих полів в шаблонах. Дане нововведення буде зручним для веб-майстрів, які використовують різні умови, зазначені в полях, для формування потрібної верстки шаблону, а не саме виведення цих полів в шаблоні.

40. Покращено роботу випадаючого меню в адмінпанелі, таким чином, щоб пункти меню не виходили за межі екрану при недостатньому місці по висоті.

41. Внесено зміни в порядок сортування завантажених зображень на сервер. Раніше, при завантаженні зображень на сервер, вони сортувалися в порядку їх завантаження на сервер, а після видалення будь-якої з картинок вони відсортовуються в алфавітному в порядку, що призводило до плутанини, в разі якщо картинок для публікації дуже багато, і ускладнювало їх пошук для вставки в публікацію. Тепер, при завантаженні картинок на сервер, вони також виводяться в тому ж порядку, що і були завантажені на сервер, а при видаленні будь-якої з картинок, даний порядок також повністю зберігається.

42. Покращена система контролю невірних ЛЗУ (ЧПУ). У разі, якщо посилання, яке вказує розбиття на сторінки, при перегляді головної або категорій, не закінчується слешем, то відбуватиметься редирект на неї ж, але з закритим слешем. Наприклад, раніше, при некоректному посиланні на перегляд категорії: website.com/test/page/3 без закриваючого слешу редирект здійснювався на website.com/test/, то тепер редирект буде здійснений на website.com/test/page/3/ і користувач залишиться на потрібній сторінці.

43. Покращена сумісність скрипта з MySQL лінійки 5.7.x

44. Оновлені візуальні редактори TinyMCE і FroalaEditor до актуальних версій. Були виправлено багато помилок в роботі даних редакторів, з різними браузерами.

45. Виправлена проблема, при якій не зберігався повний шлях до завантаженого аватару, при використанні авторизації через соціальні мережі, що могло призводити до проблем при показі аватару, якщо використовується кілька різних доменів і сайтів з єдиною реєстрацією користувачів.

46. Виправлена проблема, при якій могла іноді відбуватися невірна вибірка публікацій, якщо використовується тег {custom ...} в комбінації різних декількох параметрів.

47. Виправлена проблема, при якій могло відбувається некоректно відображення додаткових полів з типом "Галерея зображень", в разі, якщо різні дод. поля виводяться одночасно і в шаблоні повної новини (fullstory.tpl) і загальному шаблоні (main.tpl)

48. Виправлена проблема, при якій могла виникати помилка "Занадто довге значення поля" для полів, які автоматично генеруються скриптом. Наприклад, для метатегів опису.

49. Виправлена проблема, при якій не оновлювався код рекаптчі після успішного додавання коментарів на сайт.

50. Виправлені виявлені і заявлені раніше невеликі помилки в скрипті.
Повернутися назад