About the Engine

Engine general information

Navigation: General Information >

Engine general information

DataLife Engine v.15.0 - is a multi-user news engine with a high functionality. First of all, the engine is designed to create news blogs and websites with a large information context. However, it has a lot of settings that allow you to use it for any purpose. The engine can be integrated into almost any existing design and it has no limatations for making new templates for it. Another key feature of DataLife Engine - is a low load on system resources. Server load will be minimal even when many users will be online, and you will not experience any problems with the information displaying. The engine is optimized for search engines to provide the arrival of new users. Advanced AJAX technology allows you save your and visitors' traffic, but also reduces the load on the server.


General Features

Navigation: General Information >

General Features

DataLife Engine has the following features:

General Features:

Uses MySQL to store data

Minimal database load

Uses AJAX advanced technology

Displays news, articles and anything you want

Supports user friendly URL that allows to use the article title and any other text in the web browser URL bar. Thanks to that, indexation in search engines will be better (modrewrite required)

You can disable user friendly URL

General website statistics

Additional fields support (allows to use not only brief and complete news articles, but also to create any number of additional fields of various kinds to input the information)

You can write articles with several pages

Flood control

Automatic words filter in comments

Categories support

You can create any number of nested categories

Each category can have a separate template

Automatic cutting of long words in comments

Articles rating

Calendar

Search in articles including additional fields (highlighting the found text)

View unread news since last visit

Article news counter allows to see how many times the article has been red

You can add an article to Favorites

Sending messages to users through a form on the website

Displaying pages using gzip compression method

Support of user personal messages

Support for multiple languages

Popular articles displaying in a separate block

You can create statistics pages directly through Administration Panel

You can choose between simplified and advanced registration. Advanced registration requires the account to be activated to complete the registration. User gets the activation notice via e-mail

You can upload and attach files to the article

Built-in protection from unauthorized files downloading (antileech)

RSS news import

RSS informers

Multilingual support of news on website

Tag Cloud support

Automatic smartphone support

User can:

Register on a website

Add comments

Edit and delete own comments

Add news

Moderate news

Upload profile picture

Recover password

Edit news on the website

Change website skin

Add news to Favorites and quick access to them

View and add videos on the website

Upload large amount of images and files in one click

Statistics is carried out on each user (including rating and profile)

Different information can be shown to registered users and unregistered users.

Bulk image uploading is supported

Personalized advertisements displaying for a specified groups is supported

"One-click" complaint system on errors, news, comments, personal messages

Administrator can:

Add, edit and delete news

Use fully customizable Administration Panel for different user groups

Use two editors (BBCODES or WYSIWYG)

Use Anti-Virus which scans the file status for a hacking possibilities

Edit users

Use emoticons and HTML code

Create user groups with fine-tuning of different access rights

Ban users

Use tools to create and edit templates directly in the Administration Panel

Adjust time

Adjust publication date

Publish the article automatically at a specified time

Turn off calendar and archives (to save resources)

Fix news (to be always on top, regardless of the date)

Disable visitor registration

Overlay watermark on images

Upload images for each news article (when removing news, pictures will also be removed)

Use convenient uploaded images manager

Search users by IP address

Convenient management of advertising materials

Quick search and replace the database entry

Publish "rules" on the website

Create a sitemap for Google

Create filters for words and meanings autosubstitution

Automatic temporary suspension of registration when the maximum number of registered users is reached

Automatic reduction of uploaded images to the specified size keeping the aspect ratio

Users who have not visited the website for a specified time are removed automatically

Optimization, repair, backup and restoration of the database can be made directly from the script

And many other useful features...


List of changes

Navigation: General Information >

List of changes

List of changes of 14.3 version:

qWe have added a completely new system for managing files and images uploaded to the server. As a result, external storages for images and files uploaded to the website are now supported. You can specify where to store the uploaded files in the script settings on the admin panel. You can store the files locally on your server, or choose an external FTP or SFTP server. You can also select cloud services like Amazon S3 or Yandex.Cloud. The new system for storing and managing uploaded files is based on the Flysystem 2.0 unified file system. This enables you to avoid any troubles when employing a custom external storage of your choice, because now you can rely upon the plugin system and do not need to customize a lot of DataLife Engine files. Upon adding a new adapter, DataLife Engine will be able to use it automatically when needed.

qWe have completely redesigned the upload manager for images and files meant for publications. The new manager makes it easier to view uploaded images, their size in preview has been increased, and it has become easier to select uploaded files. It has become much easier to remove a required file or image. Reopening the manager is carried out instantly, because now it is rendered on the page only once and then keeps its state in the background so that all further actions are performed using AJAX technology. The options you select for uploading images will persist for as long as you work with a publication and will not be reset every time you open the image upload manager.

qThe image upload manager has been provided with a capability to preview full-size images directly in the upload manager.

qThe shared folder previously used by the upload manager for locating images meant for publication has been moved to a separate folder named "shared" and located in /uploads/. As a result, shared images are now located in a separate folder. In addition, in this shared folder, you can create your own subfolders with any nesting level. You can also switch to these subfolders and insert images into publications directly in the upload manager. This way you can easily create and organize your library of shared images.

qIn the admin panel section enabling you to manage uploaded images, we have provided a capability to choose the storage that you wish to manage. Depending on your requirements, you can upload images to a local or external storage.

qIn the admin panel section enabling you to manage uploaded images, we have provided a capability to create and remove folders and their nested subfolders. As a result, you can manage your images directly on the DataLife Engine admin panel without having to access your file storage via FTP or by other means.

qIn the admin panel section enabling you to customize the script settings, we have provided a capability to enable or disable the external storage option for uploading images meant for publications. As a result, you can distribute the uploaded images meant for a particular content type among different storage locations. With this option enabled, you do not need to save all the images meant for publications to an external storage.

qIn the admin panel section enabling you to customize the script settings, we have provided a capability to enable or disable the external storage option for uploading images meant for comments. As a result, you can enable the external storage option for uploading images meant for news and disable it for images meant for comments. With this option enabled, you do not need to save all the images meant for comments to an external storage.

qIn the admin panel section enabling you to customize the script settings, we have provided a capability to enable or disable the external storage option for uploading images meant for static pages. As a result, you can enable the external storage option for uploading images meant for news and disable it for images meant for static pages. With this option enabled, you do not need to save all the images meant for static pages to an external storage.

qIn the admin panel section enabling you to customize the script settings, we have provided a capability to enable or disable the external storage option for uploading files meant for downloading. As a result, you can enable the external storage option for uploading images and disable it for other files. With this option enabled, you do not need to save all the files meant for downloading to an external storage.

qIn the admin panel section enabling you to customize the script settings, we have provided a capability to enable or disable the external storage option for uploading user avatars. As a result, you can enable the external storage option for uploading images and disable it for user avatars (or the other way around).

qWe have added automatic detection of MIME file types (for all file types) upon downloading files uploaded to the server via DataLife Engine. This ensures correct downloading and opening of various files on different types of devices, and, as a result, the correct behavior of devices with the file types they support.

qWe have added support for the PHP Imagick library for processing images uploaded to the server. In the admin panel section enabling you to customize the script settings, you can choose whether you wish to use Imagick or GD2; alternatively, you can allow DataLife Engine to choose the library automatically. In general, there are not many differences between GD2 and Imagick. However, Imagick performs some operations with images faster and creates image thumbnails of a better quality, as well as consumes less memory when processing large images.

qWe have added a capability to automatically convert all images uploaded to the server into the WebP format. You can enable or disable this feature in the admin panel section enabling you to customize the script settings. When this option is enabled, all images uploaded to the server, regardless of their format or extension, will be automatically converted into the WebP image format. This format is more advanced and allows you to create higher quality images of a smaller size. However, displaying images in this format requires that a user has a modern browser.

qWe have added a capability to load images in the BMP format. Upon loading images of this type, they will be automatically converted to the JPG format to reduce the file size and speed up the loading of site pages.

qWe have provided automatic file extension correction for image files uploaded to the server if their specified extension does not match their format. For example, if an image actually supports the PNG format but the image file features the JPG extension, the uploaded file name will be automatically changed by specifying the appropriate PNG extension, and a similar logic applies to all other formats.

qUpon uploading images to the server using the TinyPNG service for image processing, the number of requests to the service has been significantly reduced as well as reliance on its API. As a result, when the number of processed images is limited, you can process more images using the service.

qWe have added a capability to process images in the WebP format using the TinyPNG service. As a result, you can also compress these images as much as possible without reducing their quality.

qWe have added correct handling of possible errors that might occur when users upload avatars for their profiles on the website and the uploaded images feature invalid format or content. For example, if a file content is not recognized as an image, the user will only be notified about an incorrect format of the uploaded avatar instead of throwing a system error due to an incorrect action followed by an emergency shutdown of the website.

qThe "Watermark overlay area" option in the admin panel section enabling you to customize the script settings has been provided with an additional setting that allows you to locate a watermark at the center of an image.

qA new option has been added to the script settings enabling you to specify the watermark type. You can either choose an image from a template, as was the case in the earlier versions, or apply a text watermark based on text specified in the script settings. Among other settings in this section, you can specify the required text, as well as the font size and color. In this case, the text specified in the settings will be used as a watermark, and you no longer need to create unnecessary watermark images.

qThe script settings have been extended by providing a capability to specify the rotation angle for a watermark applied to an image. The rotation angle is applied both to the image watermark and the text, if its display is enabled.

qThe script settings have been extended by providing a capability to specify the transparency degree for a watermark applied to an image. The transparency degree is applied both to the image watermark and the text, if its display is enabled.

qRAM consumption during processing images uploaded to the server has been significantly reduced.

qWe have added support for deferred images located in hidden text spoilers in publications. As a result, when loading deferred images is enabled, the image content is displayed correctly upon showing a spoiler.

qWe have changed the algorithms for uploading images to the server. Upon uploading any images to the server, a UNIX prefix bearing a timestamp is no longer added to an image name and original names are preserved in all cases, except for transliteration which is applied only to Cyrillic names. However, if an image with a specified name already exists on the server, a timestamp is added to the name of the newly uploaded image to avoid overwriting the existing file. As a result, DataLife Engine will preserve original names of uploaded images as long as this is possible and will automatically add the necessary prefix only if duplicate names occur.

qWe have introduced automatic removal of a previous user avatar from the server after the user specifies a new avatar with a different image format. This enables saving space on the server.

qWe have provided a capability to display the complete data from a user profile upon viewing results of a search performed across site publications. The same template tags are used for the display as for the output of publications in a short and full format.

qWe have added a capability to display advertising materials to be shown between news displayed in a short format upon viewing results of a search performed across site publications.

qTemplates used for displaying news in a short and full format (shortstory.tpl and fullstory.tpl) now support the following tags: [has-category] text [/has-category]. Text enclosed within these tags will be displayed if the publication belongs to any of specified categories. We have also added support for tags working in the opposite way: [not-has-category] text [/not-has-category]. Text enclosed within these tags will be displayed if the publication does not belong to any category. This enables flexible customization of the template appearance both for publications that have been assigned categories, and for publications not belonging to any category.

qWe have added an automatic check performed upon removing a publication from the site and a subsequent removal of images uploaded for this publication to find out whether these images are used in other publications, in which case they are not removed from the server.

qThe load on the server upon viewing short publications on the website has been significantly reduced. At present, upon viewing short publications, regardless of the website section to which they belong, the total number of pages in a corresponding section is calculated only once, after which the information about the number of pages in this section is cached, so that upon visiting other pages or repeated visits, this information is retrieved from the cache and not from the database for each page as before. This way the number of requests made to the MySQL database is significantly reduced.

qThe load on the server upon viewing last comments on the website has been significantly reduced. At present, the total number of pages featuring comments is calculated only once, after which the information about the number of pages in a corresponding section is cached, so that upon visiting other pages via standard navigation routes or repeated visits to the same page, the information is retrieved from the cache and not from the database for each page as before. This way the number of requests made to the MySQL database is significantly reduced.

qWe have managed to reduce the load on the server upon viewing website pages featuring no content while viewing short publications. In this scenario, some unnecessary requests to the MySQL server will be avoided.

qFor the TinyMCE visual editor, we have introduced automatic creation of an image thumbnail upon loading the image in the editor using drag and drop operation. Following this, both the image and a code for enlarging it will be displayed in the editor if script settings indicate that thumbnails should be created for such images.

qIn the admin panel section enabling you to view and edit user information, we have provided shortcuts for sending a personal message to a user and viewing all publications and comments belonging to a particular user. At present, upon viewing a user profile, you can quickly perform the aforementioned actions without having to switch to other website sections.

qChanges have been made to the "Share interesting content" feature implementation. At present, to enable users to share text from a particular item, you should specify a class named "share-content" for this item. To exclude any part of this item content, use the "ignore-select" class. This way for any item on the website you can specify which part of its content users can share upon highlighting a text. You can specify multiple items for which content sharing is allowed. When using this feature with regard to viewing short publications, we recommend that you assign to items a unique ID derived from the news ID: for example, by adding id="news-{news-id}" to a template. This will enable you to properly maintain how the publications moves down the line as new ones are added.

qThe following option has been removed from the script settings: "Allow users to share interesting content". This option is now enabled and disabled automatically if the "share-content" CSS class is specified in the item template.

qChanges have been made to the website main page operation affecting the scenario when a static page or a publication using the {custom ...} tag is assigned to display content on this page. Previously, a website main page could be specified in this way only if its URL displayed in the browser did not contain any parameters. With the new version, the parameters that are not related to DLE will be ignored and the assigned content will be displayed correctly even if the URL contains extraneous parameters. As a result, upon navigating to your website following various advertising campaigns or opening it with additional markers added to its URL indicating advertising campaigns, its content will be displayed correctly without returning a 404 error. For example, this will be the case for visits via Yandex.Direct or other similar services. In addition, to prevent duplicate pages from appearing, search engines employ the system of canonical links inserted in the code of your website pages.

qThe display of publications using the {content} tag and the script logic have been changed so that the additional tag <div id="dle-content"> ... </div> is no longer displayed or used for wrapping external content. This enables easier integration of templates with some HTML frameworks. If you your layout depends on this tag, you should make changes to the CSS layout of your template.

qIn the admin panel section enabling you to edit templates, we have introduced highlighting of the edited template file in the file list. This makes the edited file appear more distinctly and enables an easier navigation through the list of template files.

qWe have ensured the correct removal of special characters from a plugin name upon specifying the name for a created plugin before saving it to your computer. This ensures a more accurate and efficient transliteration of plugin names.

qFor mass assignment of the current date to publications, the publication editing section has been extended to include a one second offset interval for the date assigned to each previous news item. As a result, consecutive news items are indexed correctly when displayed on the website.

qIn the image management section of the admin panel, we have added an automatic overwriting protection system for uploaded images meant for publication. If an image is already present on the server, the user will be informed about this and prompted to change the name of the uploaded image.

qChanges have been made to the behavior of the "Minimum image size for upload" setting. At present, this setting affects only the uploaded images meant for website publications. It no longer affects uploaded avatars and the image management module on the admin panel.

qWe have improved background loading of JS scripts for some of the website operation scenarios. At present, if these JS scripts have already been cached by the browser, it will use the scripts from the cache instead of repeatedly downloading them from the server.

qWe have updated the TinyMCE visual editor to the current version. This version features new and improved tools for working with tables along with a number of bug fixes. Support for browser context menu has also been added.

qWe have updated the HTML Purifier incoming data parser in the DataLife Engine to the current version. Some new HTML attributes have been supported for text publications.

qThe PHPMailer library included in the DataLife Engine for sending e-mails from website has been updated to the current version.

qMinimum PHP requirements have been raised to support all new features. PHP 7.2 or higher is now required for correct operation.

qWe have fixed a bug which, upon displaying news in the full format, caused incorrect turnover of advertising materials specified in the admin panel.

qWe have fixed a bug due to which debug information was not returned by the GzipOut function when using PHP 8.xx.

qWe have fixed a bug due to which a MySQL error could occur in some cases when executing cron jobs.

qWe have also fixed some minor script issues detected and reported earlier.

List of changes of 14.2 version:

qThe DataLife Engine installer has been completely redesigned. It is made simpler and more versatile. When installing, you can now choose which language the installation will take place in, as well as which language will be the main language for the site. Depending on the selected language, the corresponding templates will be installed, in the selected language, and the corresponding entries will be made in the database. The entire installation also takes place using AJAX technology in fully automatic mode.

q For language packs located in the /language / folder, the ability to specify additional information about the language has been added, which can later be used when displaying a list of languages. For example, the output of the name in the national language, for a more convenient perception of the desired language by a person. Not just the name of the folder where the language pack is located.

qFor templates located in the /templates / folder, the ability to specify additional information about the template has been added, which can later be used when displaying a list of templates. For example, the output of the template name, in the list of templates on the site, for a more convenient perception of the desired template name. And not just the name of the folder where the template is located.

qAdded Ukrainian localization of the Datalife Engine script. The Ukrainian language is now also included in the standard distribution, and will be supported in the future when updating.

qAdded the ability to change the language of the DataLife Engine control panel on the fly, being on any page in the control panel, without the need to log out, and re-enter the control panel. The user of the admin panel can choose any of the languages available in the system.

qAdded the ability to set the order of categories for publications, if the news is allowed to add a publication to several categories. The order of the categories will be set in the order in which they were selected by the user when adding or editing the publication, and not in the order in which they are sorted in the admin panel. For example, if the first category in the list is "In the World", and the second is "Sports", and the user first selected "Sports" and only then "In the world", then their sorting and output from the news will also be observed in this order.

qAdded the ability to view a thumbnail image inserted in a comment immediately after adding a comment, without having to reload the page. If a comment was added that contains a smaller copy of the original image, then viewing the enlarged copy will be available by clicking, immediately after the comment appears on the page.

qAdded the ability to view the original image from a smaller copy of the images for comments, if AJAX navigation or dynamic loading of comments is enabled on the site.

qAdded support for sending the Last-Modified HTTP header for all pages of the site that display short publications, not just full news as previously. In this case, the date of addition or editing is recorded for all publications placed on the page, and the correct date of the last added or edited publication on the page is given.

qFor all pages of the site that display short publications, added support for the return of the HTTP header "304 Not Modified", in case of sending a corresponding request from search engines to the server. This takes into account the dates of adding or editing all publications published on the page, both using the {content} tag and the {custom} tags. This will reduce the consumption of traffic on the server, and significantly speed up the indexing and reindexing of the site by search engines.

qAdded support for displaying advertising materials that are set in the ad management section in the admin panel for templates and publications that are output using the custom output tag {custom ...}. Now you can use the banner tags set in the admin panel in the templates that you assign when displaying publications.

qFor custom output of publications {custom ...} added support for the new banners="yes" parameter, which enables or disables the output of advertising materials that are assigned for output between publications. This parameter can take two values: "yes" to enable output, and "no" to disable output. By default, if this parameter is not included in tags, the display of advertising materials between publications will be disabled.

qThe logic and principles of creating a description meta tag for site pages that displaying short publications have been completely redesigned. Now the description specified in the script settings is used only for the main page of your site, and the description specified in the category parameters is used only for the first page of the category, for all other pages, this meta tag is generated automatically, based on the content of publications that are displayed on this page. Thus, all pages have their own unique description meta tag, which will positively affect the SEO optimization of your site.

qFor the Memcache caching system, a new system for finding keys stored in the cache has been added, which leads to more correct clearing of cache elements and updating the content on the page. This is especially true for loaded projects

qIn the script settings, you can now choose how the form of responses to comments should be displayed, if support for tree comments is enabled. There are three options to choose from: "After comment without editor", "After comment with editor", "In pop-up window".

qThe module "Share interesting materials" has been fully integrated into the DataLife Engine language system and uses language script files to generate information. Thus, when using other languages, switching will be automatic and does not require editing files. Also in this module, checksums are checked for changes to the content, and if it is changed, the text will not be highlighted if the checksum does not match, so that the text that the site user shared with is not highlighted.

qUpdated to the current version of the system for highlighting the source code published in the [cоde] tags ... [/cоde] up to date. In addition, it has been significantly redesigned for better and better automatic recognition of the language of the published code. And also added support for a large number of languages, and various configurations. Now high-quality highlighting is provided not only for HTML or JS, but also for other languages and codes.

qRedesigned and improved the system for displaying the addition of publications to bookmarks and deleting them, as well as displaying information about whether the news is in bookmarks or not. Now, regardless of whether caching is enabled or disabled on the site, a site visitor will always see up-to-date information when viewing short news, whether his publication is in bookmarks or not, even if caching is enabled. At the same time, the caching functions are not lost in any way and are used.

qFor typographic text processing in editors, the ability to exclude the processing of published content in the BB tags of the source code [cоde] has been added ... [/cоde], as well as in the corresponding HTML tags that are used to publish the source code.

qThe TinyMCE editor has been updated to the current 5.7.x line, and it has also been significantly redesigned for a more comfortable experience. This editor was assigned by default when installing DataLife Engine on the server.

qFor the TinyMCE editor, the ability to upload images to the server is added by simply transferring image files using the "Drag and Drop" method to the editor, as well as uploading images to the server from the browser's clipboard.

qFor the editor TinyMCE added protection against possible accidental data loss when writing publications. For example, if when writing a post and not saving it, you accidentally click on a link that leads to the user leaving the page, then you will receive a warning that the data may be lost and you will need to additionally confirm the action. Also, if the browser freezes or the user leaves the page anyway, the editor can restore the last content saved in the local storage. Auto-save occurs every 20 seconds, and the data for recovery is stored for 10 minutes.

qAdded the ability to edit uploaded or inserted images for the TinyMCE editor. The editing functions contain features such as resizing, changing orientation, mirroring, changing brightness and contrast, etc. The modified image in the editor will be automatically uploaded to the server.

qFor the TinyMCE editor, the ability to control the visual design of the editor's content through templates, when writing a post or comments, has been added. To do this, just place the editor.css file with the design styles you need in the root of your template. This innovation will be useful to ensure that the text that users write is as close as possible to the design of the content that is used in the template. The placement of this file in the template is optional, if it is not available, the standard content design will be used.

qFor the editors TinyMCE and Froala, used on the site for comments, the system for quoting the text of other users comments highlighted on the site has been redesigned and improved. Visual quotes are now used instead of BBCODES tags, and line breaks are added if they are present in the selected text.

qChanges have been made to the system for uploading images to the server using the DataLife Engine. If the name does not contain a temporary download prefix, it will be added to the name, and if the name already contains this prefix, it will not be added additionally. Temporary prefixes are added to the name to avoid duplicating the names of uploaded files to the server, and thus protect other images that were previously uploaded with the same name to the server from being overwritten. This innovation will be useful in the case of copying images from other sites to DLE or using a similar name tagging system, as it allows you to avoid multiple duplication of the prefix in the image name when copying.

qFor static page templates (static.tpl), support for new tags has been added: {full-link} which outputs the URL for this static page, and {print-link} which outputs the URL of the printable version for this page. These tags will be useful when you need your own design for links on a page, or their special output, for example, for displaying a QR code for mobile devices, etc.

qSignificantly improved the work of the crown on the site. If the crown needs to perform any heavy operations, such as multiple deletion of a large number of users, and the server resources do not allow you to perform everything at once, according to some limits, then the crown will be performed every two minutes until all the necessary actions are performed.

qRedesigned and improved the AJAX system for adding comments on the site. If the script settings include the merging of comments on the site, and the user adds another comment in addition to his own, then the page will be updated and supplemented with the text of his previous comment. And if the association is disabled, its additional comments will be added sequentially one after another and will all be visible immediately without reloading the page.

qSignificantly redesigned and improved the AJAX response system for comments if tree comments are enabled. The changes have improved the positioning of the added responses, as well as the formation of the DOM structure of elements that no longer use intermediate layers and elements, which allows you to better adapt to the layout of the template.

qFor micro-markup of the rating of publications, the use of the fractional value of the parameter itemprop="ratingValue" has been added, now in this value, instead of an integer value, for example, 4, a more accurate value will be used, for example, 4.3. This will allow search engines to display a more accurate rating scale in the search results.

qChanges have been made to the system for automatically deleting users if they have not visited the site at the time specified in the settings. If automatic user deletion is enabled in the site settings, users will be deleted from all groups, except for the administrators group. Previously, the deletion was only performed from the standard "Visitors" group, and other groups were not affected.

qImproved synchronization of the post view counter cache data with the data displayed on the site, preventing uncontrolled accumulation of data in the table, on high-loaded and visited sites.

qImproved the system of mass mailing of emails in the script control panel in the module "Sending messages". Redesigned the system for handling possible errors when sending emails. If your server did not respond correctly, or any errors or restrictions occurred, then all server responses will be processed correctly. The administrator will receive a detailed response from the server, and will also be given the opportunity to continue sending messages without reloading the page. There are no possible hangups of sending messages without explaining the reasons for mass mailing.

qRedesigned and improved the site search system, if the search is conducted by keywords containing special characters. For example, quotation marks and other characters. The search, according to these words, is now more correct and relevant.

qOptimized the display of some control panel elements on mobile devices. Fixed the detected shortcomings in the display of some elements of the control panel pages.

qThe DLE video player has been updated to the actual version, a number of optimizations and bug fixes have been made, and in the case of using videos with adaptive bitrate on the site, the size of the downloaded player code has been significantly reduced, which speeds up the loading of pages where this video is located.

qImproved the formation of the Open Graph protocol's og:description meta tag when viewing full news. Now, when forming this tag, if there are text links in the text, without generating the code, they are also deleted and not used. For example, if the text contains a link https://site.ru, then it is deleted. This innovation allows you not to participate in the formation of the description of the link, which is simply published in the text additional and other fields. Which makes the description more correct and correct.

qImproved the system for sending E-mail messages from the site, as well as prevented the possible emergency termination of sending letters if the mailing address of any recipient of the letter is incorrect.

qImproved DataLife Engine automatic update system. If the automatic update failed due to an unexpected server error, the administrator will be shown full information about the error that the server returned, as well as the response that came from the server, and not just a notification that an error occurred. This information will help the site administrator to eliminate the causes of the problem.

qUpdated the PHPMailer library for sending emails from the site to the actual version.

qChanges have been made to the system for displaying advertising materials assigned to display "between short news". Now they will always be displayed exactly between the short news, regardless of the number of news items on the page, and will never be displayed before or after the news.

qChanges have been made to the system of working with template tags [if ..] [/if], in the event that if a shortened output of any information is used, then the search for the specified parameters in these tags will still be carried out by the full value. For example, when displaying abbreviated information on a site with the tag {short-story limit= "200"}, then using [if short_story~ "text"] ... [/if], the search will be performed on the entire short description, and not only on the first 200 characters.

qDropped support for PHP line 5. xx. Development and support for PHP 5 was dropped by PHP developers several years ago. We did not make any irreversible and unsupported code changes that would not work on the PHP 5 line, however, this line is no longer supported. DLE testing is not performed on it. The minimum required PHP version is 7.0 or higher.

qSupport for the extended authorization method in the DataLife Engine control panel has been dropped. This method was introduced in DLE version 5.3 and is inherently obsolete. He did not add any additional protection in the current conditions and realities relative to the usual method of protection implemented in the DLE of current versions, and used the same basic password for HTTP authorization. Users who still want to add additional protection to their admin panel can continue to use HTTP authorization, only for this you need to place your file separately .htpasswd and write a path to it in. htaccess. And thus make the authorization independent of the DLE and with an additional password of your own.

qFixed an issue where the autofill system did not work for additional fields that have the "cross-references" type, for words that contain some special characters, such as the ampersand character "&" and a number of others.

qFixed an issue where the autofill system for the tag cloud did not work if words were used that contained some special characters, such as the ampersand character "&" and a number of others.

qFixed an issue where some characters could be displayed incorrectly when quoting comments containing source code insertion tags using the BBCODES editor.

qFixed an issue where the "IP Utilities" section in the admin panel did not work correctly when using PHP line 8. xx

qFixed an issue where the display of advertising materials with the "between publications" option did not work when using PHP ruler 8. xx

qFixed an issue where some tags in the comments output template (comments.tpl) worked incorrectly.

qFixed an issue where the cache for RSS feeds from the site was not used and was not used.

qFixed an issue where category selection didn't work when using the DLE API in third-party modules on MySQL 8. xx

qFixed an issue where additional fields of the "cross-references" type were duplicated when mass removal from moderation of publications that were no longer under moderation, but were previously published.

qFixed an issue where the output of additional fields of publications did not work while enabling 3 types of NC and displaying full information from the user profile.

qFixed an issue where in the comments editing section in the admin panel, the search keyword was reset when navigating through the pages.

qFixed all previously detected and reported minor errors in the script.

List of changes of 14.1 version:

qAdded a feature of displaying user profile data for post's author on the short and full post output templates (shortstory.tpl и fullstory.tpl). As the feature also requires an additional database query, it can be enabled or disabled on the script settings at the optimal performance section. Therefore the feature can be enabled if needed or disabled to improve the script performance and reduce the load on the server. To develop such a feature more than thirty new template tags were added, that contains user profile info, including additional fields data.

qFor comment output templates (comments.tpl) the support of new comparison tags was added. For example, [if field = "value"] text [/if] shows embedded text if field's value is equals to the specified value.

qAdded support of new caching via cache framework Redis. Type of cache framework (File cashing, Memcache или Redis) can be selected on the script settings. If your Redis server requires login and password to connect or password-protected, all necessary authorization data can be specified. To use this type of cache framework a Redis server and a plugin for PHP interpreter php-redis must be installed on the server.

qMemcache cache was modified. These changes were made to prevent possible issues with auto cash-flush on the high-load projects, because in some cases info about cached keys may be deleted due to lack of cache memory to store it. As a result, caching of other data may take longer than usual.

qFor comparison tags [if field = "value"] text [/if] were added support of other template tags. For example, the following expression: [if autor = "{profile-login}"]Viewed by post's author[/if] shows the specified text, if the post is viewed by its author. This gives more options for template design.

qTo adding and editing static pages in the control panel a viewing feature was added, so a user can see the page right after it was added or modified.

qTo [mеdia=...] tag the support of more than 200 new services and sites was added. In fact, the support of all known sites and services using oEmbed to exchange data and add content to the posts was added.

q To template main.tpl support of new tag {cloudstag} was added that shows keyword from the tag cloud, if a user is browsing site category with posts having a specific keyword from the tag cloud. The update may be useful for webmasters who want to display a selected keyword somewhere else, for example, using HTML tags h1 and etc.

qTo categories menu output template (categorymenu.tpl) a feature to show category description on the menu was added. For that purpose new post tags support was added: {description} - shows category description, [description] text [/description] - shows embedded text if description is specified, and reversed tags: [not-description] text [/not-description] - shows embedded text if description is not specified.

qTo categories menu output template (categorymenu.tpl) support of new tags were added: [not-parent] text [/not-parent] - shows embedded text if category is not a parent category and don't have any subcategories. In fact this tag is a reversed tag for [isparent] text [/isparent] tag.

qTo categories menu output template (categorymenu.tpl) added support of new tags: [is-children] text [/is-children] - shows embedded text if a category has a parent category, and support of reversed tags: [not-children] text [/not-children] - shows embedded text if a category has not parent category.

qAdditional field type "Switchbox 'Yes' or 'No'" filling on-site was modified: instead of select HTML tag used input (checkbox) tag. These ensures that a field filling on-site corresponds with field filling on the control panel.

qTo additional fields with "use as cross-link" active property the support of slash "/" symbol was added.

qFor customized comments output {customcomments ....} a new parameter newsid="1,3,5-15" was added to enter ID of posts to select comments from. The parameter can also include template tags from other templates, for example, if a full post contains {customcomments newsid="{news-id}" order="rating"} tag, it shows comments from specified post sorted by rating.

qFor customized comments output {customcomments ....} a new parameter newsidexclude="1,3,5-15" was added to enter ID of posts to exclude from comments display. For example, with tag {customcomments newsidexclude="3-10"} all comments, except from posts with ID 3-10, will be displayed.

qFor customized posts output tag {custom ....} a new parameter subcat="yes" was added. The parameter can be used with options category="list" or categoryexclude="list". The parameter indicates if posts from subcategories should also be included. The parameter can take one of the following values: subcat="yes" indicates that all posts from the category and its subcategories will be selected, subcat="only" indicates that only posts from subcategories will be selected and posts from the category won't. For example, site has only categories with ID 1, 2 and 3. 1 is a category, 2 and 3 are its subcategories. If {custom category="1" subcat="yes"} tag is used then all posts from categories 1, 2 and 3 will be selected. If tag {custom category="1" subcat="only"} is used then only posts from categories 2 and 3 will be selected. This makes the process of entering query parameters more flexible, without listing all categories in the tag. If new subcategories are added on the control panel, posts will be displayed automatically without any need to edit templates.

q Keywords from the tag cloud now can contain a slash "/" symbol.

qDue to Instagram being owned by Facebook, to embed their content on site one must have an application for data exchange registered on their services, so if you add content from Instagram with [mеdia=...] tag to the post, DLE will embed it using the application specified on the script settings for Facebook social network authorization. On application settings on Facebook, access to the content via oEmbed must be allowed. After that adding content from Instagram and Facebook using [mеdia=...] tag will be available.

qAdded a feature to script settings that enable or disable NOREFERRER parameter for all external links in posts. If the setting is enabled, all external links in posts will be marked as NOREFERRER, which does not allow the browser to share with external sites the information of where the user came from.

qAdded a feature to script settings that enable or disable NOREFERRER parameter for all external links in comments. If the setting is enabled, all external links in comments are marked as NOREFERRER, which does not allow the browser to share with external sites the information of where the user came from.

qAfter the load of .webm and .m3u8 files they will be auto-processed as video files and can be added to post and auto-played on site using a video player.

qAdded support of sending header "304 Not Modified" for posts, in case of getting the matching request from the search engines. If there were no changes in the post for a given period, DLE sents only short corresponding HTTP with code 304. This allows to reduce bandwidth consumption on the server and subsequently reduce the load on the server.

qAdded more detailed error information for private messages, when an error occurs. For example, if an unauthorized user goes to the private messages section, a notification will be shown, asking to sign in or register to continue. If a user follows a link from a new private message notification email and wants to read it, but is not signed in, the notification will ask to sign in to read the message.

qSite rules now can be viewed right after being edited via control panel.

qjQuery library was updated for the latest 3.5.x version, to use it enable jQuery 3 in script settings on the site control panel.

qAdded a feature for Froala visual editor that allows inserting various objects such as sheets, image and video lists.

qAdded Apple music widgets integration for playing music online using iframe tags. Also iframe HTML tags access rights now can be managed using allow attribute.

