Dear friends,
The main stage of development of version 14.2 is completed , the release is under testing and pre-release preparation, but in the meantime, we invite you to familiarize yourself with the information about what awaits you with the release of the new version.
The following changes were prepared and implemented:
- Added the ability to display data from the profile of the user who wrote the publication in the templates for displaying short and full news (shortstory.tpl and fullstory.tpl). Since this feature requires additional data fetching from the database, it is enabled and disabled in the script settings, in the performance optimization section. Therefore, this feature can be enabled by those who need it, and disabled if it is not used to increase the performance of the script and reduce the load on the server. To implement this feature, more than thirty new tags for templates were introduced, which contain information from the user profile, including data from its additional fields. A complete list of new tags for these templates:
{profile-link} – Displays a link to the profile of the author of the publication
{foto} – Displays a link to the avatar of the author of the publication
{fullname} – Displays the full name of the author of the publication
[fullname] text [/ fullname] – Displays text enclosed in tags if the full name specified in the author’s profile
[not-fullname] text [/ not-fullname] – Displays text enclosed in tags if the full name was not specified in the author’s profile
{land} – Displays the author’s country
[land] text [/ land] – Displays text enclosed in tags if the country is specified in the author’s profile
[not-land] text [/ not-land] – Displays the text enclosed in tags if the country was not specified in the author’s profile
{signature} – Displays the author’s
signature [signature] text [/ signature] – Displays text enclosed in tags if the signature is specified in the author’s profile
[not-signature] text [/ not-signature] – Displays text enclosed in tags if the signature was not specified in the author’s profile
{user-info} – Displays information about the author of the publication
[user-info] text [/ user-info] – Displays the text enclosed in tags if information about himself is indicated in the author’s profile
[not- user-info] text [/ not-user-info] – Displays text enclosed in tags if information about yourself has not been specified in the author’s profile
[online] text [/ online]- Displays the text enclosed in tags if the author of the publication is online on the site
[offline] text [/ offline] – Displays the text enclosed in tags if the author of the publication is offline on the site
{mail} – Displays the user’s E-mail address
[pm] Text [/ pm] – Displays a link with the content “Text” for writing a personal message to the author of the publication
{group} – Displays the user’s group
{registration} – Displays the date of registration of the user
{lastdate} – Displays the date of the user’s last visit
{group-icon} – Displays the icon user groups
{time_limit}- Displays the date until which the user is in the group, if the group is temporary
[time_limit] text [/ time_limit] – Displays the text enclosed in tags if the user is in the temporary group
{comm-num} – Displays the number of user
comments {comments-url } – Displays the address of the link to the user’s comments
[comm-num] text [/ comm-num] – Displays the text enclosed in tags if the user has comments on the site
[not-comm-num] text [/ not-comm-num] – Displays text enclosed in tags if the user has no comments on the site
{news} – Displays the URL of the link to the user’s news
{rss}- Displays the address of the link to the RSS of the user’s
news {news-num} – Displays the number of news for the user
[news-num] text [/ news-num] – Displays the text enclosed in tags if the user has news on the site
[not-news-num] text [/ not-news-num] – Displays the text enclosed in tags if the user does not have news on the site
{all-pm} – Displays the total number of personal messages of the user
{favorite-count} – Displays the total number of publications in the user’s bookmarks
[profile_xfvalue_X] – Outputs the value of an additional field named “X” from its profile
[profile_xfgiven_X] text [/ profile_xfgiven_X]- Displays text enclosed in tags if an additional field named “X” is specified in his profile
[profile_xfnotgiven_X] text [/ profile_xfnotgiven_X] – Displays text enclosed in tags if an additional field named “X” is not specified in his profile
[author-group = X] text [/ author-group] – Displays the text enclosed in tags the author of the publication is in the specified group “X” users. Allowed enumeration of groups separated by commas, for example: 1,2,3
[not-author-group = X] text [/ not-author-group] – Displays the text enclosed in tags the author of the publication is not in the specified group “X” users. It is allowed to list groups separated by commas, for example: 1,2,3
- For templates for displaying comments (comments.tpl) added support for new tags of conditions for comparing values. For example, the tag [if field = “value”] text [/ if] will display the text enclosed in them if the field value is equal to the specified value. The names of the fields that field can take:
id – Unique ID number of the comment (number)
post_id – Unique ID number of the publication (number)
user_id – Unique ID number of the user who left the comment if he is registered (number)
date – Date of the comment (date in English format, for example “2020-09-01” or “10 September 2020” or “next Thursday” or “+1 day” or “next Thursday” or in unix format, if the equal sign is used, the news date is rounded up to the minute)
gast_name – Username of the author of the comment (text)
gast_email – Е -mail of the author of the comment (text)
ip – IP of the user who left the comment (text)
is_register- Is the author of the comment registered on the site or not (number 1 or 0)
rating – Overall rating of the comment (number)
vote_num – Number of votes in the rating of the comment (number)
name – Login of the author of the comment if he is registered. (text)
email – E-mail of the author of the comment if he is registered (text)
news_num – The number of publications of the author of the comment if he is registered (number)
comm_num – The number of comments of the author of the comment if he is registered (number)
user_group – Group of the author of the comment if he is registered (number )
lastdate- The date of the last visit of the author of the comment if he is registered (date in English format, for example “2020-09-01” or “10 September 2020” or “next Thursday” or “+1 day” or “next Thursday” or in unix format, if an equal sign is used, then the news date is rounded up to a minute)
reg_date – The date of registration of the author of the comment if he is registered (date in English format, for example “2020-09-01” or “10 September 2020” or “next Thursday” or “+1 day “or” next Thursday “or in unix format,if an equal sign is used, the news date is rounded to the nearest minute)
signature – Signature of the author of the comment if he is registered (text)
foto – Link to the avatar of the author of the comment if he is registered (text)
fullname- Full name of the author of the comment if it is registered (text)
land – Location of the author of the comment if it is registered (text)
xfield_x – The value of the additional publication field, where x is the name of the additional field. For example xfield_test is the value of the additional field test - Added support for a new type of caching using the Redis caching system . In the script settings, you can choose which caching to use: Files, Memcache or Redis. Also, if your Redis server requires a login and password for authorization, or just a password, then you can also set authorization data on the server for this. For this type of caching to work, your server must have the Redis server installed , as well as the php-redis interpreter extension for PHP .
- Changes have been made to the work of caching Memcache.These changes are intended to prevent possible problems with automatic clearing of the cache on high-load projects, when not much memory is allocated for the cache and information about cached keys could be reset to zero, as a result of which other cached data could persist longer than expected.
- For tags of conditions of comparison of values [if field = “value”] text [/ if] added support for using other template tags in them. For example, you can use the construction: [if autor = “{profile-login}”] Looks at the author of the publication [/ if] , which will display the specified text if the author is viewing the publication. Thus, you can make the design of templates more flexible.
- When adding and editing static pages in the admin panel, added the ability to switch to viewing these pages on the site, immediately after they are created or modified.
- For the tag [media = …] added support for more than 200 new services and sites . In fact, support has been added for all known sites and services that support the oEmbed protocol for data exchange for insertion into publications.
- Added support for the new {cloudstag} tag for the main.tpl templatewhich displays a keyword from the tag cloud when viewing a section of the site that shows posts for a specific keyword from the tag cloud. This innovation will be useful for webmasters who want to display the viewed keyword in a separate place, for example, using HTML h1 tags , etc.
- For the category menu display template (categorymenu.tpl) added the ability to display category descriptions in the menu. For this, support for new tags has been added: {description} – which displays the description of the category, [description] text [/ description] – which displays the text enclosed in them if a category description is specified, as well as reverse tags: [not-description] text [/ not -description]- which display the text enclosed in them if the category description was not specified.
- For the template for displaying the categories menu (categorymenu.tpl) added support for new tags: [not-parent] text [/ not-parent] which display the text enclosed in them, if the category is not a parent and does not contain a subcategory. In essence, this tag is the inverse of an already existing tag: [isparent] text [/ isparent] .
- For the template for displaying the categories menu (categorymenu.tpl), added support for new tags: [is-children] text [/ is-children] that display the text enclosed in them if the category is a subcategory of another category, and also added support for back tags :[not-children] text [/ not-children] which display the text enclosed in them, if the category is not a subcategory of another category.
- For an additional field with the type: “Switch ‘Yes’ or ‘No'” , its filling on the site has been changed, instead of the HTML select tag, the use of the input (checkbox) tag has been added. Thus, filling in the field on the site has been brought in line with filling it in the admin panel.
- For additional fields with the property “use as cross-references” added the ability to use the slash symbol “/” in their values.
- For the tag of custom display of comments {customcomments ….} added a new parameter newsid = “1,3,5-15″where you can list the IDs of the publications from which you want to select comments. Also, this parameter can include template tags of other templates, for example, if you place the {customcomments newsid = “{news-id}” order = “rating”} tag in the full news template, it will show comments from this publication sorted by rating.
- For the tag of custom display of comments {customcomments ….} a new parameter newsidexclude = “1,3,5-15” has been added where you can list the IDs of the publications to be excluded when displaying comments. For example, using the {customcomments newsidexclude = “3-10”} tag will display comments from all publications, except for publications with IDs from 3 to 10.
- Added new parameter subcat = “yes” for the tag of custom news display {custom ….} . This parameter can be used in conjunction with the parameters category = “list” or categoryexclude = “list” . This parameter specifies whether the selection should also include publications that are in subcategories or not. This parameter can take the following values: subcat = “yes” which indicates that you also need to select all publications located in the subcategories of the specified category, as well as the value subcat = “only”which indicates that you want to select publications only from subcategories, without considering the specified category. For example, you have categories on your site with IDs 1, 2 and 3. Categories 2 and 3 are subcategories of the first. Using the {custom category = “1” subcat = “yes”} tag will select all news from categories 1, 2 and 3. And using the {custom category = “1” subcat = “only”} tag will select all publications only from categories 2 and 3. Thus, you can flexibly specify the required selection parameters, without listing all categories in the tag, and publications will be automatically shown when new subcategories are added to the admin panel, without the need to edit templates.
- For keywords from the tag cloud addedthe ability to use the slash “/” in their values.
- Due to the fact that the Instagram service has come under the control of Facebook , which, in turn, in order to embed its content on the site, requires an application registered on the service to receive data, then to insert posts from Instagram into the news using the tag [media = …] now the DLE uses the data of the application specified in the script settings for authorization via the social network Facebook. At the same time, in the settings of the application itself on the Facebook website, you need to give access to receiving content through oEmbed. After that, the insert from Instagram and Facebook using the [media = …] tag will be available. You can read more about how to add these rights to your application in the documentation https://developers.facebook.com/docs/plugins/oembed
- In the script settings added the ability to enable or disable setting the NOREFERRER parameter for all external links that are published in the news. If you have enabled this setting, then for all external links that are published in the news, the NOREFERRER parameter will be set, which will prohibit browsers from transmitting information to external sites about where the user came from.
- In the script settings added the ability to enable or disable setting the NOREFERRER parameter for all external links that are published in the comments. If you have enabled this setting, then for all external links that are published in the comments, the NOREFERRER parameter will be set, which will prohibit browsers from transmitting information to external sites about where the user came from.
- When downloading files with webm and m3u8 extensions, they are automatically recognized as video files and, accordingly, they can be inserted into the news automatically to play them on the site using a video player.
- For publications, added support for sending the header “304 Not Modified” , in case of sending a corresponding request from search engines to the server. If the publication has not been edited for the specified period, then DLE will simply send a short corresponding HTTP code 304. This will reduce the traffic consumption on the server, and somewhat reduce the load on the server.
- For personal messages on the site added more informative error output , if any. For example, if a user simply enters the section of personal messages and is not authorized on the site, he will be instructed to do so and will be asked to log in to the site or register. And if he tries to read it using the link from the notification letter about a new personal message, but is no longer authorized on the site, he will be prompted to log in to the site to read this message.
- Added the ability to view site rules immediately after editing them in the administrative control panel.
- The jQuery library has been updated to the current line 3.6.x when used if the use of jQuery 3 on the site is enabled in the script settings in the admin panel.
- For the visual editor Froala added the ability to quickly insert some objects, for example, tables, lists of images and videos.
- Added the ability to insert widgets from apple music to play music on the site using iframe tags . And also for HTML iframe tags added the ability to set access policy using the allow attribute .
- Added the ability to use single quotation marks (‘), as well as ampersand (&) characters in the word filter. Thus, you can use words such as Joan of Arc and others similar.
- Added customization support:”Allow search engines to index links published in comments” for visual WYSIWYG editors used on the site. Previously, this setting was effective only when using the editor in BBCODES comments and links published only using BB tags.
- For notes published in plugins, the correct display of the source code published by the BB [cod] … [/ cod] tags has been added, as well as the highlighting of the source code and its tags for a better visual perception of the text.
- Due to the change in the YouTube service algorithms for the Oembed protocol, and by default it began to give the video code of small sizes. Changes have been made to the [media = …] tag , and now when inserting a video from this service, the settings of the DLE video player are used, and the DLE height is calculated automatically. Thus, the video insertion is carried out in the correct size, and corresponding to other videos on the site, posted using the DLE player.
- From meta tags of site pages, such as title, description, keywords and others , characters such as square brackets and curly braces are no longer removed, but are correctly translated into HTML entities for their correct display by the browser.
- Changes have been made to the logic of displaying uploaded imagesto publications. Previously, the list displayed only those images that were uploaded to the server via the DLE script, and were also physically present on the server. Now, if the image was physically removed from the server for some reason, bypassing the DLE script, then a special stub will be shown instead of the image, which indicates that the image has been removed from the server. This innovation will be useful if limits on the number of images for the news were introduced for users, and in the absence of an image, it could be removed from the link to publications, and as a result, the limit on the number will be correctly observed.
- DLE video player has been updated to the current version. A number of errors in the display of the player on different devices and browsers have been fixed.
- The parser of the incoming HTML code for publications has been updated to the current version. Support for a number of new HTML attribute parameters has been added to support HTML5.
- Changes have been made to the comment citation system. In the case of citing a comment containing hidden text, and the user who quotes the comment has access to view it, then when citing this text of the comment, the hidden text will also be included in the quoted context, including tags for hiding the text. And if the user does not have access to view the hidden text, then he will also be excluded from the quote. Previously, text was excluded from quotation, regardless of whether the user has access to view the hidden text or not.
- Added additional check for erroneous actionsthe site administrator, when editing the rights of user groups in the control panel, for example, earlier, when setting rights to categories, the administrator could randomly select access to all categories at the same time, and restrict to some, which could lead to incorrect operation of some functions of the DataLife Engine.
- Added support for “$” characters in usernames and passwords in the connection data to the MySQL server database.
- Added support for PHP 8.xx line
- Updated mail sending library to the current version. For more advanced support for various SMTP servers and services.
- Updated library of mobile devices recognition to the current version. For more advanced support for various wearable devices and, as a result, more accurate work of template tags that use these capabilities.
- Changes have been made to the algorithm for forming canonical links , if the site is accessible via two protocols HTTP and HTTPS. If the user logs in via the HTTPS protocol or the forced use of always HTTPS is enabled in the settings, then the canonical link will also always be generated using the HTTPS protocol, regardless of which protocol is specified in the script settings for the site address, or if it is not specified at all.
- Improved the formation of the og: description meta tag of the Open Graph protocol when watching full news. Now, when forming this tag, if additional publication fields are used, then only text fields are taken into account, such as: one line or several lines, and other fields, such as images or files, are excluded.
- The formation of the og: image meta tag of the Open Graph protocol has been improved when viewing full news. Now, when forming this tag, if the text of the short and full description does not have pictures, then this picture will be taken from an additional field with the type of image or gallery of images.
- Added consideration of the last date of the comment , located on the full news page, when sending the Last-Modified HTTP header for a more correct return to the browser of information about when the page was changed.
- Fixed a problem where links to publications in the administration panel and in the site map were formed incorrectly if they are in categories that were subsequently disabled in the category settings.
- Fixed a problem where the highlighting of active pages in page navigation in the admin panel could work incorrectly in some cases.
- Fixed a problem when some personal messages could be displayed incorrectly in the preview in the script control panel.
- Fixed a problem when in some cases after editing static pages, the transition to the list of publications, and not to the list of static pages could be carried out.
- Fixed problem in which it was impossible to remove the user from the ignore list, as well as remove linked social networks if the user uses the Firefox browser.
- Fixed a problem where tags for displaying category icons in templates for displaying short and full news were incorrectly processed, if categories were assigned to other template files other than standard ones (shortstory.tpl and fullstory.tpl).
- Fixed a problem where the [if ..] … [/ if] tags did not work if the field value contained uppercase characters.
- Fixed problem in which the [if ..] … [/ if] tags did not work if the value of the field contained several different values, for example, news in several categories, and the check was checked by a negative value with a combination of conditions. For example, there was an incorrect comparison of the condition [if category! = “1” AND category! = “2”] not 1 and not 2 [/ if] if the news was published in several categories, and not only in one category.
- Fixed a problem where the tags [not-ios] … [/ not-ios] and [not-android] … [/ not-android] if their back tags were missing in the template.
- Fixed a problem with incorrectly saved categories when importing publications from RSS feeds to the site.
- Fixed problem in which the canonical link was incorrectly formed on the pages for viewing publications containing certain additional fields, if the CNC was enabled, and the user followed the link with the disabled CNC. This action could be if the site settings were changed, and the site was indexed by search engines.
- Minor errors in the script detected and announced earlier have been fixed.