qAdded new symbols support to the word filter: single quotes (') and ampersand (&). Now you can enter, for example, Jeanne d'Arc or similar words.

qAdded the support of setting "Allow search engines index links posted in comments" for site WYSIWYG visual editors. Before the option was available only if BBCODES editor and BB tagged links were used in comments.

qFor plugins generated posts added the valid source code display, when [cоde] ... [/cоde] tags were used. The highlight of the source code and tags also was added to make the text easy to read.

qDue to some changes in YouTube algorithms Oembed protocol started to generate code for small videos by default. [mеdia=...] tag logic was also changed, now if you add a YouTube video, DLE video settings will be applied and DLE video height will be calculated automatically. This ensures that video will have the right size comparing to other videos posted on site using DLE player.

qPage meta-tags such as header, description, keywords and etc. may now contain square brackets and round brackets. Instead of being deleted symbols are converted to valid HTML code in order to be displayed correctly by the browser.

qChanges had been made to the loaded images display logics for posts. Before the update, only images loaded to the server using the DLE script were displayed in the list and stored on the server. Now, if for some reason the image was completely deleted from the list without DLE script, it will be substituted with a placeholder informing that the image was deleted from the server. It may be useful for sites, where users can add a limited number of images per post, so if an image is missing it can be unlinked from the posts, and the limit for a maximum number of images can be preserved.

qDLE video player was updated for the latest available version. Several issues with video player availability on various devices and browsers were fixed.

qPosts inbound HTML code parser was updated for the latest available version. Added support of new HTML parameters attributes for HTML5 support.

qChanges were made to comments quoting. If a user quotes comment with hidden text and has enough access rights to see hidden text, this hidden text will be included in his own comment with a quotation, including tags of the hidden text. If a user hasn't enough access rights to see hidden text, this hidden text will be excluded from his quote. Before hidden text was always excluded from quotes, even in cases when a user had enough access rights to see it.

qAdded additional check of possible mistakes committed by the site administrator on changing user groups access rights on the control panel. For example, before the administrator could accidentally grant access to all categories and restrict access to some categories at the same time. As a result, some DataLife Engine functions may not work correctly.

qAdded "$" characters support for MySQL server database usernames and passwords.

qAdded PHP 8.xx support

qThe algorithm of canonical link generation was modified for sites using both HTTP and HTTPS protocols. If a user accesses the site via HTTPS or "always use HTTPS" is specified in the settings, then a canonical link will also always be generated using HTTPS protocol, regardless of what preferred protocol was specified for the site in the script settings. Even if no preferences were specified.

q Improved meta-tag og:description generation via Open Graph protocol for full post view. Now in cases when additional fields are involved, only text fields will be used for tag generation. It may be one text string or few text strings. All other field types such as images and files will be excluded from the tag generation.

qFixed an issue where post links on the control panel and site map were not working, if the post belonged to the category that was disabled on the categories settings.

qFixed an issue when on the navigation via control panel some active pages may not be highlighted correctly.

qFixed an issue with some private messages preview may not be displayed correctly on the script control panel.

qFixed an issue where in some cases after a static page was edited instead of the static pages list user was redirected to the list of posts.

qFixed an issue with user unmuting as well as linked social networks deletion for Firefox users.

q Fixed an issue with processing categories icons output tags in the short and full post output templates, when other non-standard (shortstory.tpl и fullstory.tpl) file templates were used for category.

qFixed an issue with [if ..] ... [/if] tags not working correctly, if a field contains any upper-case characters.

qFixed an issue with tags [if ..] ... [/if] not working correctly, if a field contains multiple distinct values (e.g. posts with multiple categories), and the check was performed on the negative value with combined condition. For example, the condition [if category != "1" AND category != "2"] not 1 and not 2[/if] was not working correctly, if the post was published in more than one category.

qFixed an issue with tags [not-ios] ... [/not-ios] and [not-android] ... [/not-android] in cases when reversed tags were missing on the template.

qFixed an issue where categories were not saved correctly on posts import from RSS feeds to the site.

qFixed an issue with canonical link generation failure for post preview containing some additional fields, where CNC was enabled, but a user used a link with disabled CNC. It sometimes occurred, when site settings were modified and the site was indexed by search engines.

List of changes of 14.0 version:

qWe completely redesigned the uploaded image management module in the administration panel. Now you can navigate through all folders in this section, regardless of the nesting level. In addition to standard folders, you can open and manage images in self-created folders. We also added a preview of images – just click on them in full screen.

qWe added support of video with adaptive bit rate (HLS files of .m3u8 format) to the DataLife Engine video player.

qWe added support of new value comparison condition tags to templates for displaying short and full story (shortstory.tpl and fullstory.tpl). For example, the tag [if field = "value"] text [/if] will display the text enclosed in it if the field value is equal to the specified value. This tag can compare not only equality, but also make “more or less” comparisons, find entries.

qWe added the option to temporarily automatically block an account in the website's administration panel when it is inactive. You can specify a time-out in minutes in the script settings, after which, if the user did not do anything in the browser in the administration panel, his/her session will be temporarily suspended until the password is entered. In this case, a user will see a notification and if he continues to do nothing, the session will be suspended. This innovation will be useful for providing additional security, if a user temporarily leaves his computer with an open administration panel tab. To resume the session, it is enough to enter a password without having to enter a login.

qWe added the option to link any available social network account to an account on the website. Website user can link one or several networks to his/her account, and use them in the future to log into his/her own account on the website. In order to link a social network to his/her account, the user must log in on the website, go to his/her profile and make the link there. In this case, you can use any and all accounts on a social network, there are no match requirements, for example, concerning e-mail addresses. To link social networks in the user profile template, the same tags as in the login.tpl template are used for logging in via social networks: {vk_url}, {odnoklassniki_url}, {facebook_url}, {google_url}, {mailru_url}, {yandex_url}

qWe added the option to unlink any of the social networks from the account on the website. Even if it was originally used for the initial login to the website and the first registration. To do this, we added support of the {social-list} tag to the user profile display template, which displays a list of linked social networks and links to disconnect them from this account.

qIn the category settings of the script administration panel, we added the option to assign each category its own rating type for posts. Now each category can have its own type of rating, and not just the common one for the entire website.

qIn the post editing section of the administration panel, we added the option to recount the number of comments for a post. You can recount comments not only for all posts, which is a very long and resource-intensive process, but also recount comments only for a specific post. This function will be useful if you work in the comment database bypassing the DLE, for example, import of information into the database, deleting or incorrect work of third-party plug-ins.

qIn the post edit section of the administration panel, we added the option to recount comments for mass actions for selected posts. Thus, you can recount all comments in one click, only for selected posts.

qIn the post edit section of the administration panel, we added the option to delete all for mass actions for selected posts. Thus, you can delete all comments for selected posts in one click.

qIf any additional field is mandatory, for adding or editing posts we added information display about which field is empty and must be filled in. Previously, a general error indicating an empty mandatory field was displayed, and users had to find which particular field is mandatory on their own.

qWe added the option to load icons for categories directly from the DataLife Engine administration panel. You can load icons in the category management section when adding or editing a category.

qFor the post display templates, as well as for the category menu display template, we added support of new tags: [category-icon] text [/category-icon] show text enclosed in them, if in the category settings an icon was set for the category where the post is located. We also added support of opposite tags: [not-category-icon] text [/not-category-icon] which show text, if no icon is set for the category where the post is located. Thus, you can create the design of your templates more flexibly, depending on whether the category has an icon or not.

qFor the category menu display template, we added a link to the default icon, if there is no link to the category icon for the selected category. Previously, an empty value was displayed as an icon display tag, if an icon was not set in the category settings.

qWe added the option to use the @ and ~ symbols in website search , which served as auxiliary symbols when used for full-text search on tables working with InnoDB.

qWe added support of the Brotli algorithm based data compression for JS, CSS and HTML generated by the DataLife Engine. This method is more efficient and faster than regular zip data compression. To use this compression algorithm, the server must have the appropriate server extensions for PHP. If DLE determines that your server supports this algorithm, it will be used automatically, and if not, then compression will be carried out with available means, for example, zip compression.

qWe added the option to upload and delete images for users who have the right to post stories only after moderation, and at the same time they are allowed to edit posts. For this purpose, changes were made to the image uploading procedure – if the user takes actions to upload or delete images or files, the story is automatically sent back to undergo moderation.

qWe added the option to specify the delimiter character for keywords assigned to the tag cloud in the script settings in the administration panel when they are displayed in posts on the website.

qWe added the option to use the HTML code for category display delimiters and for the breadcrumbs module when they are specified in the script settings. For instance, you can set “</span><span class=”test”>” to create a more flexible and diverse formatting for your template.

qWe added support of lazy loading for Youtube videos posted using the [media = ...] tag, as well as any other content posted using the HTML iframe tag. If you enable lazy loading of images in the script settings, this lazy loading will also be used for the above content. This will also further speed up the loading of your website pages, because the required content will be loaded into the browser only as the user scrolls the page.

qWe added support of lazy loading for images posted in the text of user comments. Previously, lazy loading of images was available only for stories.

qWe also added the account of restrictions in the file upload window appearing when displaying information about the restrictions on the size and volume of uploaded data set in the server settings. For example, if in the script settings for the user it is allowed to upload a file of 5 megabytes in size, and the server settings do not allow uploading more than 2 megabytes, then during upload it will also be indicated that the maximum size is 2 megabytes. This allows you to immediately avoid confusion if there is a discrepancy between the settings of the script and the server.

qWe also added display of the number of files that can be uploaded by the user to the image and files uploading module, if there is a limit on their number in the settings.

qWe added the option to search for posts not allowed for web indexing for advanced search of posts in the administration panel. Thus, you can quickly find posts where you need to change this option.

qWe added the option to search for posts not allowed for web indexing for advanced search of posts in the administration panel. Thus, you can quickly find posts where you need to change this option.

qWe made changes to the behaviour of counting the number of stories for the category menu. Previously, the counting was carried out on the basis of the global settings of whether or not to display stories belonging to subcategories. Now the count is carried out based on the settings assigned individually for each category.

qWe added support of viber://, tg://, skype://, market:// protocols fo links posted on the website. These protocols allow you to open website based links in applications installed on the phone, such as Viber, Telegram, Skype and Android Market.

qWe added compatibility of database transfer from a later version to an older version for the database backup module. For example, the website was originally created on MySQL 8.0 and is transferred to another server where MySQL 5.7 is installed. In this case, the database backup will be created in a format compatible with MySQL 5.7.

qFor instances when the page contains several players with video and audio, we added automatic stop for files played if the user plays video or audio from other players on this page.

qWe made changes to the category menu formation system. If viewing of any categories is not allowed in group settings, and viewing of short stories from these categories is also prohibited, these categories will also be automatically excluded from the display in the menu for this group of users.

qWe updated the DLE video player to the current version, and fixed a number of small bugs and improved video playback on mobile devices.

qWe also added search and replacement in story headlines to the “Search and Replace” module in the administration panel, if search by stories and headlines of static pages is set, as well as search and replacement on static pages.

qWe added automatic verification of logins by keywords specified in the “Word filter” module in the administration panel in the process of user registration on the website. If the filter matches, the user will be denied registration. This feature will be useful if you set a filter for obscene words, there is no need to additionally fill in the names prohibited for registration in the filters intended for registration.

qWe added automatic removal of value display tags of additional fields from the template, in case data for these additional fields are missing. For example, there is an additional “gallery” type field and you display its values not with a single display tag, but separately for each image using the tag [xfvalue_X image =“Nr”], and if any of the images was not uploaded, then its display tag will be automatically hidden. This innovation concerns not only the display of images, but in general the display of any additional fields and their values.

qWe added a ban on sending personal messages to users who are in a group for which the use of personal messages is not allowed. Earlier, messages could be sent, but users could read them only when this ban was lifted.

qWe added automatic saving of sorting of additional user profile fields in the administration panel. Saving is done automatically when the order is changed, you don’t need to press an additional button to save.

qWe added automatic hiding of a comment awaiting moderation in the comment managing section of the administration panel after editing and posting it on the website. Thus, the moderator can quickly move on to processing the next comment.

qWe added automatic recount of statistics in the control panel in case of editing comments awaiting moderation.

qWe made changes to the incoming data filtering system intended for on-site search, in connection with which the search for some keywords has improved.

qWe optimized sorting of additional fields for posts in the administration panel. This adds the option to perform multiple sorting or operations on fields without reloading the page in advance.

q41. We improved the system for determining the used site protocol http or https preventing incorrect reading of server settings on certain configurations.

qWe improved the incorrect CNC links control system for some sections of the website and links.

qWe updated visual editors TinyMCE and Froala to the latest versions, and fixed a number of identified errors in these editors.

qWe made changes to the vote counting control system concerning post and comment rating that fixed the problem occurring when some users wanted to change their vote and could not do it.

qWe fixed the problem with generation of a link to the full story, if the category was disabled and it was the first category from the list of several categories.

qWe fixed the problem, which caused JS errors when enabling the use of native emoji and disabling the editor for comments.

qWe fixed the problem, which caused interruption of work of additional fields with the uploaded file type in case of rebuilding posts in the administration panel.

qWe fixed the problem, because of which the story options “Publish on homepage”, “Allow comments” and “Allow rating” were not removed automatically when adding or editing posts in the administration panel, if several categories simultaneously had a ban on using these options for the post.

qWe fixed the problem, which caused duplication of the List-Unsubscribe header when sending bulk emails from the website.

qWe fixed the problem, which in some cases caused posted comments to be deleted and incorrect counting of comments when working with comments awaiting moderation.

qWe fixed the problem, because of which the advanced search by comments did not work, if full-text search and comment moderation were enabled in script settings.

qWe fixed the problem, because of which the advanced search did not work, if a time period for comment search was specified.

qWe fixed the problem, because of which the description meta tag was formed incorrectly, if the story was not added or edited in the administration panel, and the content of the post was too small.

List of changes of 13.3 version:

qWe added new video player on the website. The new player is better supported by the relevant browsers and has modern design. Apart from visual improvements the new player has new functional features: it supports "image in image" mode for browsers, and for Apple devices it supports playing videos to other devices through AirPlay. You will also be able to select among colour patterns in player settings on the admin panel.

qAutomatic plugin upgrade is aided by introduction of DLE version transfer to the server, which checks for the availability of new plugin versions. It uses 'version' parameter containing version of DLE script installed in the website. Thus plugin developer's server can check which DLE version is being used, and, depending on that, either provide information on new version availability or not. Besides, it can provide new versions and copies of plugin for different DLE versions. By this we can avoid transfer of new version of plugin to the website with an older DLE version not supported by this plugin. Information on DLE version may be transferred in the form of POST or GET request, depending on availability of certain settings on the website where DLE is enabled; for this reason, it is recommended for plugin developers to check the version using global variable $_REQUEST['version'].

qWe added native emoji smileys in news and comments editors. If you enable this setting, the symbols supported by user's operating system will be used in editor instead of images for smileys. Visual representation of emojis will depend on the device used for content browsing. DataLife Engine supports more than one and a half thousand of emojis. For your convenience we divided emojis into categories and at the top of the list user will find 16 recently used emojis. This way it is no longer necessary to search for frequently used emojis in the full list every time. Native emojis support is enabled in script settings on the admin panel. If this setting is disabled, usual emoji pool based on images, as in the previous version, is used. Native emojis support is added in all three editors of DLE.

qWe added the possibility to enable image processing through TinyPNG for images uploaded to the server. This service provides additional compression of images with no quality loss using advanced algorithms; this allows reducing the image size and consequently accelerate loading of websites. Furthermore, this service will scan images for significant objects (people faces, animals), so the fixed-size copy of this image will automatically contain the most significant information on it. This feature can be enabled in script settings on the admin panel. As this service can be used for free only for certain amount of images per month, you can disable a number of parameters in script settings in order to minimize the use of this service. For example, you can disable using this service for avatars or disable algorithms of smart scanning for significant objects.

qWe introduced new additional field type 'Date and time'. In this field you can insert date and time; you will be able to use pop-up calendar for convenient filling-in. This field has three input types: date and time, only date and only time. In the settings of this field you can also set output type of the specified date to your preference. This field has additional options of date localization, for example, translation to the language used by your website or declension of the chosen date. This field can also be used for cross reference links connecting the news at the website.

qWe have changed colour pattern of the night mode of admin panel. The new colour pattern ensures comfortable use both in the daylight and at night. This was achieved by the use of softer colours.

qWe added the possibility to enable automatic switch to the night mode of control panel through theme settings on the admin panel. Time the panel will align this automatic switch function with change of seasons and consider different time of getting dark. Besides, it will consider user's time zone set in the settings, in case it differs from the website's time zone. These functions will allow better optimization of automatic switch to the night mode of the panel.

qWe added the function of enabling and disabling categories. This function will allow you to temporarily disable a category which you do not need at the moment instead of deleting it. Deleting a category and further adding it back changes ID of the news; as a consequence, the link to previous news disappears. Enabling and disabling is an alternative way of removing a category from the website, by which, when the category is restored, it will resume its initial place and all the previous news will retain their link to this category and appear automatically as soon as the category is enabled.

qYou will be able to specify ID of related news for a post when adding or editing the post. At the same time you will be able to specify order of related news, in which you want them to be displayed. If you leave this field empty, the searched news will be displayed automatically. You will also be able to perform subsequent search of posts related to one certain news, without the need to clear cache of related posts for all the news.

qPage navigation function was added for short news and for customised news display in a dedicated section separately from the main news section. For this reason we added support of the following tags in the main.tpl template: {navigation} displays page navigation section, [navigation] text [/navigation] displays text at the pages if there is news navigation, [not-navigation] text [/not-navigation] displays text at the pages if there is no news navigation. All these tags are optional; in case of their absence, navigation will be displayed at the news section as before, according to script settings. This way you will be able adjust customised website design in the templates in a more flexible way.

qIf you delete a user , it will be possible to appoint a new author for the user's posts. Or, as an option, you can leave the author unchanged.

qWe added the function to display user's last viewed posts. For this purpose the tag of user's news output with the parameter order="lastviewed", for example, {custom order="lastviewed"} is used. The posts are sorted in a way that the last viewed post is displayed first. For reverse sorting sort="asc" parameter is used. For example, with {custom order="lastviewed" sort="desc"} the posts will be sorted from the last viewed to the earlier ones, and with {custom order="lastviewed" sort="asc"} the posts will be sorted from the earlier viewed to the last. This feature is especially useful for websites posting catalogues, where the visitor can quickly access last viewed posts in a dedicated section. The history of viewed news is enabled and disabled in script settings on the admin panel. DataLife Engine stores 20 last viewed posts.

qWe added the function to display profile information of the user who is browsing the website at the moment in all files of the template. We introduced more than thirty new global tags containing information from user's profile, including information from the optional fields. By this you can display the data of an authorized user not only in login.tpl, but also in main.tpl and other templates, which opens new possibilities to flexible creating of templates. As the data is available for using in any template, please, be careful when using it in the templates subject to caching, for example, template of short news display. In such cases caching has to be disabled.

qFor search template (search.tpl) we added the function of arranging search parameters table at your discretion. For this purpose, apart from general {searchtable} tag, which displays all parameters for the whole search setting, we added 15 new tags, each of them displaying only one input or selection field without reference to visual form. This way you can create customised search design, build it into any HTML-framework, remove the fields and options you do not need, etc.

qWe added the function to enable or disable Yandex Zen use in script settings when exporting RSS feed. If you disable this feature, this option will not be displayed in post adding or editing.

qWe added the function to enable or disable Yandex Turbo use when exporting RSS feed. If you disable this feature, this option will not be displayed in post adding or editing.

qWe added the function of advanced search of the posts by key words from tag cloud, in post editing section on the admin panel. You will be able to choose posts for editing containing required key word from tag cloud.

qWe added the function to perform mass actions with news and enable or disable Yandex Zen for chosen posts in post editing section on the admin panel.

qWe added the function to perform mass actions with news and enable or disable Yandex Turbo for chosen posts in post editing section on the admin panel.

qWe added the function to specify whether Yandex Zen use is enabled for this category by default in category settings. If the feature is disabled, this option will be disabled by default in this category when adding news. Therefore, there is no need to disable this option every time for each news. You can enable this option anytime for any particular news, if necessary.

qWe added the function to specify whether Yandex Turbo use is enabled for this category by default in category settings. If the feature is disabled, this option will be disabled by default in this category when adding news. Therefore, there is no need to disable this option every time for each news. You can enable this option anytime for any particular news, if necessary.

qWe added support of new parameter sortbyuser="yes", which allows using customised sorting for this section of posts, for customised post displaying at the website using {custom ...}tag. If this parameter is enabled, website visitors will be able to set a convenient way of sorting news for this section at their discretion, the same way they do it for {content} tag

qWe added the function of automatic import of user's avatars, if user logs in with their Google or Yandex account.

qIn connection with new version of API 2.0 for logging in through mail.ru, and probable cessation of support of the older version of API, we added new API 2.0. support https://o2.mail.ru. Please, note that new API requires creating new application on the service. Therefore, if you use authorization through mail.ru on your website, you need to create new application https://help.mail.ru/developers/oauth/app, and then set application data in settings on the admin panel.

qWe added function of forming new meta tag og:description of Open Graph protocol in browsing static pages on the website.

qWe added support of new tags [not-image-x] text [/not-image-x], which display text included in them, in case picture under the number X is not in the news, for templates of short and full news (shortstory.tpl и fullstory.tpl) displaying. These tags will be useful when you need to display a customised substitute picture, if there is no suitable picture in text post.

qWe added support of banner tags {banner_X} for comments (comments.tpl template) from the module of advertising materials on the admin panel. You will be able to include advertising tags between comments in certain places.

qWe added support of banner tags {banner_X} in post text in displaying them on print version of the website.

qWe added new tag for post rating {ratingscore} in templates of displaying short and full news (shortstory.tpl и fullstory.tpl). This tag displays average rating figure containing fractional part amounting from one to five. For example, it may be 1.6 or 4.2 depending on evaluation. This tag allows to set customised design of rating stars filled partially, not only two or four fully filled stars.

qWe added new tag for comment rating {ratingscore} in templates of displaying comments (comments.tpl). This tag displays average rating figure containing fractional part amounting from one to five. For example, it may be 1.6 or 4.2 depending on evaluation. This tag allows to set customised design of rating stars filled partially, not only two or four fully filled stars.

qWe added use of recommended heading [b]Precedence:bulk; in letters for mass mailing on the admin panel. This feature is used to avoid directing your letters to spam folder.

qWe added support of automatic prompt search without consideration of letter case in filling tag cloud and optional fields having 'cross-reference' type. The fields themselves remember in database the case of letters as they were entered at fields filling in.

qWe added support of {title limit="X"} and {short-story limit="X"} tags for templates of displaying RSS feed.

qWe adapted prompts displaying on the admin panel, depending on screen size. Now prompts will be arranged in a way that they fit to screen correctly, regardless of screen size and resolution.

qFor optional field having 'cross-reference' type we added support of curly and square brackets and colon.

qWe reduced the time of rearrangement of posts on the admin panel, fixed the problems that could lead to incorrect symbol converting in optional fields.

qWe added case-independent control of usernames and e-mails which are not suitable for registration, written in Cyrillic or other languages; only English letters are applicable

qWe added support of user's avatar export from Vk.com after changes of API of this social network.

qWe adapted the code and added support of PHP 7.4.xx

qWe upgraded HTML Purifier library to the newest version.

qWe added function of the second parameter transfer for GzipOut feature; this parameter will output in debugging data all information on MySQL requests, namely time of request processing and whether it was directed to the database. For example, with GzipOut(true) general debugging information on script will be output; using GzipOut(true, true) it will be possible to output additional information on each MySQL request directed to the database. This new feature will be useful for module developers and performance enhancers for problem detection and diagnostics.

qIn user editing section on the admin panel and on the website we changed type of the date display in the field indicating the date until which a user had been in temporary group, . The output type is adapted to the type used by pop-up calendar in a way, that specified date and time is displayed on the calendar.

qWe fixed the issue of dynamic comment loading failure with Ajax in jQuery 3.xx script settings.

qWe fixed the issue of impossibility to delete a user when editing their profile immediately on the website.

qWe fixed the issue of impossibility to confirm changing of e-mail when both e-mail address is changed and two-factor authorization is enabled at the same time, if the previous e-mail is not available.

qWe fixed the issue of admin panel full screen mode failure in Chrome browser.

qWe fixed the issue where the citing of a selected text could work incorrectly in publications made with Froala rich text editor.

qThe issue of incorrect tags of [sort] ... [/sort] when viewing a full piece of news was fixed.

qWe fixed the issue where the tag {THEME} could be processed incorrectly while news resorting in the admin panel if it was placed in the news texts.

qWe fixed the issue of incorrect adding of IP address blocking in profile settings on the website, when asteriks were used instead of IP address mask.

List of changes of 13.2 version:

qNotes have been added to the plugin system. You can add notes, reminders or instructions to each plugin in a relevant tab. You can also set whether you want to show these on the main page in the list of plugins or not. The notes themselves can either be in the HTML format or use BB tags.

qIt is now possible to set the sort order of plugins in the control panel.The sort order is done in a convenient way, by simply dragging the elements around on the Admin Panel page. The change in the sort order affects the plugin execution order, too.

qIn case of faults found in the plugin during its editing, a new tag page has been added to contain the list of such faults. This way you can easily see the faults and correct them while editing the plugin in question without leaving the page in the browser.

qThe “Headings, descriptions, meta tags” module has been expanded to offer a possibility to assign the robots meta tag to pages. Now, if needed, you can set separate indexing rules for each page or disable indexing.

qIt is now possible to change the script settings in the Admin Panel to set the minimum number of characters in a website search. Before the limit used to be fixed at 4 characters. Now administrators can set their own values making changes directly in the settings.

qIt is now possible to put in or take out each update in the RSS feed separately. To do so, when adding or editing the post in the Admin Panel, you pick a relevant option. Therefore you can be precise about which update you want to add to the RSS feed, and which not. This option is enabled for user groups that have a status which is no lower than that of the web editor-in-chief.

qIt is now possible to set it up for each publication separately whether it is permitted to use it in Yandex Turbo or not. To do so, a relevant option has been added to the Admin Panel so the choice can be made while adding or editing a publication. Also, to support the option, the rss.tpl template has got new default tags: {allow-turbo} shows “true” or “false” depending on whether the Turbo option is on or off, and [allow-turbo] text [/allow-turbo] that show the text inside if Yandex Turbo is on for the publication.

qIt is now possible to set it for each publication separately whether or not it should be used in Yandex Zen. You can control whether the option is on or off while adding or editing publications in the Admin Panel. To support the option, the rss.tpl template has got new default tags: [allow-dzen] text [/allow-dzen] that show the text in brackets if the Yandex Zen option is on for the publication.

qAs for images uploaded to go with publications, it is now possible to set a limit for the minimum size in the script settings. If an image is smaller than the pre-set minimum, it won’t be uploaded, and the user will be notified correspondingly. This way you can make sure that images added to publications comply with your requirements.

qThe additional fields of “Image” and “Image Gallery” type has got a new opportunity to specify the minimum sizes for uploaded images. If the size is smaller, images won’t be uploaded, and the user will be notified correspondingly. This way you can make sure that images added to publications comply with your requirements.

qImages added to comments can now also be controlled in terms of their minimum size that is set in the user group settings. If the size is smaller, the image won’t be uploaded, and the user will be notified correspondingly.

qThe script settings in the Admin Panel have got a new possibility to choose which jQuery line shall be used on the website. You can either opt for line 2.xx or 3.xx. This way you can control whether you will be using the latest versions of libraries or libraries compatible with your JS plugins. If line jQuery 3.xx is used, it also goes with the latest version of the jQueryUI library.

qThe script settings in the Admin Panel have got a new possibility to set whether it is necessary to decline the dates of publications when they are posted via a user tag. If this option is on, and the publication date is introduced through the {date=date format} tag, the name of the month will be declined based on the data in the language files.

qThe breadcrumbs Microdata markup has been fully converted to the schema.org standard instead of data-vocabulary.org which is now outdated.

qHTML support of the map and area tags has been added in text publications. These allow for the images markup by dividing them into sections with links.

qFor e-mails sent out via the Admin Panel in the Message List, the List-Unsubscribe control header has been added to make it easy and convenient for users to unsubscribe from postings directly via the mail service interface.

qNew global template tags have been added: {category-icon} displays the icon of the category viewed by the user, or news category if the full text is viewed; another added tag is {category-url} which displays the URL of the viewed category. Global template tags can be used in any template files, for example, in main.tpl. These template tags will be both useful for additional content formatting on the website pages and generating page Meta tags.

qAs for complaints reported by unregistered users, the reporting system on the website has acquired a possibility for doing so by asking them for their E-mail address so the web admin can follow up on to their complaints. Filling in E-mails is optional for visitors so the field may be left empty at their own discretion.

qClean URL name control has been added for publications in case the website uses type 3 clean URLs. If there has been a publication under the same URL name earlier this day, it is impossible to post another one using the same URL. The user will be offered to change the URL name for another one. This addresses the URL conflict for publications headed with the same name or URL made on the same day.

qNew global tags are supported: [ios] text [/ios] that display the text inside the tags if the user’s device operates on the iOS system by Apple; another support has been added for opposite tags: [not-ios] text [/not-ios] that display the text inside the tags if the website user’s device doesn’t operate on the iOS system. This sort of tag support doesn’t only make it possible to identify the user’s device type but also shows where it belongs by applying the relevant website formatting, for example, it can give a link to download a certain app from the Apple app store.

qNew global tags are supported: [android] text [/android] that display the text inside the tags if the user’s device operates on the Android system by Google; another support has been added for opposite tags: [not-android] text [/not-android] that display the text inside the tags if the website user’s device doesn’t operate on the Android system. This sort of tag support doesn’t only make it possible to identify the user’s device type but also shows where it belongs by applying the relevant website formatting, for example, it can give a link to download a certain app from the Google app store.

qIt is now possible to upload and edit images in the WEBP format for comments and pictures in user profiles, as well as in the image management section in the Admin Panel.

qWEBP format is now supported for image display tags {image-x}. The same format is also supported for OpenGraph Meta tags in social networks.

qActivities are now logged in the Admin Panel concerning activities regarding postings on the website in case the updates are published straightaway without authorization. Previously logs used to register added publications in the control panel only.

qIt is now possible to save publication parameters if it is edited by a user who is authorized to change only certain parameters. For example, excluding certain publications from a search or indexing can only be available for users that belong to groups that are no lower than editor-in-chief or admin, and if the post is edited by a journalist, those parameters are left as they were set by the website admin.

qPostponed upload of images is now supported for static pages of the website.

qPublication headings are now displayed whenever links to the previous or next news pieces are shown. The display template has been extended to support the following tags: {prev-title} which displays the name of the previous item, and {next-title} which displays the name of the next item.

qThe < vidео > and < аudio > HTML tags have been provided with support of all HTML attributes in accordance with the HTML5 specs.

qQuick editing of website publications has been optimized. It is now automatically set whether automatic soft wrap is required depending of the editor, and when visual editors are used, the “automatic soft wrap” option is no longer displayed or used.

qThe script Admin Panel on the main page now displays information about faults in the performance of installed plugins. It means you can quickly see that a given plugin has signaled to have faults, say, after the script has been updated to the latest version, without the need to visit the plugin control section. The main page can also be used to review the faults straightaway.

qWhen queries are viewed on the website, the corresponding pop-up window has changed the display order of the queries. Now the most relevant queries come first.

qIn case publications are added to the website via a user link with references to the pre-set categories, after the publication is posted on the website and if the user wants to add another one, the “Add more” link will take them back to the publication uploading page with the same pre-set categories.

qTo enhance the custom display of publications {custom xfields="..." ...}, the handling search parameter regarding publications has been improved through additional fields xfields=”…”; this parameter can now use single inverted commas for data search, as well as a number of other symbols that were previously unavailable in the search.

qFull support of the 7.3.x PHP line has been added.

qFull support of the 8.0.17 MySQL has been added.

qChanges have been made to the operation of the publication counter as per categories. When postings were previously counted, the only setting that was taken into consideration was whether or not “the news shall be displayed in subcategories”, now personal settings specified for each category in the category control section are considered as well.

qChanges have been made to the operation of tag [xfvalue_thumb_url_X] for additional fields of the “Image” type. In case a given field hasn’t been attributed with a thumbnail, since the original image is initially smaller, this tag will display a link to the original image. It therefore eliminates cases when this tag on the publication display page displays nothing if there are no thumbnails.

qWe have improved the system to sort categories and additional fields in the Admin Panel. All changes in the sorting are automatically saved immediately after the order has been altered, so there’s no need to save the changes by pressing a separate button.

qWe have improved the formation of the og:description Meta tag of the OpenGraph protocol when the full text of the news is viewed. The tags are formed more correctly with automatic deletion of function tags, for example, tags of ad banners, etc.

qWe have improved and optimized the automatic formation of the Meta tag that describes the Description page. Some of the function tags are now filtered and double spaces have been eliminated as well.

qWe have enhanced the performance and reduced the load on the server when the page display requests are handled for categories that don’t exist on the website.

qWe have updated the TinyMCE and Floara visual editors to their latest versions without changes to the editor line. The editors no longer have previous minor bugs, but the line has remained intact with the usual functionality and interface.

qWe have fixed the issue when the images weren’t shown in the print preview if the image loading was set to be postponed in the script settings.

qWe have fixed the issue with the appearance of doubled pages, for the tag cloud and search by additional fields, when the search entry uses letters of different cases.

qWe have fixed the issue with the incorrect deletion of selected images of the news item, in case a few images were selected for deletion, PHP 7.x is now also used on the server.

qWe have fixed the issue with the occasional failures in the quick image loading in the Froala visual editor when the quick editing function was used on the website.

qWe have fixed the issue with the incorrect navigation page count in the tag cloud control section.

qWe have fixed the issue with the unavailability of inverted commas in descriptions of loaded images in case they were loaded in the visual editors immediately after their uploading to the server.

qWe have fixed the issue with the faulty operation of color schemes in the TinyMCE editor.

qWe have fixed the issue with the occasional display of news protected by passwords without any password request.

List of changes of 13.1 version:

qDomain transfer wizard is added. Now you can easily change you website domain. The wizard will automatically replace your domain in publications, comments, static pages, banners and user avatars. This wizard is launched from the control panel, in Engine Settings, next to the website address setting.

qNow in the plugin system you can specify the executable PHP code which hooks to the plugin installation, update, enabling, disabling, and deletion events. It allows you to modify plugin behavior on specific actions.

qNow in the plugin system you can specify string entries to start performing actions from in a file. For example, if there are several identical lines in the file and you need to perform specific action only starting from the second string entry, then you can specify this in the plugin.

qNow in the plugin system you can specify that a certain plugin is required for correct work of another plugin. In plugin settings you can specify a name of another plugin that must be installed. In this case, this plugin will be executed after the execution of the main plugin. Thereby you can create add-ons not only for DLE itself, but also for plugins and create plugins for plugins.

qIn the plugin system line breaks are now performed correctly in the replaced code if it is at the very beginning of the code with which it should be replaced or added to.

qNow you can use the {engine} tag for MySQL queries used in plugins, which indicates which MySQL engine DLE uses to create database tables. Values may be InnoDB or MyISAM.

qChanges are made to the plugins installation and enabling system for cases when the plugin does not meet the requirements. For example, in cases when a plug-in requires a specific version of DLE, and the installed version of DLE does not match it, the plugin will still be installed but it will not be enabled. It allows a user to edit the plugin in the future, and make the necessary changes to it directly from Administration Panel. The same goes for the rest of plugin requirements. It will be possible to enable the plugin only if non-compatibility has been eliminated.

qStandardization of the plugins execution order is added in the system. Plugins will be executed strictly according to the principle: the first added to the system is the first executed. Execution of plugins will be made regardless of whether the plugin has been edited in the Administration Panel or not. Also, if a plugin is dependent on another plugin, then the plugin on which it depends will be executed first.

qLazy image loading is added for publications. This feature can be enabled in the engine settings in the control panel. When this option is enabled, the images in the news will not be loaded by the browser on the page opening. They will be loaded as they are within browser’s viewport or nearby its borders. This feature allows you to improve the page loading speed and reduce the server load.

qNow reCAPTCHA v3 is supported. With this type of captcha your users will no longer have to select any pictures and perform any additional actions on the site to verify themselves. The user is checked for being a bot or not in the background, unnoticed by your visitors. Before enabling this type of captcha, be sure to generate a new Google token key specifically for reCAPTCHA v3.

qNow manual changes to .htaccess file located in the root of the site are kept in case of the engine auto-update. Contents of this file will not be completely replaced after the engine update. Only necessary changes will be made the in the standard functions. Thus, all manual changes made to it by the owner of the site will remain unchanged. The same is done for the cron file, which you configure to perform your actions on the cron.

qChanges are made to the process of automatic engine update within the same major version. When patches with error corrections within the same version of the script are released, only installation of changes in the form of a patch will occur, updating only the changed files, not all the files as it was before.

qNow a selected category can be automatically recognized in an article preview, and if a separate template is assigned to it, then a proper preview template will be loaded for this category. Thus, if different templates are assigned to different categories, all of them will be used in the preview.

qNow you can use hints for links in Cross-Reference module in the control panel of the engine (title attribute). This feature allows you to improve SEO optimization, as well as improve the experience from your site for people with disabilities.

qNow similar publications are automatically rebuilt when edited. When you edit an article, the engine automatically searches for similar news. Earlier in order to search for similar publications it was necessary to reset the cache of similar articles in the corresponding section of Administration Panel.

qNow user bookmarks automatically synchronized in case of deletion of a publication from the site. If an article is removed from the site then it also is removed from bookmarks of all users and the user bookmarks counter is synchronized for these users.

qNow magnet protocol is supported for links published using BB tags and in visual editors.

qNow loading and processing images in WEBP format is supported. Images in this format can be directly uploaded using the DataLife Engine. The engine will create thumbnails and watermarks if necessary.

qMySQL 8.x is supported.

qPHP 7.3.x is supported.

qNow you can specify several values separated by comma in [ifxfvalue tagname="tagvalue"] Text [/ifxfvalue] tag which shows the enclosed text if the tag value matches the specified value. For example, text within [ifxfvalue city="New York, Paris, London"] Text [/ifxfvalue] tag is shown only if an extra field named city contains one of specified values. It greatly simplifies the template layout for various cases.

qNow there is a search for advertising materials management system in Administration Panel. You can search by name, description, and by the ad code

qA more informative visualization of whether a banner is displayed or not has been added in the banner management section of Administration Panel. For example, if a banner has display limitations by time, views or clicks, and the limit has already been reached, then in the banner editing section it will also be shown that the banner is currently off.

qNow you can search by news and static pages on mobile devices (smartphones, tablets) in the engine control panel.

qNow you can choose a search area in advanced static pages search. You can search either by all fields, or separately by name, description, and text of a static page.

qStatic pages search algorithms have been significantly improved. Now the search is more accurate, and gives you better results according to the specified search criteria.

qThe performance of DataLife Engine has been significantly improved and database load has been reduced when using multi-categories on the site. Requests to the database were re-implemented in such a way that they no longer use regular expressions when accessing the database, thereby significantly improving the speed of the engine and reducing server load.

qThe performance of DataLife Engine has been significantly improved and database load has been reduced when using multi-categories on the site. Requests to the database were re-implemented in such a way that they no longer use regular expressions when accessing the database, thereby significantly improving the speed of the engine and reducing server load.

qThe performance of DataLife Engine has been significantly improved and database load has been reduced when showing publications found with help of extra fields that have "use as cross-references" property.

qNow you can quickly reset search parameters to default values for news and static pages advanced search.

qThe limit on the number of characters for Description meta tag for static pages has been increased to 300 characters. This limit now corresponds to the limit set by the Google search engine to display this information in search results.

qChanges have been made to forming mechanisms of the og:image meta tag used for posting data to social networks. Now, if an article has an annotation, then this tag will form a link to the full original image. Thereby, social networks containing restrictions on the minimum image size will receive the maximum possible original image quality.

qControl of incorrect friendly URLs when viewing publications based on a directory with the symbol code specified in the publications is added and control of incorrect friendly URLs of a full article is improved.

qControl of incorrect friendly URLs when viewing publications based on a directory with the symbol code specified in the publications is added and control of incorrect friendly URLs of a full article is improved.

qNow you can use plus symbol as a value for extra fields of "Cross-references" type. For example, you can use values such as C++.

qNow such characters as double quotes, plus, and others are supported for keywords intended for a tag cloud of publications. Almost all restrictions are removed on characters in the cloud, leaving only restrictions on the use of HTML code.

qFor the RSS feed template, now you can use HTML code split into several lines, used to generate turbo content for Yandex.

qProcessing of transparent PNG images is improved. Application of watermarks for these images is also improved.

qAdded support for [newscount=X] text [/newscount] and [not-newscount=X] text [/not-newscount] tags for custom output of publications using {custom ...} tag in cases where this output is used in article annotation templates.

qAdded support for [newscount=X] text [/newscount] and [not-newscount=X] text [/not-newscount] tags for custom output of publications using {custom ...} tag in cases where this output is used in article annotation templates.

qTinyMCE and Froala visual editors are updated. A number of detected errors is fixed in these editors.

qAn issue is fixed with the incorrect work of control system for incorrect friendly URLs for article extra fields of cross-reference type if the values of these fields contained quotes.

qAn issue is fixed where articles sent to moderation could be displayed in bookmarks.

qAn issue is fixed with incorrectly displayed curly brackets in the comments when using the AJAX navigation for comments.

qAn issue is fixed where not all template tags of publication extra fields were correctly processed in the main.tpl template if a user visited a missing article.

qAn issue is fixed where {news-id} tags were incorrectly processed when displaying publications using {custom ...} tag if a user viewed a full article.

qAn issue with operation of [available ...] and [not-available ...] tags is fixed when a user is on a page of article by a symbol code, if the symbol code is not specified or is equal to zero "0".

qAn issue is fixed with the incorrect work of control system for incorrect friendly URLs in full articles if DLE was installed not in the site root directory.

qAn issue is fixed where articles planned for publishing in the future could be displayed when switching to following and previous articles, despite the fact that they set not to be displayed in the engine settings.

qAn issue is fixed where extra fields with gallery and image type could not be displayed when previewing an article if image descriptions were used in these fields.

List of changes of 13.0 version:

qAutomatic engine update within the same major version of the engine is added in the admin panel for cases where update contain patches related to vulnerabilities or other bugfixes. If there is an update within the same major engine version, for example, when fixes related to vulnerabilities are released, or other problems with the script are detected and solved, it will be possible to perform this update in the admin panel of the engine.

qAutomatic plugins update is added. You need to specify URL to check updates from. Plugin developer’s resource specified in this URL should give the array in JSON format, which contains information about the current plugin version, and download link for the current plugin version. For example, this URL should return the value {"version":"2.0","url":"https://dle-news.ru/test/test.zip"}. After that, site administrator will be able check for updates and to get info about new plugin versions and update it in the admin panel in one click.

qNow in the plugin management system you can specify the number of replacements to be performed for each search in the file. For example, if you need to find and replace some code that occurs in this file several times, you can specify how many times it is necessary to replace this code. To replace all occurrences of this code, you can leave this parameter blank, thus all the code occurrences will be replaced.

qNow in the plugin management system there is the option that allows to automatically remove extra files loaded within the plugin archive when the plugin is removed from the site. This option is added in plugin parameters. It allows you decide whether you need to clean up extra files from the server when you delete a plugin from the site.

qFor the plugin management system, the option was added which allows to use the {THEME} tag in the names of folders in the ZIP archives. When downloading the archive through the plugin system, this tag will be replaced with the name of the template being used. For example, by placing the file /templates/{THEME}/test.tpl in the archive, your template file will be placed in the template used on the site. Thus, when using complex plugins that contain examples of template files, they can be immediately loaded into the desired folder containing the user's template.

qIn the plugin management system the ability to use the control characters of the preg_replace function, such as \\1, is used in the "Find and replace" action of the replacement line, which removes the restrictions on finding and replacing some code in the DLE.

qNow for extra fields of "Image" and "Image Gallery" type you can individually assign description for each image, which will be converted to the HTML alt attribute.

qNow for extra fields of "Image Gallery" type you can change the sorting order of the uploaded images simply by drag and drop. After uploading images you can swap images as you want. Also uploaded images can be moved to other extra fields.

qFor articles and comments a new type of rating is added - "Like and Dislike». This type of rating allows to keep count of likes and dislikes separately. New tags have been added for articles and comments templates: {likes} and {dislikes} to display number of likes and dislikes correspondingly, and [rating-type-4] text [/rating-type-4] tag to display the text inside of it if this rating type is enabled.

qNow in user profile settings of Administration panel you can set a list of trusted categories where a corresponding user is allowed to publish. This will allow a user to manage specific categories where other users will not have the permission to publish. Or vice versa - you can exclude a user from a specific news category where you do not want him to publish.

qIn user profile settings of Administration panel you can set a list of trusted categories where a corresponding user is allowed to publish without moderation. Such settings will allow for more flexible rights distribution without creating a bunch of user groups, or even groups for each particular user.

qNow in the articles edit section in advanced article search of Administration panel you can choose where to search. You can search in all content or only in title, short description, full description or extra fields. Algorithms of search has also been significantly improved.

qNow for advanced article search in article edit section of Administration panel you can search in several categories.

qNow you can use "&" and "#" characters in tag cloud, which allows to use names of various brands in the cloud, e.g. "H&M".

qNow in Administration panel you can allow Administrators to authorize with social networks. When this option is enabled, users who are in the Administrators group can authorize with their social network accounts.

qNow in comment edit section of Administration panel you can search for comments by string. In this section you can search for comments by any keywords. It makes comments editing more convenient.

qNow in cross-reference control section of Administration panel you can replace using "In static pages only" and "In static pages, articles and comments" for mass actions on links.

qNow you can use styles of your template from preview.css file to preview banners in the ad management section in the Administration panel. Thus, you can see a more accurate appearance of your ads if they use classes from your template.

qNow you can use [not-news] tags [/not-news] in template of short articles description (shortstory.tpl). It allows to show the enclosed text if there are no articles by the given criteria. Thus, you can use your own message instead of the standard one if there are no articles in a given section of the site. You can make unique messages for every section. Also, these tags can be used in custom article display templates with {custom ...} tag.

qNow you can use new tags for password recovery e-mail message: {%losturl%} which displays only the URL to reset a password, and {%ipurl%} which displays only password reset URL to reset the IP block. It allows you to make specific designs of these links in the letter, e.g. as buttons. And also you can hide the link to reset the IP block if you do not use it on your site.

qThe system for removing categories in Administration panel has been improved. If the category to be removed contains subcategories that are also subjected to deletion, then all actions for articles that are related to the category will automatically be distributed to articles that also related to subcategories of this deleted category. And the same actions will be applied to these articles in subcategories.

qNow in "Filter by: IP, username or e-mail" module you can add blocked addresses, logins, or e-mails as lists rather than one by one. It significantly speeds up the process of adding if you already have a list of users to block.

qIn "Filter by: IP, Login or E-Mail" module you can edit existing rules. You can select and edit any rule, without having to delete it and re-add it again.

qIn "Filter by: IP, Login or E-Mail" module you can select several rules or all of them simultaneously, and unblock these rules in one click.

qNow "Filter by: IP, Login or E-Mail" module supports IPv6 addresses that you can specify to block access to the site. You also can block IPv6 subnets.

qNow you can specify IPv6 addresses in the user profile for those who are allowed to authorize. You also can specify not only a separate address, but IPv6 subnet.

qNow for the custom sorting of articles displayed by {sort} tag you can set sorting for each specific category.

qNow you can use "p", "div" and other tags in links in articles. Thus DataLife Engine supports more features of HTML5 standard.

qNow you can add new users in the DataLife Engine control panel when working from a smartphone.

qChanges have been made to nested comments. When the maximum nesting level for comments responses is reached, then in case of adding another replies they are displayed on the given maximum nested level in the discussion thread. Earlier, when the maximum nesting level was reached it was impossible to answer the comment. Now it is possible to post any number of replies.

qNow in extra fields that have "Cross-Reference" type you can use double quotes and ampersand characters.

qIf the HTML message format is used for the e-mail recovery letter template, then the links that are generated by {%lostlink%} tag in this template will be generated as a ready HTML code, not just text links.

qNow in the engine settings there is an option to set articles sorting by the number of comments by default. The same thing was added for sorting criteria when viewing the catalog.

qNow in category settings there is an option for articles sorting publications to sort by the number of comments by default.

qChanges have been made to extra fields, if the field is not allowed to be added by certain user groups. If the value of the extra field was added by the user with the corresponding rights, and subsequently the article is edited by a user who does not have the permission to edit this field, then the value of this field is no longer cleared - it comes back to its previous state.

qThe limit on the number of Description meta tag characters for categories is increased up to 300 characters. The maximum length now corresponds to the maximum length set by Google search engine to display this information in search results.

qSimilar articles search has been improved. Similar articles search results are sorted in a more relevant manner.

qVisitors’ IPv6 addresses support has been improved. In some specific cases, the full address could not be placed in the database. Now the length of the fields is reserved according to RFC 4291 specification.

qFormation of the og:description meta tag of the Open Graph protocol has been improved for full articles. Formation is more correct when it is used as the main content in extra fields of articles .

qThe work of the DataLife Engine security system has been improved to check the data on subdomains more correctly for some hostings which have subdomain structure of sub-folders of the main domain.

qNow tel: protocol is supported for links published on the site using BB tags.

qTinyMCE and Froala visual editors are updated. A number of detected errors is fixed in these editors.

qAn issue is fixed where fields of "List" type were used in extra fields of the user profile where values with the symbol "|" were used.

qAn issue is fixed where some symbols in the field values could incorrectly change in the plugin control section if the action on the file in the menu changed.

qAn issue is fixed where you could not use [lееch] tags for internal pages. It was only possible for external sites.

qAn issue is fixed where the site could not be upgraded if encoding other than UTF-8 was used on the site and Administrator's login or password contained Cyrillic symbols.

qAn issue is fixed where the pop-up block about new personal messages did not appear if the user logged out and then logged in after some time.

qAn issue is fixed where comments editing did not work in the engine control panel if TinyMCE editor was enabled in the engine settings.

qAn issue is fixed where the period in days within which it was allowed to send comments to the article did not show if this period was set in Administration panel.

qAn issue is fixed where an extra field of "Download file" type was not displayed as a file download link but as a usual tag.

List of changes of 12.1 version:

qWindows-1251 encoding is no longer supported.

qAutomatic DataLife Engine update system is added.

qA new system for installing and managing plugins is added.

qNow you can enable or disable the plugin system support in the engine settings of the Administration Panel. If you do not use this system, you can disable it in the engine settings to increase the performance of the engine and reduce the server load.

qNow you can convert your database automatically from the Administration Panel for sites where utf8 encoding is used for database, not utf8mb4 four-byte encoding. These encodings are fully compatible, but conversion of your site to utf8mb4 will give full support for all the characters, e.g. Emoji, musical symbols and many others.

qNow you can display links to the previous and next articles when viewing the full article.

qThe {news-id} tag has received global support in all templates.

qNow in the user management section of Administration Panel you can search for users who are prohibited from posting articles or comments.

qUsers of the demo version now can automatically switch to full version after entering the license key. As you know, the source code of the demo version is closed from editing. Therefore, after submitting the license key you will be able to automatically replace demo version files with the open files of the full version in addition to removing restrictions from the database. This process is fully automated, and can be started in the Administration Panel in one click.

qNow in advanced articles search of the control panel you can search for articles which have votings and passwords.

qSearch in the "Actions Llist in Administration Panel" is essentially improved. Now you can search not only by login or IP, but also by the name of action itself. For example, by entering "delete article" you will see the entire list related to articles deletion. It works for any action.

qNow you can select categories in the "Optimization Wizard" module of the engine control panel from which you want to remove outdated articles. Thus, you can filter and specify categories where you do not need to delete old articles.

qIn "Optimization Wizard" module of the engine control panel you now can apply the following actions: clear all personal messages or clear read messages to leave only unread messages.

qNow you can write personal messages using AJAX technology. When clicking on the link of writing a new personal message in the user information display card, or when viewing his/her profile, a new personal message form will occur in a pop-up window and will be sent using AJAX request without reloading the page. Thus, users of your site can quickly send personal messages.

qNow when viewing the full article you can format og:description meta tag of the Open Graph protocol. This meta tag is designed to correctly send your articles to social networks.

qNow you can immediately go to the article preview after saving it when adding or editing the article in the control panel.

qIn the BBCODES editor, when using the text processing, all the necessary non-breaking spaces are directly presented as UTF-8 symbols, not as HTML entities. This makes it much easier to read and edit text in the editor, and allows you to avoid inconvenient merged text in future.

qWhen polls and votings are used, the automatic selection of the first choice is removed. Thus, before making a choice in the voting or poll, the user must actively choose one of presented answers, which helps to avoid accidental voting for the first answer.

qRSS feed spoilers filtering is added. Now DLE automatically removes all unused functionality from RSS feed leaving only the content that was specified in the spoiler.

qNow in RSS export you can use {full-stоry} tag in conjunction with other tags without affecting HTML formatting.

qNow in a regular site search you can use automatic search on static pages. If no article was found in result of regular site search, an automatic search will also be performed on static pages. Thus, visitors do not need to use the advanced search and choose static pages there to find what they need. This feature will be especially useful for those sites that use many static pages and do not have articles.

qNow you can use automatic search on static pages for quick search on the site. If no articles were found, the engine will automatically perform search on static pages and display links to them if they match the search.

qNow you can display polls from articles when displaying articles using {custom ...} tag. To display polls, use the {poll} tag in the template, and in the short and full article templates.

qNow you can use sites of any encoding as a source for RSS articles import and for RSS informers, regardless of your site’s encoding. DataLife Engine automatically detects the encoding of the data source and recodes the data into the needed encoding.

qSymbols number limit of Description meta tag for articles is increased to 300 characters. The maximum length now corresponds to the maximum length of information displayed by google search engine in search results.

qSystem of automatic external images size reduction is improved. This system works if it is enabled in the engine settings. A small delay before running the corresponding JS function is added for this, which allows you to set the image size correctly if you have slow Internet connection. Also the automatic detection of the actual image size is added (not their size in the page block). On small screens it allows to enlarge them when clicking on images.

qThe formation of canonical links and meta tags of social networks for static pages is improved. If the static page has been split into several pages, then each individual page will have its own canonical links not just leading to the first page.

qMinor changes of DLE video player have been made to make video watching more convenient. The size of the player is significantly reduced, which speeds up its loading to the browser. And the automatic addition of the title attribute for HTML video tags is also removed.

qGzip compression rate of JS and CSS files, which DataLife Engine uses, is significantly improved. It is active if compression is enabled in the engine settings.

qFor the Cross-References module, address recognition of the pages which contain Cyrillic characters and other Unicode characters is improved. It allows to correctly verify that the page refers to itself, and to not replace keywords for these pages.

qFor the Redirects module, address recognition of the pages which contain Cyrillic characters and other Unicode characters is improved. It allows to correctly make redirects from the pages specified in this module.

qNow you can add new categories to Administration Panel when using the engine control panel from a smartphone.

qSupport of current version of the vk.com API is updated to allow loging-in using this social network account. Also, now users who do not have an E-mail address can log-in using vk.com.

qThe system for isolating template tags from each other has been redesigned and improved so that they do not interfere with each other’s work and information output.

qA number of security features have been revised to prevent unauthorized actions for enhancing the website’s security.

qPHP v. 7.2.x is now fully supported.

qThe Cyrillic transliteration system has been improved. Transliteration will follow the correct rules, which improves the readability of the Russian text expressed in Latin symbols.

qDataLife Engine server installation is optimized and simplified. You’ll need to enter and select the small amount of data when installing the engine on the server. DataLife Engine installation script will automatically detect the rest.

qTinyMCE and Froala visual editors are updated. A number of detected errors is fixed in these editors.

qAn issue is fixed where user could not respond to a comment on the all comments page, if RECAPTCHA was enabled for a particular user group in Group Settings.

qAn issue with the DLE API is fixed where the API did not perform user authorization checks if his/her account was not yet transferred to the new password storage system.

qAn issue is fixed where extra fields data was saved incorrectly when changing the sorting of these fields.

qAn issue is fixed where the site administrator could incorrectly merge comments if threaded comments were enabled and the comments were sorted in descending order.

qAn issue is fixed where in case of quick article editing, files and images in extra fields could not be loaded.

qAn issue is fixed where the category menu did not take into account the engine settings, whether User-Friendly URL is enabled, and always generated links with User-Friendly URL.

qAn issue is fixed where the source code inserted with [code] [/cоde] tags or using the corresponding code snippets button in visual editors could be incorrectly converted from HTML entities to their ASCII versions.

qAn issue is fixed where the information with [xfvalue_X image="Nr"] tag could not be displayed in the full article template when displaying a single image of the extra field of "Image Gallery" type.

qAn issue is fixed where it was not possible to use smileys in comments or articles when using Floara visual editor on mobile devices.

qAn issue is fixed where it was not possible to use some Cyrillic letters in user registration on sites which use UTF-8 encoding.

List of changes of 12.0 version:

qCategories are implemented for the advertising management module. Now in this module you can create categories and post your advertising materials in them. The categories are displayed as folder images at the very top, in front of the list of added advertising materials. You can also create unlimited number of subcategories. Thus, having a large number of advertising materials, you can place them in various categories and subcategories for an easier navigation.

qViews counter for promotional materials is added to the engine control panel. The views counter counts only views of real users who visit the website using a browser. Bots scanning the website are not counted. The account of views is enabled directly for each banner, so you can count views only for some of them. Also you can specify whether you need to count all banner views, or only views from unique users.

qBanners display time limit based on the number of views is added in Administration Panel. It allows you to automatically disable the banner display when the specified number of views is reached.

qViews counter for promotional materials is added to the engine control panel. DataLife Engine automatically intercepts HTML tags published using <а href="..."> tags and automatically counts clicks on them. Any special registration of these links is not required, they can lead to any needed addresses. Also, you can specify whether to count all clicks on the link, or only clicks from unique users.

qBanners display time limit based on the number of clicks is added in Administration Panel. It allows you to automatically disable the banner display when the specified number of clicks is reached.

qViews and clicks counters of each banner can be reset in the Administration Panel.

qCanonical references can now be used in code of all website pages, including sections navigation, full article page, etc. This feature allows you to increase website’s SEO optimization, and also to avoid duplicate pages if incorrect links to your website are published somewhere on the Internet, or if you need to disable the control of incorrect user-friendly URLs for some reason.

qIn category settings of the control panel you can set for each category whether it is allowed to publish articles from this category on the homepage of the website by default. If you enable it, the corresponding box will be checked when you add or edit an article. If the category is not allowed to be published on the homepage, then the box will be unchecked when you add or edit the article.

qIn category settings of the control panel you can set for each category whether it is allowed to publish comments for articles from this category by default. If you enable it, the corresponding box will be checked when you add or edit an article. If the comments are not allowed for the category, then the box will be unchecked when you add or edit the article.

qIn category settings of the control panel you can set for each category whether it is allowed to rate articles from this category by default. If you enable it, the corresponding box will be checked when you add or edit an article. If the rating is not allowed for the category, then the box will be unchecked when you add or edit the article.

qAutomatic website protection from embedding into iframes on other websites is implemented in security settings section of the control panel. If you enable it, your website will be automatically not displayed if it is embedded into the iframe of another website. This way you can protect your website from such attacks as clickjacking.

qThe capabilities of the Meta Tags module have been extended. This module has been renamed into "Titles, descriptions, meta tags". Now in this module you can set not only meta tags for pages, but also a separate title and description for the page, which can then be displayed anywhere in your template. New global tags for templates have been added for this: {page-title} – displays page title, {page-description} - displays page description. You can use BB and HTML tags in page description. Thus, using this module, you can, for example, create and display titles and descriptions for the tag cloud for each separate tag.

qNew global template tags [page-title] text [/page-title] are added, which output the enclosed text if page title was specified in "Headers, descriptions, meta tags" for a viewed page. And [not-page-title] text [/not-page-title] tags with the opposite effect were added. The enclosed text is displayed if the title of the viewed page was not specified. Also, similar tags were added for description: [page-description] text [/page-description], which output the enclosed text if page description was specified in "Headers, descriptions, meta tags" for a viewed page. And [not-page-title] text [/not-page-title] tags with the opposite effect were added. The enclosed text is displayed if the description of the viewed page was not specified.

q[not-active] text [/not-active] tags are added for the category menu template (categorymenu.tpl). The enclosed text is displayed if the viewed category or article does not belong to a menu category. This tag can only be located inside the [item] [/item] tags and is used, for example, to output some information (e.g. links) only for non-active menu categories.

qPublications display capabilities based on the values of extra fields in articles are expanded. Link http://your site/xfsearch/field name/field value/, as before, displays articles containing the specified value in a specified field if "Use as cross-reference" box is checked. Link http://your site/xfsearch/field value/ displays articles containing the specified value in all extra fields. Link http://your site/xfsearch/field name/ displays articles where the specified field is filled out.

qTo output pages with no content, now you can enable a new option in engine settings to assign a separate page with the name 404.html in the root directory of your site. If this option is enabled, instead of the standard system message "Unfortunately, this page is not available, probably its address have been changed or the page is deleted.", you can display a special properly designed page. This feature is useful for webmasters who want to make a separate design of 404 pages of their websites.

qNow in the engine settings you can assign an HTTP header where to obtain the IP addresses of users from. This feature will be useful for websites that use different external proxy servers, and do not have the ability to properly reconfigure the server for them to get the correct real IP addresses of visitors. For example, it is useful when using services like cloudflare to protect against DDOS attacks, having a normal hosting plan without access to server settings. Now you can set the path to get IP addresses of visitors in the engine settings of Administration Panel.

qWhen you remove a category in the engine control panel you now can choose how to deal with articles located in this category. You can: "Remove this category from articles", "Replace the category with another category or categories", and "Remove all articles in this category". If you delete or replace a category of the article, then only the category itself will be removed or replaced. For example, if your article is in the categories "World", "News", "Popular" and you remove "In the world" category, then for articles in this category only "World" category itself will be removed or replaced, all other categories of these articles will remain as they are.

qA new type of extra fields has been added for articles: "Pure HTML and JS". DataLife Engine will not interfere in text written in this field, will not filter HTML-code in it and allows pure JаvaScript code. This field is useful when you need to use some code in articles that you do not need to check – for example, some media player. Warning! Considering the fact that the engine will not filter text in this field, it is necessary to establish restrictions – please specify user groups which are allowed to use it. Do not allow it to be used by all users, otherwise it can cause security risks.

qFor article extra fields that have the option "Use as cross-references" checked you can specify the delimiter for links. You can specify both individual characters and HTML code as a delimiter. Previously, a comma was used as a delimiter, now you can specify custom delimiter for each field, which allows you to create unique appearance for each field in your template.

qYandex Turbo technology is now supported for normal RSS feeds without enabling RSS feed such as "Yandex news" in RSS feed type settings. For this, the full article display using {full-story} tag for any type of RSS feed is added. Also the standard template /templates/rss.xml is updated, which demonstrates how the template with the full support of "Yandex Turbo" should be like. The customization of RSS template for "Yandex Zen" technology is also supported in the same way.

qNow you can respond to comments when viewing latest comments on the website if nested comments are enabled in the engine settings. It allows you to quickly respond to incoming comments without opening every article.

qBrowser page load speed is accelerated and loading is improved because some of the heavy scripts were transferred to a deferred load which is independent of the page load. These scripts are simultaneously loaded into the browser along with the rendering of the page and are launched only after the page is ready in the browser. This visually increases page load speed.

qNow unregistered users of the website can send complaints to the Administration about articles and comments. Only registered users could do this before.

qNow you can use shema.org markup to display rating of "Evaluation" type. This markup allows you to display the article's rating both in full articles and in Google search results.

qNow orientation of uploaded photos is defined automatically based on metadata contained in the graphics files. In case the original photo was inverted, then the engine will automatically correct its position when it is uploaded. This eliminates the need to manually edit images if the camera was rotated during photographing.

qNow there is an automatic notification of the website administration about the new article which is expecting moderation (if this is enabled in the engine settings) if the article was added from the engine control panel. Previously notification was sent only if the article was added directly from the website.

qIf the user is editing the previously published article in the control panel but the user group he is in is prohibited from publishing without moderation or is allowed to publish not in all categories, then the corresponding e-mail notification will also be sent to the website administration saying that the article is waiting for moderation.

qWork of Breadcrumbs module is changed. If articles are viewed from a certain category, then in this category a references to it will be displayed as plain text, not links. The links will be shown only for categories that are higher in hierarchy. Also references will be displayed as links if user went further through navigation through the pages in this category. This feature allows you to avoid circular references.

qTwo new replacement areas for links have been added for Cross-Reference Module in the control panel. You can specify replacement only in static pages, and set a replacement in static pages, articles and comments.

qFor "Search and Replacement" module in the control panel a mass replacement of text is now possibile in polls for publications and in polls on the website.

qNow you can remove all articles which are made by a particular user and waiting for moderation. To do this, in the user management section click on the number of his articles and select the corresponding menu item.

qNow you can remove all comments which are made by a particular user and waiting for moderation. To do this, in the user management section click on the number of his comments and select the corresponding menu item.

qFormatted output of different counters (for views, publications, comments) is added in the Administration Panel of the engine. The output of these counters is now formatted with space-separated hundreds, thousands, millions, etc. to give a better visual representation and perception of these numbers.

qNew [catlist=id1,id2....] text [/catlist] tags are supported for comments display and add comments templates (addcomments.tpl and comments.tpl) which display enclosed text if the article is of the specified categories, and also the tags: [not-catlist=id1,id2....] text [/not-catlist] - which display enclosed text if the article is NOT of the specified categories. You can specify a different design of the comments display and the comments adding for articles of different categories.

qNow word declensions are supported for display tag or votes number of article rating. For example, you can use {vote-num} [declination={vote-num}]review||s[/declination]. Previously, this was not available for this tag since it contains HTML code, not just a number.

qIf in engine settings HTTPS protocol is set to be used on the whole website, then the browser cookies will also be sent to the server only via the HTTPS protocol and will be automatically blocked if HTTP protocol is used.

qAdded control of incorrect User-Friendly URLs for static pages the article text of which is divided into several pages. If an invalid page number is specified, an automatic 301 redirect will be performed to the initial address of this page.

qFor RSS import of articles, import of images from the enclosure tag containing the image for the article is supported. If a short description in the RSS stream is just text, and the image is given in it as a separate tag, then the image will be added to the very beginning of the short article during the import.

qRedirect is supported for full articles when using RSS import of articles. If the link from the RSS feed is a redirect to the full text of the article on the source site, then DataLife Engine will automatically follow this redirect and will take the content from the source. It makes import of full text better than before.

qChanges have been made to work of tags [comments] [/comments] and [not-comments] [/not-comments]. If comments are prohibited for a particular article, these tags will also hide their content.

qIf it is allowed to leave comments but a single user or user group was not allowed to post comments according to settings, then the corresponding notification will be displayed not at the end of all comments, but in a specific place of the add comment form with the tag {addcomments} defined in template by you, thus allowing you to determine the location of this message.

qUser e-mail addresses is automatically received now when authorizing using Odnoklassniki social network if the application received the appropriate rights from Odnoklassniki. By default Odnoklassniki do not give rights to receive e-mail addresses, and to obtain the access you need to contact this social network to get the permission to receive e-mail addresses. If the permission is received, DLE will also automatically import the e-mail address.

qThe system for calculating image aspect ratios is improved when creating small copies. It allows to get a more correct small copy of a better quality.

qThe system of articles search with a simple search type enabled in the engine settings. The new algorithm allows you to find articles more accurately and correctly.

qDuplicate pages control is improved when viewing the latest comments.

qProcessing is optimized for articles’ extra fields when displaying their short descriptions, as well as when popular articles output module is enabled.

qTinyMCE and Froala visual editors are updated. A number of errors is fixed in these editors.

qSupport for inserting hidden text tags using the appropriate button in the editor is added for TinyMCE editor.

qWhen using the Floara editor for comments, the quick image upload and paste into a comment is added. You can either click on the picture insert icon and select the file to be uploaded, or simply drag the picture file from your computer to the editor field with the mouse. After that the image will be automatically uploaded and inserted at the cursor position in the field where you released the mouse.

qSome minor changes have been made in the layout of the script control panel to eliminate some errors in layout and improve the interaction with the control panel.

qMailing library, as well as a library for determining mobile devices are updated.

qAn issue is fixed where the [comments] and [not-comments] tags were not processed in the article preview.

qAn issue is fixed where meta tags for video and audio from social networks were not formed correctly when video was published in extra fields and consisted of playlists and descriptions of video and audio files.

qAn issue is fixed where in certain circumstances and with certain server settings the article preview might not work when adding articles from the site.

qAn issue is fixed where dynamic comments loading did not work if it is enabled in the engine settings and the {jsfiles} tag is located at the very bottom of the website.

qAn issue is fixed where the latest comments display did not work if some categories were not allowed for a certain user group.

List of changes of 11.3 version:

qControl Panel has been completely redesigned. We made it modern, readable and contrasting. Besides visual changes the new design also has a number of functional features. The new control panel has ten color schemes to choose from, not just one, and a special night template designed in dark colors for comfortable work in the dark. You can adjust the width of the sections side bar and width of the whole control panel. You also can enable a full-screen mode when working on devices with small screen sizes, hiding the browser bar and tabs to increase the working space of the panel. Each user of the Administration Panel can configure its custom look, its parameters and the color scheme. A special dual system for settings storage is used to save parameters of the panel. The settings are saved both on the server and locally in a browser providing unique features when using the control panel settings. Server-based saving of settings allows to avoid the "flickering" effect when applying the user's custom design, and also to automatically apply selected settings when using another browser. Whereas storing the settings locally allows you to restore the selected settings after a parameters reset on the server, for example, in case of engine re-installation or after its global update. We hope that you will enjoy the new control panel.

qA short preview of the latest personal messages has been added to the control panel . Thus, the user can quickly open the message directly from the control panel.

qThis feature allows you to choose the action right after the article is published. You can choose between: "Add another article," "Edit article," "Go to articles list." It allows you to go to the most frequently used actions in one click.

qThis feature allows you to choose the action during the editing right after the article is saved. You can choose between: "Back to article edit" and "Go to articles list." Thus, users who frequently save text of the article during editing can quickly go on edit after saving.

qNow you can enable a function in Static Pages section of Control Panel which allows you save the location of a user on a website before editing or adding the page. It allows to return user back to the previous location. This feature is useful when there is a large number of pages or setting any search parameters. After editing the user will not have to search or go back to the needed page manually.

qThis feature allows you to choose the action right after you saved a page. You can choose between: "Add another page", "Edit page", "Go to list of pages". It allows you to go to the most frequently used actions in one click.

qThis feature allows you to choose the action right after you saved a page. You can choose between: "Add another page", "Edit page", "Go to list of pages". It allows you to go to the most frequently used actions in one click.

qA new feature of highlighting of articles, comments, static pages, etc. In Administration Panel is added to perform mass actions on them. It allows to easily distinguish chosen elements.

qUser profiles edit has been completely redesigned in Administration Panel. Now you can edit all the profile parameters which previously were available only through profile edit on the website.

qA new Meta Tags module is added. This module allows you to reassign title, description, keywords meta tags for certain pages of the site in the Administration Panel. DLE engine automatically generates meta tags for all pages of the site, however you can reassign meta tags for any pages. For example, you can assign specific values for meta tags for the feedback page, rather than use general values from the engine settings. Now, with this module, you can do it in Administration Panel of your website. In this module you specify the URL of the page for which you want to reassign the meta tags and specify new values for these tags. After that, the specified values will be applied to this page. You can reassign all the tags together and separately. For example, if you leave the keywords field empty, the default values for that field and for that page will be applied. You can specify the address of the page for which you want to change meta tags, and also you can specify a URL group using the '*' character which stands for search by any set of characters. E.g., if you specify /page/*/, then specified meta tags will be used for pages /page/1/, /page/2/, /page/any text/, etc.

qNow you can export users from the website. If you use third-party services or programs for organizing mailings for users, then with using the export you can quickly generate the necessary data. Users export is done in Administration Panel in User Edit section. You can export both all users and users selected by criteria. You can export the list either in CSV or Exel format.

qYou can transfer articles to other categories at the certain time. To do this you need to choose "Move to another category" action in "Expiration before" option when adding or editing an article, and assign one or more categories where you want to move articles to when the given time is reached.

qYou can transfer articles to other categories at the certain time. To do this you need to choose "Move to another category" action in "Expiration before" option when adding or editing an article, and assign one or more categories where you want to move articles to when the given time is reached.

qNow you assign a password or a list of passwords for each article to view it. If a password is set for an article, then it will be asked to be entered to get an access to a full version of the article and the article will be shown only if the correct password is entered. The entered password will remain in effect until the user closes the browser, and the password will not be requested again within the same session on the site.

qYou can exclude certain static pages from the site search results. When adding or editing a page in Administration Panel, you can check "Exclude from search results" option for each static page separately.

qNow you assign a password or a list of passwords for each static page to view it. If a password is set for a static page, then password will be asked to open the page and it will be opened only if the correct password is entered. The entered password will remain in effect until the user closes the browser, and the password will not be requested again within the same session on the site.

qAutosuggestion for extra fields which have the type of "cross-references" when adding and editing publications is added. Words list for autosuggestion is obtained from the database. It makes it easier to fill these fields in, and also reduces the probability of an error in words.

qYou can use masks to specify a template for redirects in Redirects module. When specifying URL to perform redirect from, you can specify the '*' character which means that any set of symbols may be instead of '*'. E.g., you can specify /page/*/ to set redirect from pages like /page/1/, /page/2/, /page/any text/, etc.

qNow you can quickly switch to editing a group of a specific user.

qFor static page templates (static.tpl and other assigned pages), the new tag [edit] text [/edit] is added, which displays the enclosed text as a link to edit the static page for user groups who are allowed to edit static pages. This allows to quickly move to editing the needed page, when there is a large number of static pages.

qA new parameter "id_as_list" is added for custom articles tag {custom...} that works in conjunction with the "id" parameter, and sorts the publications as they appear in the list. For example, the tag {custom id = "3,4,1,2" order = "id_as_list"} will display articles first with ID 3, then 4, then 1, and 2. This feature is useful when you want to display the required articles in a strictly defined order.

qA new parameter "id_as_list" is added for custom comments tag {customcomments...} that works in conjunction with the "id" parameter, and sorts the comments as they appear in the list. For example, the tag {customcomments id = "3,4,1,2" order = "id_as_list"} will display comments with ID 3, then 4, then 1, and then 2. This feature is useful when you want to display the required comments in a strictly defined order.

qYou can allow to attach video in comments using the tags [vidеo=...] in user group settings. This option is used to allow or deny certain user groups to attach video in comments.

qYou can allow to attach media widgets in comments using the tags [mеdia =...] in user group settings. This option is used to allow or deny certain user groups to attach media widgets in comments.

qChanges have been made to quick editing of articles. Now in quick editing mode only those fields are shown that were previously filled in during article adding or full editing mode. This applies to both the article annotation and full article fields. If the article annotation and full article fields have not been filled in, they will not be displayed in quick edit mode. This feature is useful for those who use only extra fields in articles. They will not see unnecessary fields.

qYou can remove such fields as "article annotation" and "full article" from the article addition template, while retaining all other functionality of editors. This feature will be useful for those who use just extra fields to add articles.

qA new global tag for the {category-id} templates is added which allows to display the ID of the category viewed by the visitor. This tag will be useful when organizing the menu on the site and when you need to quickly reassign any CSS classes or the names of template files, when you edit articles display templates.

qA new global tag {category-title} is added for templates , which allows to display the name of the category viewed by the visitor. This tag will be useful when you need to display the name of the category you are viewing.

qYou can specify a full description for categories. The description is created in the Administration Panel when adding or editing categories in the corresponding section. In the description of the category you can use both BBCODES tags and HTML tags. A new global template tag {category-description} is used to display the description on the site when the user views the category. It is also available when displaying full descriptions.

qYou can use a new "only" value for the "subcat" parameter of the output tag {catmenu ...} of the category menu, which allows to display only subcategories of the specified category. For example, if you use the {catmenu id = "1" subcat = "only"} tag, only the subcategories of the category with ID "1" will be displayed. This feature is useful to display only subcategories of a certain category. For example, you can automatically display a list of subcategories from the viewed category using the simple expression [available = cat] {catmenu id = "{category-id}" subcat = "only"} [/avalilable] .

qNow you can exclude the selected category from search results in the Category Settings of Control Panel. Thus, you can set visibility of each category in search results. If the category is excluded from the search results, then articles from this category will not be displayed there when you search for articles.

qNow you can display the uploaded images separately for extra fields of "Image Gallery" type. For this the tag [xfvalue_X image="Nr"] is used in templates, where "X" is the name of the extra field, and "Nr" is the number of image from the gallery. For example, if you apply [xfvalue_test image="2"], then image number two will be displayed and loaded into an additional field named "test". Thus, you can use one field, and at the same time display a preview from the gallery in one picture in article annotation, and full gallery when viewing the full article.

qNow you can safely use {titlе} tag in HTML attributes when displaying articles. For example, you can use alt="{titlе}" and the text will preserve the validity of the document if the header contains quotation marks.

qSupport for attaching videos and posts from Facebook has been added for [mediа=...] tag.

qGzip compression for CSS files used by the engine is added, which allows to significantly reduce the size of CSS files, and therefore to speed up the loading of pages. Compression can be enabled together with the compression of JS files in the engine settings. When you enable compression, only DLE engine’s own CSS files are compressed.

qNow you can enable automatic reset of the browser cache for CSS and JS files used by the engine after its update. This feature allows the browser to use the newest files after the engine update, not use the old ones from the browser cache.

qTag {THEME} is now supported in promotional materials preview in the engine control panel.

qA visual highlight is added for the number of characters entered into the field, and the number of allowed symbols left when adding any data in Administration Panel. This feature allows to visually see the maximum amount of symbols available for the field.

qIf the protocol of your site is not specified in the engine settings, DLE will use a secure SSL connection and will generate links to HTTPS protocol starting from this engine version.

qPreventive measures are added to protect the site from "endless" redirects if only HTTPS protocol is enabled in the engine settings and the server is not configured properly and does not transmit information about the used protocol.

qPreventive measures are added for the word filter section to protect against accidental deletion of words from the word filter in Administration Panel. Now this action requires confirmation.

q403 HTTP code (access is denied) is sent to the browser for personal article bookmarks pages if an unregistered user goes to the bookmark address. Thus the page’s data will not be indexed by the search engines. Search engines are not indexing a page with just one access error.

qThe database load has been significantly reduced when displaying the latest comments on websites with a large number of comments.

qThe display of the tag cloud block is optimized for databases with a large number of articles on the site. The database query is improved and speeded-up.

qSupport for curly braces "{" and "}" in the "Word Filter" module is added and now you can use words containing these symbols in the filter.

qArticles from the site map are automatically hidden from search engines if access to the article is denied for guests in "Access" tab of the article.

qFroala and TinyMCE editors have been updated. Previously found issues are fixed in both of them.

qHTML code parser for published articles is updated.

qAn issue with the incorrect CRON notification of search engines about the site map updates is fixed when the site name was specified without a protocol in the engine settings.

qAn issue is fixed where visual editors could not be displayed on the article publication page if there were "custom" tags on the page.

qAn issue is fixed where the visual editor could not load during quick editing if articles display was done only by {custom …} tag, without using the main {content} tag.

qAn issue is fixed where the merged text was sent without line breaks in e-mail notifications about new comments or personal messages.

qAn issue is fixed where line breaks were lost in empty lines when using the TinyMCE editor for articles.

qAn issue is fixed where some template tags for static pages were displayed incorrectly when displaying static pages in search results.

qAll previously declared and found small errors are fixed.

List of changes of 11.2 version:

qNew "Redirect" module is added for Administration Panel of the engine. In this module you can specify URLs to create redirects to another pages. This module will be really useful, when you delete or move something to another location. For example, you deleted a certain category and replaced it with another one. In this case you can create a redirect from the previous category to a new one by specifying an old and a new URL in this module. When visiting an old address 301 redirect will be performed, which redirects users to a needed page automatically and allows search engines to link the needed URLs. Also, this module may be used if some of your links were incorrectly indexed by search engines.

qCaching system of Memcache was completely rebuilded. The concept of data prefixes was introduced for this type of caching. If you choose this type of caching and change some information in a database , cache is cleared for the required elements only but not completely, as it was before. This type of caching greatly reduces the server load.

qNow in engine settings you can specify the number of pages to be cached for article annotations. Earlier the script could cache only the first 10 pages of navigation on the website. Now you can specify any number of pages that you want to cache.

qNow you can set only HTTPS protocol to be used on your website. When this option is enabled, all users who visit your website pages using HTTPS protocol will be redirected to the secure SSL connection. Thereby, there is no longer need to edit .htaccess files and nginx settings to make automatic redirections.

qNow you can enable BB tags in engine settings to be used for images in WYSIWYG editors. If this mode is enabled, images will be inserted as BB tags. It will be useful for those who use visual editing for articles and want to optimize the space taken by images in the edit field. If you turn this setting off, images will be displayed as pictures.

qNow you can attach files to feedback letters. For this, in User Group settings you can specify user groups which are allowed to attach files to the letters. You also can set the maximum number of attached files and their maximum total size.

qNew [attachments] text [/attachments] tags are added for a feedback template (feedback.tpl). Text in these tags is displayed if attachment of files for feedback letters is allowed for a certain user group.

qNow you can use several feedback forms on the website. A special URL is used in the browser for this. http://yourwebsitename.com/index.php?do=feedback address is used to add a standard feedback form. In order to add another feedback form, you can use http://yourwebsitename.com/index.php?do=feedback&template=X1&mailtemplate=X2 address, where X1 is a name of a feedback form, and X2 is a name of a letter template which is sent using this form. If X1 template is specified, then you should have feedback_X1.tpl file on the server in the template folder, and if X2 is specified, then you should have email_X2.tpl file on the server in the template folder. For example, if you specify http://yourwebsitename.com/index.php?do=feedback&template=test&mailtemplate=test then feedback_test.tpl feedback file and email_test.tpl email file must be in the template folder. These files support all the same tags as the standard feedback form and standard email template in the Administration Panel do. Concerning that feedback forms support several types of extra fields, you can make several feedback forms on your website.

qAll images published using BBCODES tags automatically are receive adaptive properties so that they do not go beyond the boundaries of the website elements where they are published. It makes template markup process easier for beginners.

qSearch by username, IP, and date is added for "List of Actions in Administration Panel" module. You should simply enter the needed data in a search bar and the engine will search for the corresponding data. It allows to easily find required information in logs.

qH1...h5 heading tags are now ignored in "Cross-section" module. Text will not be replaced with cross-sections in these tags.

qSearch and replacement for promotional materials is added in the Control Panel of the engine for "Search and Replace" module .

qNow you can specify the article from which the rebuilding will be started for "Articles Rebuilding" module. For example, if the articles rebuilding process is broken, or the window is accidently closed, you can continue rebuilding from the needed article without having to start everything from the beginning.

qComments rebuilding is added for "Articles Rebuilding" module. In case of changes in the parser or website settings you can run an automatic rebuilding for all comments on the website so that the changes took effect in previously published comments.

qIn articles rebuilding section in the Control Panel of the engine the speed of the articles rebuilding is increased. Also, the errors processing system is improved.

qNow comments edit modules support comments editing instead of a simple text field. You can enable this in the Control Panel. It provides a more convenient way to edit comments.

qNow you can select all comments with a single click to perform mass actions faster. You can enable it for comment edit modules in the Control Panel.

qUnregistered users are filtered by IP, username, and email address when they add comments. If the username or email address is in the filter list then the user is not allowed to leave comments.

qNow you can specify categories in a browser bar to be selected by default. This feature is added for articles publishing module. For this the following URL is used: http://yourwebsitename.com/index.php?do=addnews&category=X, where "X" stands for IDs of needed categories, separated by comma. For example, if you use http//:yourwebsitename.comindex.php?do=addnews&category=3,4,5, then categories with IDs 1, 2, 3 will be chosen in the article add form. It is useful if extra fields for articles of several categories are used on a website, and if you want to give several forms for posting articles in several categories to users who add articles .

qNow you can use micro-markup directly in article text. (such attributes as: itemprop, itemtype, itemscope)

qAutomatic long words splitting is added for personal messages, not just for comments.

q"enclosure" tag for RSS feed is now supported for RSS informers. It is used to define images. If there is no images in an article text of RSS feed, but they are defined by enclosure tag, then an image from this tag is assigned for {image-1} tag. E.g. it can be useful for weather RSS informers.

qNow you can specify which user groups are allowed to see hidden text ([hidе] text [/hidе]). In the tag parameters you can specify which groups are allowed to view the contents. For example, you can write [hidе=3] text [/hidе] and in this case only reporters are allowed to view the contents of the tag. Groups can also be enumerated by commas, e.g. [hidе=2,3,4] text[/hidе]. If the group parameter is not specified, then the group settings from the Control Panel are applied which define whether user is allowed to view the text or not. Website Administrators can always see the hidden text, regardless of the parameters specified in the tag.

qTag [media=...] in News is completely re-made. Now this tag is intended not only for embedding video from youtube service, but also for embedding various photos, audio, video, documents and widgets from a large number of websites and services. For this, the tag has been completely shifted to use oembed open protocol, which helps to get the embedding code from the services. 15 services are supported at the moment: youtube, instagram, twitter, facebook, flickr, vimeo, docs.com, vine, gettyimages, codepen.io, dailymotion, mixcloud, soundcloud, coub, ifixit. New services that support oembed can be easily added if necessary.

qNow you can use a new futureannounce="yes" parameter for custom articles display using {custom ...} tag. This parameter works in conjunction with the days="X" parameter, and specifies that articles from future dates should be taken. For example, {custom futureannounce="yes" days="1"} tag means that it is necessary to display articles whose publication date is set to tomorrow (+1 days). {custom futureannounce="yes" days="2"} tag displays articles whose publication date is set for tomorrow and the day after tomorrow, etc. This parameter may be useful for those who want to show upcoming announcements on a website.

qIf "Block files uploading from other servers" is enabled and the link to your file is posted on another website then users who click this link will be transferred directly to a needed article or static page where the file is located, not to a homepage of the website.

qNew {id} tag which shows category's ID is added for category menu template (categorymenu.tpl). It can be useful if you need to visually emphasize a certain category.

qIn language files of control panel you can select a date format. It can be useful if your website is intended for a culture where date format differs from Russian format.

qPreventive protection measures are added in case of accidental deletion of images uploaded to an article by clicking "Delete Chosen" button. You'll have to additionally confirm that you want to delete the selected images.

qAutomatic image format detection is added for cases of inconsistency of file data with the file extension. For example, if an image has .jpg extension, but in fact it is a .gif image, then the engine won't display the file error, but it will automatically process the image as .gif image.

qA typographic processing of text is added for TinyMCE and Froala editors. Also, general improvements of typographical processing rules are made.

qDatabase load is optimized for articles which are displayed using {custom ...} tag when categories are specified as an articles selection criteria, and articles from some categories are prohibited to be displayed in Group Settings .

qAutomatic detection of the URL encoding is now added for articles from the tag cloud and for results of a search by extra fields. Encoding of such URLs is defined automatically not to loose them if the encoding type is changed, i.e. when replacing windows-1251 with UTF-8.

qControl System for incorrect user-friendly URLs is improved for articles displayed from the tag cloud, for results of a search by extra fields, and for categories displaying.

qThe system of article blocks caching is improved when they are displayed using {custom ...} tag.

qNow voting logs and ratings of deleted users are automatically removed. For example, if users are automatically deleted after not visiting a website for a certain time then their information in logs is also cleared. Thus, if a new user will choose a username of a deleted user he will be completely able to rate and vote.

qThe system of safe embedding of flash elements into an article text field is improved. The names of the acceptable variables are no longer case sensitive and can be written in any register.

qPHPMailer email creation and transfer library has been updated.

qTinyMCE and FroalaEditor have been updated. Also, in FroalaEditor it is now possible to paste text from MS Word and keep its formatting the way you like.

qAutomatic control of URLs encoding which are published using [lееch=...] text [/lееch] tag. If a URL is published when a certain encoding is used on the website and later the website changed the encoding type then the URL which contains non-latin symbols will also be automatically converted when editing.

qNow when you rate an article it is checked whether it is allowed to rate the article or not. It prevents from beefing up a user's rating when it is prohibited to rate certain articles.

qNew preventive mechanisms are applied to protect the website from intruders who use social engineering techniques.

qLoading and rendering of website pages where WYSIWYG editors are used is optimized and accelerated. Gzip is now used to compress TinyMCE editor. Duplicate editors loading is removed for articles and comments editing and also for comment replies.

qDLE player no longer supports .flv videos.

qAn issue is fixed where [videо=...] tag is not processed if there is no full domain name with a protocol in a video's address.

qAn issue is fixed where website layout is damaged if service DLE tags are used in article headings.

qAn issue is fixed where contents of a hidden text could be seen by users subscribed to comment notifications, even though they might not be allowed to view hidden text when publishing a comment which contain hidden text tags.

qAn issue is fixed where users are allowed to use non-breaking spaces as usernames, which allows to make visually unseen usernames.

qAn issue is fixed where there could be problems with custom extra fields when posting articles. It happened if not all extra fields were used in articles publication template.

qAn issue is fixed where an incorrect signature was sent in the letter confirming the change of e-mail address if the full address of the website was specified without a protocol in the engine settings.

qAn issue is fixed where it is impossible to set 0 as a value of custom extra fields.

List of changes of 11.1 version:

qNow Two-Factor Authentication is added. This feature can be enabled Engine Settings of Control Panel. If it is enabled all users are able to activate Two-Factor Authentication in their profile settings. When user activates this type of authentication, a one-time PIN is sent to user’s email address as he/she logs in using the own username and password. That one-time PIN must be entered to get an access to user’s account. With this setting user also enables "IP change control" and "Browser and device control". This option improves the security of user data greatly. For example, if account login data is stolen, it is still not enough to access the account, since access to user’s email address becomes necessary.

qNew {twofactor-auth} tag is available in user profile template (userinfo.tpl). It displays the check box where user can enable or disable Two-Factor Authentication.

qArticles counter for each category is added. Articles are counted in each category taking into account various site settings and parameters of the article. For example, if article is published in a subcategory and subcategory articles display is enabled in parent categories, then this article will be counted in all the parent categories. However, if parent category is also specified in the category list of this article, then the double counting will not be performed. The most effective method is used to count this data, which allows to save memory and reduce loads. For this, MySQL server does its part of counting, and PHP does the rest part. Also, the counted articles are cached if caching is enabled on the website. Although the optimal counting method is used, this option increases the server load, so you can enable or disable it in engine settings of Control Panel. This counted data can be displayed in different ways which will be described further in this description.

qNow you can make and display category menu in templates. {catmenu} tag is used to display category menu. This tag can be used in any template file, it is global. It uses and embeds categorymenu.tpl template file.

q{catmenu} tag may not only be used to simply display the category menu, but it can also be customized. The following parameters can be customized for this tag: {catmenu id="1,2,3-5" subcat="yes" template="custom" cache="yes"}

qA new global {catnewscount id="X"} tag is added for templates. It displays the number of articles within a certain category, where X stands for ID of a needed category. This tag is useful to display the number of categories in manually created menu templates.

qA completely new HTML code parser is added for articles editing. This parser is used to filter the incoming HTML code when writing articles and static pages. The new parser, unlike the old one, not only checks all the entered text on the security of HTML code, but also automatically corrects user errors in the code. For example, it closes unclosed HTML tags, removes incorrect CSS styles, and fixes bugs related to the validity of entered HTML code. Along with the new parser features, HTML code checking is carried out much faster than in the old parser (in comparison with the previous 11.1 version)

qAll the HTML code generated in articles texts by DLE is transferred according to the HTML5 specification instead of the outdated XHTML.

qA completely new user password storage system is added in MySQL database. Earlier md5 algorithms were used to store passwords hashes, which have become obsolete fairly quickly. They allowed to get the original password using brute force method if an attacker gained access to the password hash. The new password storage system uses CRYPT_BLOWFISH hashing algorithm, which currently is considered as an attack-proof cryptoalgorithm. This update is designed primarily to protect the original user passwords in case of the database crack, for example, if an attacker gains direct access to the database. Since original passwords are not originally stored in the database, password hashes change is performed in the "soft mode" as users enter the website using their usernames and passwords. Thus, all the existing passwords work, but as users log in, the hashing algorithm is replaced. Also, a new password storage system provides an automatic password hashing algorithms update as soon as new cryptographic algorithms appear for PHP, thereby password hashes will always be stored in a safer way.

qThanks to the new password storage system, when a website account connects to a social network account, the initial password no longer resets. If you are a previously registered website user and logged in using a social network, you can no longer continue to use your old password to log in.

qA more simplified insertion of flash movies and flash players is added. Now the engine will automatically turn the code of a flash video in the safest form, instead of just removing it from the article text. Even though Flash technology is outdated, many websites continue to use it.

qNow you can restore the forgotten password directly on the page of entering to Control Panel . Also, the password recovery algorithm is changed. Previously, password recovery was disabled for groups that have access to the Administration Panel for security purposes, supposing that administrators will not forget passwords from their website. However, practice has shown that these people forget their passwords too, which led to password recovery problems and to manual editing of the database. Now all users who have access to the Control Panel are always forbidden to recover password from the website, but they always can make it directly from the login page of Control Panel. In order to secure administrator passwords from the recovery in case if, for example, administrator’s email was hacked, Administration Panel address can always be renamed with a unique name, thereby making this page unavailable for the other people.

qNow mass mailing and messaging can be performed in Administration Panel by choosing a registration date duration of users to send them messages. It provides an additional flexibility for mass mailing.

qNow mass mailing and messaging can be performed in Administration Panel by choosing a range of users’ last visit dates to send messages to these users. It provides an additional flexibility for mass mailing.

qArticles sort order by the date of edit can now be used to display articles with a custom format using {custom ...} tag. For this order="editdate" parameter is used. For example, if {custom order="editdate" sort="desc" limit="5"} is used, then the last five edited articles are displayed. This displaying method is useful when you need to show the recent information in the news block, e.g., when links are updated, etc.

qNow you can add help text when making article extra fields, which will be shown to users while adding articles. It allows you to show tips for users to know what to enter into the field.

qNow you can specify which user groups are allowed to use a certain field when making article extra fields. It allows you to manage fields not only in terms of categories but also in terms of user groups.

qNow you can set which user groups are allowed to see certain fields in the published articles when you create article extra fields. It simplifies the process of layout markup if some groups are denied to see certain extra fields. It can be easily enabled and disabled in the Control Panel.

qNew {image-x} and [image-x]text[/image-x] tags are now supported in RSS feed template (rss.tpl). They display URL of an "X" image and show text between them if an image presents.

qTags {image-x} and [image-x]text[/image-x] are now able to support text not only from a brief article description, but also from article extra fields. Images numbering firstly comes from a brief description text, then from an extra fields text. This feature is useful for webmasters who do not use an article brief description, and place pictures in extra fields texts.

qTags {image-x} and [image-x]text[/image-x] can now ignore emoticons in texts. Previously if emoticons were used in a text they were accounted and displayed by this tag. Now they are completely ignored and not taken into account, and only images from articles are displayed.

qIf an article is removed from a website and sent for moderation, this article is not shown in Related Articles section. Previously, it was necessary to reset the related articles cache to remove it from this block.

qPHP interpreter running mode now can be automatically detected on a server. If the operating mode has been changed in Server Settings, then features not supported by this mode will be disabled. For example, if advanced authentication mode is enabled in Control Panel and PHP has been switched into FastCGI or CGI where this mode is not supported by the server, this feature will be automatically disabled, and the Administrator will easily log into Control Panel.

qNow subscription to articles comments is available without leaving a comment there. New [comments-subscribe] text [/comments-subscribe] tags are added in a full article template (fullstory.tpl) and add comments template (addcomments.tpl). Text between them is displayed as a link to the article comments subscription. It allows users to subscribe to comments without leaving a comment.

qNow you can use extra fields in the feedback section of your website. You only need to place the desired field with the specified name in feedback form to add an extra field there. After that it is available to be used in email message templates. It is necessary to use the following attribute: name = "xfield[X]" in the input field to add additional field to the form, where X is the name of the field written in latin letters.

qNow in Administration Panel you can set advertising materials to be displayed or not displayed on specific devices. You can set your advertisements to be shown on a single or several types of devices such as: computers, tablets or smartphones. It allows to simplify the template layout, and to slightly reduce the traffic amount if advertising materials are not shown.

qNow in Administration Panel you can set advertising materials to be displayed or not displayed on specific devices. You can set your advertisements to be shown on a single or several types of devices such as: computers, tablets or smartphones. It allows to simplify the template layout, and to slightly reduce the traffic amount if advertising materials are not shown.

qLogging of successfully authenticated users who have access to Administration Panel is added in logging system of administrators’ actions . Previously only unsuccessful login attempts and successful authentications to the Control Panel were recorded.

qThe size and checksums calculation for the files uploaded using the engine is added to these files. After that these files are saved in a database along with other information about them. When attachments are displayed for downloading, this information is not calculated in real time for each displayed file, but is taken from the database. This feature significantly reduces the server load when large number of files is published.

qNow you can specify descriptions for small image versions using FroalaEditor WYSIWYG editor. To set the description you need to write an alternative image description text using the corresponding button on the image. These descriptions will be displayed when original images are opened using smaller image versions.

qInsertion of small image versions is changed in TinyMCE WYSIWYG editor. Now HTML code is used to display small image versions in the editor instead of BB tags. Thus, the inserted image is instantly displayed in the editor and you can edit the image (for example, you can write its description).

q[img ...] tag formatting is changed in order to ensure better SEO of your website. Now "alt" attribute of the tag of the first image in the text field is automatically filled with the article headline (if there is no manual description). For all the other pictures this field remains blank. A situation when different images have the same description can have a negative effect on search engine optimization, so it is better to make image descriptions manually if you want to improve the optimization as much as possible. To make this change for the old published articles, it is necessary to run articles rebuilding from Control Panel.

qGeneration of small image version appearance is changed to ensure better SEO of your website and get rid of redundant code. Now an image description is automatically taken from the “alt” attribute. And this attribute will not be automatically filled with the article title if there is no manual description. To make this change for the old articles published earlier, it is necessary to run articles rebuilding from Control Panel.

q"rel" attribute is now unavailable for the generated code of small image versions in order to secure the validity of the generated code.

qNow access parameters of user groups are checked to allow or deny them to download files attached to an article . It can be enabled in "Access" tab. For example, if a certain user group is forbidden to view the article, it will not be allowed to download files attached to this article too.

qNow category access parameters of user groups are checked to allow or deny them to download files attached to an article.. For example, if a certain user group is forbidden to view the articles category, it will not be allowed to download files attached to these articles too.

qThe self-reference detection system of Cross-Reference Module is improved, when AutoCorrect is not performed. Previously, it was necessary to write the link in the full format, including the domain, e.g.: http://site.com/test/1-test.html and only in this case there was no replacement on the page. Now it is sufficient to write its shortened version, without specifying the domain /test/1-test.html and keyword will not be replaced when visiting the page. This feature will be useful if “http” and “https” are both used on a website at the same time and also if multiple mirror domains are used.

qThe check of a category assigned to the article when adding a new category in the mass actions is added in the content management section of Administration Panel. If the category is assigned, then it doesn’t assign again. This feature allows to avoid multiple assignations of categories to articles.

qThe processing system of article extra fields during their displaying in templates is improved. Now it is not necessarily to specify values of these fields in templates in order for these fields to be processed. This feature is convenient for webmasters who use a variety of field values to form the desired template markup, but not to display these fields in the template.

qDrop-down menu of the Administration Panel is improved so that it does not exceed the visible part of screen when its height is too big.

qChanges are made in the sort order of the uploaded images. Previously, uploaded images were sorted in the order in which they were uploaded, and when any of the images was deleted they sorted in alphabetical order, which confused users if there are many images in the article. Also, it made it difficult to find the needed image to insert it into the article. Now when you upload images they are also stored in the order in which they were uploaded, but when an image is removed, the order of the other images stays the same.

qControl system for incorrect user-friendly URL is improved. If a link to homepage or categories has a nested structure with several pages separated by slashes, and it does not end with a slash, it will redirect you on this page, but only with the slash in the end. For example, previously an incorrect link to a category: website.com/test/page/3 without a slash in the end redirected you to website.com/test/, whereas now it redirects you to website.com/test/page/3/ and you will reach the needed page.

qThe engine compatibility with MySQL v. 5.7.x is improved.

qTinyMCE and FroalaEditor WYSIWYG editors are updated to the latest versions. Many bugs of these editors were fixed for many browsers.

qAn issue is fixed, where a full path to the uploaded avatar haven’t been saved when user logged in using social network account. It could lead to problems with user avatar displaying if a single user data is used on multiple domains and websites.

qAn issue is fixed, where incorrect articles selection could happen sometimes if {custom ...} tag is used with combination of several parameters.

qAn issue is fixed, where extra fields with "Image Gallery" type were displayed incorrectly if various extra fields are displayed simultaneously both in the full article template (fullstory.tpl) and in the main page template (main.tpl).

qAn issue is fixed, where error "Field value is too long" could appear for fields which are automatically generated by the engine, e.g. for description meta tags.

qAn issue is fixed, where reCAPTCHA key couldn’t refresh after successful comment posting.

qPreviously declared and found small errors of the engine are fixed.

List of changes of 11.0 version:

qUploading images to comments is now became possible. This possibility is enabled and adjusted in Group Settings. You can adjust image uploading for comments for each user group separately. Also you can set different setting parameters for uploaded images, for example maximum number of uploaded images, image width, height and file size, etc. A user deals with a simplified comment edit form when uploading images to comments. These images are uploaded according to related presets in Group Settings. User is able to manage his uploaded images. They can be deleted or replaced if it is allowed to edit comments.

qInnoDB engine support is added for MySQL database. You can select the type of storage during the installation of the engine. User can choose InnoDB or MyISAM. We recommend to keep in mind the following when you make this choice: If your website is not frequently updated by new contents (registration of a huge amount of users, frequent comments posting, etc.) then it is recommended to use MyISAM type since it has faster access to a database. If your website is expected to be used for active discussion by a big number of users then we recommend to use InnoDB type. InnoDB is the best option for the most websites since it scales easier in the future. Database type choise is available only if the version of MySQL is 5.6.4 or newer. If MySQL version is older then only MyISAM is available.

qIn this version you can create and manage playlists for video content of the website.

qNow you also can create a description for video in the player. The following format is used in video tag for this: [videо=path to a video file|path to the thumbnail|description of the video]. The same can be used for a group of video files in a playlist separated by comma. The example of the display may be seen on the screenshot above.

qLinks to YouTube videos can be used in [videо=...] tag. It allows you to create mixed playlists with your uploaded videos and videos from YouTube.

qIn this version you can create and manage playlists for audio content of the website. You need to specify audio files separated by comma in audio tag to add them to a playlist

qNow you also can create a description for audio tracks in the player. The following format is used in audio tag for this: [audiо=path to an audio track|description of the track]. The example of the display may be seen on the screenshot above.

qLinks to audio streams can be specified to be played in the audio player. It allows you to create and manage playlists of audio streams.

qThemes selection for the player is available in Player Settings of Administration Panel. You can choose between the light and the dark theme to make the look of your player more suitable to your website’s design.

qThe procedure of embedding of audio and video content is improved in editors. You can create playlists while adding a video. There you can specify links to a video or audio content, links to thumbnails, and their description.

qA new WYSIWYG editor is used in DataLife Engine. Its name is FroalaEditor. This editor has simple and user-friendly interface (the best interface in our opinion) to create and edit a content. HTML-code generated in it is the most clean and doesn’t have anything unwanted in it. It is also comparitevely lightweight and it renders quickly on the page.

qA new extra fields type is added for articles. It is called: "Uploaded Image Gallery". In this field you can adjust settings for uploaded images, set the maximum number of images available to upload into this gallery. Image is uploaded by a single click in Administration Panel or on the website. Images are grouped into an image gallery to display this field on the website.

qThe automatic restriction for uploading images or files is added for extra fields of "Uploaded Image" and "Uploaded File" types correspondingly. This restriction works until previously uploaded image or file is removed. It allows to avoid keeping unused files associated to articles on a server.

qNew tags [xfvalue_thumb_url_X] and [xfvalue_image_url_X] are added for extra fields of "Uploaded Image". These tags display URL of smaller version of uploaded image and URL of full-sized image correspondingly, where "X" stands for a name of an extra field. These tags may be useful for webmasters who would like to have customized appearance of published articles, e.g. together with another extra fields.

qFor extra fields of "Yes/No Switcher" type, a possibility to set “On” or “Off” value by default is added which can be used whe adding a new article.

qNow you can view uploaded by the engine documents online.. For this, the following tags are added into attachments display template (attachment.tpl): {online-view-link} whish displays URL of online view of a document, and [allow-online] text [/allow-online] tags. A text between them is displayed in case if an uploaded document is of the supported format. The following types of documents are available for the online view: Adobe PDF, Microsoft Word, Microsoft Excel. Documents are displayen directly in a user’s browser using Google Docs Viewer service, so users don’t have to have Microsoft or Adobe office software installed on their computers.

qSince developers of LiveEditor decided to end its support and there weren’t any updates in recent years we decided to remove this editor from DataLife Engine. Websites that were using this editor will be automatically switched to FroalaEditor.

qNow you can add a description (alt attribute) when attaching multiple images to an article. For this, you need to select a group of images and click on any of them to edit a description. After that, click "Add Selected" button. This description will be applied to all the images when attached.

qZend OPCache automatic cache reset is added. It resets the cache when website settings are changed. Thus you don’t need to manually reset the cache or wait for changes to take effect if this feature is activated.

qThe way of the list of categories displaying is changed in categories editing section of Administration Panel. Now all the subcategories are shown in a nested from. They can be expanded for a specific parent category when necessary. Also there are buttons to expand and collapse all categories of the list in one click. A pop-up window is used to add a new category. This simplifies the work with a large number of categories and subcategories in Administration Panel.

qFor each separate article you can unsubscribe all subscribers to its comments. If there are subscribers to an article, then you may see a number of them and unsubscribe them in More tab of Control Panel from this particular article when you edit it. This feature may be useful if article commentation is suspended.

qNow article comments subscription is available for published comments even when these comments are moderated.

qIn this version there is an indication of number of articles user is subscribed to in a user profile. User can unsubscribe from comments to articles there. For this, a new {unsubscribe} tag is used in userinfo.tpl template. It shows a checkbox which allows to unsubscribe from comments and shows the number of articles user is subscribed to.

qAlso there is an option in user profile that allows users to subsribe to automatic notifications on new comments to their articles. A user doesn’t have to subscribe to every particular article he or she made. User just needs to check the corresponding checkbox on User Profile page. To display the checkbox, a new {news-subscribe} tag is used in userinfo.tpl template.

qUser can subscribe to automatic notifications on replies to his/her comments in user profile. To do this, user needs to just check the corresponding checkbox on his/her User Profile page. To display the checkbox, a new {comments-reply-subscribe} tag is used in userinfo.tpl template.

qPHP Memcached extension is now supported! DLE engine automatically defines which of PHP extensions is installed, Memcache or Memcached, and depending on that it uses the corresponding PHP extension if Memcache is enabled in engine settings. Thus there is no more need to stick to PHP Memcache extension only.

qNow it is possible to add one category for multiple articles in a list of mass actions of Edit Article section in Administration Panel. Unlike the currently existing "Change Categories" option, "Add Category" allows to assign chosen categories to the articles, without changing previously created categories.

qNow you can specify a range of articles in [news=1,2,3] Text [/news] template tag using a dash symbol. For example, you can specify [news=1,2,50-60] Text [/news]. Likewise the range may be specified the same way for the opposite [not-news=1,2,50-60] Text [/not-news] tag. It simplifies the process of design, and you don’t have to specify each article’s ID separated by commas.

qNow you can specify a range of pages in [page-count=1,2,3] Text [/page-count] template tag using a dash symbol. For example, you can specify [page-count=1,2,50-60] Text [/page-count]. Likewise the range may be specified the same way for the opposite [not-page-count=1,2,50-60] Text [/not-page-count] tag. It simplifies the process of design, and you don’t have to specify each page’s number separated by commas.

qNow users can unsubscribe from letters sent from "Mass mailing" of Administration Panel. For this, you need to use {%unsubscribe%} tag in a mailing template or in a particular letter, which represents a URL to unsubscribtion from letters for this user. When user follows this link, his/her profile marks gets "Do not receive notification letters" status. User just needs to follow the link without necessity of logging in to the website or performing any other actions. It allows to unsubscribe from notification letters from the website easily if he/she lost the interest in it. Unsubscribed status of user still allows to send him/her notification and information letters. We highly recommend webmasters to take users’ subscription status into account in order not to get into spam filters of users’ mailboxes.

qA new rel attribute is added for all external references, which are posted in articles and comments. This attribute has "external noopener noreferrer" parameters. It allows to reduce the possibility of potential website attack by social engineering mechanisms.

qNow you can set the number of days to cache a full article after its publication. Cache creation and updating is a time-consuming operation. Articles lose their popularity over time, and if an article is not often read, then it is inappropriate to create and maintain the cache for it for a long period of time. If there are not many articles published on your website, then you can increase the number of days, but if you do have many articles published, you would better reduce it. Anyway, we do not recommend to set the caching time less than 30 days. Use shorter periods only if you experience problems with a free disk space or if you have many articles published monthly. But for those who do not publish that much articles, we recommend to increase the period.

qSince this version you can move all the articles from one user to another in Edit Users section of Administration Panel. For this, you must select the needed articles, choose transfer of articles to another user, and specify username where articles will be transferred to. This feature will be useful in case if there is a need to move all the articles to another user before deleting the account.

qNow you can recount the number of articles of a user automatically in Edit Users section of Administration Panel. For this, you need to click the number of articles and choose Count Articles. This feature can be useful if there were mass actions on articles or articles were added by-passing the engine.

qNow you can recount the number of comments of a user automatically in Edit Users section of Administration Panel. For this, you need to click the number of comments and choose Count Comments. This feature can be useful if there were mass actions on comments or comments were added by-passing the engine.

qThe speed of articles displaying is improved when articles are sorted by rating or views. The displaying speed of articles sorted by rating is also improved.

qThe system of comments number accounting in user profile statistics is improved. Also, a mass counting of comments is performed when deleting articles. It eliminates the need for periodic statistics recounting.

qThe view of DataLife Engine Administration Panel is optimized for portrait orientation of mobile devices. Thus the control panel became friendlier to smartphones.

qJquery library is updated to 2.xx

qTinyMCE editor is updated to the latest version.

qIn this version the problem is solved, when it was impossible to use a dot symbol in extra fields of cross-reference type.

qIn this version the problem with formatting of invalid HTML markup of nested comments is solved.

qThe problem is solved, where URL to a category with user-friendly URL was displayed for {category-url} tag, regardless of user-friendly URL settings in Administration Panel.

qThe problem is solved, where extra fields’ indexes were doubled for those extra fields which had cross-reference option in case if article is associated with several categories.

qThe problem is solved, where [available=main] text [/available] and [not-available=main] text [/not-available] tags of Home page didn’t work properly if the static page was set to be the Homepage in engine settings.

qThe problem is solved, where a return to the first page of Edit Articles section happened if article’s comments removal was performed in this section, regardless of pre-defined search and display filters.

qIndicated and previously declared small errors of the engine are fixed.


Installation

Navigation: Work With The Engine >

Installation

Script installation on the server

Script installation on the server is fully automated and should not cause any problems, but you need to perform some steps to set access rights to folders.

1. First, copy all the files from the upload folder of this archive to your server.

2. Make the templates folder and all its subfolders writable.(CHMOD 777)

3. Make all files in the templates folder writable. (CHMOD 666)

4. Make backup and uploads folders writable, as well as all the folders inside them. (CHMOD 777)

5. Make the following folders writable (CHMOD 777) /engine/data/, /engine/cache/, /engine/cache/system/.

6. Run the http://yoursite.com/ and follow the instructions.

Warning: Clear installation of the script erases the data of previously installed DLE script. Read the upgrade instructions to update the installed script.

Automatic installer will check all the necessary files and adjust connection to the database. After installation is complete, you can go to demo page http://yoursite.com/ and see how the script works. To access the Administration Panel, you must go to http://yoursite.com/admin.php.


Upgrade

Navigation: Work With The Engine >

Upgrade

Since version 13.0, there are two types of update available for DataLife Engine. Manual and automatic. If your site has a version lower than 13.0, you must use the manual update. If your site has a version 13.0 and above, you can use both automatic and manual updates.

Automatic update:

In the admin panel of your site, on the home page, click on "Check updates" and if there is a new version, click on the link update script, then follow the instructions on your site. You can also go directly to the admin panel in the update section at http://yoursite.com/admin.php?mod=upgrade and follow the instructions.

Manual update:

1Make a backup copy of the database and all the script files on the server.

2Update all files on the server from the /upload/ folder of this archive (except /templates/)

3Log in your adminpanel http://yoursite.com/admin.php, and follow the instructions.

4Make the required changes to your templates, according to the list of changes posted at: https://dle-news.com/extras/diffs/


Getting Started. Templates

Navigation: Work With The Engine >

Getting Started. Templates

One of the engine features is that it can be connected to any existing design without any limitations. The engine can support multiple templates simultaneously. All templates are located in /tеmplates/ folder. Each subfolder of this folder is a separate website layout. So if you download a new skin for the engine, just copy it to the folder and allow its use in the Administration Panel. You can also allow users to change the design of your website and they will be able to choose how it will look. You can also set the number of news that appear on the page. To do this, go to script settings and set the corresponding parameter.

Note: In the template files you can use a regular html, or you can use special tags to apply some features. You can read about allowable tags in Templates section of this manual.


Displaying news on pages

Navigation: Work With The Engine >

Displaying news on pages

The basic layout of your page is in the template file named main.tpl. This file is first of all loaded by DLE script and all the other engine components are connected to it. Let us consider the main ones: {AJAX}, {info}, {content}, {custom}. These tags are responsible for the correct display of news.

{AJAX} tag displays JavaScript service tags that are necessary for a normal operation of the engine as a whole and AJAX technology in particular. It is recommended to place it at the beginning of the template after the <body> tag.

{info} tag displays service information about errors and performed actions (e.g. "Login failed, incorrect password" or "You must fill in all fields"). It is recommended to place it before the {content} tag.

{content} tag is responsible for the direct article and other engine modules displaying.

{tags} tag is responsible for the display of tag clouds (special keywords specified in the articles)

[sort]{sort}[/sort] tags are responsible for the display of news sort order selection for user if it is allowed in script settings

{custom} tag is responsible for the display of the article in a custom format. It has the following parameters:

{custom id="1,2,5-8" category="2,3,5-8" subcat="yes" author="x" days="x" template="custom" available="global" navigation="no" from="0" limit="10" fixed="yes" order="date" sort="desc" cache="yes"}

Where:

id - is the list of article IDs which you want to display, separated by a comma with no spaces. You can also specify the range of article IDs using the dash. For example, 1,4-8,11 displays the article with ID 1, articles with IDs from 4 to 8, and article with ID 11.

idexclude - is completely opposite of the parameter id="article IDs list" and allows you to display news that does not belong to the specified article IDs. For example, {custom idexclude="5-10"} will display all the news that do not belong to the range of IDs between 5 and 10.

category is the list of category IDs which you want to display, separated by a comma with no spaces. You can also specify the range of category IDs using the dash. For example, 1,4-8,11 displays the category with ID 1, categories with IDs from 4 to 8, and category with ID 11.

categoryexclude - is completely opposite of the parameter category="category list" and allows you to display news that does not belong to the specified categories. For example, {custom categoryexclude="2,7"} will display all the news that do not belong to the category IDs 2 and 7.

subcat indicates if posts from subcategories should also be included. The parameter can take one of the following values: subcat="yes" indicates that all posts from the category and its subcategories will be selected, subcat="only" indicates that only posts from subcategories will be selected and posts from the category won't. For example, site has only categories with ID 1, 2 and 3. 1 is a category, 2 and 3 are its subcategories. If {custom category="1" subcat="yes"} tag is used then all posts from categories 1, 2 and 3 will be selected.

tags - is the list of keywords from the tag cloud that is assigned to the news. For example, the tag {custom tags="news,templates"} displays all the stories that contain keywords from the tag cloud "news" and "templates".

template - is a template file that will be used to display news. In this case it will be custom.tpl. If you use multiple templates on the website then this file must be in each template. This template uses tags similar to the article annotation template.

available - is a section where requested news will be displayed. It can take the following values:

global - in all sections

main - on Homepage

date - when viewing news of a specific period

cat - when viewing category

showfull - when viewing the full article

search - when viewing search results

userinfo - when viewing user profile

register - when register

stats - when viewing statistics

pm - when viewing personal messages

feedback - when viewing feedback

favorites - when viewing favorites

newposts - when viewing new posts

addnews - when you add news

lastnews - when watching the latest news on the website

lastcomments - when viewing the latest comments

lostpassword - when recovering password from the account on the website

static - when viewing static pages

catalog - when viewing the page catalog

alltags - when viewing the tag cloud

tags - when viewing the news from the tag cloud

allnews - when viewing all the news on the website or all the news of any user

You can combine sections using "|" section, for example, available="userinfo|register|main" will display your news on the Homepage, at registration and when viewing user profile.

from - the article number you want to start with.

limit - number of news displayed

order - criterion of news sort. It can have the following values:

date - sort news by date

editdate - sort by date edit

rating - sort news by rating

reads - sort news by views

comments - sort news by number of comments

title - sort news by article titles

rand - random sort order for news

id_as_list - sorts the publications as they appear in the ID list. For example, the tag {custom id = "3,4,1,2" order = "id_as_list"} will display articles first with ID 3, then 4, then 1, and 2.

lastviewed - display user's last viewed posts

sort - specifies the publications sort order. Use desc to sort publications in descending order, and asc to sort publications in ascending order.

author - article author's login. News of the specified author only will be displayed if you use this parameter. Authors’ usernames can be listed, separated by comma. For example, {custom author="admin" limit="5"} tag will display 5 articles of the author with "admin" login.

authorexclude it allows to display publications of all the articles, except for the specified author's. Authors’ usernames can be listed, separated by comma. For example, {custom authorexclude="admin,test"} displays the articles of all the authors, except for the authors with usernames "admin" and "test".

catalog it allows to display publications, which contain the symbol code specified in the parameter. Symbol codes can be listed in the parameter, separated by comma. For example, {custom catalog="a,b"} displays the articles, which contain symbol codes "a" and "b".

catalogexclude it allows to display publications, which do not contain specified symbol code, where X is the symbol code assigned to articles. Symbol codes can be listed in the parameter, separated by comma. For example, {custom catalogexclude="a,b"} displays the articles, which do not contain symbol codes "a" and "b".

xfields it allows to display publications, which contain the value of extra fields of the articles specified in the parameter. Parameters can also be separated by comma. For example, {custom xfields="value 1, value 2"} displays the articles, which have extra fields which contain "value 1" and "value 2".

xfieldsexclude it allows to display publications, which do not contain the value of extra fields of the articles specified in the parameter. Parameters can also be separated by comma. For example, {custom xfieldsexclude=" value 1, value 2"} displays the articles, which do not have extra fields which contain "value 1" and "value 2".

days - is the time period, where x is the number of days, the news of which should be displayed. For example, {custom days="2" limit="5"} displays 5 news of the last 2 days.

banners enables or disables the output of advertising materials that are assigned for output between publications. This parameter can take two values: "yes "to enable output, and" no " to disable output. By default, if this parameter is not included in tags, the display of advertising materials between publications will be disabled. For example, the tag {custom banners="yes" limit="5"} enable the output of advertising materials between publications, according to the settings of these advertising materials

futureannounce takes values yes or no. This parameter works in conjunction with the days="X" parameter, and specifies that articles from future dates should be taken. For example, {custom futureannounce="yes" days="1"} tag means that it is necessary to display articles whose publication date is set to tomorrow (+1 days). {custom futureannounce="yes" days="2"} tag displays articles whose publication date is set for tomorrow and the day after tomorrow, etc. This parameter may be useful for those who want to show upcoming announcements on a website.

cache - takes values yes or no - to set whether to cache displayed data or not. It is recommended to cache it to reduce the load.

navigation - takes values yes or no - to set whether to use page navigation or not. Navigation is displayed only for pages that support navigation for the {content} tag. For example, the Homepage, category pages, etc. If the page does not support navigation, such as full article or a static page, then navigation will be automatically disabled for this tag regardless of the value specified.

fixed - takes values yes, no, only or without. It is used to choose should the fact that news were fixed be taken into account during the publication or not. If yes is specified, then fixed news will be displayed in the beginning, if no is specified, then fixed news will be displayed in the list of news without taking this option into account. In case if only is specified, then only the fixed news will be displayed. If without is specified, then fixed news will not be displayed at all.

sortbyuser="yes" If this parameter is enabled, website visitors will be able to set a convenient way of sorting news for this section at their discretion [sort]{sort}[/sort]

Attenion! All parameters of this tag are optional. Only one parameter is required. All other parameters, if they are not specified, will be taken from the general settings of the script. For example:

{custom id="1,2" order="date"} - displays news with IDs from 1 to 2 и and sort them by date.

{custom category="2,7" from="5" cache="yes"} - displays news from categories 2 and 7, and amount of news will be taken from the script settings. News will be displayed starting with the article with ID 5.

{custom order="date" from="9" limit="5"} - displays the last 5 news, starting with the tenth article.

Remember! Each use of the tag creates an additional load on the database, as there is an additional selection. So use it wisely if you want to save resources.

[available=section] text [/available] tag displays the text enclosed in the tag if the specified section of the website is viewed:

This tag takes parameters same as available parameter of {custom} tag. You can combine sections using "|" symbol, e.g. userinfo|register|main

For example:

[available=userinfo|register|main] text [/available]

will display the text enclosed in tags on Homepage, when registering and viewing user profile.

Note, you can also specify [not-available=userinfo|register|main] text [/not-available] tag which is completely opposite to the available tag and displays text everywhere except the specified sections.

[category=X]text[/category] tag displays the text enclosed in tags if the specified category is viewed:

This tag takes category ID as a parameter, and allows to specify several categories.

[category=1,2,3,7-10] text [/category]

will display the text enclosed in tags if a visitor views the category with ID 1 or 2 or 3, and from 7 to 10.

Note, you can also specify [not-category=1,2,3,7-10] text [/not-category] tag which is completely opposite to the category tag and displays text everywhere except the specified categories.

[group=X]text[/group] tag displays the text enclosed in the tags if the user belongs to specified user group:

This tag takes group ID as a parameter, and allows to specify several groups.

[group=1,2,3] text [/group]

will display the text enclosed in tags if the user is Administrator, chief editor or journalist.

Note, you can also specify [not-group=1,2,3] text [/not-group] tag which is completely opposite to the group tag and displays text everywhere except the specified groups.

[page-count=1,2,3] text [/page-count]

Will display the text enclosed in them if the user is at a certain news navigation page, regardless of the section of the website, where 1,2,3 are numbers of navigation pages. This tag allows you to adjust the display of the information on a certain page and is useful for information blocks and advertising. You can use this tag in conjunction with other ones that determine sections of the website and the categories.

For example, [aviable=cat][category=1][page-count=1] text [/page-count][/category][/aviable] tags combination displays text only if the user is viewing the first page of news of the category with ID 1, and those are article annotations. And user won't see this text when he will go to another page.

[not-page-count=1,2,3] text [/not-page-count]

Displays the text published in the tags on any pages except those which are specified in the tags.

{banner_name} this tag is designed to display advertising information on the website. The name for the banner is set in a special module in the Administration Panel.

[banner_name] text [/banner_name] displays the text enclosed in them if the specified banner is displayed on the page.

{inform_name} is designed to display RSS informers and news from other websites. Name and all the settings for the tag are set in the Administration Panel.

[static=имя страницы] text [/static]

will display the text enclosed in tags if a visitor views a static page with the specified name. It is allowed to specify pages in the tag separated by comma. For example, [static=test1,test2,test3] text [/static] display enclosed text on pages: test1, test2 and test3

[not-static=page name] text [/not-static]

will display the text enclosed in tags if the visitor does not view static page with the specified name. Pages may be specified in the tag separated by comma.

[smartphone] text [/smartphone]

will display the text enclosed in tags if a visitor is browsing your site with a smartphone.

[not-smartphone] text [/not-smartphone]

will display the text enclosed in tags if a visitor is browsing your site not with a smartphone.

[tablet] text [/tablet]

will display the text enclosed in tags if a visitor is browsing your site with a tablet.

[not-tablet] text [/not-tablet]

will display the text enclosed in tags if a visitor is browsing your site not with a tablet.

[desktop] text [/desktop]

will display the text enclosed in tags if a visitor is browsing your site with a desktop computer or laptop.

[not-desktop] text [/not-desktop]

will display the text enclosed in tags if a visitor is browsing your site not with a desktop computer or laptop.

[ios] text [/ios]

will display the text inside the tags if the user’s device operates on the iOS system by Apple

[not-ios] text [/not-ios]

will display the text inside the tags if the website user’s device doesn’t operate on the iOS system

[android] text [/android]

will display the text inside the tags if the user’s device operates on the Android system by Google

[not-android] text [/not-android]

will display the text inside the tags if the website user’s device doesn’t operate on the Android system

You can also include one template into another using {include file="my_block.tpl"} tag. This tag includes specified my_block.tpl file into the template. The tag is designed to simplify the structure template when a complex layout with multiple tags is used.

{customcomments id="1,2,5-8" newsid="1,2,5-8" category="2,3,5-8" author="x" days="x" template="custom" available="global" from="0" limit="10" order="date" sort="desc" cache="yes"}

which allows to display comments in a customized form in any place of the website. This tag is used for the additional display of comments and can be used, for example, to display last comments on the main page of your website, etc.

This tag can take the following parameters:

id – the list of comment IDs which you want to display, separated by commas without spaces. You can also specify the range of comment IDs using dashes. For example, 1,4-8,11 displays a comment with ID 1, comments with IDs from 4 to 8, and a comment with ID 11.

newsid – the list of publication IDs which you want to display, separated by commas without spaces. You can also specify the range of publication IDs using dashes. For example, 1,4-8,11 displays a comment from publication with ID 1, comments from publication with IDs from 4 to 8, and a comment from publication with ID 11.

newsidexclude - the list of publication IDs that you don't want to display, separated by commas without spaces. You can also specify the range of publication IDs using dashes. For example, 1,4-8,11 don't displays a comment from publication with ID 1, comments from publication with IDs from 4 to 8, and a comment from publication with ID 11.

category – a list of article category IDs where you want to choose comments from, separated by commas without spaces. You can also specify the range of categories using dashes. For example, 1,4-8,11 displays comments from category with ID 1, from IDs from 4 to 8, and from ID 11.

categoryexclude – is completely opposite of the parameter category="list of categories" and allows to display comments to articles which do not belong to categories specified as the parameter value. For example, {customcomments categoryexclude="2,7"} displays all the comments to articles which do not belong to categories with IDs 2 and 7.

author – displays the username of a comment author. When using this parameter, the specified author’s comments will be displayed. You can enumerate several authors separating by commas. For example, {customcomments author="admin" limit="5"} tag displays 5 comments of the author with "admin" username.

authorexclude – authors’ usernames whose comments should not be displayed. Authors’ logins can be separated by commas. For example, {customcomments authorexclude="admin,test"} tags display comments of all authors except "admin" and "test" users.

days – the time period in days, where x is a number of days for which the comments should be displayed. For example, {customcomments days="2" limit="5"} tag displays 5 comments for the last 2 days.

template – a template file that will be used for displaying comments. In this case it will be custom.tpl . If you use several templates on the website, then this file must be present in each template. This template uses tags similar to those tags which you use in the comments display template (comments.tpl).

available - is a section where requested comments will be displayed. It can take the following values:

global - in all sections

main - on Homepage

date - when viewing news of a specific period

cat - when viewing category

showfull - when viewing the full article

search - when viewing search results

userinfo - when viewing user profile

register - when register

stats - when viewing statistics

pm - when viewing personal messages

feedback - when viewing feedback

favorites - when viewing favorites

newposts - when viewing new posts

addnews - when you add news

lastnews - when watching the latest news on the website

lastcomments - when viewing the latest comments

lostpassword - when recovering password from the account on the website

static - when viewing static pages

catalog - when viewing the page catalog

alltags - when viewing the tag cloud

tags - when viewing the news from the tag cloud

allnews - when viewing all the news on the website or all the news of any user

You can combine sections using "|" section, for example, available="userinfo|register|main" will display your news on the Homepage, at registration and when viewing user profile.

from – indicates the number of a comment, from which the output begins. Comments numbering starts with zero. For example, if you want to skip the first comment that matches your conditions, you need to specify from = "1"

limit – the number of displayed comments.

order – comments sorting criteria. It can take the following values:

date – sorting comments by date. For example, {customcomments order="date" limit="5"} tag displays five latest comments.

rating – sorting comments by rating. For example, {customcomments order="rating" limit="5"} tag displays five highest-rated comments.

rand – sorting comments in a random order. For example, {customcomments order="rand" limit="5"} tag displays five comments in a random order.

id_as_list - sorts the publications as they appear in the ID list. For example, the tag {customcomments id = "3,4,1,2" order = "id_as_list"} will display comments first with ID 3, then 4, then 1, and 2.

sort - indicates the sort order of comments. If the value is desc, then articles are sorted in descending order, and when it is asc, articles are sorted in ascending order.

cache - takes values yes or no and specifies whether to cache the displayed information or not. We recommend to cache the displayed blocks to reduce the server load.

All the parameters of this tag are optional. It is enough to specify just one parameter. You can also combine various parameters of this tag at your discretion.

{* Commented-out code *}

This tag is used to comment-out the code. Everything between "{*" and "*}" is removed from a template and will not be displayed on the website. These tags will be useful for template developers to debug various parts of the code by allowing to temporarily comment-out these parts. This tag is global and may be used in different templates.

{catmenu}

You can make and display category menu in templates. {catmenu} tag is used to display category menu. This tag can be used in any template file, it is global. It uses and embeds categorymenu.tpl template file.

{catmenu id="1,2,3-5" subcat="yes" template="custom" cache="yes"}

Displays a menu of categories in a custom format, where:

id="1,2,3-5" – is a list of ID categories that you want to display in the menu. You can list several categories separated by commas, or specify a range of IDs with a dash.

subcat="yes" - This parameter takes "yes", "no" or "only" value and is used in conjunction with "id" parameter of the tag. It defines for a specified list of categories whether it is needed to connect subcategories automatically. For example, if there is a category with ID 1 and it has subcategories ID 2 and ID 3, then the category 1 and its subcategories 2 and 3 are displayed by {catmenu id="1" subcat="yes"} tag. And just category 1 is displayed if {catmenu id="1" subcat="no"} tag is used. A value of "only" means that only the subcategories of the category with ID "1" will be displayed. If you use the {catmenu id = "1" subcat = "only"} tag, only the subcategories of the category with ID "1" will be displayed. For example, you can automatically display a list of subcategories from the viewed category using the simple expression [available = cat] {catmenu id = "{category-id}" subcat = "only"} [/avalilable]

template="custom" – is a template name to be used as a default menu template instead of categorymenu.tpl

cache="yes" – This parameter takes "yes" or "no" value and indicates whether it is needed to cache a given block or not. When caching is active, the ability to control the emphasizing of the currently viewed category using [active] text [/ active] tags in the template is unavailable automatically.

{catnewscount id="X"}

It displays the number of articles within a certain category, where X stands for ID of a needed category. This tag is useful to display the number of categories in manually created menu templates.

{category-id}

Display the ID of the category viewed by the visitor. This tag will be useful when organizing the menu on the site and when you need to quickly reassign any CSS classes or the names of template files, when you edit articles display templates.

{category-title}

Display the name of the category viewed by the visitor. This tag will be useful when you need to display the name of the category you are viewing.

{category-description}

Display the category description on the site when the user views the category. It is also available when displaying full descriptions.

{category-icon}

Display the icon of the category viewed by the user, or news category if the full text is viewed

{category-url}

Display the URL of the viewed category

{page-title}

Display specified in the section "Titles, descriptions, meta tags" title for the page

{page-description}

Displays specified in the section "Titles, descriptions, meta tags" description for the page

User Profile:

{profile-link} - Displays link to user's profile

{profile-login} - Displays username

{ip} - Displays user's IP

{foto} - Displays link to user's avatar

{fullname} - Displays user's full name

[fullname] text [/fullname] - Displays text included in tags in case user's full name is specified in user's profile

{land} - Displays user's country

[land] text [/land] - Displays text included in tags in case country is specified in user's profile

{mail} - Displays user's e-mail

{group} - Displays user's group

{registration} - Displays date of user's signing in

{lastdate} - Displays date of user's last visit

{group-icon} - Displays user's group icon

{time_limit} - Displays the date until which user is in the group, if the group is temporary

[time_limit] text [/time_limit] - Displays text included in tags if user is in temporary group

{comm-num} - Displays number of user's comments

{comments} - Displays link to user's comments

[comm-num] text [/comm-num] - Displays text included in tags if user has comments on the website

[not-comm-num] text [/not-comm-num] - Displays text included in tags if user has no comments on the website

{news} - Displays link to user's news

{rss} - Displays link to RSS of user's news

{news-num} - Displays number of user's news

[news-num] text [/news-num] - Displays text included in tags if user has news on the website

[not-news-num] text [/not-news-num] - Displays text included in tags if user has no news on the website

{new-pm} - Displays number of user's unread private messages

{all-pm} - Displays total number of user's private messages

{favorite-count} - Displays total number of posts in user's favourites

[profile_xfvalue_X] - Displays value of optional field named 'X' from the profile

[profile_xfgiven_X] text [/profile_xfgiven_X] - Displays text included in tags if optional field named 'X' is specified in profile

[profile_xfnotgiven_X] text [/profile_xfnotgiven_X] - Displays text included in tags if optional field named 'X' is not specified in profile

{admin-link} - Displays link to admin panel if user has access to it

[admin-link] text [/admin-link] - Displays text included in tags if user has access to admin panel


Tags for text formatting

Navigation: Work With The Engine >

Tags for text formatting

When writing news it is permissible to use the following tags, if you do not use the WYSIWYG editor:

[b] text [/b] Makes text bold

[i] text [/i] Makes text italic

[s] text [/s] Lines the text through

[u] text [/u] Underline text

[sub] текст [/sub] - output text in subscript

[sup] текст [/sup] - output text in the upper index

[code] text [/code] Cancels formatting of text enclosed in the tags

[left] text [/left] Aligns text to the left

[center] text [/center] Aligns the text to the center

[justify] текст [/justify] - aligns the text on both sides and left and right

[right] text [/right] Aligns text to the right

[url=link] text [/url] Inserts link to the article

[leech=link] text [/leech] Is completely analogous to URL tag, except that it encrypts the link.

[email=link] text [/email] Inserts e-mail address in the article

[img] link [/img] Inserts image in the article

[img=alignment] link [/img] Inserts image address in the article and aligns it by the specified parameter

[img=alignment|own text for alt] link [/img] Inserts image address in the article, aligns it by the specified parameter, and assigns the description to the image

[color=color] text [/color] Changes the color of the text to the specified

[quote] text [/quote] Quote

[hide] text [/hide] Shows hidden text only for the users who are allowed to view hidden text in the groups settings

[hide=2,3,4] text [/hide] Shows hidden text only for users whose groups are listed in the tag. 2,3,4 where the ID of the user groups that can view this text.

{pagebreak} Page break

[page=page name] text [/page] Inserts reference to a specified page number within the article

[thumb] link [/thumb] Inserts small copy of the image in the article with reference to the original picture

[thumb=alignment] link [/thumb] Inserts small copy of the image in the article with reference to the original picture and alignment by the specified parameter

[thumb=alignment|own text for alt] link [/thumb] Inserts small copy of the image in the article with reference to the original picture, alignment by the specified parameter, and assignment of the description to the image

[video=http://test.ru/video.avi] Allows you to set the video playback in the news article

[videо=300x250,http://site.ru/video.flv] This tag allows you to set the video size for that particular tag

[video=http://test.ru/video.avi|http://test.ru/sample.jpg] Allows you to set the video playback in the news article and choose its thumbnail.

[video=http://test.ru/video.avi|http://test.ru/sample.jpg|Video description] Allows you to set the playback of the video in the news, set the image preview before you start playback and set a separate description for the video that will be shown in the player.

[video=http://test.ru/video1.mp4,http://test.ru/video2.mp4] Allows you to place two videos in the article. This will create a playlist of two videos. They can also be set the picture for preview and description, as stated above.

[audio=http://test.ru/music.mp3] Allows you to place MP3 playback in the article

[audio=http://test.ru/music1.mp3,http://test.ru/music2.mp3] Allows you to set the playback of the playlist of several MP3 files in news

[font=font name] text [/font] Displays the text using specified font

[size=size] text [/size] Displays the text using specified font size

[spоiler] text [/spoiler] Hides the specified text and displays it when you click on it

[spоiler=Title] text [/spoiler] Displays the header. When you click on it, the hidden text will be displayed

[media=link to the video page] is designed to insert videos from such video and content services as: youtube.com, instagram, twitter, facebook, flickr, vimeo, docs.com, vine, gettyimages, codepen.io, dailymotion, mixcloud, soundcloud, coub, ifixit, Apple Keynote. In this tag, you just enter the URL of page of the video service that hosts this video. The script automatically detects the type of video service and inserts the correct HTML code to view the video.

[media=300x250,http://....] This tag allows you to set the video size for that particular tag

[flash=width,height] path to the video [/flash] is designed for inserting flash movies in .swf format.

List:

[list]

[*]point 1

[*]point 2

[/list]

Numbered list:

[ol=1]

[*]point 1

[*]point 2

[/ol]

A little explanation of the code insertion:

For example, if you want to insert a picture into the text, use [img]http://website/image.jpg[/img] tag. If you want to align it by the left or by the right edge, use [img=left]http://website/image.jpg[/img]. If you want to align it by center, then use the following [center][img]http://website/image.jpg[/img][/center]. The same principle applies to the [thumb] tag. For example, your article has several pages, and you want to use a link to any other page of the article on some page, in addition to the standard navigation between them which is available in the template, insert the following code [page=3] click here to go to page 3 [/page] where 3 is a number of the article's page.


Favorites

Navigation: Work With The Engine >

Favorites

Features of the engine allow every registered user to add the favorite news in the list of Favorites. Not to be confused with the browser bookmarks. After user login to the website he/she can add the article to his/her favorites by clicking on the plus sign, then he can easily view article and comments to it, regardless of the date of the article and without using the search.


Personal messages

Navigation: Work With The Engine >

Personal messages

All logged in users can send private messages to each other. These messages can then be viewed, deleted, and answered. A specific template is used to display them. Be extremely careful when editing this template not to disrupt the functionality of this module. Edit of this template does not require knowledge of PHP, but you have to understand HTML and its features. In other words, just do not change information input fields of the forms without necessity.


User-friendly URL and its settings

Navigation: Work With The Engine >

User-friendly URL and its settings

DataLife Engine uses user-friendly URL to display news. It allows to show the article title or any other text in the URL bar. Thereby indexing in search engines will be better that will bring more visitors to your website from search engines. User-friendly URL requires mod_rewrite module to be installed on your server. If your server does not support this, you can disable this feature. To do this, you need to be sure to remove .htaccess file from the root directory and disable this feature at the script installation. For correct operation of the user-friendly URL it is recommended to install the script in the root folder of the website.

If user-friendly URL is enabled, links have the following form

Full article

Using user-friendly URL. Depends on the user-friendly URL type set in the script settings

http://website.com/index.php?newsid=1234543 - without using user-friendly URL

Adding news to the website by your user

http://website.com/addnews.html - using user-friendly URL

http://website.com/index.php?do=addnews - without using user-friendly URL

User profile

http://website.com/user/имя пользователя/ - using user-friendly URL

http://website.com/index.php?subaction=userinfo&user= username - without using user-friendly URL

Registration on the website

http://website.com/index.php?do=register - without using user-friendly URL

Unread messages overview

http://website.com/newposts/ - using user-friendly URL

http://website.com/index.php?subaction=newposts - without using user-friendly URL

All news overview

http://website.com/lastnews/ - using user-friendly URL

http://website.com/index.php?do=lastnews - without using user-friendly URL

Display all news of a certain category

http://website.com/альтернативное имя категории/ - using user-friendly URL

http://website.com/index.php?do=cat&category=alternatename - without using user-friendly URL

Display all news of 2005

http://website.com/2005/ - using user-friendly URL

http://website.com/index.php?year=2005 - without using user-friendly URL

Display all news for a certain month

http://website.com/2005/12/ - using user-friendly URL

http://website.com/index.php?year=2005&month=04 - without using user-friendly URL

Display all news for a certain day

http://website.com/2005/12/01/ - using user-friendly URL

http://website.com/ index.php?year=2005&month=04&day=30 - without using user-friendly URL

Feedback with the website Administration and other users

http://website.com/index.php?do=feedback

Website catalog (sort by character code)

http://website.com/catalog/a/ - using user-friendly URL

http://website.com/index.php?catalog=а - without using user-friendly URL

Display tag cloud

http://website.com/tags/ - using user-friendly URL

http://website.com/index.php?do=tags - without using user-friendly URL

Website rules

http://website.com/rules.html - using user-friendly URL

http://website.com/index.php?do=rules - without using user-friendly URL

You must add your own links to display all news of a certain category in the design of your page. For more information about creating categories, read further.


Smartphones support

Navigation: Work With The Engine >

Smartphones support

Datalife Engine allows you to automatically determine the device that is used by user to access to your website. And if a user uses mobile device, then DataLife Engine is able to recognize it and prepare the special lightweight version of your website, with minimal graphics and traffic used.

To enable this feature you need to go to Administration Panel and enable this: Enable automatic support for smartphones. Also, you can enable or disable displaying images in articles there. You can manually enable mobile version of the website. Use the following link for that: http://site.ru/index.php?action=mobile

Template folder named smartphone must be in your /templates/ folder. This templates are used to display the website if the mobile device is used to access to it. You can use the same features in this template, as in normal template. All tags and features are identical to the normal template but we recommend to use the very minimum of it. And do not forget about the size of a mobile phone screen. In the archive of the distribution kit we have prepared one standard template with the minimum of information and size. We recommend to be based on our template when you make your own.


Grammatical error complaint system

Navigation: Work With The Engine >

Grammatical error complaint system

Complaint system for grammatical and other errors is supported in DataLife Engine. Being on the page of your website user can select any text in the browser and press Ctrl+Enter, and he/she will be proposed to send a notice about grammatical error in the selected text. Any text on any page can be selected by a user. Therefore, we recommend that you place any notification block in any visible part of your website that visitors had the opportunity to send notifications about grammatical errors on the website to Administration. Management of grammar errors complaints can be performed in complaint management section of Administration Panel. Notification is sent from the website using AJAX technology with no need to refresh the page not to cause inconvenience to users.


Add news

Navigation: Work With Administration Panel >

Add news

You can log in to Administration Panel here: http://website.com/admin.php After that you can add, edit and remove news articles, manage users and templates, perform script settings, manage images, etc.

When you add news to the website you need to set the title of the article. Field of the article named User-friendly URL is optional and it is used if user-friendly URL is enabled. You can set a text to be displayed in the URL bar, or you can leave it blank then the text will be generated from the article title, taking into account the rules of transliteration. Date is set in Date field. If Current date is enabled then current date will be automatically set, taking into account the time correction, or you can disable it and set the date manually using calendar by clicking on the icon near the field. If you specify a date that has not come yet, the article will be posted at that date if it is allowed to be published. You can also choose category for the article. After that, use convenient buttons to insert tags, write the full article and its annotation, and fill in extra fields if they were created. Note! Full article field is optional. If it is blank then the text will be taken from the Article annotation. To insert uploaded images in your article use [Upload image] link or upload your image for this article. Also, you can upload images from another server without downloading it on your computer. Note! If you upload your images for this article, then it will be automatically removed when you remove the article.


Edit news

Navigation: Work With Administration Panel >

Edit news

Editing of news is similar to its adding except Date field. You cannot change the date. Enable Don't change the article date for this or uncheck it and check Current date and time, or set the date using the calendar.


Personal settings

Navigation: Work With Administration Panel >

Personal settings

In this section, you can edit your own profile, change the E-mail address, change additional fields, full name, place of residence, set a new password.


Settings

Navigation: Work With Administration Panel >

Settings

General setting parameters can be set in this section. Settings are divided into sections and you need to click on the corresponding icon to select the section. Descriptions of each section are given further:

Name of the website – Enter the name of your website, such as «My Homepage».

Homepage of the website – Enter the URL to the Homepage, without a file name, for example http://website.com/ Note that a slash at the end is required.

E-Mail address of the administrator – The address which will be used by the system to send all the messages from the server to users.

Website template by default – Select the skin that will be used to display your website by default.

Language – Select the default language that will be used to display all the system messages.

Number of news per page – Specify how many articles will be displayed when viewing the articles annotations.

Enable WYSIWYG editor for adding articles - When users add articles on the website they can use WYSIWYG editor or BBCODES. Please note that your template has been configured accordingly.

Enable WYSIWYG editor for Administration Panel - Enables this editor for Administration Panel.

Enable WYSIWYG editor for comments and personal messages - When users add comments on the website they can use WYSIWYG editor or BBCODES. Please note that your template has been configured accordingly.

Automatic division of long words – Enter the maximum number of characters in a single word. With the excess of this value the long word will be automatically transferred to the new line. This function is necessary to prevent long words from spoiling the overall website design.

Flooding protection – The number of seconds after which it will be allowed to post the next comment.

Emoticons – Specify emoticons separated by commas which will be used to add articles and comments.

Time zone correction – Specified in minutes. It is necessary to synchronize the server time to your time based on your time zone. If you time is less than the server time then negative values are also permitted.

Automatic reduction of the uploaded image – The maximum length of one side of uploaded image. If any side exceeds the specified value horizontally or vertically, then the image will be reduced to this value with the original aspect ratio.

Time format for news – The format of publication date of the article.

Enable Gzip compression – Enables compressed data transfer to save traffic.

Hide a link to the full article – Hides the link to the full article if there is no full article.

Comments for registered users – If «Yes» is chosen, then only registered users could leave comments.

Allow to edit comments – If «Yes» is chosen, then users could edit their comments. Administrator can always edit comments.

Allow to delete comments - If «Yes» is chosen then users could delete their comments.

Time format for the comments - The format of publication date of the comment.

Enable user-friendly URL - If «Yes» is chosen then user-friendly URL is supported.

Allow news fixation - If «Yes» is chosen then news could be fixed when added. This feature is accessible for Administrators only.

Enable caching on the website - If «Yes» is chosen then page caching will be enabled. Thus the website of the website will be partially lost until the cache will not be refreshed. This feature is recommended for websites with a large traffic.

Enable voting on the website - If «Yes» is chosen then voting module will be enabled.

Enable news views counter - If «Yes» is chosen then counter will be enabled which indicates the number of views for each page.

Enable calendar - If «Yes» is chosen then calendar will be displayed on the page. Disabling the calendar allows you to save a database query.

Enable archives - If «Yes» is chosen then monthly archive will be displayed. Disabling the calendar allows you to save a database query.

Enable registration on the website - If «Yes» is chosen then users will be allowed to register on the website. Disabling this feature allows you to save 2 database queries so disable it if you don't need users registration on your website.

Registration method - There are two methods: simplified and advanced. With advanced method the provided e-mail address will be checked. The user will have to activate his/her account.

Allow users to change the website skin – If you have installed few skins on the website, then your visitors will be able to choose the one they like.

The maximum number of registered users – Maximum allowable number of users to register. If you specify 0, the registration will be carried out without limitations.

Automatically delete registered users – The number of days after which the user will be deleted if he/she did not visit the website. If you specify 0, there won't be any restrictions.

Photo size – The maximum size of any side of a user profile photo. If exceeded, this parameter will automatically change this picture to specified size while maintaining the aspect ratio.

Allow overlaying the watermark – Watermark will be overlaid on all the images if this feature is enabled.

Minimal size for overlaying the watermark – Required image size to apply the watermark. If its size is less than specified, then watermark will not be applied.

Allow users to upload images - You can allow or deny users to upload images when they add articles on your website.

Maximum image size - If you allowed your users to upload images to the server, you can limit the maximum amount of images.

Auto-clear images - If a visitor has uploaded a picture, but did not add it to the article, it will be deleted after a specified number of days.

Compression quality of .jpg image - Quality of compression of the .jpeg image when uploaded to the server.


Plugins

Navigation: Work With Administration Panel >

Plugins

This plugin system allows you to modify any part of the engine at your discretion. Plugins installation and update requires just one click in Control Panel of DataLife Engine. If the plugin is developed for this new system, then users no longer have to read installation instructions, edit anything in the engine files, etc. You simply upload the plugin to the Administration Panel.

Plugin system is built using the virtual file system technology. In your plugin you describe file which should be affected and actions to be performed. Based on this information DataLife Engine creates virtual copies of these files with all the necessary changes and modifications and works with the created virtual copies without affecting the original files. It allows you to describe the changes in almost all files, except for some basic files, i.e. root files, but they do not carry any functionality except for connecting other files. Also, the functionality of the files responsible for AJAX functions can be changed. For this they were completely rewritten to work through the controller. What are the advantages of this? Firstly, the original files always remain unchanged, so the plugins can be easily changed, deleted, updated, etc. Secondly, this system applies the least possible load on sites, because virtual copies of files are created only once at the time of plugins installation or update, after which the DataLife Engine works with these new files as with native files and there are no memory costs for call points, storage and control of information about where and what functionality should be changed. The server load will increase only by the load that the plugin causes. The plugin management system will not cause any additional load. Thirdly, there is no problem with updating the engine. It can be updated and your plugins are automatically associated with new versions. It allows various plugins to modify the same file without causing conflicts, provided of course that different plugins do not perform directly opposite actions.

So in the plugin management module you can either create a plugin directly in the Control Panel or download it. Let’s consider adding a new plugin directly to Control Panel:

On the first tab you specify the general data about the plugin – its name, its short description. For a convenient distinction from other plugins, you can set an icon which will be displayed in the plugins list. Also you specify the plugin version, and compatible DataLife Engine version.

On the next tab, you specify the actions on files to be performed. You can perform actions on one or more files, and assign one or more actions to be performed on each file. Several actions may be performed on files:

1. Find and replace code.

2. Find and add code above.

3. Find and add code below.

4. Completely replace the contents of the file.

5. Create a new virtual file that does not exist in the original DLE.

You can add or delete files, change or delete actions on files at any time. For convenience of perception and editing, all the code is highlighted, and the fields can be dynamically stretched.

On the next tab, you can add actions to the MySQL database which plugin should perform in certain situations. You can specify a list of MySQL queries that must be performed on plugin installation, plugin update, on its disabling or enabling, and when it is uninstalled. For each action you can specify a single query or a list of several database queries.

For the installed plugin, you can perform the following actions: You can disable it. It remains on the site, but is completely ignored by the engine, and it stops affecting all files. You can update it if there is a new version. Download plugin on your computer to install it on another site. The file itself is downloaded in XML format, and this file contains a description of all the actions. In fact, the plugin is an XML file that can be installed in Administration Panel.

Let's consider installation of a plugin. You can download and install any plugin on your site. When you click the corresponding button you can download either the XML plugin file or the ZIP archive with the plugin. This allows you to create very complex plugins that contain a large number of additional files, both graphical and PHP files. For example, if you do not describe all the actions directly in the plugin itself, you can create additional files and pack them into an archive, storing them in other places. It is important to know that archive can contain only those PHP files that are not included in the distribution kit, but only additional files. If there are files in the distribution kit, it will be blocked. Modification of standard files can be described in the plugin itself. The XML plugin file should be in the root directory of your archive.

If you upload the plugin archive and DataLife Engine does not have write rights in your archive, it will automatically request FTP access to download your archive. If no access is required, everything will be copied automatically. Note that these accesses will not be stored. They will be automatically deleted when they are no longer needed.

The new plugin management system also has an integrated plugin error logging system. If some action on the files cannot be performed or if some errors occur, you can easily see and fix them. It is extremely useful if your plugin is not compatible with the next version of DLE. You will quickly see it, and you can easily adapt the plugin.


Votings

Navigation: Work With Administration Panel >

Votings

In this section you can create, edit or delete votings on the website. You can create votings which will be visible on all pages and votings that are visible only when viewing certain categories.


Static pages

Navigation: Work With Administration Panel >

Static pages

In addition to ability to make dynamically changing articles, the engine also allows to create static pages. Choose "Create new page" to create a static page. Then specify the name of this page. Use Latin letters only because it will be displayed in the URL bar. Fill in the page description (this information is for you). And finally, make the template of the page. HTML is allowed to use. When you create a page, you can view, change, or delete it.

Example of the static page address with user-friendly URL is: http://website.com/name of the page.html

Example of the static page address without user-friendly URL is: http://website.com/index.php?do=static&page=name of the page


User groups

Navigation: Work With Administration Panel >

User groups

In this section, you can add and edit new and existing user groups. When you add a new user group you set available categories and the rights for it.

Available sections: Sections where this group has the access.

Trusted sections: If you allow the user group to publish news without verification or to edit other users' news, then here you can specify trusted sections for the group. It will be forbidden to edit news for other groups. User can always add news in allowed sections, but if one of its sections will not be trusted, then the article won't be posted without prior moderation. Categories where it is not allowed to add news without moderation are highlighted in red when you add it.

Allow access to Administration Panel: This option allows the user to access the Administration Panel, but does not provide access to all its functions. Only access to add and edit news from Administration Panel is provided. Only Administrators have the access to all the functions.

Hide only full articles from inaccessible sections: If user is denied to access the section, you can choose whether to completely forbid the access or to forbid to view full articles. If you choose to forbid to view only full articles you significantly reduce the server load and the news sampling time.

Allow to add news on the website: You can disable or enable users to add news on the website.

Publish news without verification: Allow to publish news to trusted sections without verification.

Allow to fix the news: Allow users to fix the news on the website.

Edit own news: Allow users to edit their news after the publication on the website.

Edit all news: Allow users to edit any news from trusted sections.

Allow to post comments: Allow users to leave comments on the website.

Edit own comments: Allow users to edit their comments.

Delete own comments: Allow users to delete their comments.

Edit all the comments: Allow users to edit any comments.

Delete all the comments: Allow users to delete any comments.

View hidden text: Allow users to view the contents of [hide] [/hide] tag.

Allow to use PM: Allow users to use personal messages on the website.

Allow downloads: Allow users to download uploaded images.

Use feedback: Allow users to use feedback on the website.

Use website search: Allow users to use the website search.

Temporary placement in a group: You can temporarily place the users in that group. Specify for how long the user will be placed in this group when placing the user in this group. After the end of this period, the user will be automatically moved to the primary group.

Primary group at the end of the limit: Specify the user's primary group where he /she will be moved at the end of the period of staying in the temporary group.


Category settings

Navigation: Work With Administration Panel >

Category settings

Here you can create and edit categories. When you create a new category, you need to specify its name, an alternative name, the path to its icon, choose whether the new category is a subcategory and if yes, where it belongs to. Also, you can specify which template will be used to display articles from this category, as well as when viewing this category. Icon is an optional parameter. Note: an alternative name is given only in Latin letters and is used to display all the news in this category. For example, you create a category called "Soft" and its alternative name "soft", then you need to enter the following address to view all the articles from this category: http://website.com/soft/. And if user-friendly URL is disabled, you need to enter: http://website.com/?do=cat&category=soft


Extra fields

Navigation: Work With Administration Panel >

Extra fields

You can create and edit extra fields in this section. Extra fields allow easily add the information on the website. There are only two fields by default: article annotation and the full article. However, you can create other fields to enter information such as a link to the source or program. And once you customize the field in the template, there won't be any need to constantly repeat the entry of data of the same type.

When you add a new field you enter the name (in Latin letters), a description of the field (displayed next to the input field), the category where it belongs to (You can choose whether to enter this field for all categories or this field belong to only one category. You can also assign categories where this field will belong to by selecting the desired category from the list by holding down the Ctrl), field type (You can choose three types of fields: one line, or it is a large text, or a pop-down menu with a list of values). You can also assign the field value by default. If you want the field to be optional, check the corresponding checkbox, otherwise the article will not be added if the field is not filled in.


Filtration by IP, login or e-mail

Navigation: Work With Administration Panel >

Filtration by IP, login or e-mail

You can use this section to block certain IP addresses or certain e-mail addresses, or user names from registration. If you enter an IP address, then access to this website will be completely forbidden for this IP and its subnet, not just for the registration.

Note: You can use an asterisk * in a filter to place it to login, IP address or e-mail address (for example: 127.0.*.*, *@mail.ru, username*).


IP utilities

Navigation: Work With Administration Panel >

IP utilities

This module is designed for fast and convenient search and editing of users who used the specified IP address to register or to log in. It is allowed to perform the search by the full IP address and by the shortened one. Also you can find all the IP addresses in this module that were used by a specific user.


Advertising management

Navigation: Work With Administration Panel >

Advertising management

This module is designed for quick and easy placement and management of your advertising materials on the website. In order to place your banner on the website, you only need to add the banner tag into the template, and then you can easily change or edit the banner code in Administration Panel, without touching the template.

After you add your banner, you can place its tag in main.tpl or fullstory.tpl templates. If you want to display the banner between articles annotation, then there is no need to add the tag in your template. The banner will be displayed between news automatically.

Example of work:

- Name: header

- Description: Top banner

- Enable banner display: Yes

- Show on Homepage only: No

- Fix location: No

- Place in article annotations: None

If you want this banner to be displayed only for certain groups, you can choose user groups for which you want to display this banner when you add a banner. You can also set the starting time and date of the banner displaying and its end time and date.

After that you can add the tag to display a banner {banner_header} to main.tpl or fullstory.tpl templates

You can use HTML and JavaScript when you add a banner code.


Performance analysis

Navigation: Work With Administration Panel >

Performance analysis

An analysis of all the script settings and user groups settings is performed in this section, and recommendations for changing and disabling the certain features of the script are given as a result of this analysis. The results are displayed with detailed descriptions of the reason why it is recommended to disable a particular feature, and results are displayed graphically in a special dedicated blocks that determine the degree of load of specific features. Recommendations that are highlighted in red should be performed in the first place, because they allow to significantly reduce the server load. Recommendations that are in the yellow box indicate the medium level of the load. Recommendations that are highlighted in green can only slightly reduce the load. Thus, the use of this section is highly recommended for those who have problems with the load on the website, its hosting, and wants to try to solve the problem without many actions, and without changing the hosting service plan and moving to more powerful resources. This section will be useful for both novice, who enjoying the script not for long yet, as well as for more experienced users.


Question/answer system

Navigation: Work With Administration Panel >

Question/answer system

There is a list of questions and the answers to these questions in a special section of the Administration Panel that are set by Administrator. This system can be separately enabled for registration, news posting, comments posting. The system can be enabled in your script for the registration. For the news and comments posting it can be enabled in group settings, and it also can be enabled only for certain user groups. This question and answer system is fully autonomous and independent of captcha and it can be used in conjunction with captchas, or separately from it. To display the question and answer system use [question] and [/ question] tags, which display the text enclosed in these tags when the question/answer system is enabled and there is {question} tag which displays the question for the user.


Cross-references

Navigation: Work With Administration Panel >

Cross-references

This module is designed for quick and easy creation of website relinking by keywords. In this section, you specify the keyword and URL. If given keyword is found on your page, it will be replaced by a hypertext link. In contrast to "word filter" module, which is also available in the Administration Panel, this module looks searches for keywords throughout the page, including all the content (news, comments, templates, third-party modules, etc.), not just in news and comments. Also, any addition or change of keywords in this section is momentary applies on the entire website and all its pages, and does not require any publications rebuild. Also in this module supports an indication of words endings. For example, you can specify the keyword "do(g|gs)" and a link will be applied to the words: dog, dogs, etc. Keyword search is carried out only in the whole words, not just for all the occurrences in the text.


Administration Panel logs system

Navigation: Work With Administration Panel >

Administration Panel logs system

This section collects all user actions carried out in the Administration Panel over the past 30 days. Thus the website Administrator can always see what actions were performed by the user in Administration Panel. Data collected by the script can not be removed manually, they are automatically removed by the script after 30 days from the date of realization.


RSS informer

Navigation: Work With Administration Panel >

RSS informer

This module is designed for publishing news of your partners from other websites in a particular block of your website. Going into Administration Panel to add a new widget you set the following parameter:

Name of RSS informer - Here you specify the name of the informer. The name can be unique and may be the same as the other informer's. If the name is the same then the informers are displayed in rotation mode.

Description of RSS informer - a brief description of this informer for you.

Category - you can specify the category where this informer should be shown, or make it available in all categories.

URL of RSS informer - Here you specify the path to RSS source from which to take the news.

Template of RSS informer - Select a template which will used to display formatted data in this block. For example: informer.tpl

Number of news in a block - Specify the number of news to display in this block.

Number of symbols in a title - Specify the maximum number of characters in the title. When exceeding this limit, title will be automatically cut off. You can set 0, then the title will be imported as a whole.

Number of symbols in an article - Specify the maximum number of characters in the article. When exceeding this limit, article will be automatically cut off. You can set 0, then the article will be imported as a whole.


Используемые классы CSS

Used CSS classes

Navigation: Templates >

Used CSS classes

The following CSS classes are used in DataLife Engine:

.calendar - Displays the calendar table.

.monthlink - Months navigation link in a calendar.

.day-active-v - Working days class if there are news.

.day-active - Saturdays and Sundays if there are news.

.day - Working days class if there are no news.

.weekday - Saturdays and Sundays if there are no news.

.day-current - Current date, or if the user browses news for this day.

.archives - Displays a list of archives.

.xfields - Extra fields when adding news.

.rating - Displays rating.

.quote - Used to display a quote or information about hidden text.

.scriptcode - Used to display the information contained in the [CODE] tag.

.pm - Table to display received personal messages.

.pm_head - Table header.

.pm_list - List of the messages themselves.

.pm_progress_bar - Occupancy scale of personal messages inbox.

#dropmenudiv - Drop-down menu when using the fast and full editing.

#newpm, #newpmheader - To set up a notification about a new personal message.

.editor_button,

.editor_buttoncl,

.editbclose, .editor_button_brk - Styles for customizing buttons of BB editor when fast editing the articles on the website.

.editor - overall style of BB editor.

.clouds_xsmall, .clouds_small, .clouds_medium, .clouds_large, .clouds_xlarge - To adjust the size of different keywords in the tag cloud, depending on their popularity.

.highslide-active-anchor, .highslide-image-blur, .highslide-html-content, .highslide-loading, a.highslide-full-expand, .highslide-display-block, .highslide-display-none - To adjust the pop-up window that displays the original image from its small copy.

.highslide-dimming - Used to set the darkened background when you enable the "Gallery" mode to see uploaded images.

#loading-layer - Design for the information window on the execution of the AJAX action.

#searchsuggestions - Design for fast website search.

.mass_comments_action - Design for action select menu action over the comments on the website.

Do not forget to use these styles in your main template.


General information

Navigation: Templates >

General information

DataLife Engine allows to use template system to display news and various modules. We have tried to simplify the use of templates in the engine as much as possible. You do not need to know programming languages to use it, only HTML language. However, we recommend you to read the templates instruction manual carefully to use templates completely and easily. It will let you determine which tags are used in templates and what they were made for.

In DLE, template is a folder which is located in /temlates/ folder. Files that are in it are the files of the same template.

You can also include one template into another using {include file="my_block.tpl"} tag. This tag includes specified my_block.tpl file into the template. The tag is designed to simplify the structure template when a complex layout with multiple tags is used. This tag works in all .tpl template files. The file that is connected must be in your template's folder or in its subfolders. If you want to connect a template file which is in a different template, you must use the full path from the root directory of the script. For example, {include file="/templates/mytemplate/my_block.tpl"}.

Tags of the connectable template must be the same as those which are allowed in the template which is used to include that file. For example, if my_block.tpl connects into main.tpl, then tags that are allowed in main.tpl will be working in this file.


Homepage

Navigation: Templates >

Homepage

Display of this section is configured in main.tpl. Template of your Homepage where all the other components of the engine are connected is customized there. It is not recommended to edit this section without knowledge of HTML, because it uses the field names that are passed to the script via the form. In other words, you can edit the text as you like, but do not change the names of the fields, it is extremely important.

{headers} | Displays generated meta tags on the page encoding: title, keywords, description. And connects all the necessary scripts. Placed in the template between the <head> tags. This tag is required in the template.
{jsfiles} | Shows all the involved JS scripts which are used by DLE in the specific area of the template. With this tag you can, for example, transfer all the JS scripts to the bottom of the page to speed up the loading and rendering of your pages. This tag is optional, and if it is not in the template, all the scripts will be connected to the tag {headers}, as before. Attention! If you move the script embedding, you should keep in mind that the {AJAX} tag should also be placed below the {jsfiles} tag. Also, you should consider the work of all third-party scripts in the template if they use Jquery library for example. They should not run until all the scripts will be embedded. We strongly recommend that beginners do not use this tag, as it is designed for experienced webmasters who have experience in working with JS scripts.
{THEME} | The path to the selected template.
{login} | Panel for users login and registration.
{vote} | Voting on the website.
{changeskin} | Form for changing the website skin.
{calendar} | Calendar module.
{topnews} | Displays the highest-rated articles that have been added in the last month.
{archives} | Displays the archives.
{info} | Displays the service information if necessary. The tag is required in the template.
{content} | Displays the website content itself: news, feedback, registration, etc., so it is the main block. This tag is required in the template except the rare cases, depending on the required features of the site.
{custom} | Refer to "Displaying news on pages".
[available=section]text[/available] | Refer to "Displaying news on pages".
{AJAX} | Connects all the necessary scripts for DLE and AJAX. The connection is required and it is recommended to be placed on top of the page, just after <body> tag. This tag is required in the template.
[group=X]text[/group] | Displays the text for a certain user group. Where X is a list of user groups IDs separated by commas.
[category=X]text[/category] | Designed to display text when the user is in X category. Where X is the ID of your category. It is allowed to specify categories separated by commas.
{banner_name} | This tag is used to display advertising information on the website. The very name for the banner is set in a special module in the Administration Panel.
{inform_name} | This tag is used to display the RSS informers and news from other websites. Name and all the settings for the tag are set in the Administration Panel.
[not-category=X]text[/not-category] | Designed to display text when the user is anywhere, except the X category. Where X is the ID of your search. It is allowed to specify categories separated by commas.
[not-group=X]text[/not-group] | Displays the text for any user group except the specified one. Where X is a list of user groups IDs separated by commas for which the information will not be displayed.
[page-count=1,2,3] text [/page-count] | Displays the enclosed text if the user is at a certain page of the news navigation, regardless of the section of the website, where 1,2,3 are the navigation page numbers.
[not-page-count=1,2,3] text [/not-page-count] | Displays the enclosed text on any page except the specified ones.
[news=1,2,3] text [/news] | Displays the enclosed text if the user views the full version of the article specified in the tag, where 1,2,3 are the article IDs.
[not-news=1,2,3] text [/not-news] | Displays text on any page except the news pages specified in the tag.
[tags=tag1,tag2,tag3] text [/tags] | Displays the enclosed text when a visitor views the page with the listed keywords from the tag cloud, where tag1, tag2, tag3 are keywords from the tag cloud.
[not-tags=tag1,tag2,tag3] text [/not-tags] | Displays text on any page except the specified ones.
[related-news] {related-news} [/related-news] | Displays related news block when viewing the full article.
[vk] text [/vk] | Displays the enclosed text if authorization using VK network is enabled.
{vk_url} | Displays the URL link to log in to VK.
[odnoklassniki] text [/odnoklassniki] | Displays the enclosed text if authorization using Odnoklassniki network is enabled.
{odnoklassniki_url} | Displays the URL link to log in to Odnoklassniki.
[facebook] text [/facebook] | Displays the enclosed text if authorization using Facebook is enabled.
{facebook_url} | Displays the URL link to log in to Facebook.
[google] text [/google] | Displays the enclosed text if authorization using Google is enabled.
{google_url} | Displays the URL link to log in to Google.
[mailru] text [/mailru] | Displays the enclosed text if authorization using Mail.ru is enabled.
{mailru_url} | Displays the URL link to log in to Mail.ru.
[yandex] text [/yandex] | Displays the enclosed text if authorization using Yandex is enabled.
{yandex_url} | Displays the URL link to log in to Yandex.
[xfvalue_X] | Displays the value of extra field "x", where "x" is the name of the extra field
[xfgiven_X] текст [/xfgiven_X] | Displays the extra field "x" if it is not empty. If the field has no value then the text is simply not displayed.
[xfnotgiven_X] текст [/xfnotgiven_X] | Displays the enclosed text if extra field has not been set when publishing the article, where "х" is the name of the extra field.
[ifxfvalue tagname="tagvalue"] Text [/ifxfvalue] | Displays the enclosed text if the extra field value matches the specified value, where tagmane is a name of the extra field, and tagvalue is its value.
[ifxfvalue tagname!="tagvalue"] Text [/ifxfvalue] | Text between them will be displayed if the extra field value does not match the specified value, where tagmane is a name of the extra field, and tagvalue is its value.
{catmenu} | Displays a menu of the categories of the site. The design of the menu is in the template categorymenu.tpl
{catnewscount id="X"} | Displays the number of articles within a certain category, where X stands for ID of a needed category.
{category-id} | Display the ID of the category viewed by the visitor. This tag will be useful when organizing the menu on the site and when you need to quickly reassign any CSS classes or the names of template files, when you edit articles display templates.
{category-title} | Display the name of the category viewed by the visitor. This tag will be useful when you need to display the name of the category you are viewing.
{category-description} | Display the category description on the site when the user views the category. It is also available when displaying full descriptions.
{page-title} | Display specified in the section "Titles, descriptions, meta tags" title for the page
{page-description} | Displays specified in the section "Titles, descriptions, meta tags" description for the page
[page-title] text [/page-title] | Displays the enclosed text if page title was specified in "Headers, descriptions, meta tags" for a viewed page.
[not-page-title] text [/not-page-title] | Displays the enclosed text if page title was not specified in "Headers, descriptions, meta tags" for a viewed page.
[page-description] text [/page-description] | Displays the enclosed text if page description was specified in "Headers, descriptions, meta tags" for a viewed page
[not-page-title] text [/not-page-title] | The enclosed text is displayed if the description of the viewed page was not specified.
[navigation] text [/navigation] | Displays text at the pages if there is news navigation
[not-navigation] text [/not-navigation] | Displays text at the pages if there is no news navigation
{navigation} | Displays page navigation section
{cloudstag} | Show keyword from the tag cloud, if a user is browsing site category with posts having a specific keyword from the tag cloud


Authorization panel

Navigation: Templates >

Authorization panel

Displaying of this section is configured in login.tpl. In this section you can configure display of the user authorization panel. You can use the following tags:

{registration-link} | Link to the registration page.
{lostpassword-link} | Link to the password recovery page.
{logout-link} | Link to log out the user form the website.
{admin-link} | Link to Administration Panel.
{pm-link} | Link to this personal messages page.
{new-pm} | The number of new personal messages.
{all-pm} | The total number of personal messages.
{favorite-count} | The number of news added to Favorites list on the website.
{foto} | Link to the user's avatar.
[admin-link] and [/admin-link] | Displays text in the tags if the user has access to the Administration Panel.
{profile-link} | Link to the user profile.
{stats-link} | Link to website statistics.
{addnews-link} | Link to the page of adding news on the website.
{favorites-link} | Link to the user's Favorites list.
{newposts-link} | Link to the list of unread news since his/her last visit.
{group-icon} | Displays the icon of a user group.
{login-method} | Displays what the user should enter to log in depending on what type of authorization is set in script settings: login or e-mail.
[vk] text [/vk] | Displays the enclosed text if authorization using VK network is enabled.
{vk_url} | Displays the URL link to log in to VK.
[odnoklassniki] text [/odnoklassniki] | Displays the enclosed text if authorization using Odnoklassniki network is enabled.
{odnoklassniki_url} | Displays the URL link to log in to Odnoklassniki.
[facebook] text [/facebook] | Displays the enclosed text if authorization using Facebook is enabled.
{facebook_url} | Displays the URL link to log in to Facebook.
[google] text [/google] | Displays the enclosed text if authorization using Google is enabled.
{google_url} | Displays the URL link to log in to Google.
[mailru] text [/mailru] | Displays the enclosed text if authorization using Mail.ru is enabled.
{mailru_url} | Displays the URL link to log in to Mail.ru.
[yandex] text [/yandex] | Displays the enclosed text if authorization using Yandex is enabled.
{yandex_url} | Displays the URL link to log in to Yandex.
[xfgiven_x] [xfvalue_x] [/xfgiven_x] | Extra field "x" is displayed if it is not empty.
[xfnotgiven_x] text [/xfnotgiven_x] | Displays the enclosed text if user's extra field has not been set, where X is the name of user profile extra field.
[xfvalue_x] | Displays the value of extra field "x", where "x" is the name of extra field.
{group} | Displays the name of the user group where the user is currently belongs to.


Article annotation

Navigation: Templates >

Article annotation

Displaying of the article annotation can be configured in shortstory.tpl. You can use the following tags:

{title}

Article title.

{title limit="x"}

Article title limited by X number of symbols.

{news-id}

Article ID. This ID is used to store this article in the database.

{short-story}

Displays the article annotation text.

{short-story limit="x"}

Displays the article annotation text without HTML formatting limited by X number of symbols.

{author}

Author of the article.

{date}

Publication date. The date format can be configured in system settings.

{rating}

Displays the article rating.

[rating] text [/rating]

Displays the enclosed text if article rating is enabled and hides the contents if it was disabled when adding the article.

[rating-type-1] text [/rating-type-1]

Displays the enclosed text if the first 'Rating' type was enabled in script settings.

[rating-type-2] text [/rating-type-2]

Displays the enclosed text if the second rating type 'Likes only' was enabled in script settings.

[rating-type-3] text [/rating-type-3]

Displays the enclosed text if the third rating type 'Like' or 'Dislike' was enabled in script settings.

[rating-type-4] text [/rating-type-4]

Displays the enclosed text if the fourth rating type 'Like' and 'Dislike' was enabled in script settings.

[rating-minus] text [/rating-minus]

Displays the enclosed text as a link to dislike the article. This link is displayed if the third rating type is used.

[rating-plus] text [/rating-plus]

Displays the enclosed text as a link to like the article. This link is displayed if the third rating type is used.

{likes}

Display number of likes

{dislikes}

Display number of dislikes

{vote-num}

Displays the number of users who rated this article.

{ratingscore}

Displays average rating figure containing fractional part amounting from one to five

{comments-num}

Displays the number of comments for this article.

{category}

Article category.

{category-icon}

Link to the category icon. Note, only path to the image is displayed. You should organize its display by yourself, for example <img src="{category-icon}" />.

[category-icon] text [/category-icon]

Displays text enclosed in them, if in the category settings an icon was set for the category where the post is located

[not-category-icon] text [/not-category-icon]

Displays text, if no icon is set for the category where the post is located

{views}

Number of views of the article.

{favorites}

Link to add or remove from Favorites.

[add-favorites] text [/add-favorites]

Link to add the article to Favorites list on the website.

[del-favorites] text [/del-favorites]

Link to remove the article from Favorites list on the website.

[edit] text [/edit]

Link to edit the article.

{link-category}

Link to the list of categories where the article belongs to.

[full-link] and [/full-link]

Link to the full article, for example [full-link]Подробнее…[/full-link].

[com-link] and [/com-link]

Link to comments to this article. Displayed if comments are allowed.

[xfvalue_x]

Value of extra field "x", where "x" is the name of the extra field

[xfvalue_X limit="X2"]

Displays the article annotation text without HTML formatting limited by X2 number of symbols. Text is limited to the last logical word. For example, [xfvalue_test limit="50"] shows the first 50 symbols of the extra field value named test.

[xfgiven_x] [xfvalue_x] [/xfgiven_x]

Displays the extra field "x" if it is not empty. If the field has no value then the text is simply not displayed.

[xfnotgiven_X] [/xfnotgiven_X]

Displays the enclosed text if extra field has not been set when publishing the article, where "х" is the name of the extra field.

[ifxfvalue tagname="tagvalue"] Text [/ifxfvalue]

Displays the enclosed text if the extra field value matches the specified value, where tagmane is a name of the extra field, and tagvalue is its value. The values of tagvalue can be listed separated by commas.

[ifxfvalue tagname!="tagvalue"] Text [/ifxfvalue]

Text between them will be displayed if the extra field value does not match the specified value, where tagmane is a name of the extra field, and tagvalue is its value. The values of tagvalue can be listed separated by commas.

[xfvalue_thumb_url_X]

This tag can be used only if extra field has type "Image". The tag displays only the URL for the thumbnails of the uploaded image, where "х" is the name of the extra field.

[xfvalue_image_url_X]

This tag can be used only if extra field has type "Image". The tag displays only the URL for the full size image of the uploaded image, where "х" is the name of the extra field.

[xfvalue_X image="Nr"]

Display the uploaded images separately for extra fields of "Image Gallery" type, where "X" is the name of the extra field, and "Nr" is the number of image from the gallery. For example, if you apply [xfvalue_test image="2"], then image number two will be displayed that loaded into an additional field named "test".

[group=X]text[/group]

Displays the text to a specific user groups. Where X is a list of user group IDs separated by commas.

[category=X]text[/category]

Displays the text if the user is in X category. Where X is the ID of your category. It is allowed to specify categories separated by commas.

[has-category] text [/has-category]

Displays the text enclosed in them, if the publication is in any category

[not-has-category] text [/not-has-category]

Displays the text enclosed in them, if the publication does not have any categories

[tags] text [/tags]

Displays the text if the article contains keywords assigned for a tag cloud.

{tags}

Displays clickable keywords of the article.

{full-link}

Displays the full permanent address of the article.

[edit-date] text [/edit-date]

Displays the text if the text or the article has been edited.

{edit-date}

Displays the date when the article has been edited.

{editor}

Displays the login of user who edited the article.

[edit-reason] text [/edit-reason]

Displays the text if edit reason has been specified.

{edit-reason}

Displays the edit reason.

{date=date fromat}

Displays the date in the specified format. It allows you to display both the full date and its separate parts. The date format is set in accordance with the PHP format. For example, {date=d} tag displays the day of the article or comment publication, and {date=F} tag displays the name of the month. {date=d-m-Y H:i} displays the full date and time.

{approve}

Displayed only when a user is viewing his/her profile and shows the status of his/her news that are awaiting moderation.

[fixed] text [/fixed]

Displays the enclosed text if this article is fixed.

[not-fixed] text [/not-fixed]

Displays the enclosed text if this article is not fixed.

[day-news] text [/day-news]

Displays the link to all the news published in the same day as the given article. This tag can be used in conjunction with {date}.

[catlist=1,2....] text [/catlist]

Displays the enclosed text if the article belongs to the specified categories.

[not-catlist=1,2....] text [/not-catlist]

Displays the enclosed text if the article does not belong to the specified categories.

{login}

Displays the name of the user who added the article as a simple text without a link to his profile.

[poll] text [/poll]

Displays the enclosed text if this publication has a voting.

{poll}

Displays the voting of this article.

[not-poll] text [/not-poll]

Displays the enclosed text if if this publication has no voting.

[profile] text [/profile]

Displays the link to the article's author profile, without the use of pop-up miniprofile window.

[complaint]

text

[/complaint]

Displays the enclosed text as a link to writing a complaint to the article.

{category-url}

Displays the full URL to the category where the article belongs to. This tag displays only the URL in its pure form, without any formatting or ready reference.

[comments]

text

[/comments]

Displays the enclosed text if there are comments for this article.

[not-comments]

text

[/not-comments]

Displays the enclosed text if there are no comments for this article.

{image-x}

Displays the URL of images that are in the article annotation, where x is the number of picture in the article. For example,{image-1} will display URL of the first image in the article annotation.

[image-x] text [/image-x]

Displays the enclosed text only if there is an image number X in the article.

[not-image-x] text [/not-image-x]

Display text included in them, in case picture under the number X is not in the news

[tags=tag1,tag2,tag3] text [/tags]

Displays the enclosed text when a visitor views the page with the listed keywords from the tag cloud, where tag1, tag2, tag3 are keywords from the tag cloud.

[not-tags=tag1,tag2,tag3] text [/not-tags]

Displays the text on any page except the specified ones.

[declination=X] text [/declination]

Changes endings according to the specified number. X is a number and "text" is a word with its endings. Endings are specified separated by "|" symbol. This tag is useful to be used with other tags that display, for example, number of views of the article or number of comments. For example, [declination={comments-num}]commen|t|ts[/declination] displays the following, depending on the number of comments: "comment", "comments".

[newscount=x] text [/newscount]

Displays the enclosed text if the article number X is shown, where X is the number of the displayed article. For example,[newscount=1] text [/newscount] displays the text when the first article on the page is shown.

[not-newscount=X] text [/not-newscount]

Displays the enclosed text when any article is shown except the article number X. This tag is useful if you want to display any design elements in all the articles, except the specified ones. For example, if you need not show something in the first article on the page.

{banner_x}

Displays the banner added in the Manage banners section of Administration Panel. Where X is the name of the banner.

[not-news] текст [/not-news]

Displays the enclosed text if there are no articles by the given criteria. Thus, you can use your own message instead of the standard one if there are no articles in a given section of the site. You can make unique messages for every section.

[if field = "value"] text [/if]

display the text enclosed in it if the field value is equal to the specified value

[if field = "value"] text [/if] - shows the text if the field is equal to 'value’ parameter

[if field != "value"]text[/if] - shows the text if the field is not equal to 'value’ parameter

[if field > "1"] text [/if] - shows the text if the field is greater than 'value’ parameter

[if field >= "2"] text [/if] - shows the text if the field is greater than or equal to 'value’ parameter

[if field < "3"] text [/if] - shows the text if the field is less than 'value’ parameter

[if field <= "4"] text [/if] - shows the text if the field is less than or equal to 'value’ parameter

[if field ~ "value"] text [/if] - shows the text if there is word 'value’ in the field

[if field !~ "value"] text [/if] - shows the text if the word 'value’ is NOT in the field

Combined use:

[if field > "3" AND field2 < "5"] text [/if] shows the text if “field” field is greater than three, and field2 is less than 5

[if field > "3" OR field2 < "5"] text [/if] shows the text if “field” field is greater than three or field2 is less than 5, that is, if any of the conditions match

Names for field:

id - Unique ID number of the story (number)

autor - Story author login (text)

date - Story date (date in British format, for example, “2020-09-01” or “10 September 2020”, or “next Thursday”, or “+1 day”, or in unix format; if the equal sign is used then the story date is rounded to the minute)

short_story - Short story text (text)

full_story - In the short story template, this is the number of characters in the full description. The full story template contains the full text.

title - Story title text (text)

descr - Meta tag describing a story (text)

keywords - “Keywords” meta tag (text)

category - List of categories to which it belongs (text, separated with commas)

alt_name - Title in Latin alphabet to form the page address when using the CNC. (text)

comm_num - Number of comments (number)

allow_comm - Comments allowed or not (number, 1 or 0)

allow_main - Story posted on the main page or not (number, 1 or 0)

approve - Story posted on the website or under moderation (number, 1 or 0)

fixed - Story fixed or not (number, 1 or 0)

symbol - Symbol code (text)

tags - List of tags from the tag list for the tag cloud (text, separated with commas)

news_read - Number of views (number)

allow_rate - Story rating allowed or not (number, 1 or 0)

rating - Story rating, total sum of all values (number)

vote_num - Number of people who voted in the rating (number)

votes - Voting allowed in a story (number, 1 or 0)

view_edit - Display the reason for editing or not (number, 1 or 0)

disable_index - Web indexing allowed or not (number, 1 or 0)

editdate - Story edit date (date in British format, for example, “2020-09-01” or “10 September 2020”, or “next Thursday”, or “+1 day”, or in unix format; if the equal sign is used then the date is rounded to the minute)

editor - Login of the last editor of the post (text)

reason - Reason for editing a story (text)

user_id - Post author ID (number)

xfield_x - Value of the additional field in a post, where x is a name of the additional field. For example, xfield_test value of the additional “test” field

If the output of all information about the author's profile is enabled in your site settings, you can additionally use the following tags:

{profile-link}

Shows link to the post's author profile

{foto}

Shows link to the post's author avatar

{fullname}

Shows post's author full name

[fullname] текст [/fullname]

Shows text embedded into tags, if author's full name is specified on the profile

[not-fullname] текст [/not-fullname]

Shows text embedded into tags, if author's full name is not specified on the profile

{land}

Shows author's country

[land] текст [/land]

Shows text embedded into tags, if country is specified on the author's profile

[not-land] текст [/not-land]

Shows text embedded into tags, if country is not specified on the author's profile

{signature}

Shows author's signature

[signature] текст [/signature]

Shows text embedded into tags, if signature is specified on the author's profile

[not-signature] текст [/not-signature]

Shows text embedded into tags, if signature is not specified on the author's profile

{user-info}

Shows post's author user info

[user-info] текст [/user-info]

Shows text embedded into tags, if user info is specified on the author's profile

[not-user-info] текст [/not-user-info]

Shows text embedded into tags, if user info is not specified on the author's profile

[online] текст [/online]

Shows text embedded into tags, if the post's author is online

[offline] текст [/offline]

Shows text embedded into tags, if the post's author is offline

{mail}

Shows user E-mail

[pm] Текст [/pm]

Shows link with caption "Text" for sending a private message to the post's author

{group}

Shows user group

{registration}

Shows user registration date

{lastdate}

Shows user last visit date

{group-icon}

Shows user group icon

{time_limit}

Shows group access expiring date for temporary groups

[time_limit] текст [/time_limit]

Shows text embedded into tags, if a user is a member of temporary group

{comm-num}

Shows number of comments posted by user

{comments-url}

Shows link to user's comments

[comm-num] текст [/comm-num]

Shows text embedded into tags, if a user posted comments on the site

[not-comm-num] текст [/not-comm-num]

Shows text embedded into tags, if a user didn't post comments on the site

{news}

Shows links to user's posts

{rss}

Shows link to user's RSS feed

{news-num}

Shows number of user's posts

[news-num] текст [/news-num]

Shows text embedded into tags, if a user published posts on the site

[not-news-num] текст [/not-news-num]

Shows text embedded into tags, if a user didn't publish posts on the site

{all-pm}

Shows total number of user's private messages

{favorite-count}

Shows total number of posts added to the bookmarks by user

[profile_xfvalue_X]

Shows value of additional field "X" from the user profile

[profile_xfgiven_X] текст [/profile_xfgiven_X]

Shows text embedded into tags, if user profile has additional field "X"

[profile_xfnotgiven_X] текст [/profile_xfnotgiven_X]

Shows text embedded into tags, if user profile has no additional field "X"

[author-group=X] текст [/author-group]

Shows text embedded into tags, if post's author is a member of specified "X" user group. Group names can be separated with a comma, e.g. 1,2,3

[not-author-group=X] текст [/not-author-group]

Shows text embedded into tags, if post's author is not member of specified "X" user group. Group names can be separated with a comma, e.g. 1,2,3


Full article

Navigation: Templates >

Full article

Displaying of the full article can be configured in fullstory.tpl. You can use the following tags:

{title}

Article title.

{title limit="x"}

Article title limited by X number of symbols.

{full-story}

Full article.

{short-story}

Article annotation.

{full-story limit="x"}

Displays the full article text without HTML formatting limited by X number of symbols.

{author}

Author of the article.

{date}

Publication date.

{pages}

Article pages navigation.

[pages] text [/pages]

Displays the enclosed text if the article consists of few pages using {PАGEBREAK} tag, and removes the text from it if it consists of one page.

{link-category}

Link to all the categories where the article belongs to.

{rating}

Displays the article rating.

[rating] text [/rating]

Displays the enclosed text if article rating is enabled and hides the contents if it was disabled when adding the article.

[rating-type-1] text [/rating-type-1]

Displays the enclosed text if the first 'Rating' type was enabled in script settings.

[rating-type-2] text [/rating-type-2]

Displays the enclosed text if the second rating type 'Likes only' was enabled in script settings.

[rating-type-3] text [/rating-type-3]

Displays the enclosed text if the third rating type 'Like' or 'Dislike' was enabled in script settings.

[rating-type-4] text [/rating-type-4]

Displays the enclosed text if the fourth rating type 'Like' and 'Dislike' was enabled in script settings.

[rating-minus] text [/rating-minus]

Displays the enclosed text as a link to dislike the article. This link is displayed if the third rating type is used.

[rating-plus] text [/rating-plus]

Displays the enclosed text as a link to like the article. This link is displayed if the third rating type is used.

{likes}

Display number of likes

{dislikes}

Display number of dislikes

{vote-num}

Displays the number of users who rated this article.

{ratingscore}

Displays average rating figure containing fractional part amounting from one to five

{comments-num}

Displays the number of comments for this article.

{category}

Article category.

{category-url}

Displays the full URL of the category where the article belongs to. This tag displays only the URL in its pure form, without any formatting or a ready reference.

{category-icon}

Link to the category icon.

{views}

Number of views of the article.

{favorites}

Link to add or remove from Favorites.

[add-favorites] text [/add-favorites]

Link to add the article to Favorites list on the website.

[del-favorites] text [/del-favorites]

Link to remove the article from Favorites list on the website.

[edit] text [/edit]

Link to edit the article.

[print-link] and [/print-link]

Link to the printable version.

[com-link] and [/com-link]

Link to comments to this article. Displayed if comments are allowed.

[xfvalue_x]

Value of extra field "x", where "x" is the name of the extra field.

[xfvalue_X limit="X2"]

Displays the article annotation text without HTML formatting limited by X2 number of symbols. Text is limited to the last logical word. For example, [xfvalue_test limit="50"] shows the first 50 symbols of the extra field value named test.

[xfgiven_x] [xfvalue_x] [/xfgiven_x]

Displays the extra field "x" if it is not empty.

[xfnotgiven_X] [/xfnotgiven_X]

Displays the enclosed text if extra field has not been set when publishing the article, where "х" is the name of the extra field.

[ifxfvalue tagname="tagvalue"] Text [/ifxfvalue]

Displays the enclosed text if the extra field value matches the specified value, where tagmane is a name of the extra field, and tagvalue is its value. The values of tagvalue can be listed separated by commas.

[ifxfvalue tagname!="tagvalue"] Text [/ifxfvalue]

Text between them will be displayed if the extra field value does not match the specified value, where tagmane is a name of the extra field, and tagvalue is its value. The values of tagvalue can be listed separated by commas.

[xfvalue_thumb_url_X]

This tag can be used only if extra field has type "Image". The tag displays only the URL for the thumbnails of the uploaded image, where "х" is the name of the extra field.

[xfvalue_image_url_X]

This tag can be used only if extra field has type "Image". The tag displays only the URL for the full size image of the uploaded image, where "х" is the name of the extra field.

[xfvalue_X image="Nr"]

Display the uploaded images separately for extra fields of "Image Gallery" type, where "X" is the name of the extra field, and "Nr" is the number of image from the gallery. For example, if you apply [xfvalue_test image="2"], then image number two will be displayed that loaded into an additional field named "test".

[group=X]text[/group]

Displays the text to a specific user group. Where X is a list of user group IDs separated by commas.

{related-news}

Displays the link to the 5 most related articles.

[catlist=1,2....] текст [/catlist]

Displays the enclosed text if the article belongs to the specified categories.

[not-catlist=1,2....] text [/not-catlist]

Displays the enclosed text if the article does not belong to the specified categories.

[category-icon] text [/category-icon]

Displays text enclosed in them, if in the category settings an icon was set for the category where the post is located

[not-category-icon] text [/not-category-icon]

Displays text, if no icon is set for the category where the post is located

[has-category] text [/has-category]

Displays the text enclosed in them, if the publication is in any category

[not-has-category] text [/not-has-category]

Displays the text enclosed in them, if the publication does not have any categories

[tags] text [/tags]

Displays the text if the article contains keywords assigned for a tag cloud.

{tags}

Displays clickable keywords of the article.

{full-link}

Displays the full permanent address of the article.

[edit-date] text [/edit-date]

Displays the text if the text or the article has been edited.

{edit-date}

Displays the date when the article has been edited.

{editor}

Displays the login of user who edited the article.

[edit-reason] text [/edit-reason]

Displays the text if edit reason has been specified.

{edit-reason}

Displays the edit reason.

{poll}

Connects the voting template into the article if this article has the voting.

{date=date format}

Displays the date in the specified format. It allows you to display both the full date and its separate parts. The date format is set in accordance with the PHP format. For example, {date=d} tag displays the day of the article or comment publication, and {date=F} tag displays the name of the month. {date=d-m-Y H:i} displays the full date and time.

[fixed] text [/fixed]

Displays the enclosed text if this article is fixed.

[not-fixed] text [/not-fixed]

Displays the enclosed text if this article is not fixed.

[day-news] text [/day-news]

Displays the link to all the news published in the same day as the given article. This tag can be used in conjunction with {date}.

{comments}

Displays comments to this article. This tag will be useful for those who need to post comments on the page of the full article. This tag is not required. In its absence the comments will be automatically located below the full article.

{addcomments}

Displays the Add comments form. In conjunction with a new {comments} tag you can place Add comments form both above and below the comments. This tag is not required. In its absence the comments will be automatically located below the full article.

{navigation}

Displays the comments navigation if there are several pages with ocmments. In conjunction with a new {comments} tag you can place navigation both above and below the comments. This tag is not required. In its absence the navigation will be automatically located below the full article.

{login}

Displays the name of the user who added the article as a simple text without a link to his profile.

[related-news]

text

[/related-news]

Displays the enclosed text only if there are related news to this article. Otherwise the information will be removed from the template.

[poll] text [/poll]

Displays the enclosed text if this publication has a voting.

[not-poll] text [/not-poll]

Displays the enclosed text if this publication has no voting.

[profile] text [/profile]

Displays the link to the article's author profile, without the use of pop-up miniprofile window.

[complaint]

text

[/complaint]

Displays the enclosed text as a link to writing a complaint to the article.

{custom}

Refer to "Displaying news on pages".

[comments]

text

[/comments]

Displays the enclosed text if there are comments for this article.

[not-comments]

text

[/not-comments]

Displays the enclosed text if there is no comments for this article.

{image-x}

Displays the URL of images that are in the article annotation, where "x" is the number of picture in the article. For example,{image-1} will display URL of the first image in the article annotation.

[image-x] text [/image-x]

Displays the enclosed text only if there is an image number X in the article.

[not-image-x] text [/not-image-x]

Display text included in them, in case picture under the number X is not in the news

{fullimage-x}

Displays the URL of the image which is in full article, where "x" is the number of the picture in the article.

[fullimage-x] text [/fullimage-x]

Displays the enclosed text only if there is the image number "x" in the article.

[news=1,2,3] text [/news]

Displays the enclosed text if the user the full version of the article specified in the tag, where 1,2,3 are the article IDs.

[not-news=1,2,3] text [/not-news]

Displays text on any page except the news pages specified in the tag.

[declination=X] text [/declination]

Changes endings according to the specified number. X is a number and "text" is a word with its endings. Endings are specified separated by "|" symbol. This tag is useful to be used with other tags that display, for example, number of views of the article or number of comments. For example, [declination={comments-num}]commen|t|ts[/declination] displays the following, depending on the number of comments: "comment", "comments".

{banner_x}

Displays the banner added in the Manage banners section of Administration Panel. Where X is the name of the banner.

[vk] text [/vk]

Displays the enclosed text if authorization using VK network is enabled.

{vk_url}

Displays the URL link to log in to VK.

[odnoklassniki] text [/odnoklassniki]

Displays the enclosed text if authorization using Odnoklassniki network is enabled.

{odnoklassniki_url}

Displays the URL link to log in to Odnoklassniki.

[facebook] text [/facebook]

Displays the enclosed text if authorization using Facebook network is enabled.

{facebook_url}

Displays the URL link to log in to Facebook.

[google] text [/google]

Displays the enclosed text if authorization using Google network is enabled.

{google_url}

Displays the URL link to log in to Google.

[mailru] text [/mailru]

Displays the enclosed text if authorization using Mail.ru network is enabled.

{mailru_url}

Displays the URL link to log in to Mail.ru.

[yandex] text [/yandex]

Displays the enclosed text if authorization using Yandex network is enabled.

{yandex_url}

Displays the URL link to log in to Yandex.

[comments-subscribe]

text

[/comments-subscribe]

Text between them is displayed as a link to the article comments subscription.

[next-url] Text [/next-url]

display enclosed text if article has the next article

{next-url}

Display the URL of the next article

{next-title}

Display the title of the next article

[prev-url] Text [/prev-url]

Display the enclosed text if article has the previous article

{prev-url}

Display the URL of the previous article

{prev-title}

Displays the title of the previous article

[if field = "value"] text [/if]

display the text enclosed in it if the field value is equal to the specified value

[if field = "value"] text [/if] - shows the text if the field is equal to 'value’ parameter

[if field != "value"]text[/if] - shows the text if the field is not equal to 'value’ parameter

[if field > "1"] text [/if] - shows the text if the field is greater than 'value’ parameter

[if field >= "2"] text [/if] - shows the text if the field is greater than or equal to 'value’ parameter

[if field < "3"] text [/if] - shows the text if the field is less than 'value’ parameter

[if field <= "4"] text [/if] - shows the text if the field is less than or equal to 'value’ parameter

[if field ~ "value"] text [/if] - shows the text if there is word 'value’ in the field

[if field !~ "value"] text [/if] - shows the text if the word 'value’ is NOT in the field

Combined use:

[if field > "3" AND field2 < "5"] text [/if] shows the text if “field” field is greater than three, and field2 is less than 5

[if field > "3" OR field2 < "5"] text [/if] shows the text if “field” field is greater than three or field2 is less than 5, that is, if any of the conditions match

Names for field:

id - Unique ID number of the story (number)

autor - Story author login (text)

date - Story date (date in British format, for example, “2020-09-01” or “10 September 2020”, or “next Thursday”, or “+1 day”, or in unix format; if the equal sign is used then the story date is rounded to the minute)

short_story - Short story text (text)

full_story - In the short story template, this is the number of characters in the full description. The full story template contains the full text.

title - Story title text (text)

descr - Meta tag describing a story (text)

keywords - “Keywords” meta tag (text)

category - List of categories to which it belongs (text, separated with commas)

alt_name - Title in Latin alphabet to form the page address when using the CNC. (text)

comm_num - Number of comments (number)

allow_comm - Comments allowed or not (number, 1 or 0)

allow_main - Story posted on the main page or not (number, 1 or 0)

approve - Story posted on the website or under moderation (number, 1 or 0)

fixed - Story fixed or not (number, 1 or 0)

symbol - Symbol code (text)

tags - List of tags from the tag list for the tag cloud (text, separated with commas)

news_read - Number of views (number)

allow_rate - Story rating allowed or not (number, 1 or 0)

rating - Story rating, total sum of all values (number)

vote_num - Number of people who voted in the rating (number)

votes - Voting allowed in a story (number, 1 or 0)

view_edit - Display the reason for editing or not (number, 1 or 0)

disable_index - Web indexing allowed or not (number, 1 or 0)

editdate - Story edit date (date in British format, for example, “2020-09-01” or “10 September 2020”, or “next Thursday”, or “+1 day”, or in unix format; if the equal sign is used then the date is rounded to the minute)

editor - Login of the last editor of the post (text)

reason - Reason for editing a story (text)

user_id - Post author ID (number)

xfield_x - Value of the additional field in a post, where x is a name of the additional field. For example, xfield_test value of the additional “test” field

If the output of all information about the author's profile is enabled in your site settings, you can additionally use the following tags:

{profile-link}

Shows link to the post's author profile

{foto}

Shows link to the post's author avatar

{fullname}

Shows post's author full name

[fullname] текст [/fullname]

Shows text embedded into tags, if author's full name is specified on the profile

[not-fullname] текст [/not-fullname]

Shows text embedded into tags, if author's full name is not specified on the profile

{land}

Shows author's country

[land] текст [/land]

Shows text embedded into tags, if country is specified on the author's profile

[not-land] текст [/not-land]

Shows text embedded into tags, if country is not specified on the author's profile

{signature}

Shows author's signature

[signature] текст [/signature]

Shows text embedded into tags, if signature is specified on the author's profile

[not-signature] текст [/not-signature]

Shows text embedded into tags, if signature is not specified on the author's profile

{user-info}

Shows post's author user info

[user-info] текст [/user-info]

Shows text embedded into tags, if user info is specified on the author's profile

[not-user-info] текст [/not-user-info]

Shows text embedded into tags, if user info is not specified on the author's profile

[online] текст [/online]

Shows text embedded into tags, if the post's author is online

[offline] текст [/offline]

Shows text embedded into tags, if the post's author is offline

{mail}

Shows user E-mail

[pm] Текст [/pm]

Shows link with caption "Text" for sending a private message to the post's author

{group}

Shows user group

{registration}

Shows user registration date

{lastdate}

Shows user last visit date

{group-icon}

Shows user group icon

{time_limit}

Shows group access expiring date for temporary groups

[time_limit] текст [/time_limit]

Shows text embedded into tags, if a user is a member of temporary group

{comm-num}

Shows number of comments posted by user

{comments-url}

Shows link to user's comments

[comm-num] текст [/comm-num]

Shows text embedded into tags, if a user posted comments on the site

[not-comm-num] текст [/not-comm-num]

Shows text embedded into tags, if a user didn't post comments on the site

{news}

Shows links to user's posts

{rss}

Shows link to user's RSS feed

{news-num}

Shows number of user's posts

[news-num] текст [/news-num]

Shows text embedded into tags, if a user published posts on the site

[not-news-num] текст [/not-news-num]

Shows text embedded into tags, if a user didn't publish posts on the site

{all-pm}

Shows total number of user's private messages

{favorite-count}

Shows total number of posts added to the bookmarks by user

[profile_xfvalue_X]

Shows value of additional field "X" from the user profile

[profile_xfgiven_X] текст [/profile_xfgiven_X]

Shows text embedded into tags, if user profile has additional field "X"

[profile_xfnotgiven_X] текст [/profile_xfnotgiven_X]

Shows text embedded into tags, if user profile has no additional field "X"

[author-group=X] текст [/author-group]

Shows text embedded into tags, if post's author is a member of specified "X" user group. Group names can be separated with a comma, e.g. 1,2,3

[not-author-group=X] текст [/not-author-group]

Shows text embedded into tags, if post's author is not member of specified "X" user group. Group names can be separated with a comma, e.g. 1,2,3


Comments

Navigation: Templates >

Comments

Displaying of this section can be configured in comments.tpl. Display of comments for the published article is configured in this section.

{author}

User who left the comment.

{mail}

E-mail of user who left the comment.

{date}

Publication date. The date format can be configured in system settings.

{comment}

Text of comment.

{comment limit="X"}

It displays the text of a comment without HTML formatting, where the text itself is reduced to the specified "x" number of symbols. The text is reduced to the last logical word, not to the middle of it.

{comment-id}

Comment ID.

{ip}

IP address of user who left the comment. Displays only to website Administrators.

[com-edit] and [/com-edit]

Link to the comment edit if it is allowed.

[com-del] and [/com-del]

Link to the comment removal if it is allowed.

{news_title}

Link to the article when viewing the last comments. Tag is removed if comments are displayed in the article.

{news-title}

It displays HTML-safe header of an article where the given comment belongs to. This tag is useful when you display customized comments and last comments.

{news-link}

It displays the URL of an article where the comment belongs to. This tag is useful when you display customized comments and last comments.

{foto}

Link to the photo.

{fullname}

Full name of a user.

{land}

Place of residence.

[signature] and [/signature]

Displays the enclosed text if user has set the signature in his profile.

{signature}

User's signature.

{registration}

Date of registration on the website.

{lastdate}

Date of the last visit.

[fast] [/fast]

Fast comments quotation.

{group-icon}

Icon of the user's group.

{group-name}

Name of the user's group.

{news-num}

Number of user's articles.

{comm-num}

Number of user's comments.

{date=date fromat}

Displays the date in the specified format. It allows you to display both the full date and its separate parts. The date format is set in accordance with the PHP format. For example, {date=d} tag displays the day of the article or comment publication, and {date=F} tag displays the name of the month. {date=d-m-Y H:i} displays the full date and time.

{login}

Login of the author without any links and menus.

[profile] text [/profile]

Displays the enclosed text as a link to the profile of the user who left a comment.

{mass-action}

Establishes the possibility of mass comments marking to perform mass actions on the site.

[complaint]

text

[/complaint]

Displays the enclosed text as a link to writing the complaint about the comment.

[xfgiven_x]

[xfvalue_x]

[/xfgiven_x]

Extra field "x" is displayed if it is not empty.

[xfnotgiven_x]

text

[/xfnotgiven_x]

Displays the enclosed text if user extra field has not been set, where X is the name of extra field of the user profile.

[xfvalue_x]

The value of extra field "x", where "x" is the name of extra field.

[fullname]

text [/fullname]

Displays the enclosed text if the full name has been set by the user.

[not-fullname]

text [/not-fullname]

Displays the enclosed text only if the full name has not been set by the user.

[land] text [/land]

Displays the enclosed text only if user has set the place of residence.

[not-land] text [/not-land]

Displays the enclosed text only if user has not set the place of residence.

[news-num]

text

[/news-num]

Displays the enclosed text only if user has news published by him.

[not-news-num]

text

[/not-news-num]

Displays the enclosed text only if user has no news published by him.

[comm-num]

text [/comm-num]

Displays the enclosed text only if user has comments.

[not-comm-num]

text [/not-comm-num]

Displays the enclosed text only if user has no comments.

[online] text [/online]

Displays the enclosed text only if user is online (20 minutes since the last visit).

[offline] text [/offline]

Displays the enclosed text only if user is offline.

[spam] Spammer [/spam]

Displays the enclosed text as a link to mark this user who left the comment as a spammer.

[declination=X] text [/declination]

Changes endings according to the specified number. X is a number and "text" is a word with its endings. Endings are specified separated by "|" symbol. This tag is useful to be used with other tags that display, for example, number of views of the article or number of comments. For example, [declination={comments-num}]commen|t|ts[/declination] displays the following, depending on the number of comments: "comment", "comments".

[commentsgroup=1,2,3]

text

[/commentsgroup]

Displays the enclosed text if the comments was written by the user who belonged to specified groups.

[not-commentsgroup=1,2,3]

text

[/not-commentsgroup]

Displays the enclosed text if the comments was written by the user who did not belong to specified groups.

[commentscount=x]

text

[/commentscount]

Displays the enclosed text if comment number X is displayed, where X is the number of comment shown on the page. For example, [commentscount=1] text [/commentscount] will show the text when the first comment will be displayed on the page. This tag is useful if you want to choose the place to display ads between comments. For example, the code [commentscount=1,10] ad code [/commentscount] which is added to the end of the template will display ads after the first and the tenth comment.

[not-commentscount=X]

text

[/not-commentscount]

Displays the enclosed text when any comments are displayed except the comment number X. This tag is useful if you want to show some design elements in all the article annotations except the specified ones, for example, if you do not want something to be displayed in the first article annotation.

[rating-type-1] text [/rating-type-1]

Displays the enclosed text if the first 'Rating' type was enabled in script settings.

[rating-type-2] text [/rating-type-2]

Displays the enclosed text if the second rating type 'Likes only' was enabled in script settings.

[rating-type-3] text [/rating-type-3]

Displays the enclosed text if the third rating type 'Like' or 'Dislike' was enabled in script settings.

[rating-type-4] text [/rating-type-4]

Displays the enclosed text if the fourth rating type 'Like' and 'Dislike' was enabled in script settings.

[rating-minus] text [/rating-minus]

Displays the enclosed text as a link to dislike the article. This link is displayed if the third rating type is used.

[rating-plus] text [/rating-plus]

Displays the enclosed text as a link to like the article. This link is displayed if the third rating type is used.

{rating}

Displays the comment rating.

{likes}

Display number of likes

{dislikes}

Display number of dislikes

{vote-num}

Displays the number of users who rated this comment.

{ratingscore}

This tag displays average rating figure containing fractional part amounting from one to five. For example, it may be 1.6 or 4.2 depending on evaluation.

[reply] text [/reply]

Enclosed text is displayed as a link to a pop-up window for replying to a comment if tree-like comments are enabled. If they are disabled it inserts the given commentator's username to the new comment form.

[treecomments]

text

[/treecomments]

Enclosed text is displayed if tree-like comments are enabled in script settings.

[not-treecomments]

text

[/not-treecomments]

Enclosed text is displayed if tree-like comments are disabled in script settings.

[rootcomments] text [/rootcomments]

The enclosed text is displayed if the comment is the parent comment, rather than a response to any other comment

[childrencomments] text [/childrencomments]

Display the enclosed text if the comment is a reply to another comment

{replycount}

It displays the number of replies for this comment.

[comments-author]

text

[/comments-author]

Enclosed text is displayed if user who views the page is the author of the comment.

[not-comments-author]

text

[/not-comments-author]

Enclosed text is displayed if user who views the page is not the author of the comment.

[news-author] text [/news-author]

Enclosed text is displayed if comment belongs to the author of the given article.

[not-news-author]

text

[/not-news-author]

Enclosed text is displayed if comment does not belong to the author of the given article.

[positive-comment]

text

[/positive-comment]

Enclosed text is displayed if the comment has positive rating.

[negative-comment]

text

[/negative-comment]

Enclosed text is displayed if the comment has negative rating.

[neutral-comment]

text

[/neutral-comment]

Enclosed text is displayed if the comment has neutral rating.

[catlist=1,2....] текст [/catlist]

Displays the enclosed text if the article belongs to the specified categories.

[not-catlist=1,2....] text [/not-catlist]

Displays the enclosed text if the article does not belong to the specified categories.

[if field = "value"] text [/if]

display the text enclosed in it if the field value is equal to the specified value

[if field = "value"] text [/if] - shows the text if the field is equal to 'value’ parameter

[if field != "value"]text[/if] - shows the text if the field is not equal to 'value’ parameter

[if field > "1"] text [/if] - shows the text if the field is greater than 'value’ parameter

[if field >= "2"] text [/if] - shows the text if the field is greater than or equal to 'value’ parameter

[if field < "3"] text [/if] - shows the text if the field is less than 'value’ parameter

[if field <= "4"] text [/if] - shows the text if the field is less than or equal to 'value’ parameter

[if field ~ "value"] text [/if] - shows the text if there is word 'value’ in the field

[if field !~ "value"] text [/if] - shows the text if the word 'value’ is NOT in the field

Combined use:

[if field > "3" AND field2 < "5"] text [/if] shows the text if “field” field is greater than three, and field2 is less than 5

[if field > "3" OR field2 < "5"] text [/if] shows the text if “field” field is greater than three or field2 is less than 5, that is, if any of the conditions match

Names for field:

id - Unique comment ID (numeral)

post_id - Unique post ID (numeral)

user_id - Unique commenter ID, if registered (numeral)

date - Comment date (can be in "2020-09-01" or "10 September 2020" or "next Thursday" or "+1 day" or "next Thursday" or Unix format, if the equal sign is used then post date is rounded up to one minute)

gast_name - Commenter's username (text)

gast_email - Commenter's Е-mail (text)

ip - Commenter's IP (text)

is_register - Registered or not user (numeral 1 or 0)

rating - Total comment rating (numeral)

vote_num - Number of votes in comment's rating (numeral)

name - Commenter's username, if registered (text)

email - Commenter's E-mail, if registered (text)

news_num - Number of commenter's posts, if registered (numeral)

comm_num - Number of comments posted, if registered (numeral)

user_group - Commenter's user group, if registered (numeral)

lastdate - Commenter's last visit date (can be in "2020-09-01" or "10 September 2020" or "next Thursday" or "+1 day" or "next Thursday" or Unix format, if the equal sign is used then post date is rounded up to one minute), if registered

reg_date - Commenter's registration date (can be in "2020-09-01" or "10 September 2020" or "next Thursday" or "+1 day" or "next Thursday" or Unix format, if the equal sign is used then post date is rounded up to one minute), if registered

signature - Commenter's signature, if registered (text)

foto - Link to commenter's avatar, if registered (text)

fullname - Commenter's full name, if registered (text)

land - Commenter's country, if registered (text)

xfield_x - Additional field value of post where x is a name of additional field. For example, xfield_test is a value of additional field test


Categories menu

Navigation: Templates >

Categories menu

Displaying of this section can be configured in categorymenu.tpl. In this section, you configure the output menu of the categories for publications.

[root] text [/root] | Displays a text between them when initially generating the menu template. These tags can be used to create the appearance of the menu. For example, to add some HTML elements, or elements which are not included in a category list.
[item] text [/item] | Represents a single category list item when forming category menu list. Text between these tags is displayed with HTML appearance customized for each list item.
[sub-prefix] text [/sub-prefix] | Displays text between them as a subcategory prefix if a category is parental and it has subcategories.
[sub-suffix] text [/sub-suffix] | Displays text between them as a subcategory suffix if a category is parental and it has subcategories.
{sub-item} | Represents subcategories in a parent category if it has subcategories. This tag is used only within [item] [/item] tags.
{id} | Displays category's ID
{name} | Displays a category name. This tag is used only within [item] [/item] tags.
{url} | Displays a category URL. This tag is used only within [item] [/item] tags.
{icon} | Displays a category icon. This tag is used only within [item] [/item] tags.
{news-count} | Displays a number of articles of the category. This tag is used only within [item] [/item] tags.
[active] text [/active] | Displays a text between them if a viewed category or article is of the category from the menu. This tag is used only within [item] [/item] tags and is usually used to emphasize active categories form the menu.
[not-active] text [/not-active] | The enclosed text is displayed if the viewed category or article does not belong to a menu category. This tag can only be located inside the [item] [/item] tags and is used, for example, to output some information (e.g. links) only for non-active menu categories.
[isparent] text [/isparent] | Displays a text between them if a category is parental and contains subcategories. This tag is used only within [item] [/item] tags.
[not-parent] текст [/not-parent] | Displays embedded text if category is not a parent category and don't have any subcategories
[is-children] текст [/is-children] | Displays embedded text if a category has a parent category
[not-children] текст [/not-children] | Displays embedded text if a category has not parent category
{description} | Displays category description
[description] текст [/description] | Displays embedded text if description is specified
[not-description] текст [/not-description] | Displays embedded text if description is not specified

Here you can see the example of a simple category menu template based on ul and li HTML tags:

[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]


Files downloading

Navigation: Templates >

Files downloading

Displaying of this section can be configured in attachment.tpl. Display of downloadable files that were uploaded using the script is configured in this section. You can use the following tags:

[allow-download] text [/allow-download] | Displays the enclosed text if the website user is allowed to download files.
[not-allow-download] text [/not-allow-download] | Displays the enclosed text if the website user is not allowed to download files.
[count] text [/count] | Displays the enclosed text if the file downloads counter is enabled in script settings.
{id} | Displays the unique ID of the uploaded file. Information about this file is stored in the database.
{name} | Displays the name of the uploaded file, or text specified as the name in [аttachment=...] tag in the text of the article.
{extension} | Displays the extension of the attached file.
{link} | URL to the file downloading.
{size} | File size.
{md5} | MD5 checksum of the uploaded file.
{date} | Displays the date of the file upload, in the date format that is specified in your script.
{date=date fromat} | Displays the date in the specified format. It allows you to display both the full date and its separate parts. The date format is set in accordance with the PHP format. For example, {date=d} tag displays the day of the article or comment publication, and {date=F} tag displays the name of the month. {date=d-m-Y H:i} displays the full date and time.
{count} | The number of downloads of the file.
{online-view-link} | Displays URL link to view the document online in the browser
[allow-online] текст [/allow-online] | Displays the enclosed text, if the loaded document has supported format for online viewing.


Add comment

Navigation: Templates >

Add comment

Display of this form is configured in addcomments.tpl. Templates are customized in this section which are used when users adding comments to the database. It is not recommended to edit this section without knowledge of HTML, because it uses the field names that are passed to the script via the form. In other words, you can edit the text as you like, but do not change the names of the fields, it is extremely important. You can use the following tags:

{title} | Title that explains if this form is for adding or to editing the comment.
[not-logged] and [/not-logged] | Displays the enclosed code if the user is not registered. For example, you can enclose login and e-mail fields in these tags. If these fields are not filled and the user is logged in, these data will be automatically taken from his/her profile.
{editor} | Displays BBCODE or WYSIWYG editor depending on the settings for adding the comment.
[sec_code] and [/sec_code] | Displays the enclosed text if it was set to use CAPTCHA when adding the comment.
{sec_code} | Displays the CAPTCHA code.
[recaptcha] text [/recaptcha] | Displays the enclosed text if reCAPTCHA type was enabled in settings.
{recaptcha} | Displays reCAPTCHA widget if it was enabled in settings.
[question] and [/question] | Displays the enclosed text if question/answer system was enabled.
{question} | Displays the question from the list of questions that was previously set.
[vk] text [/vk] | Displays the enclosed text if authorization using VK network is enabled.
{vk_url} | Displays the URL link to log in to VK.
[odnoklassniki] text [/odnoklassniki] | Displays the enclosed text if authorization using Odnoklassniki network is enabled.
{odnoklassniki_url} | Displays the URL link to log in to Odnoklassniki.
[facebook] text [/facebook] | Displays the enclosed text if authorization using Facebook is enabled.
{facebook_url} | Выводит ссылку URL на авторизацию в соц. сети Facebook
[google] text [/google] | Displays the enclosed text if authorization using Google is enabled.
{google_url} | Displays the URL link to log in to Google.
[mailru] text [/mailru] | Displays the enclosed text if authorization using Mail.ru is enabled.
{mailru_url} | Displays the URL link to log in to Mail.ru.
[yandex] text [/yandex] | Displays the enclosed text if authorization using Yandex is enabled.
{yandex_url} | Displays the URL link to log in to Yandex.
[comments-subscribe] text [/comments-subscribe] | Text between them is displayed as a link to the article comments subscription.
[catlist=1,2....] текст [/catlist] | Displays the enclosed text if the article belongs to the specified categories.
[not-catlist=1,2....] text [/not-catlist] | Displays the enclosed text if the article does not belong to the specified categories.


Votings in articles

Navigation: Templates >

Votings in articles

Displaying of this section can be configured in poll.tpl. Display of voting for the published article is confugured in this section.

{title} | Voting title.
{question} | Question.
{votes} | Number of votes.
{list} | List of possible answers.
[voted] text [/voted] | Displays the enclosed text if the user has already voted, otherwise the text is hidden.
[not-voted] text [/not-voted] | Displays the enclosed text if the user has not voted yet, otherwise the text is hidden.


Add article

Navigation: Templates >

Add article

Display of this form is configured in addnews.tpl. In this section you can customize templates which are used when users add news to the database. It is not recommended to edit this section without knowledge of HTML, because it uses the field names that are passed to the script via the form. In other words, you can edit the text as you like, but do not change the names of the fields, it is extremely important. You can use the following tags:

{category} | Displays the field of the category selection where the article will belong to.
[xfinput_X] | Displays your selected extra field in the form to add news to your desired location, where X is the name of an additional field for news
{xfields} | Displays extra fields (see the test template for details).
{bbcode} | Displays buttons for inserting tags in the article.
{admintag} | Displays extra options for Administrator.
[urltag] and [/urltag] | Displays the enclosed text to edit User-friendly URL of the article (available for Administrator).
[not-wysywyg] and [/not-wysywyg] | Displays the enclosed text if WYSIWYG is disabled. If it is enabled then the text will be removed.
{shortarea} | Displays WYSIWYG editor to edit the article annotation.
{title} | Displays the title when editing the article.
{alt-name} | User-friendly URL value.
{short-story} | Article annotation.
{full-story} | Full article.
[sec_code] and [/sec_code] | Displays the enclosed text if it was set to use CAPTCHA when adding the article.
{sec_code} | Displays the CAPTCHA code.
{fullarea} | Displays WYSIWYG editor when adding the full article.
[recaptcha] text [/recaptcha] | Displays the enclosed text if reCAPTCHA type was enabled in settings.
{recaptcha} | Displays reCAPTCHA widget if it was enabled in settings.
[question] and [/question] | Displays the enclosed text if question/answer system was enabled.
{question} | Displays the question from the list of questions that was previously set.
{votetitle} | Displays the voting title when editing the article.
{frage} | Displays the question from the voting when editing the article.
{votebody} | Displays the list of possible answers when editing the article.

You can specify categories in a browser bar to be selected by default. This feature is added for articles publishing module. For this the following URL is used: http://yourwebsitename.com/index.php?do=addnews&category=X, where "X" stands for IDs of needed categories, separated by comma. For example, if you use http://yourwebsitename.comindex.php?do=addnews&category=3,4,5, then categories with IDs 1, 2, 3 will be chosen in the article add form. It is useful if extra fields for articles of several categories are used on a website, and if you want to give several forms for posting articles in several categories to users who add articles.


Article preview

Navigation: Templates >

Article preview

Displaying of this section can be configured in preview.tpl. Article preview templates can be configured in this section. In this template you can use all the tags from article annotation and the full article, as well as from static pages. Additional tags are used to separate viewed parts:

[short-preview] and [/short-preview] displays the text for the article annotation template.

[full-preview] and [/full-preview] displays the text for the full article template.

[static-preview] and [/static-preview] displays the text for the static page.


Previous and next news page

Navigation: Templates >

Previous and next news page

Displaying of this section can be configured in navigation.tpl. News navigation can be configured in this section.

[prev-link] and [/prev-link] | Creates a link to the previous page (if there is one).
[next-link] and [/next-link] | Creates a link to the next page (if there is one).
{pages} | Creates a link to pages. For example: 1 2 3 4.


Registration

Navigation: Templates >

Registration

Display of this form is configured in registration.tpl. Templates are customized in this section which are used when users are registered on the website. It is not recommended to edit this section without knowledge of HTML, because it uses the field names that are passed to the script via the form. In other words, you can edit the text as you like, but do not change the names of the fields, it is extremely important. You can use the following tags:

[registration] and [/registration] | Displays the enclosed text when registering.
[validation] and [/validation] | Displays the enclosed text during the validation.
[sec_code] and [/sec_code] | Displays the CAPTCHA code if enabled.
{reg_code} | Shows the CAPTCHA code to the user.
{xfields} | Displays fields to fill in extra fields of the profile.
[xfinput_X] | Displays your extra fields of the form in the desired location, where X is the name of the extra field
[recaptcha] text [/recaptcha] | Displays the enclosed text if reCAPTCHA type was enabled in settings.
{recaptcha} | Displays reCAPTCHA widget if it was enabled in settings.
[question] and [/question] | Displays the enclosed text if question/answer system was enabled.
{question} | Displays the question from the list of questions that was previously set.
[vk] text [/vk] | Displays the enclosed text if authorization using VK network is enabled.
{vk_url} | Displays the URL link to log in to VK.
[odnoklassniki] text [/odnoklassniki] | Displays the enclosed text if authorization using Odnoklassniki network is enabled.
{odnoklassniki_url} | Displays the URL link to log in to Odnoklassniki.
[facebook] text [/facebook] | Displays the enclosed text if authorization using Facebook is enabled.
{facebook_url} | Displays the URL link to log in to Facebook.
[google] text [/google] | Displays the enclosed text if authorization using Google is enabled.
{google_url} | Displays the URL link to log in to Google.
[mailru] text [/mailru] | Displays the enclosed text if authorization using Mail.ru is enabled.
{mailru_url} | Displays the URL link to log in to Mail.ru.
[yandex] text [/yandex] | Displays the enclosed text if authorization using Yandex is enabled.
{yandex_url} | Displays the URL link to log in to Yandex.


User Profile

Navigation: Templates >

User Profile

Display of this form is configured in userinfo.tpl. Templates are customized in this section which are used to display the user profile. It is not recommended to edit this section without knowledge of HTML, because it uses the field names that are passed to the script via the form. In other words, you can edit the text as you like, but do not change the names of the fields, it is extremely important. You can use the following tags:

{usertitle} | Username.
{info} | Brief information about the user.
{editmail} | E-mail address.
{comm-num} | Number of comments.
{news-num} | Number of news.
{status} | User status (his/her user group).
{rate} | Current rating of user's articles (formed automatically on the basis of the articles rating).
[rating-type-1] text [/rating-type-1] | Displays the enclosed text if the first 'Rating' type was enabled for articles in script settings.
[rating-type-2] text [/rating-type-2] | Displays the enclosed text if the second rating type 'Likes only' was enabled for articles in script settings.
[rating-type-3] text [/rating-type-3] | Displays the enclosed text if the third rating type 'Like' or 'Dislike' was enabled for articles in script settings.
[comments-rating-type-1] text [/comments-rating-typepe-1] | Displays the enclosed text if the first 'Rating' type was enabled for comments in script settings.
[comments-rating-type-2] text [/comments-rating-type-2] | Displays the enclosed text if the second rating type 'Likes only' was enabled for comments in script settings.
[comments-rating-type-3] text [/comments-rating-typepe-3] | Displays the enclosed text if the third rating type 'Like' or 'Dislike' was enabled for comments in script settings.
{commentsrate} | Displays the total rating of all comments of this user.
{registration} | User's date of registration.
{editinfo} | Displays existing summary information in the field when editing the profile.
{hidemail} | Displays checkbox to hide an e-mail address.
{foto} | Link to the uploaded photo.
{fullname} | Full name of the user.
{land} | User's place of residence.
[not-logged] and [/not-logged] | Displays the enclosed code if user views his own profile. It is used to allow visitors edit their own profiles.
[signature] and [/signature] | Displays the enclosed text if user has set the signature.
{signature} | Displays the user's signature.
{editsignature} | Displays the user's signature formatted for editing.
{lastdate} | Displays the date of the last visit.
{comments} | Link to all the user's comments.
{allowed-ip} | IP from which the registration is allowed.
{xfields} | Displays extra fields of the profile when edited.
[xfinput_X] | Displays your extra fields of the form in the desired location, where X is the name of the extra field
[xfvalue_x] | Displays the value of extra field "x", where "x" is the name of extra field.
[xfgiven_x] [xfvalue_x] [/xfgiven_x] | Extra field "x" is displayed if it is not empty.
[xfnotgiven_x] text [/xfnotgiven_x] | Displays the enclosed text if user extra field has not been set, where X is the name of user profile extra field.
{group-icon} | The user's group icon.
[time_limit] [/time_limit] | Displays the enclosed text if user is in the temporary group.
{time_limit} | Displays the date before which the user is in the temporary group.
{news} | Link to all the news published by the user.
[rss] text [/rss] | Link in the profile to the RSS feed of all the news of the user.
{ignore-list} | List of users from the ignore list.
[fullname] text [/fullname] | Displays the enclosed text if user's full name has been set.
[not-fullname] text [/not-fullname] | Displays the enclosed text if user's full name has not been set.
[land] text [/land] | Displays the enclosed text if user's place of residence has been set.
[not-land] text [/not-land] | Displays the enclosed text if user's place of residence has not been set.
[news-num] text [/news-num] | Displays the enclosed text if user published news on the website.
[not-news-num] text [/not-news-num] | Displays the enclosed text if user did not publish news on the website.
[comm-num] text [/comm-num] | Displays the enclosed text if user left comments on the website.
[not-comm-num] text [/not-comm-num] | Displays the enclosed text if user did not leave comments on the website.
[online] text [/online] | Displays the enclosed text if user is online (20 minutes since the last visit).
[offline] text [/offline] | Displays the enclosed text if user is offline.
[profile-user-group=X] Text [/profile-user-group] | The enclosed text is displayed if the group of the user, whose profile is viewed, belongs to the group X, where X is the group number. Groups can also be listed by comma.
[not-profile-user-group=X] Text [/not-profile-user-group] | The enclosed text is displayed if the group of the user, whose profile is viewed, does not belong to the group X, where X is the group number.
{timezones} | It shows list of available time zones, and allows user to choose time zone for his/her profile on the website.
{news-subscribe} | Displays a checkbox for unsubscribing from comments and the number of signed publications.
{unsubscribe} | Displays a checkbox for a subscription to receive notifications of new comments that are added to the news authored by the user.
{comments-reply-subscribe} | Displays a checkbox for a subscription to receive notifications of new comments that are replies to comments of the user.
{pm} | Link to writing a personal message to the user
{email} | Link to writing E-mail messages to the user
{twofactor-auth} | Displays the check box where user can enable or disable Two-Factor Authentication
[vk] text [/vk] | Displays the enclosed text if authorization using VK network is enabled.
{vk_url} | Displays the URL link to log in to VK.
[odnoklassniki] text [/odnoklassniki] | Displays the enclosed text if authorization using Odnoklassniki network is enabled.
{odnoklassniki_url} | Displays the URL link to log in to Odnoklassniki.
[facebook] text [/facebook] | Displays the enclosed text if authorization using Facebook is enabled.
{facebook_url} | Displays the URL link to log in to Facebook.
[google] text [/google] | Displays the enclosed text if authorization using Google is enabled.
{google_url} | Displays the URL link to log in to Google.
[mailru] text [/mailru] | Displays the enclosed text if authorization using Mail.ru is enabled.
{mailru_url} | Displays the URL link to log in to Mail.ru.
[yandex] text [/yandex] | Displays the enclosed text if authorization using Yandex is enabled.
{yandex_url} | Displays the URL link to log in to Yandex.
{social-list} | Displays a list of linked social networks and links to disconnect them from this account


Profile pop-up window

Navigation: Templates >

Profile pop-up window

Displaying of this section can be configured in profile_popup.tpl. Profile pop-up window templates can be configured in this section:

{fullname} | Full name.
{foto} | Uploaded photo.
{status} | User status.
{registration} | Date of registration.
{lastdate} | Date of the last visit.
{comm-num} | Number of comments.
{news-num} | Number of news.
{land} | Place of residence.
{info} | Brief information about the user.
{rate} | Current rating of user's articles (formed automatically on the basis of the articles rating).
[rating-type-1] text [/rating-type-1] | Displays the enclosed text if the first 'Rating' type was enabled for articles in script settings.
[rating-type-2] text [/rating-type-2] | Displays the enclosed text if the second rating type 'Likes only' was enabled for articles in script settings.
[rating-type-3] text [/rating-type-3] | Displays the enclosed text if the third rating type 'Like' or 'Dislike' was enabled for articles in script settings.
[comments-rating-type-1] text [/rating-type-1] | Displays the enclosed text if the first 'Rating' type was enabled for comments in script settings.
[comments-rating-type-2] text [/rating-type-2] | Displays the enclosed text if the second rating type 'Likes only' was enabled for comments in script settings.
[comments-rating-type-3] text [/rating-type-3] | Displays the enclosed text if the third rating type 'Like' or 'Dislike' was enabled for comments in script settings.
{commentsrate} | Displays the total rating of all comments of this user.
[signature] and [/signature] | Displays the enclosed text if user has set the signature.
{signature} | Displays the user's signature.
{group-icon} | The user's group icon.
{news} | Link to all the news published by the user.
{comments} | Link to all the user's comments.
[rss] text [/rss] | Link in the profile to the RSS feed of all the news of the user.
[fullname] text [/fullname] | Displays the enclosed text if user's full name has been set.
[not-fullname] text [/not-fullname] | Displays the enclosed text if user's full name has not been set.
[icq] text [/icq] | Displays the enclosed text if user's ICQ number has been set.
[not-icq] text [/not-icq] | Displays the enclosed text if user's ICQ number has not been set.
[land] text [/land] | Displays the enclosed text if user's place of residence has been set.
[not-land] text [/not-land] | Displays the enclosed text if user's place of residence has not been set.
[news-num] text [/news-num] | Displays the enclosed text if user published news on the website.
[not-news-num] text [/not-news-num] | Displays the enclosed text if user did not publish news on the website.
[comm-num] text [/comm-num] | Displays the enclosed text if user left comments on the website.
[not-comm-num] text [/not-comm-num] | Displays the enclosed text if user did not leave comments on the website.
[xfgiven_x] [xfvalue_x] [/xfgiven_x] | Extra field "x" is displayed if it is not empty.
[xfnotgiven_x] text [/xfnotgiven_x] | Displays the enclosed text if user extra field has not been set, where X is the name of user profile extra field.
[xfvalue_x] | Displays the value of extra field "x", where "x" is the name of extra field.
[online] text [/online] | Displays the enclosed text if user is online (20 minutes since the last visit).
[offline] text [/offline] | Displays the enclosed text if user is offline.
[profile-user-group=X] Text [/profile-user-group] | The enclosed text is displayed if the group of the user, whose profile is viewed, belongs to the group X, where X is the group number. Groups can also be listed by comma.
[not-profile-user-group=X] Text [/not-profile-user-group] | The enclosed text is displayed if the group of the user, whose profile is viewed, does not belong to the group X, where X is the group number.


Seach form

Navigation: Templates >

Seach form

Displaying of this section can be configured in search.tpl. Search form template can be configured in this section:

{searchtable} | Search form as a table.
{searchmsg} | Displays the message about the search results.
[searchmsg] and [/searchmsg] | Displays the encoded text if search has been performed.
[simple-search] text [/simple-search] | Displays text included in tags if search parameters are regular
[extended-search] text [/extended-search] | Displays text included in tags if search parameters are advanced
{searchfield} | Displays field for inserting the text to search
{word-option} | Displays checkbox of search parameter for the specified text (exact match of all words or not)
{search-area} | Displays selection of search area on the website
{userfield} | Displays field for inserting author of posts
{user-option} | Displays checkbox of search parameter for author (exact match of all words or not)
{news-option} | Displays selection of parameters of comments to news
{comments-num} | Displays field for inserting number of comments to news
{date-option} | Displays selection of date parameters for news
{date-beforeafter} | Displays selection of parameters dated earlier or later than date of the news to search for
{sort-option} | Displays selection of parameters of search results sorting
{order-option} | Displays selection of sorting order (ascending or descending)
{view-option} | Displays selection of mode of search results displaying
{category-option} | Displays selection of search categories


Search results

Navigation: Templates >

Search results

Displaying of this section can be configured in searchresult.tpl. Search results templates can be configured in this section:

[searchposts] and [/searchposts] | Displays search results for news.
[searchcomments] and [/searchcomments] | Displays search results for comments.
[fullresult] and [/fullresult] | Display results as articles.
[shortresult] and [/shortresult] | Display results as titles.

Note: In this template you can use the same tags, as in the articles annotation and comments to display news and comments.


Website statistics

Navigation: Templates >

Website statistics

Displaying of this section can be configured in stats.tpl. Overall website statistics templates can be configured in this section:

{datenbank} | Total size of the database.
{news_num} | Total number of news.
{news_allow} | News published.
{news_main} | News published on Homepage.
{news_moder} | Awaiting moderation.
{comm_num} | Number of comments.
{user_num} | Registered users.
{user_banned} | Banned users.
{topusers} | List of the best authors.
{news_day} | News published per day.
{news_week} | News published this week.
{news_month} | News published this month.
{comm_day} | Comments published per day.
{comm_week} | Comments published this week.
{comm_month} | Comments published this month.
{user_day} | Users registered per day.
{user_week} | Users registered this week.
{user_month} | Users registered this month.


Information and errors display

Navigation: Templates >

Information and errors display

Displaying of this section can be configured in info.tpl. Template for the form of the error or of the successful completion is configured in this section.

{title} – message title.

{error} – text of message.


Форма для отправки E-Mail

E-mail send form

Navigation: Templates >

E-mail send form

Displaying of this section can be configured in feedback.tpl. E-mail send form template can be configured in this section. It is not recommended to edit this section without knowledge of HTML, because it uses the field names that are passed to the script via the form. In other words, you can edit the text as you like, but do not change the names of the fields, it is extremely important. You can use the following tags:

{recipient} - Recipients list

[not-logged] and [/not-logged] - Displays the enclosed text if user was not registered.

{code} - Displays CAPTCHA code.

[sec_code] and [/sec_code] - Displays the CAPTCHA code if enabled.

[recaptcha] and [/recaptcha] - Displays the enclosed text if reCAPTCHA type was enabled in settings.

{recaptcha} - Displays reCAPTCHA widget if it was enabled in settings.

[attachments] text [/attachments] Text in these tags is displayed if attachment of files for feedback letters is allowed for a certain user group.

You can use extra fields in the feedback section of your website. You only need to place the desired field with the specified name in feedback form to add an extra field there. After that it is available to be used in email message templates. It is necessary to use the following attribute: name = "xfield[X]" in the input field to add additional field to the form, where X is the name of the field written in latin letters. For example, if you want to put the phone number field in the feedback form, then in the template feedback.tpl you need to place the following:

<input placeholder = "Your phone number" type = "text" name = "xfield[tel]">

where "tel" is a unique name of the extra field. Then you need just to place {%tel%} tag in email template in Administration Panel. After that, the phone number specified by the user will be sent with the message. You can use any number of extra fields.

You can attach files to feedback letters. For this, in User Group settings you can specify user groups which are allowed to attach files to the letters. You also can set the maximum number of attached files and their maximum total size. For files attachment you can use:

<input name="attachments[]" type="file" multiple>

tag in the form. You can use any name and tags number. The main thing is to use type = "file" as an attribute. DLE will count the number of attached files and their correspondence to group settings.

You can use several feedback forms on the website. A special URL is used in the browser for this. http://yourwebsitename.com/index.php?do=feedback address is used to add a standard feedback form. In order to add another feedback form, you can use http://yourwebsitename.com/index.php?do=feedback&template=X1&mailtemplate=X2 address, where X1 is a name of a feedback form, and X2 is a name of a letter template which is sent using this form. If X1 template is specified, then you should have feedback_X1.tpl file on the server in the template folder, and if X2 is specified, then you should have email_X2.tpl file on the server in the template folder. For example, if you specify http://yourwebsitename.com/index.php?do=feedback&template=test&mailtemplate=test then feedback_test.tpl feedback file and email_test.tpl email file must be in the template folder. These files support all the same tags as the standard feedback form and standard email template in the Administration Panel do. Concerning that feedback forms support several types of extra fields, you can make several feedback forms on your website.


Password recovery

Navigation: Templates >

Password recovery

Displaying of this section can be configured in lostpassword.tpl. Password recovery template can be configured in this section. It is not recommended to edit this section without knowledge of HTML, because it uses the field names that are passed to the script via the form. In other words, you can edit the text as you like, but do not change the names of the fields, it is extremely important. You can use the following tags:

{code} - Displays CAPTCHA code.

[sec_code] and [/sec_code] - Displays CAPTCHA code if enabled.

[recaptcha] and [/recaptcha] - Displays the enclosed text if reCAPTCHA type was enabled in settings.

{recaptcha} - Displays reCAPTCHA widget if it was enabled in settings.


Static pages

Navigation: Templates >

Static pages

Displaying of this section can be configured in static.tpl or in the file that you'll assign when creating the static page in Administration Panel. Overall statistics is configured on this page.

{description} - Description of the static page.

{static} - Text of the static page.

{pages} - Navigation of the static page if there are few pages in it.

{views} - Views number of the static page.

{custom} - Refer to "Displaying news on pages".

{text limit="x"} displays the text of the static page, without HTML formatting. Thus, the publication text is limited by X number of symbols.

{image-x} displays URL of the image, located in the text of the static page, where "x" is the number of pictures in the text of the page.

[image-x] text [/image-x] display the enclosed text only if the picture with the number "x" is present in the text of the page.

[print-link] text [/print-link] - Link to the printable version.

{date} - Date of the page creation in a format set in script settings.

{date=date fromat} - Displays the date in the specified format. It allows you to display both the full date and its separate parts. The date format is set in accordance with the PHP format. For example, {date=d} tag displays the day of the article or comment publication, and {date=F} tag displays the name of the month. {date=d-m-Y H:i} displays the full date and time.

[edit] text [/edit] displays the enclosed text as a link to edit the static page for user groups who are allowed to edit static pages.

[static=page name] text [/static] - Displays the enclosed text if user is viewing the static page with a specified name.

[not-static=page name] text [/not-static] - Displays the enclosed text if user does not view the static page with a specified name.

{full-link} Displays the URL for this static page

{print-link} Displays the URL of the printable version for this pag

Tags for banners and RSS informers are also supported in this template.


Personal messages

Navigation: Templates >

Personal messages

Displaying of this section can be configured in pm.tpl. Personal messages templates can be configured in this section. It is not recommended to edit this section without knowledge of HTML, because it uses the field names that are passed to the script via the form. In other words, you can edit the text as you like, but do not change the names of the fields, it is extremely important. You can use the following tags:

[inbox] and [/inbox] | Link to inbox.
[outbox] and [/outbox] | Link to sent mail.
[new_pm] and [/new_pm] | Link to unread personal messages.
[pmlist] and [/pmlist] | Displays the enclosed text if personal message list is viewed.
{pmlist} | Personal message list.
[newpm] and [/newpm] | Displays the enclosed text when writing new personal message.
{pm-limit} | Maximum number of messages that user can store.
{proc-pm-limit} | Used space in the inbox of the user as a percentage.
{pm-progress-bar} | Bar of fullness of personal messages.
{author} | Recipient of the message.
{subj} | Subject of the message.
{editor} | Displays BBCODE or WYSIWYG editor depending on the settings for adding the comment.
{text} | Text of message.
[readpm] and [/readpm] | Displays text in the tags if the message is viewed.
[reply] and [/reply] | Link to reply to a message.
[del] and [/del] | Link to delete a message.
{sec_code} | Displays CAPTCHA code.
[sec_code] and [/sec_code] | Displays the enclosed text if it was set to use CAPTCHA when adding the article.
{foto} | Link to a photo.
{group-icon} | User's group icon.
{group-name} | User's group name.
{news-num} | Number of user's news.
{comm-num} | Number of user's comments.
[signature]{signature}[/signature] | Displays the enclosed text and user's signature if user has set it in his profile.
{date} | Comments publication date. The date format can be configured in system settings.
{registration} | Date of the registration.
[recaptcha] text [/recaptcha] | Displays the enclosed text if reCAPTCHA type was enabled in settings.
{recaptcha} | Displays reCAPTCHA widget if it was enabled in settings.
[complaint] text [/complaint] | Displays the enclosed text as a link to writing a complaint to the comment.
[ignore]text[/ignore] | Displays inks to add user to ignore list.
[online] text [/online] | Displays the enclosed text only if user is online (20 minutes since the last visit).
[offline] text [/offline] | Displays the enclosed text only if user is offline.
[declination=X] text [/declination] | Changes endings according to the specified number. X is a number and "text" is a word with its endings. Endings are specified separated by "|" symbol. This tag is useful to be used with other tags that display, for example, number of views of the article or number of comments. For example, [declination={comments-num}]commen|t|ts[/declination] displays the following, depending on the number of comments: "1 comment", "10 comments"


Tag cloud

Navigation: Templates >

Tag cloud

Displaying of this section can be configured in tagscloud.tpl. Templates that are used to work with a tag cloud can be configured in this section. This block displays all the key tag added to the articles.

You can use the following tags:

{tags} - Used to display all the key tags from the database.

{tags limit="100"} - Used to display the top 100 key tags from the database.


Votings on website

Navigation: Templates >

Votings on website

Displaying of this section can be configured in vote.tpl. Templates that are used to work with votings on the website can be configured in this section.

You can use the following tags:

{title} - Voting title.

{list} - List of questions.

{vote_id} - Voting ID.

{votes} - Number of votes.

[votelist] and [/votelist] - Displays the enclosed text for those who has not voted yet.

[voteresult] and [/voteresult] - Displays the enclosed text for those who has already voted.


Top news

Navigation: Templates >

Top news

Displaying of this section can be configured in topnews.tpl. Templates that are used to display top news can be configured in this section.

You can use the following tags:

{title} - Article title.

{title limit="x"} - Article title limited by X number of symbols.

{link} - Link to the article.

{date} - Publication date. The date format can be configured in system settings.

{date=date format} - Displays the date in the specified format. It allows you to display both the full date and its separate parts. The date format is set in accordance with the PHP format. For example, {date=d} tag displays the day of the article or comment publication, and {date=F} tag displays the name of the month. {date=d-m-Y H:i} displays the full date and time.

{image-x} - Displays the URL of images that are in the article annotation, where x is the number of picture in the article. For example, {image-1} will display URL of the first image in the article annotation.

[image-x] text [/image-x] - Displays the enclosed text only if there is an image number X in the article.

{text} - Displays the article annotation.

{text limit="x"} - Displays the article annotation text without HTML formatting limited by X number of symbols. Text is limited to the last logical word and is not limited in the middle of the word. It gives you more flexibility to design popular news on the website.

{category} - Article category.

{link-category} - Link to the list of categories where the article belongs to.

[xfvalue_x] - Displays the value of extra field "x", where "x" is the name of extra field.

[xfgiven_x] [xfvalue_x] [/xfgiven_x] - Displays extra field "x" if this field is not empty. If it has no value, then this text is removed.

[xfnotgiven_X] text [/xfnotgiven_X] - Displays the enclosed text if user's extra field has not been set, where X is the name of user profile extra field.


Related news

Navigation: Templates >

Related news

Displaying of this section can be configured in relatednews.tpl. Templates that are used to display related news list can be configured in this section.

You can use the following tags:

{title} - Article title.

{title limit="x"} - Article title limited by X number of symbols. Title is limited to the last logical word and is not limited in the middle of the word.

{link} - Link to the article.

{date} - Publication date. The date format can be configured in system settings.

{date=date format} - Displays the date in the specified format. It allows you to display both the full date and its separate parts. The date format is set in accordance with the PHP format. For example, {date=d} tag displays the day of the article or comment publication, and {date=F} tag displays the name of the month. {date=d-m-Y H:i} displays the full date and time.

{image-x} - Displays the URL of images that are in the article annotation, where x is the number of picture in the article. For example, {image-1} will display URL of the first image in the article annotation.

[image-x] text [/image-x] - Displays the enclosed text only if there is an image number X in the article.

{text} - Displays the article annotation.

{text limit="x"} - Displays the article annotation text without HTML formatting limited by X number of symbols. Text is limited to the last logical word and is not limited in the middle of the word. It gives you more flexibility to design popular news on the website.

{category} - Article category.

{link-category} - Link to the list of categories where the article belongs to.

[xfvalue_x] - Displays the value of extra field "x", where "x" is the name of extra field.

[xfgiven_x] [xfvalue_x] [/xfgiven_x] - Displays extra field "x" if this field is not empty. If it has no value, then this text is removed.

[xfnotgiven_X] text [/xfnotgiven_X] - Displays the enclosed text if user's extra field has not been set, where X is the name of user profile extra field.


Temporary shutdown of website

Navigation: Templates >

Temporary shutdown of website

In this section you can configure the page that will be displayed when you shutdown your website, for example, to perform a technical work. Remember that Administrators will always be allowed to view the website, even if it is in the shutdown mode. All the others will see this page.

The template is configured in offline.tpl and can use the following tags:

{reason} - Used to display the reasons of the website shutdown that you specified in settings.


Speedbar module

Navigation: Templates >

Speedbar module

In this section you can configure the display of the current location of the user on your website. This template uses only one tag {speedbar} which displays the location.


RSS news broadcast

Navigation: Templates >

RSS news broadcast

This template is located in templates/rss.tpl and is used to configure the displaying of your website's RSS feed.

You can use the following tags in this template:

[shortrss] text [/shortrss] - Displays the enclosed text if the short format of RSS news is enabled in script settings.

[fullrss] text [/fullrss] - Displays the enclosed text if the full format of RSS news is enabled in script settings.

[yandexrss] text [/yandexrss] - Displays the enclosed text if the "Yandex news" format of RSS news is enabled in script settings.

{title} - Article title.

{rsslink} - Full URL of the article.

{rssauthor} - Author of the article.

{rssdate} - Date of the article.

{category} - Article's category.

{short-story} - Short article's text.

{images} - Set of pictures for Yandex news.

{full-story} - Full article text, only for Yandex News.

{allow-turbo} - shows “true” or “false” depending on whether the Turbo option is on or off

[allow-turbo] text [/allow-turbo] - show the text inside if Yandex Turbo is on for the publication

[allow-dzen] text [/allow-dzen] - show the text in brackets if the Yandex Zen option is on for the publication

You can also use any additional tags that are supported by the article annotations template shortstory.tpl, but you need to be careful not to violate RSS 2.0 standard which is used to broadcast RSS publications.


RSS informer

Navigation: Templates >

RSS informer

You can configure the displaying of your RSS informer in this section. You set the name for this template by yourself when you add a new RSS informer. Following tags can be used in this template:

[link] text [/link] - Creates a link to the partners' news.

{link} - URL link to the page of the publication source.

{title} - News title.

{news} - The article itself.

{category} - Category where the article belongs to in the RSS feed.

{author} - Article author.

{date} - Publication date. The date format can be configured in system settings.

{date=date format} - Displays the date in the specified format. It allows you to display both the full date and its separate parts. The date format is set in accordance with the PHP format. For example, {date=d} tag displays the day of the article or comment publication, and {date=F} tag displays the name of the month. {date=d-m-Y H:i} displays the full date and time.

{image-x} - Displays the URL of images that are in the article annotation, where x is the number of picture in the article. For example, {image-1} will display URL of the first image in the article annotation.

[image-x] text [/image-x] - Displays the enclosed text only if there is an image number X in the article.


OpenSearch

Navigation: Templates >

OpenSearch

This template is in templates/opensearch.tpl and is designed to support the OpenSearch technology in modern browsers. This technology allows you to integrate your website search into the URL bar of the browser. Be very careful when editing the template. It must match the required specifications.


Developing and connecting plug-ins

Navigation: For developers >

Developing and connecting plug-ins

DataLife Engine provides convenient mechanisms for connection of developed script modifications. These mechanisms provide operation of plug-ins after updating to a new version of the script, because these mechanisms allow you to connect plug-ins without editing script files. You need to add the following tag to connect your plug-ins:

{include file="engine/modules/mymod.php"}

Where engine/modules/ is the path to the file of your plug-in, and mymod.php is the name of the connected file. Standard plug-in files of DataLife Engine are located in this folder and we recommend you to use this folder, but it is not required and you can store the file in any other folder on the server. The only safety restriction when you add the plug-in is that there should not be write permissions (CHMOD 777) for the folder of this file. We also recommend that you use relative paths when connecting plug-ins. DataLife Engine automatically detects relative paths and connects your plug-ins based on the settings of the script and paths where the script is installed. Thus, you can create a generic installation instructions for your modifications.

You can also connect your PHP files of your plug-in giving various parameters to them, such as:

{include file="engine/modules/mymod.php?param=value1&variable2=value2"}

Thanks to such connection features, you can make your modifications multifunctional. They can perform a variety of roles and functions in various connections. Passed variables are available in your plug-in as $param and $variable2 respectively.

Starting with DataLife Engine 8.3, you can specify a template script tags as parameters to the plug-ins. For example, you can transfer the article ID as the parameter to your plug-in when you add the following to the full article template: {include file="engine/modules/mymod.php?param={news-id}"}. Note: Transferred parameters are analogous to GET parameters. Hence, when choosing transferred tags, you must consider the limitations of GET string. In other words you can not pass the contents of the full article as a parameter.

Also you can use your plug-ins to replace the main block where all the news and the other basic information is displayed. For that you must use this tag in conjunction with [aviable=section]text[/aviable] and [not-aviable=section]text[/not-aviable] Tags description is in "Displaying news on pages" section. You can use a standard sections list or you can create your own section of the website, passing it to the URL of the browser. For example, you want to add your own section to standard sections of the website to display the information form your plug-in. Let's say you want to create the FAQ. For this, write the following in main.tpl:

[aviable=faq]{include file="engine/modules/mymod.php"}[/aviable]

[not-aviable=faq]{content}[/not-aviable]

After this connection your section from your plug-in will be displayed instead of news when accessing the address: http://site.ru/index.php?do=faq

Only one thing is required for the work of your plug-ins and for display of the information in a place where you located this tag. Information must be displayed using the echo PHP function. Consider the example of a simple plug-in and the information output. Let's create mymod.php with the following contents:

<?php

echo "Test plug-in";

?>

The following text will appear in the place where you add it into a template: Test plug-in

The list of DLE variables and classes that you can use in your plug-in, without a declaration:

$is_logged - Contains information whether the visitor is an authorized user or a guest. May be true or false.

$member_id - Contains an array of information about the authorized user, including all his information from the profile.

$db - DLE class for work with the database.

$tpl - DLE class for work with templates.

$cat_info - Array that contains the information about all the categories on the website.

$config - Array that contains the information about all the script settings.

$user_group - Array that contains the information about all the user groups and their settings.

$category_id - Contains the ID of the category that is viewed by the visitor.

$_TIME - Contains the current time in UNIX format with the bias settings in your script settings.

$lang - Array that contains the text of the language pack.

$smartphone_detected - Contains information about whether the user is viewing the website from a smartphone or from a standard browser. May be true or false.

$dle_module - Contains information about the section of the site that the user is viewing, or the information of do variable from the URL bar of a browser.

Warning: Your module should only read data from the these variables. Changes to the values of the variables will cause malfunction of the standard features of the script and its further incorrect work.


Connecting plug-in in Administration Panel

Navigation: For developers >

Connecting plug-in in Administration Panel

DataLife Engine provides convenient mechanisms for connection of developed script modifications. These mechanisms provide operation of plug-ins after updating to a new version of the script, because these mechanisms allow you to connect plug-ins without editing script files.

In order to connect your plug-in in Administration Panel you need to place your file in engine/inc/ folder. Only files in this folder can be connected. For example, the name of your file is mymod.php and you have placed it in engine/inc/ After that you can call and access your plug-in from Administration Panel at: http://site.ru/admin.php?mod=mymod where mymod is your plug-ins name without .php extension. The connection is performed automatically, no change in the script files is required.

In order to prevent users from entering the address of your plug-in in the browser manually and it could be accessed in the list of all section in Administration Panel, a special table is created in the MySQL. This table's name is: PREFIX_admin_sections. PREFIX can be read by your installation script from engine/inc/dbconfig.php. This table contains the following fields:

name - The name of your plug-in. Namely, it is a .php file from engine/inc/ folder, but without the file extension. For example, if the name of your file is mymod.php, then mymod must be entered in this field.

title - Your plug-in's title.

descr - Your plug-in's description.

icon - Contains the name of the icon for your module without its path. The icon must be located in engine/skins/images/ (it is required). Recommended icon size is 70x70 pixels.

allow_groups - Contains information about the groups where this plug-in is allowed. This field can take the following values: all or ID of groups separated by commas. For example: 1,2,3. If all value is specified, then plug-in will be displayed for all users who have an access to Administration Panel.

Example of a request to record information about mymod plug-in:

INSERT INTO `prefix_admin_sections` (`name`, `title`, `descr`, `icon`, `allow_groups`) VALUES

('mymod', 'Name of the test plug-in', 'Description of the test plug-in', 'mymod.png', '1');

After executing the query this plug-in will be listed in the Administration Panel for Administrators only.

ATTENTION: If you specify groups in the database, it will not prohibit or prevent users from other groups from launching the plug-in. Your plug-ins are required to produce the check of user groups by themselves and they should be launched by allowed user groups only.


API for plug-ins development

Navigation: For developers >

API for plug-ins development

This API is designed for the development of plug-ins that are compatible with older and future versions of the script. If you use the API to retrieve data from the database, you can be assured that the code will work in future versions. It makes the work and adaptation of the code easier in new versions. Also, when using the API you do not need to write your own function to retrieve data, there is no need to connect and declare classes for work with the database. Simply connect the file API, and start using it functions, all the rest it takes upon itself.

To use the API in a plug-in, you have to include it:

include ('engine/api/api.class.php');

In this case, you do not need to think about whether there is a connection to the database or not, are the necessary classes connected or not. This code can be used in files of DLE script and in other scripts that are not related to DLE. It allows you to organize standardized integrations of DLE script with other scripts. Such as forums.

List of API fuctions:

$dle_api->take_user_by_id( int $id [, string $select_list] );

Gets an array of information about the user by his ID. The optional parameter $select_list points to a list of database fields to be obtained, or * for all. Returns an array of information about the user or false if the user is not found.

$dle_api->take_user_by_name( string $name [, string $select_list]);

Gets an array of information about the user by his login. The optional parameter $select_list points to a list of database fields to be obtained, or * for all. Returns an array of information about the user or false if the user is not found.

$dle_api->take_user_by_email( string $email [, string $select_list]);

Gets an array of information about the user by his e-mail. The optional parameter $select_list points to a list of database fields to be obtained, or * for all. Returns an array of information about the user or false if the user is not found.

$dle_api->take_users_by_group( int $group_id [, string $select_list [, int $limit]]);

Gets an array of information about users by the user group. The optional parameter $select_list points to a list of database fields to be obtained. The optional parameter $limit indicates the limit of the number of return users. Returns an array of information about the user or false if the user is not found.

$dle_api->take_users_by_ip( string $ip, [, bool $like [, string $select_list [, int $limit]]]);

Getting a list of users by IP, the second parameter $like indicates whether to use an exact or inexact matching for the search. The optional parameter $select_list points to a list of database fields to be obtained. The optional parameter $limit indicates the limit of the number of return users. Returns an array of information about the user or false if the user is not found.

$dle_api->change_user_name( int $user_id, string $new_name);

Changing the user's login. user_id is ID of the user who's login should be replaced. new_name is a new user's login. Return values: true if completed successfully, false if the new name is already taken by another user.

$dle_api->change_user_pass( int $user_id, string $new_pass);

Changing the user's password. user_id is ID of the user who's password should be replaced. new_pass is a new user's password.

$dle_api->change_user_email( int $user_id, string $new_email);

Changing the user's e-mail. user_id is ID of the user who's e-mail should be replaced. new_email is a new user's e-mail. Return values: 1 - completed successfully, -1 - this e-mail is already taken, -2 - incorrect e-mail.

$dle_api->change_user_group( int $user_id, int $new_group);

Changing the user's group. user_id is ID of the user whose group should be changed. new_group is ID of a new user group. Return values: true if completed successfully, false if nonexistent group's ID is specified.

$dle_api->external_auth( string $login, string $password);

Log in using login and password. Return values: true - the authorization is successful, false - login or password is not correct.

$dle_api->external_register( string $login, string $password, string $email, int $group);

User registration in the database. The following is passed to the function: Login, password, e-mail and a group number where the user must be registered. Return values: 1 - completed successfully, -1 - this login is already taken, -2 - this e-mail is already taken, -3 - incorrect e-mail, -4 - nonexistent group is specified.

$dle_api->send_pm_to_user ( int $user_id, string $subject, string $text, string $from);

Sending a personal message to a user. $user_id - ID of the recipient. $subject - subject of the message. $text - text of the message. $from - sender's login. Return values: 1 - completed successfully, -1 - recipient is not found, 0 - database error.

$dle_api->load_table ( string $table [, string $fields [, string $where [, bool $multirow [, int $start [, int $limit [, string $sort [, string $sort_order]]]]]]]);

Getting information from a database table.

$table - table name

$fields - needed fields separated by a comma, or * for all

$where - sampling condition

$multirow - take one row or more

$start - initial value of sample

$limit - number of entries for sample, 0 - select all

$sort - field, which is used for sorting

$sort_order - sort order

Returns an array of data, or false if nothing is found in the database on the specified criteria.

$dle_api->save_to_cache ( string $fname, mixed $vars);

Writing data to a cache file. $fname indicates the name of the cache file without its extension. $vars - data to be written to the cache.

$dle_api->load_from_cache ( string $fname, [, int $timeout [, string $type]]);

Reading data from a cache file. $fname indicates the name of the cache file without its extension. Optional parameter $timeout indicates the number of seconds during which the information from cache is considered relevant. If the cache file is outdated, then the function returns false. Optional parameter $type indicates the data type to be stored in cache. If it is not 'text' - then it is considered that array is stored and array of data is returned.

$dle_api->clean_cache ( [string $name] );

Deleting the cache. Optional parameter $name indicates a specific file name without the extension that you want to delete.

$dle_api->get_cached_files();

Get an array that contain names of cache files.

$dle_api->edit_config ( mixed $key, [, string $new_value]);

Changing and saving the script settings.

Parameter $key can be the string or array

string: The name of the parameter

array: Associative array of parameters

$new_value - value of the parameter. Not used if $key is the array.

$dle_api->take_news ( string $cat, [, string $fields [, int $start [, int $limit [, string $sort [, string $sort_order]]]]]);

Getting news

$cat - news categories separated by commas

$fields - list of received news fields, or * for all

$start - initial value of the sample

$limit - number of articles for the sample, 0 - select all

$sort - field, which is used for sorting

$sort_order - sort order

Returns an associative 2-dimensional array with the news

$dle_api->checkGroup ( int $group );

Checks whether this group exists or not. Return values: true if group exists, false if group does not exist.

$dle_api->install_admin_module ( string $name, string $title, string $descr, string $icon [, string $perm] );

Installation of a third-party plug-in into Administration Panel of the script.

$name - Namely, it is a .php file from engine/inc/ folder, but without the file extension.

$title - Your plug-in's title.

$descr - Your plug-in's description.

$icon -Contains the name of the icon for your module without its path. The icon must be located in engine/skins/images/ (it is required). Recommended icon size is 70 by 70 pixels.

$perm - Contains information about the groups where this plug-in is allowed. This field can take the following values: all or ID of groups separated by commas. For example: 1,2,3. If all value is specified, then plug-in will be displayed for all users who have an access to Administration Panel.

$dle_api->uninstall_admin_module ( string $name );

Delete third-party plug-in form Administration Panel.

$name - name of the module to be removed.

$dle_api->change_admin_module_perms ( string $name, string $perm );

Changing user groups that are allowed to see a third-party plug-in in the Administration Panel.

$name - Your plug-in's title.

$perm - Contains information about the groups where this plug-in is allowed. This field can take the following values: all or ID of groups separated by commas. For example: 1,2,3. If all value is specified, then plug-in will be displayed for all users who have an access to Administration Panel.

Development of the complete API has just begun and currently API has a limited set of functions. We therefore ask everyone who is interested in the development of ths API to visit a specially created thread in the forum and leave your feedback about what new features you would like to see in the new versions. You can help us to create a complete API that covers all the aspects of interaction with the script.


Run functions by CRON

Navigation: »main«

Run functions by CRON

DataLife Engine has the ability to run some functions on schedule. You can automatically create a backup of the database to optimize the database, and create a sitemap for search engines. This requires your hosting to support the feature of running applications on schedule (CRON). cron.php is a file that is designed to run functions by cron, and it is located in the root of your site. For security reasons the ability to run this file is disabled by default, so let's consider how you can enable this feature.

Firstly, we recommend you to change the name of cron.php file to any other with the .php extension for security.

Next, open the file in a text editor and locate the following line in the very beginning:

$allow_cron = 0;

Change it to:

$allow_cron = 1;

Thus, you allow the file to perform the functions in automatic mode.

Then you can change the number of database backup files that will be stored on the server. To do this, locate the following line:

$max_count_files = 5;

where 5 is the number of copies of the database. You can put your own number of files. When exceeding this limit older backups of the database are automatically deleted.

Once you have made your changes, save the file on the server. Now you need to add this file to be run on a schedule (CRON). Creation time and periodicity you set by yourself. For detailed instructions on how to add this file to the CRON function, please contact your hosting provider.

Cron file can perform the following operations:

1. Create a database backup.

Just run cron.php file without specifying any parameters to start this mode.

2. Creating a site map of the site.

Run the file with the following parameter to start this mode: cron.php?cronmode=sitemap

Use php -f cron.php sitemap if you are using a console to launch the script.

When creating a site map using cron, the automatic notification of a search engines about this site map will be performed.

3. Optimizing the database.

Run the file with the following parameter to start this mode: cron.php?cronmode=optimize

Use php -f cron.php optimize if you are using a console to launch the script.

4. Run the antivirus.

Run the file with the following parameter to start this mode: cron.php?cronmode=antivirus

Use php -f cron.php antivirus if you are using a console to launch the script.

Thus, you must not forget about specifying the right paths from the root directory of your server both to the PHP interpreter and to the script itself.


RSS

Navigation: »main«

RSS

Engine DataLife Engine also supports export news in RSS format for users. You should use the following link to export the received news on Homepage for users:

http://website.com/rss.xml - using User-friendly URL

http://website.com/index.php?mod=rss - without the use of User-friendly URL

Use the following links to export news from a certain category:

http://website.com/альтернативное имя/rss.xml - using User-friendly URL

http://website.com/index.php?mod=rss&do=cat&category=alternate name - without the use of User-friendly URL

Use the following links to export all the news of a certain user:

http://website.com/user/имя пользователя/rss.xml - using User-friendly URL

http://website.com/index.php?mod=rss&subaction=allnews&user=user name - without the use of User-friendly URL

Use the following links to export news from a certain catalog:

http://website.com/catalog/идентификатор/rss.xml - using User-friendly URL

http://website.com/index.php?mod=rss&catalog=catalog id - without the use of User-friendly URL