About the Engine

Engine general information

Navigation: General Information >

Engine general information

DataLife Engine v.18.1 - 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 18.1 version:

qSupport for authorization in the social network VKontakte has been added using the new VK ID Oauth 2.1 protocol. This adds support for new applications being created on this network. Support for older applications will also continue to operate automatically, without any additional changes.

qIn the script settings of the admin panel, we have added the ability to specify user groups that are exempt from country-based blocking. If you have blocked access to the site for certain countries, you can now assign groups of users who are located in those countries and will still be able to access the site. The blocking will not apply to these users.

qWe have added the ability to use the max_completion_token parameter in the AI assistant settings in the script. This allows users to customize the maximum number of tokens generated by the assistant. Additionally, we have added the option to disable the max_tokens and temperature parameters if they are not needed. This makes it easier to integrate with new reasoning language models such as o1, o3-mini, etc.

qWe have added a completely new code editor with automatic highlighting when writing articles, instead of the previous CodeMirror. The main advantage of this new editor is that it renders highlights on large amounts of content much faster than CodeMirror. Whereas CodeMirror can take a long time to render highlights or even freeze, the new editor works instantly. This is especially important for working with long articles or articles that use a lot of HTML formatting. In addition to the faster rendering, the new editor also has more advanced search features and new autocomplete functions. These functions can automatically add tags and parameter values, as well as existing words in the article text. If there is an error in the HTML code, the line with the error is highlighted to indicate the problem.. It also adds automatic scrolling to the location of the cursor when moving between the source code editor and the visual editor, and vice versa.

qThe new source code editor also includes modules for editing templates, promotional materials, and plugins. Now, with a large amount of edited content, it is easier and faster to edit them. There are also additional features for automatic code completion, depending on the language used (HTML, CSS, jаvascript, PHP, SQL), as well as plain text.

qWhen displaying user quotes in comments and personal messages, we have added a link to the author's profile in the quote. This allows users to quickly access the user's profile page, send them a personal message, or for administrators to perform actions related to the user's profile more easily.

qTo make it easier for users to access full context of a comment they've quoted, we've added a quick link for them to navigate directly to the original message. When they click on the link, visitors can easily find the page and location of the comment in question.

qThe keyword search algorithm has been completely rewritten in the "Cross-references" module. The replacement algorithms also work in real-time, with the ability to manage them on the fly. Regular expressions are no longer used for replacements, and content processing has been optimized, significantly accelerating the operation of this feature and reducing the load on the server for a large volume of keywords and links.

qThe module for processing the output of similar publications when viewing full news has been redesigned. Now, the search for similar news is performed directly when adding or editing publications, rather than when viewing a publication for the first time. Additional support for additional fields has been added when searching for similar publications, so the search will be more accurate if short and full description fields are used. The work with the cache of this block on the site has been improved, so the block will only be processed if the publication has similar news, reducing the load on the server in some cases. Additionally, the block will only be generated if there are appropriate tags for displaying similar news in the template. If similar news is displayed using other tags, such as {custom....}, no database queries will be executed, and there will be no additional load for generating the block.

qWe have added the ability to specify the number of posts and comments to process in one batch in the post sorting section. This allows users to increase or decrease the amount of data processed at once and adjust the processing speed accordingly. It also helps to avoid exceeding server limits when connections to external services take time, such as when processing media tags.

qWhen editing publications, if user notifications are enabled, the publication is already being edited by another user, and notifications are added for editing publications on the site. Additionally, we have added control over editing publications directly on the site in the user interface. Therefore, regardless of whether editing starts on the website or the control panel, users will receive notifications everywhere on the website and the control panel. If users don't have access to the dashboard, they will still receive all necessary notifications about the publication being edited by another user.

qFor personal message templates (pm.tpl), support has been added for new tags: [pm-author] text [/pm-author], which display the text contained in them if the user viewing the correspondence is the author of this message, as well as the [not-pm-author] text [/not-pm-author] tags which outputs text if the user is not the author of this message. This allows you to allocate your own messages and those of your interlocutors to users.

qAdded the ability to delete publications on the site for users who are allowed to publish without moderation, edit their publications, but at the same time access to the DataLife Engine control panel is disabled. Thus, these users will be able to delete their publications directly on the site.

qFor short and full news output templates (shortstory.tpl and fullstory.tpl), support has been added for new [del] text [/del] tags that display a link to delete a publication from the site for users who are allowed to delete this publication. This allows you to add the option to delete a post for users, without providing the option to edit the post.

qAdded the ability to send a personal message to the user directly in the DataLife Engine control panel in the user management section, without having to go to the website to send a message. The message is sent in a pop-up window using AJAX technology without reloading the site page.

qSupport for HiDPI images has been added to the DataLife Engine download manager to preview uploaded images. If the uploaded image is a high-definition image, then a high-definition image will also be used in the preview.

qIn the user management section of the admin panel, the ability to quickly navigate to the list of users from any subsection of this section through the breadcrumbs menu has been added. And also, after editing the profile, you can choose either to continue editing or go to the list of users.

qWhen reviewing all the latest comments on the site, we have removed the display of comments added to posts that are currently in moderation. As a result, users only see comments on recent and published news on the site.

qThe user management system in the control panel has been redesigned and improved. When you set any search parameters for users, after performing any actions in this section, if you click the "return" button, you will be returned to the exact page where you left off, with the same search parameters you specified previously. This makes it more convenient and quicker to work in the control panel in this area.

qWe have improved and redesigned the way blocks with information, warnings, or errors are inserted into the editor, as well as other formatting blocks. Now, you can delete blocks with one click after selecting them, and move them around the text by selecting the block.

qFor the editor, when adding and editing comments and personal messages, a button has been added to quickly delete a clickable link if links are allowed for them.

qAdded support and use of additional fields for the automatic generation of description and keyword meta tags. Thus, if the short and full description fields are not used on the site, then meta tags will be automatically generated only from additional fields.

qAdded support for nesting into each other for global template tags [country=X] Text [/country]. Thus, you can nest blocks into each other in the template, first defining a common block, and then dividing it by country. For example, you can use constructions like: [country=RU,BY,DE] Content for three countries [country=BY]Only for Belarus[/country][country=RU]Only for Russia[/country] continuation of the general block [/country]. This simplifies the layout of complex template designs. Similar nesting support has been added for reverse tags [not-country=X] ... [/not-country].

qAdded support for nesting into each other for global template tags [tags=X] Text [/tags]. Thus, you can nest blocks into each other in the template by first defining a common block and dividing it by tags inside. For example, you can use constructions like: [tags=test1,test2] The general header of the block [tags=test1] only the tag test1 [/tags][tags=test2]only the tag test2[/tags] the continuation of the general block [/tags]. This simplifies the layout of complex template designs. Similar nesting support has been added for reverse tags [not-tags=X] ... [/not-tags].

qAdded support for nesting into each other for global template tags [news=X] Text [/news]. Thus, you can nest blocks into each other in the template, first defining a common block, and then dividing it by news. For example, you can use constructions like: [news=1,2] Total block header [news=1] only news 1 [/news][news=2] news 2 only [/news] continuation of the general block [/news]. This simplifies the layout of complex template designs. Similar nesting support has been added for reverse tags [not-news=X] ... [/not-news].

qFor the general template (main.tpl), support has been added for new tags [changeskin] text [/changeskin], which display the text enclosed in them if users are allowed to change the site's themes. This allows you to automatically enable and disable individual blocks in the template, which are designed to display the design of changing templates on the site.

qThe template editor in the admin panel has been adapted to different text scaling set in the control panel design settings.

qDue to the fact that Yandex stopped supporting the Yandex Turbo technology https://webmaster.yandex.ru/blog/yandex-stops-supporting-turbo-technology this technology has also been completely removed from the DataLife Engine.

qImproved algorithms for copying and pasting content in the editor for publications.

qNumerous additional optimizations have been performed in the processing of DLE templates, aimed at speeding up tag processing, as well as reducing memory consumption.

qFor additional fields with the type "Pure HTML or JS code", as well as for other fields, automatic height adjustment has been added when adding publications to the admin panels. Automatic height adjustment for text fields has also been added when adding publications on the site and when quickly editing publications on the site. This makes adding and editing posts even more convenient.

qAdded the ability to use apostrophes and quotation marks in place names and full names of users.

qAdded the ability to use the value "0" in additional fields of publications with the "List" type. Previously, when using such values, the field was considered empty and the value was not saved when re-editing the publication.

qFormatted output of the number of downloads uploaded via DataLife Engine files has been added. Now the number of downloads will be displayed in the format for example: 23 532 234, instead of the combined number 23532234, which significantly improves the user's perception of the number of downloads.

qChanges have been made to the display of the editor on the site when using a dark theme, and some errors related to its incorrect display in dark themes have been fixed.

qThe user's notifications about receiving new personal messages since they were not on the site have been switched to using more compact DLEPush notifications, which allows the user not to be distracted by them immediately after visiting the site, while having the necessary information about it. The consumption of server resources during user notifications is also reduced by reducing database accesses.

qThe dependence of downloading the necessary libraries for working with AI on external services has been removed. Now all the necessary libraries are located directly on your server.

qFor comments and personal messages, support has been added for additional field verification tags ([xfgiven_x] text [/xfgiven_x], [xfnotgiven_x] text [/xfnotgiven_x], separately and independently of the use of an additional field output tag in the template. In other words, these tags can be used in a template without using the [xfvalue_X] tag in this template.

qImproved the system of copying and pasting content in the editor for publications. Added the preservation of CSS classes, which uses the DataLife Engine when forming its content. For example, if you copy quotes, thumbnail images, and other information from one field to another through the editor, their design will be preserved.

qQueries to the MySQL database have been optimized for faster website operation and reduced server load.

qImproved the system of inserting quotations based on selected text in the editor for publications and comments.

qAdded automatic deletion of outdated and unused DataLife Engine files when upgrading to new versions. Automatic deletion occurs if the DataLife Engine has access rights to delete these files.

qFixed an issue where when searching through settings, hidden fields were displayed that should not be displayed because they were disabled by other switches and settings.

qFixed an issue where keywords from the cross-reference module could be incorrectly replaced in structured data markup. schema.org in cases where these links are assigned a global replacement across the entire page.

qFixed an issue where invalid HTML layout occurred when displaying a survey on the site.

qFixed an issue where text insertion did not work when editing comments in the control panel.

qFixed an issue where category names were incorrectly displayed when adding or editing publications if they contained quotation marks or ampersands.

qFixed an issue when registering users using API functions.

qFixed an issue where the [xfnotgiven_x] text [/xfnotgiven_x] tags in the personal message output template did not work.

qFixed an issue where MySQL errors about searching for similar news could occur in some cases.

qFixed an issue where the template tags [add-favorites] ... [/add-favorites] and [del-favorites] ... [/del-favorite] did not take into account the template names that are assigned in the category settings, but used only standard template names.

qFixed an issue where the restriction on output in various categories for advertising materials, set in the banner settings in the control panel, did not work when viewing full publications.

List of changes of 18.0 version:

qA completely new personal messaging system has been added to the site. The entire personal messaging system on the site has been completely rewritten. It is now not just about sending a single personal message and only being able to respond to a separate message with a full quote, but it is a full-fledged conversation where users see all messages in one combined thread, and the conversation takes place in a chat format. Upon receiving a message, users can repeatedly reply and send messages to each other within one topic. Users can leave the conversation at any time if they consider it finished or want to maintain order in their personal messages, but if another participant sends a new message in the same thread, the entire conversation will be automatically restored for the participant who left, and they can again see the entire conversation and understand its context. Additionally, users now have the ability to edit messages in the conversation if the other participant has not yet read it. Messages can also be deleted from the conversation if necessary. Messages can be quoted in full or partially, and much more.

qAdded support and use of artificial intelligence in creating and editing publications. Artificial intelligence will help you quickly create the necessary text or rewrite or change the writing style, or make translations and much more according to your wishes. The use of artificial intelligence based on the ChatGPT API is supported. In the settings, you can specify an entry point for communicating with ChatGPT, thereby allowing you to use not only OpenAI's direct ChatGPT but also any service that supports this API. In addition to this, you can flexibly configure in the settings how ChatGPT should be used, which language model to employ, which user groups are allowed to use artificial intelligence, the style of response, maximum limits, and restrictions on response length.

qAdded the ability to assign the same names to categories for URLs if they are in different parent categories. For example, you can create a category structure like "games/rpg/news/", "games/shooters/news/", and so on. Additionally, the algorithms for generating various links on the site involving categories have been optimized, significantly improving performance and reducing server resource consumption with a large number of categories.

qIn the DataLife Engine control panel, in the "Performance Analysis" section, the ability has been added to immediately disable a specific script feature to reduce load and increase performance. Now you don't need to go into the script settings and look for the relevant settings to disable a particular feature. You can disable it directly by clicking the corresponding button next to the desired setting. The disabling occurs instantly using AJAX technology.

qFor user output of publications using the tag {custom ….} support has been added for a new parameter unique="yes", which indicates that publications in this block should not be repeated if they have already been displayed on the site, i.e., unique publications should be displayed in this block. This will help avoid repetition of the same news in user output blocks if they fall under the same output criteria. For example, two tags {custom category="1" unique="yes" limit="1"} and {custom category="1" unique="yes" limit="1"} will display different publications, despite having the same parameters; the first tag will display the first news item from the category, and the second will display the second, skipping the first. Also, if a publication was displayed in the {content} block, it will not be displayed if this option is present in the tag {custom ….}.

qMore extensive support for various icons has been added for uploaded files in the download manager, making it easier to identify different documents, and file extension display has been added.

qAdded the ability to download files uploaded to publications directly in the download manager when adding and editing publications.

qSupport for OGG, FLAC, AAC formats has been added for uploading and playing music and music playlists using the DLE player.

qFor site access restrictions by country, support for IPv6 addresses has been added. Additionally, the database provider used to determine the visitor's country has been changed to use databases from IP2location, resulting in a much more accurate and extensive database.

qA feature has been added to the script settings in the admin panel to enable the determination of a visitor's country based on data from the Cloudflare service, in case your site is connected and proxied through this service. In this instance, the server load is reduced, as DataLife Engine will not have to search for it in the local database on its own. If there is no data about the country, an automatic search will be carried out in the local database.

qThe script settings in the admin panel have been updated to allow or deny access to the site for bots if the site is restricted to certain countries, in case the bot is located in a restricted country. For example, if access to the site is restricted for certain countries, you can still allow search engines to index the site if they are located in the restricted country.

qIn the script settings in the admin panel, the ability to enable blocking circumvention using VPNs has been added for countries. If a user is located in a prohibited country and accesses the site, they will be blocked, and if they attempt to access the site again using a VPN from an allowed country, they will also be detected and blocked on the site.

qFor descriptions of settings allowing and denying access to the site by countries, the country in which the user is currently located has been added, as determined by DLE. This is so the site administrator can visually see that everything is working correctly, and their country is identified as needed, ensuring they do not accidentally block themselves.

qWhen adding and editing publications in the control panel, the ability has been added in the "Access" tab to specify a list of countries where the display of this publication is allowed. Additionally, the ability to specify a list of prohibited countries for viewing the publication has been added. This way, you can easily configure in which countries the full news can be viewed, and in which it cannot.

qFor advertising materials added to the DataLife Engine control panel, a feature has been added to specify a list of countries where the display of these advertising banners and materials is allowed. Additionally, it is now possible to specify a list of countries where viewing is prohibited. This way, you can easily configure in which countries to display this code and in which not to. Thus, targeting the display by country.

qAutomatic saving of set parameters when uploading images and files to the server in the DataLife Engine download manager has been added. These parameters will be restored when the manager window is opened again. For example, if you chose not to apply watermarks, changed the size of the reduced copy, changed the storage, and for some reason left the page or navigated to another publication, all of this will be saved in the browser's local storage. When you reopen the download manager, all your set parameters will be restored, rather than set to default. This way, you don't need to set the parameters again each time.

qThe script settings in the control panel have been updated to allow specifying user groups, whose users will be displayed by default in the feedback form on the site if the email is not sent to a specific user. Previously, only users from the Administrators and Chief Editors groups were displayed there. Now you can assign your default user groups.

qFor RSS feed imports to the site, an option has been added to the stream settings to specify whether or not to include a link to the source from which the news was obtained. You can enable the addition of the source in the short or full description, or in both fields. Alternatively, you can disable the addition of the source when importing publications to the site.

qThe BBCODES and Floara editors were removed. These editors have become globally and morally obsolete, and their support was completely stopped a long time ago. No new features were added to them. Yes, we know that removing these editors is not the most popular measure, and users have asked us not to delete these editors. However, maintaining unsupported editors cannot continue indefinitely, as these editors significantly hindered the development of the script as a whole. The generation of different codes requires additional checks and text filtering, and the execution of a large amount of redundant code when processing publications. Therefore, a decision was made to completely abandon these editors, which significantly simplified the code and accelerated its processing when adding publications, as well as reduced the time spent on code testing. Additionally, it allowed us to focus efforts and resources on adding new features and capabilities. Now, a single TinyMCE editor is used for publications, and the processing of publications when they are added and edited has significantly accelerated, and server resource consumption has been reduced. For comments, there is also the option to completely disable the editor for sites that do not want any content formatting in comments and prefer only short, clean text.

qWhen adding and editing publications in the admin panel and on the site, the visual editor was changed in such a way that by default it contains a single panel with the most frequently used buttons for content creation. If a full set of buttons is needed, the user can expand the panel while using the editor. Additionally, for each field, the selected collapsed or expanded state of the editor is automatically saved and will remain the same after reloading the page. This way, by default, the editor takes up less space, leaving more room for the editable content, and you can choose and save the editor's state for each field individually.

qChanges have been made to the enabling and disabling mode of the adapted editor mode for mobile phones in comments on the site. It is no longer necessary to separately enable or disable it in the script settings in the control panel. Now it will automatically turn on when used by visitors on mobile devices.

qFor setting up the control panel design selection of DataLife Engine, the ability has been added to choose the editor's design. Each admin panel user can choose either the classic view of the editor or the lightweight version. The lightweight version offers a minimally cluttered editor interface, allowing the user to focus directly on the content they are writing. Moreover, the user can enable automatic editor height, which will automatically adjust to occupy as much screen space as the content within the field requires. Thus, small content will take up little space on the screen, while larger content allows for a larger editable area to be displayed.

qAdded support for a mobile-adapted editor when writing personal messages on the site.

qAdded support for dark themes for the editor when writing personal messages using AJAX on the site.

qImproved text cleaning when inserting into the editor for removing "junk code" from the inserted text code.

qIn quick editing of publications, support has been added for pasting text from the browser's clipboard with HTML tags preserved.

qWhen banning a user in the user management section in the admin panel, a log of the administrator's account who imposed the ban is added. This allows other administrators to immediately and easily see in the user management panel who exactly issued the block to the user. This speeds up the resolution of any contentious issues when there are a large number of moderators and administrators on the site.

qFor the template displaying information about an account or access being blocked (banned.tpl), support has been added for new tags: [banned-from] text [/banned-from] which display the text enclosed within them if the block was issued by a person, rather than automatically, for example, by country. Additionally, a new tag has been added: {banned-from} which displays the login of the administrator who issued the block to the user. This way, blocked users can immediately see who and why they were blocked on the site.

qFor the global template tag {catmenu …} designed for displaying a list of categories, support has been added for a new parameter idexclude="1,2,3-5" where you can specify the IDs of categories or a range of categories that should not be included in the category list, and all categories except the specified ones will be displayed.

qAdded the ability to restrict users in the user group settings regarding the number of negative ratings and dislikes they can give to news articles. You can specify the maximum number of negative ratings a user can give to news articles per day. For example, by setting it to two, a user will only be able to give two negative ratings within a day. The number of positive ratings is not limited. This way, you can protect the site from any negative visitor who massively gives negative ratings to everything.

qAdded the ability to restrict users in the user group settings regarding the number of negative ratings and dislikes they can give to comments. You can specify the maximum number of negative ratings a user can give to comments per day. For example, by setting it to two, a user will only be able to give two negative ratings to comments within a day. The number of positive ratings is not limited. This way, you can protect the site from any negative visitor who massively gives negative ratings to everything.

qAdded support for new tags [replycount] text [/replycount] in the comments template (commets.tpl) which display the enclosed text if the comment has replies from other users, and also added opposite tags [not-replycount] text [/not-replycount] which display the enclosed text if there are no replies to the comment. This way, you can create a more flexible design for information about comment replies.

qImproved and optimized the display of the editor for publications on mobile devices in the DataLife Engine control panel.

qImproved and optimized the display of the editor during quick editing of posts on the site. The editor now has a dynamic height depending on the amount of content in the fields. If there is only a little information written in the field, the editor will take up space proportional to the content. This facilitates editing information when there are many fields.

qWhen displaying a user's group in comments on the site, if they have been banned, information is now shown indicating that the user is banned, similar to the display of their group in their profile.

qWhen displaying information on the site about whether a user is online or not, a check is added to see if they have also been banned on the site previously. If they are banned, their status will always be offline, even if they attempt to log in successfully.

qThe preview of messages in bulk mailing in the control panel has been revised and improved. The design, fonts were improved, and full support for styling settings in the panel, which the user customizes personally, was added. Full support for the visual design of the control panel and for the message sending window was also added.

qThe ability to use double quotes for keywords that need to be found and replaced in the cross-link management section on the site has been added.

qThe ability to insert live broadcasts from the YouTube service on your site using [mediа=…..] tags has been added.

qComment flood protection has been moved from the script's general settings to user group settings. Thus, you can enable and disable this protection for each user group separately, as well as assign your own timeout for repeated comment addition to the site for each group.

qThe system for searching publications by search template during RSS import of publications in the DataLife Engine control panel has been significantly improved and optimized. Now you can specify any complex and multi-line code from the website page as the initial and final code, simply by copying it from the source site's code, without the need to use complex configurations with the {skip} tag.

qNavigation output for publication and comment pages has been optimized and improved for mobile devices. When a visitor uses a smartphone to view the site, the number of page elements in the navigation is significantly reduced, allowing the navigation to easily fit within a single line without moving navigation links to other lines. This gives the page a more correct visual appearance, while maintaining full navigation convenience.

qIf access to the site has been denied, for example, if a user is banned, or restricted by country, the sending of correct HTTP 503 headers indicating that the page is temporarily unavailable has been added.

qA check has been added for country-restricted access to the site for all AJAX actions performed on the site, not just for direct site views. This allows automatic bots from prohibited countries to be blocked if they have already been given the necessary parameters and tokens to perform some automatic actions.

qA check for the plugin name being filled in when adding plugins in the admin panel has been added, before sending data to the server, to avoid errors about mandatory fields not being filled and to prevent data loss after submission.

qAdded correct support for embedding Twitter posts using [mediа=…] tags due to the service changing its domain to x.com

qAdded support for the new PHP 8.4.xx series

qImproved and accelerated processing of large texts when adding and editing posts, as well as reduced memory usage in some cases.

qImproved and optimized the algorithms for building category trees when adding posts in the control panel and on the website. This has allowed for a significant increase in page rendering speed in cases with a large number of categories.

qOptimized and improved the processing of a number of template tags, which in some cases allows for faster rendering of templates and reduces memory usage.

qRemoved support for OpenSearch, due to the fact that the technology is outdated and no longer supported by current browsers.

qFixed an issue where it was possible to send an email message from the site through feedback to a user banned on the site.

qFixed an issue, where some AJAX functions on the site might not work if script settings disabled site authorization support, while the administrator remained logged into the DataLife Engine control panel.

qFixed an issue, where it was impossible to remove all categories from a publication when using mass actions in the control panel when selecting the action "Change categories" for selected publications.

qFixed an issue, where some template tags in comment output templates did not work correctly when AJAX navigation through comment pages was enabled.

List of changes of 17.3 version:

qAdded the ability to allow or restrict a user's access to the site based on their country of residence. To do so, we've added settings to the script settings in the control panel that allow you to specify a list of countries where site access is allowed. If the user is located in one of these countries, they be able to access the site, but if not, they will be automatically blocked. Additionally, instead of specifying allowed countries, you can also create a list of prohibited countries. If a user is from one of these prohibwillited countries, their access will be restricted, but if they are not from any of these countries, access will still be allowed.If a user is restricted from accessing the site based on country, you can provide a separate reason for their restriction. This reason can be specified in the settings.

qWe have added the ability to specify a list of countries in the script settings for which authorization is allowed on the DataLife Engine control panel. Additionally, for convenience, users can specify a list of prohibited countries instead of allowed countries. If a user is located in one of theprohibited countries, all attempts to log into the control panel will be automatically blocked, preventing them from even trying to log in.

qAdded the ability to display certain content in templates based on which country the site visitor is located in.To do this, a new global tag has been added to the templates: {country} which outputs the ISO code of the country in which the site visitor is located, for example, outputs RU if the visitor is in Russia, or US if the visitor is in the USA. This tag is useful when you need to add a country-based prefix to a link, for example, display a visitor's flagon the site. New tags added [country=X] text [/country] which will display the text specified in them if the visitor is in the specified X countries, where X is a list of ISO country codes. Countries can be separated by commas. For example, tags [country=RU, BY, KZ] text [/country] the text will be displayed if the visitor is from Russia, Belarus or Kazakhstan. Opposite tags have also been added. [not-country=X] text [/not-country] which will display the text specified in them if the visitor is not in the specified X countries, where X is a list of ISO country codes.

qAdded the ability to allow or prohibit search engine indexing for categories of publications. In the category settings of the control panel, users can choose to allow or disable indexing for a specific category. If indexing is disabled for a category, that category and its publications will be excluded from the sitemap when it is generated and updated.Additionally, a 'robots meta tag' with the content 'noindex, nofollow' will be added to category pages and any publications with in that category, preventing search engines from indexing those pages.

qFor additional fields with the "Uploaded image" and "Image Gallery" types, the ability has been added to specify which side to apply restrictions to the original image and the smaller copy, if restrictions are set in the field settings. You can choose between "By the largest side", "By width", or "By height". Previously, the default script settings for these parameters were used. Now, you can set your own custom values for each field.

qWe have added the ability to display advertising banners and other materials between comments. In the advertising materials management section of the control panel, users can now enable the display of a banner between comments and choose its position. Similar to the output of short news articles, users can choose to display the banner at the top, bottom ,or middle of the page, or combine these options.

qAdded support for the module of advertising materials and banner tags in comment templates when using AJAX navigation of comments and when dynamically automatically loading the comment feed using AJAX.

qWe have added automatic generation of the "keywords" meta tags when displaying short news, based on the content of each page.If a special value has not been set for a page in the control panel, the keywords will be generated automatically. If there are multiple pages for a specific section, the keywords set in the admin panel will only be used for the first page, while the meta tag for subsequent pages will be generated based on the content of that particular page. This ensuresthat the meta tag is not duplicated on different pages, improving the overall SEO of your website. The"description" meta tag will continue to be generated automatically as before.

qThe user search system in the user management section has been redesigned and improved. Instead of having multiple search fields, we now have a single search field that allows users to search by a variety of criteria. This includes the ability to search for users based on their login and email, as well as 5 additional fields that can be used for searching. These additional fields include full name, additional user information, place of residence, signature, and other relevant information about the user. This new system allows for more flexible searching, enabling users to find the exact users they are looking for based on various criteria.

qThe visual design of dialog boxes that prompt users to confirm irreversible actions on our site and in the control panel has been redesigned. The confirmation buttons now have a distinct and prominent color, which helps reduce the chance of users performing an automatic action and, as a result, reduces the likely hood of making an erroneous decision without the ability to cancel it.

qWe have added the ability to immediately close a survey when adding a new publication in the control panel. This means that you can create a publication with a closed survey without the need to edit it.

qWe have added the ability to set an expiration date for surveys in the control panel, so that they automatically close when they are published or edited. To do this, simply select the "Advanced" tab of a publication and choose"Closing the poll for voting" as the action when the specified date has arrived.This will automatically close the survey and only allow viewing of the results.

qIn the script settings of the control panel, we have added the ability to enable a redirect from a domain with a WWW prefix to a domain without the WWW prefix. When this setting is activated, if a user visits the websitewww.example.com,they will be automatically redirected to the domain example.com. Redirects will also occur for search engines, which will improve the indexing and ranking of the website.We recommend that you always have WWW support for your domain as an alias on your server, as users may accidentally enter the URL with the WWW prefix in their browser address bar.However, weal so recommend including a redirect to the non-WWW version of your website to improve indexing and provide a shorter and more familiar URL for users.

qThe script now allows users to customize the number of personal messages displayed on each page. Previously, the default value was 20,butnowusers can set their own preferred number in the settings.

qFor the user output tag of publications {custom …} added the ability to use the new parameter name="X", in which you can assign a name to a block, and later use this name to display or hide another design in the template if there is content in this block or it is missing. For example, writing {custom name="block1" category="6"} it will show publications from the category ID6, and the block itself will be named “block1”. New global tags have been added to operate with this name: [custom=X] Text [/custom] where X is the name of the block, which outputs the text enclosed in them if the block with the given name contains information. And also the opposite tags have been added [not-custom=X] Text [/not-custom] which display the text enclosed in them if the block with the given name does not contain any information and there are no publications.Thus, you can make additional external design of the blocks or, conversely, hide it, depending on whether there are publications in the block or not. For example, [custom=block1] Header {custom name="block1" category="6"} [/custom]. At the same time, the block may be placed anywhere on the page, not necessarily within these tags. Therefore, you can adjust and change other elements in the template based on these tags.

qAdded hiding of publications when viewing a short description, if the publication is in a category that is prohibited for viewing. For example, if a publication is in the categories "News", "Sports", and "Football", but the "Football" category is prohibited, then when viewing the "News" and "Sports" categories, that publication will be hidden.

qWe have added automatic filling of the "Name" and "Email" fields when responding to comments from unregistered users. This is only if they have already written a comment and provided their name and email address on the site beforehand.

qWe have added translation of system messages in case of errors when working with the mail server into different languages based on the installed language files. Now, if there are any errors when sending emails, users will receive messages in their preferred language according to their language package, and not just in English as previously. In total, we have added support for more than 40 different languages.

qWhen you add a category to the control panel, additional protection is provided against accidental window closure when you click outside the window with the mouse or press the ESC key on the keyboard. This helps prevent unintentional window closure. You can still close the window by using the appropriate icons or buttons provided on the window for this purpose.

qWhen adding categories, a list of categories automatically appears immediately after adding, eliminating the need for the administrator to press any unnecessary buttons in the control panel.This simplifies the process of adding large numbers of categories.

qIn the category management section, we have removed intermediate informational messages about successful category deletion and added an automatic transition to the category list page after deletion. This makes the category management process faster and eliminates the need for users to manually navigate through buttons.

qWhen editing comments in the control panel, an additional identifier is added to indicate that the comment was submitted by an unregistered user. Additionally, their email address is displayed if they submitted the comment when publishing it. This allows users to easily identify who has written a particular comment.

qAdded automatic saving of information in the database when you press Enter when adding or editing a publication in the admin panel.If the cursor is in any field that contains a single line, the information will be saved. Previously, pressing Enter would either search for similar news or fill in a meta description, depending on the DLE version.

qAdded caching for custom output blocks of publications, even if they do not contain any publications for output. This helps save some server resources incase there is no content matching the specified parameters for some reason.

qFor user profile output templates (userinfo.tpl and profile_popup.tpl) added support a new tag {user-id} which outputs the user ID. This tag can be used in a number of cases when designing a template, as well as, for example, to form user links, such as links to the user's recent comments, etc.

qWhen displaying category names in the RSS feed, they are separated by a comma character, which is the default setting. However, you can also use a different separator by specifying it in the script settings. This allows you to use more complex HTML code to display a list of categories on your site, with out affecting the RSS feed.

qChanges have been made to how advertising materials are displayed in the admin panel in the advertising management section. When viewing short news, the "Category" setting for a banner takes into account the category of the article that the user is reading. When viewing full news, it considers the category to which the publication belongs. This allows you to set restrictions on displaying banners in full news based on publication categories. Additionally, if necessary, you can also set the rotation of banners with the same name.

qWhen viewing full news articles and displaying banners, we have added verification of all categories that the publication belongs to, not just the main category.

qThe content downloaded using AJAX requests has been adapted to download data from the domain where the site is currently running, and not the one specified in the script settings. This innovation allows you to speed up the download if site mirrors are used.And the data remains available if the main domain is unavailable to the browser for some reason.

qAdded the use of HTTP header with code 301 for links that are published using secure link tags [leech=....] in publications and comments.

qSupport for new value comparison condition tags has been added for the user profile popup card output template (profile_popup.tpl). For example, the tag [if field="value"] text [/if] will output the text enclosed in them if the value of the field is equal to the specified value.

qThe animation system on the website has been redesigned and improved based on user feedback. The animations are now faster and more responsive, and the position of elements has been optimized to ensure a better user experience after performing certain actions.

qWe have added an automatic calculation of the size of dialog boxes displayed on the DataLife site, taking into account the base font size of the page. This means that if a user increases the font size in their browser, the window will also enlarge,making it easier for users with limited vision to navigate the site.

qAdded protection against accidental deletion of empty user groups. If a user group does not have any users, it will now require the administrator to confirm their intention before it can be deleted. This is to prevent accidental clicks on the delete button in the user group management section.

qAdded protection against accidental deletion of the RSS feed in the RSS news import section of the DataLife Engine control panel. The user will now need to confirm their intention to delete before proceeding, eliminating the risk of accidental clicks on the delete button in the menu.

qThe information that the publication has been updated using the [updated]....[/updated] tags during the time specified in the script settings is displayed only if the “Display information that the publication has been updated" checkbox has been selected. If it is not marked, then the update bar does not appear. Previously, it appeared during any editing of the publication. Thus, you can display this information not during any editing, but only when necessary.

qAdded control of banned IPs and users for all AJAX actions on the site. If the IP address is blacklisted in the "Filter by IP, Login, or E-mail"section of the control panel, it will be blocked not only from viewing the site but also from performing AJAX actions. This includes blocking IP bots and their subnets that attempt to manipulate ratings, views, and other metrics.

qWhen updating the script to newer versions, automatic inclusion of error output from PHP has been added in case of errors occurring, regardless of whether they are enabled or disabled in the script settings in the administration panel. This allows site administrators to see what errors occurred during the update while performing the update. This is useful, for example, if the server software does not meet minimum requirements or if necessary PHP interpreter libraries are missing. Error output is only enabled for the update process; for everything else, settings set in script settings apply.

qThe system for identifying the devices used by users to access the site has been upgraded and improved. We have expanded the database of devices to include smartphones and tablets, and we have also optimized the overall performance of the system.

qThe load on the server is reduced when viewing pop-up user cards in some cases.

qThe formation of meta tags of site pages has been optimized, and possible duplication of content has been removed in some cases.

qThere have been several optimizations and improvements to the user interface in the DataLife Engine control panel. Outdated notifications in the DLEAlert pop-up window have been replaced with notifications using the DLEPush push notification format.These notifications are now closed automatically.

qThe control of the server's software compliance with the minimum required specifications has been improved. If the PHP version installed on the server is below the minimum requirement, DLE will no longer display "unintelligible" PHP errors and crashes. Functions that are not compatible with the current PHP version will be automatically disabled, and an informative message will be displayed to the administrator regarding the need to upgrade the PHP version.

qAll HTML elements with the 'checkbox' and 'radio' types for various forms that the DataLife Engine generates to output on the site have been brought into a single, common output standard. This has made it possible to easily customize them using a CSS template of your choice.

qFor template tags {image-X} intended for displaying image URLs, as well as for meta tags meta property "og:image”, support for svg extensions for images inserted into the publication has been added.

qAdded forced clearing and zeroing of fields containing only the value'<p><br></p>'to an empty value. This innovation is useful if you use the Flora visual editor on the website and in the control panel, in which all empty fields contain this default value, even if you do not write anything in the editor.Thus, there will be no unnecessary code in the fields if nothing was written in them in this editor.

qAdded support for the Rutube service for inserting videos using the [media=...] tag in connection with the addition of support for the oEmbed data exchange protocol by the service.

qThe TinyMCE visual editor has been updated to the current version.

qThe entire DataLife Engine code has been rewritten to remove the $config['charset'] setting. For a long time, DLE only supported the UTF-8 encoding, so this setting had no meaning and could not be changed through the DLE control panel.All DLE code previously used this setting, but in the new version it is no longer used. It is still used in some places to update from older versions of DLE, but this will no longer be necessary. The DLE functions that used this parameter have also retained it for compatibility with older third-party modules. However, it is recommended to update these modules if they use DLE functions with this parameter, as it will no longer make sense to transfer these parameters.

qFixed an issue where the tags [image-x] text [/image-x] tags did not work if the {image-x} tag was not used in the template together with them when viewing full news and when displaying news using custom output {custom....}

qFixed an issue where an empty sitemap could be created for static pages if there are static pages, but there are no pages that need to be placed in the map. For example, publishing to the map is prohibited for all pages, or indexing is prohibited, or they are password-protected.

qFixed an issue where a disabled site broadcast an RSS feed for turbo pages with an error.

qFixed an issue where the plugin name was displayed incorrectly if errors occurred in it, in the error display section if the plugin name contained tags[lang=x]...[/lang]

qFixed an issue where {custom...} tags could not be used in the attachment.tpl template

qFixed an issue where, in some cases, in correct processing of inserting code examples in publications could occur.

qFixed an issue where in some cases the extension of files uploaded to the server could not be saved when using very long filenames.

qFixed an issue where the function to disable video preloading did not workin the media player settings.

qFixed an issue where the option to commit a publication did not work when adding a publication from the site.

List of changes of 17.2 version:

qA new push notification system has been implemented for site visitors who are automatically transferred between groups. For example, whentheir period of membership in a group expires, or when they reach a certain ranking, etc. In case of an automatic transfer of a user to another group, they will receive a push notification on their site informing them that they have been moved to a new group, along with the reason for thetransfer. This ensures that site visitors are always aware of any changesto their membership status.

qAdded the ability to mark newly published content. To do so, we haveadded an option to the script settings in the administrator panel to specify the duration for which a newly published piece of content shouldbe considered as new. After that, in the output templates for short and long news stories (shortstory.tpl and fullstory.tpl), we can use the [new] text [/new] tags to display the text enclosed within them if the content is considered new. We can also use the [not-new] text [/not-new] tags to show the text enclosed within them after more than the specified timeperiod has elapsed since publication, which is set in hours in the settings. Thus, we can mark publications in the templates using any of these tags to indicate whether a piece of content is new or not.

qAdded the ability to mark published articles as updated. To do so, we have added the ability to specify the amount of time that should be counted as an update in the script settings of the admin panel. After that, in the output templates for short and full articles (shortstory.tpl and fullstory.tpl), we can use the [updated] text [/updated] text tags to indicate whether an article has been updated or not. These tags willdisplay the enclosed text if the article has been marked as updated, orthe text enclosed in the [not-updated] text [/not-updated] tag if more than the specified timehas passed since its last edit. The time is specified in hours in the settings,so you can mark articles in the templates with a clear indication ofwhether they are updated or not.

qThe ability to set the maximum number of complaints that a user can submit from the site has been added to the settings in the DataLife Engine administrator panel. Previously, the number was limited to three for spelling errors. Now, you can set this number and it will apply to all types of complaints, including publications, comments, and spelling mistakes.

qThe ability to allow or restrict this group from submitting complaints about posts from the site has been added to the user group settings. This means that you can prevent certain groups from submitting complaints about posts in order to prevent abuse.

qThe ability to allow or deny this group from submitting complaints about comments on the website has been added to the user settings. Therefore, you can prevent certain groups from submitting complaints in order to prevent abuse.

qThe ability to allow or disallow this group from submitting complaints about spelling errors on the website has been added to the user groupsettings. Therefore, you can choose to block certain groups from submitting these complaints in order to prevent abuse.

qAdded the ability to close polls that are used in news articles. This means that you can close a survey for publication, keeping it on the website. Closed polls will still be displayed on the page, but users will not be able to take part in them anymore, only seeing the results. This feature is useful if a survey has become irrelevant over time, but you don't want to delete it and want to keep the results available on the site. You can alwaysreopen a closed poll if needed.

qFor poll output templates in publications (poll.tpl), support has been added for new tags [closed] text [/closed] that output the text enclosed in them if the poll was closed for voting, as well as reverse tags [not-closed] text [/not-closed] that output the text enclosed in them if the survey is open for voting by site visitors.

qFor poll output templates in publications, support has been added for a new {close-date} tag that outputs the closing date of a poll, if it has been closed.

qFor additional fields of the "One line" and "Several lines" types, the ability has been added to set the minimum number of characters required if the field is filled. This can also be set to have no restrictions.

qFor additional fields with the "One line" and "Several lines" types, the ability has been added to specify, in the field settings, the maximum number of characters that must be entered if this field is completed. This option can also be left unrestricted.

qWe have added support for downloading files from the server or external storage through DLE in multiple streams and added support for resuming downloads in case of network interruptions or other download failures. This new feature will be particularly useful when downloading large files over a slow internet connection.

qTo facilitate quick editing of content on the site, we have added the ability to change a publication's category when editing it.

qFor the plugin management system, we have added the ability to insert action blocks between existing actions in the control panel. To do so, each block now has a button to add a new action that will be insertedimmediately after the selected block. This allows you to edit an existing plugin and add additional blocks directly to the desired location.

qFor the plugin system, the ability to use the tags [lang=X] Text [/lang] in the plugin name, description of the plugin, and notes for the plugin has been added. Which output text depending on the language that the user uses in the admin panel. Where X is the ISO language code from the language pack. This way you can display the title and notes in different languages. For example, the tag [lang=ru]Russian Russian text[/lang] will display this text if the user uses Russian, and the tag [lang=en] English Text [/lang] if the user uses English.

qAdded support for a new global template tag: [active-plugins=X] Text [/active-plugins] which outputs the text enclosed in it if the specified plugin is enabled and used on the site. Where X is the plugin ID or its name. For example, you can specify [active-plugins=1] Text [/activrameters in the tag separated by commas, for example, [active-plugins=1,2,5] Text [/active-plugins].

qAdded support for a new global template tag: [not-active-plugins=X] Text [/not-active-plugins] which outputs the text enclosed in it if the specified plugin is disabled and not used on the site. Where X is the plugin ID or its name. For example, you can specify [not-active-plugins=1] Text [/not-active-plugins] or [not-active-plugins=My plugin] Text [/not-active-plugins], and if the plugin with ID 1 or with the name “My plugin” is disabled in the system and is not used, then the text specified in the tag will be output. You can also list several parameters in the tag separated by commas, for example, [not-active-plugins=1,2,5] Text [/not-active-plugins].

qFor custom output of publications using the {custom ....} tag, the ability to use the new favorites="yes" parameter has been added, which will display publications that are in the visitor's bookmarks. For example, the {custom favorites="yes" order="id_as_list”} tag will display publications from the user's bookmarks in the sort order in which they were bookmarked.

qThe system for setting permissions or prohibitions on comments in category settings for specific categories of the website has been completely redesigned. Previously, when you banned comments in the category settings, this ban only applied to newly added posts in thatcategory, and the ban was specified directly in the post itself. In order for the changes to take effect on older posts, it was necessary to save the post again. Now, the permission or ban for comments in the category applies immediately to all posts in the category, and the ban is not written directly into the post itself. Therefore, you can enable or disable the permission for comments in a category, and this action takes effect immediately on posts in that category.

qWe have added a system of automatic prompts for filling in the author field when adding or editing publications in the DataLife Control Panel. Now, if the author needs to be changed, a list of existing users in the database will be displayed when typing in the field. This will speed up the editing process and minimize possible errors when entering a user's name.

qA new setting has been added to the script settings in the control panel that allows you to specify how many comments should be displayed on the recent comments page. This means that you can now independently control the number of comments displayed when viewing comments ona specific publication and when viewing all latest comments on the website.

qWhen a user clicks on the link in an email notification about a new comment on a publication, they are automatically taken to the relevantcomment on the page, without having to search for it. This ensures thatthe user sees the added comment immediately.

qFor additional fields with the "List" type, the ability to use commas in the list values has been added. Previously, this symbol was used for system purposes in this type of field.

qFor short and full news output templates, support has been added for new tags: [ifxfset fields="X"] text [/ifxfset] that output the text enclosed in them if a field named X has been specified and filled in for the news. At the same time, you can list several field names separated by commas. For example [ifxfset fields="test1,test2"]both fields named test1 and test2 are filled [/ifxfset] will output text if both fields were filled in the news. And also added tags [ifxfnotset fields="X"] text [/ifxfnotset] that output the text enclosed in them if the field named X was not specified and filled in for the news. However, you can also list several field names separated by commas. For example [ifxfnotset fields="test1,test2"] both fields named test1 and test2 were not filled [/ifxfnotset] will output text if both fields were not filled in the news. The main difference from the existing tags [xfgiven_x] and [xfnotgiven_x] is that you can list several fields at the same time and the fullness of all listed fields is checked at the same time, as well as the fullness of fields without values is checked, for example, if the field is set to “0” or the value “no”, this is also a filled field in publications. If you need to check the value yourself, then use the tags [if field = "value"] text [/if] as before.

qSupport for new tags has been added for user profile output templates (userinfo.tpl and profile_popup.tpl): [own-profile] Text [/own-profile] that display the text enclosed in them, if the user is viewing his own profile on the site, as well as tags [not-own-profile] text [/not-own-profile] that display the text enclosed in them, if the user is viewing someone else's profile on the website.

qFor the category menu output template (categorymenu.tpl), the template tags [category-icon] text [/category-icon] and [not-category-icon] text [/not-category-icon] were replaced with the tags [cat-icon] text [/cat-icon] and [not-cat-icon] text [/not-cat-icon] respectively. This is due to the fact that these tags had the same name as the global tags for all templates linked to publications, which led to their incorrect operation when viewing sections and publications.

qAdded support for the "Automatic conversion of links to clickable" setting for all editors, including visual editors. This setting is now applied regardless of the editor used, as well as for additional fields with the "Multiple lines" type, regardless of the editor. Additionally, the setting is also applied to comments. If the user is allowed to publish links and publishes a link in text in a non-clickable form, it will be automatically converted to a clickable link.

qAdded gallery mode to the enlarged image view in the DataLife Engine'scontrol panel, in the section for managing uploaded images.

qAdded the ability to save and display the user's username in the comment template, in case an unregistered user leaves a comment. To do this, the addcomments.tpl template adds support for a new {guest-name} tag, which outputs the login of an unregistered user that he entered during the previous comment addition. Thus, an unregistered user will not need to enter his username every time he adds a comment on the site.

qAdded the ability to save and display the user's E-Mail address in the comment template, in case an unregistered user leaves a comment. To do this, the addcomments.tpl template adds support for a new {guest-mail} tag, which outputs the E-Mail of an unregistered user that he entered during the previous comment addition. Thus, an unregistered user will not need to enter his email address every time he adds a comment on the site.

qAdded the ability to use different editors simultaneously within the same page. For example, you can use the Floara editor for quick editing of publications, and use the adapted editor for mobile TinyMCE for comments.

qWe have added a check for the required additional fields when editing publications on the website.

qWhen adding comments on the site, we have made changes to notifications in case a comment needs to be reviewed. Previously, the notification message had an "Error" visual type, which could mislead users and cause them to send comments repeatedly. Now, the notification occurs as a mild warning that the comment has been submitted, but is awaiting review.

qThe system for deleting user comments from the site has been updated. Previously, there were cases where comments that were replies to a deleted comment would remain in the database, leading to unnecessary and unused data in the system.

qThe TinyMCE visual editor has been switched to using the latest 7.xx

qIn case of a site shutdown, as specified in the script settings, it is recommended to send correct HTTP headers, such as 503, to indicate that the page is temporarily unavailable. This will prevent pages with information about the site being disabled from being indexed by search engines if they visit the site during the time of the shutdown.

qIn the event of a MySQL server outage, we have added additional HTTP headers to the response, including a 503 status code, to indicate that the page is temporarily unavailable. This helps prevent pages with site errorsfrom being indexed by search engines if they are visited during the outage.

qChanges have been made to notify visitors if they are not allowed to leave comments on the website. If commenting is prohibited for theirspecific group, but other groups can leave comments, a message will bedisplayed indicating that commenting is not available for their group. If commenting is disabled for all users, regardless of their group, the message will not be displayed specifically for that group. This way, userswill not be misled into believing that commenting is only disabled forthem and not for others.

qWe have fixed an issue where backup files were not being deleted when automatically creating backups using Crown, if the limit on the number of stored backup files was exceeded.

qSecurity fixes when working with the database management section of the DataLife Engine Control Panel.

qWe have fixed an issue where the transition to comments would not work when viewing the latest news if User Friendly URL support was disabled in the script settings.

qWe have fixed an issue where, in some cases, the intended page with a comment may be incorrectly selected when clicking on a link to view recent comments if pre-moderation is enabled for comments before they are published.

qWe have fixed an issue where if a user was assigned to a group that was deleted, they would be transferred to a non-existing group if the group promotion was set in the group settings. Now, if there is no such group, the user will remain in their current group and won't be moved anywhere else.

qWe have fixed an issue that could cause an error when adding or editing RSS feed sources in the DataLife Engine's control panel.

qWe have fixed an issue that could cause an error in the category management section of the control panel in certain cases.

qWe have fixed an issue where the "Hide only the full news from inaccessible sections" setting for user groups did not work correctlywhen using the {custom ...} user output tag.

qWe have fixed an issue where the {news-id} global tag was incorrectly processed when viewing a non-existing publication.

qWe have fixed an issue with the title of a publication being incorrectly displayed when a user adds a comment using the {news-title} tag. This issue was caused by a problem with the custom comments feature.

qWe have fixed an issue with the incorrect definition of the publication date in some cases, where it was being displayed as "yesterday and today".

qWe have fixed an issue that could cause incorrect file counting whensending feedback in some cases.

List of changes of 17.1

qFor additional fields with a list type, we have added the ability to select multiple values from the list. You can configure in the settings for this additional field whether it is possible to select more than one value at a time, or only one value from the list can be selected. You can also specify how to display the values of this field on your site, for example,by using a specific separator. Additionally, you can determine whetherthis field is required or can be left blank.

qWe have added the ability to include links to images uploaded to our publications in the sitemap. This option can be enabled or disabled directly when creating a map in the admin panel. When this option is enabled, all images that have been uploaded for publication will also be included in the map, according to the guidelines of the Google search engine https://developers.google.com/search/docs/crawling-indexing/sitemaps/image-sitemaps?hl=ru. If this option is disabled, the map will be created without any links to images. However, including images in a map can increase the time it takes to create the map and require additional database queries.Therefore, it is up to you to decide whether or not to enable this feature. At the same time, including images on a map can significantly improve the indexing of your images on your website.

qA new system has been implemented to notify users about successful completion or errors on the site. Previously, users had to manually close a pop-up window with information about the site's actions. The new system sends push notifications in the corner of a user's browser,automatically closing after a certain period of time, without any further action from the user. Developers of templates, modules, and plugins can now also use the built-in functionality to trigger these notifications. The success notification is triggered by the function DLEPush.info (message, title), The push notification is triggered by a function DLEPush.warning (message, title), the notification of an error is sent by the function DLEPush.error (message, title). Different types of notifications have unique designs.

qIn the DataLife Engine's control panel, there is now an option to forcethe addition of a unique prefix to all uploaded images, in the image management section. When this feature is enabled, the prefix will be automatically added to the image's name. This will help users who often change their image upload to avoid browser cache and ensurethat they see the latest version of the image on their site. If this optionis disabled, then the original image name is saved, and only if a file with that name already exists on the server will a unique prefix be applied. The prefix is no longer directly linked to the time of download, as it wasin previous versions, and is now unique and randomly generated.

qAdded the ability to sort external storages according to the specifiedorder. To do so, simply move the desired store to the desired positionand set the sorting order in the control panel under the Storage Management section. This way, you can ensure that the most frequently-used stores are displayed first, if necessary.

qAdded the ability to customize the settings for quick edit mode inpublications on the website. Now, you can choose whether you want to edit only fields that were previously filled out, or display all the fields for editing, including those that weren't filled in earlier. When you select the "edit only filled fields" mode, quick editing will still display only the previously-filled fields when adding new fields. However, if you choose the "all fields" mode, then you can edit not only a short description butalso a full description and any additional fields for your publications,regardless of whether they're empty or not and whether they were previously filled in.

qAdded full saving of the file name uploaded to the server using the DataLife Engine and intended for download. When uploading a file to the server, its name will be saved as it was originally, and accordingly, when downloading it, it will be saved to a computer with the same name. For example, if Cyrillic characters were used in the name (my файл.txt ), then they will also remain when downloading without transliteration: my файл.txt The same applies to other languages.

qFor the plugin system, the DataLife Engine control panel has added the ability to perform all necessary actions with a plugin directly when editing it. For example, on the plugin editing page, users can check for updates, update, download, or delete a plugin without leaving the page.Previously, users could only edit a plugin on the dedicated edit pages. As a result, a total of five new options have been added to the plugin management interface.

qFor the plugin system in the DataLife Engine control panel, we have added a link to edit a plugin to the plugin options menu. This allows you to open the editing window for a plugin in a new browser tab, which is helpful when editing multiple plugins at the same time in the control panel.

qAdded the ability to change the name of the comment author, when editing comments on the website and in the administration panel, if the comment was left by a non-registered user. Now, if a user has written invalid text in the "name" field, an administrator can edit it without having to delete the comment on the website itself.

qAdded automatic dynamic modification of tag content [add-favorites] text [/add-favorites] и [del-favorites] text [/del-favorites] when adding or deleting a publication from bookmarks on the website,it doesn't matter where these tags are located in the template or what their content is. The content will automatically be updated when an AJAX action is performed, without having to reload the page. The user will also automatically see that the publication has been added to or removed from the bookmarks.

qWhen displaying the "Complain" button in the comments section of the site, we have added a check to ensure that the user is the author of the comment and, if they are, then the "Complain" button for that comment is not shown, as users cannot complain about their own comments.

qAdded support for a new global tag {lang text="LANG_PARAMETER"}, which is designed to output information from the website.tpl language file, which is currently in use, where LANG_PARAMETER is the value of the parameter to be output. For example, the tag {lang text="attach_images"} will display the inscription “Attach images” from the language pack. This tag will be useful when developing additional modules and plugins, when you can place additional language data directly into the language pack and automatically output the phrases you need when the user changes the language on the site, displaying the values in the template as a tag, rather than directly writing the phrase.

qFor short and full news output templates (shortstory.tpl and fullstory.tpl) added support for a new tag {edit-date=формат даты} which displays the date when the publication was edited in the format specified in the tag. Thus, you can set your own format for the editing date, or output not only the entire date, but also its individual parts. The date format is set according to the format used in PHP. For example, the tag {edit-date=d} displays the day of the month, and the tag {edit-date=F} displays the name of the month, and the tag {edit-date=d-m-Y H:i} displays the full date and time.

qFor the user's pop-up card output template (profile_popup.tpl) added support for a new tag {usertitle}. This feature allows you to display the user's name and username in a specific location within your website's template. Previously, their login information was only displayed in the header of a card, but now it can be displayed in any other location you choose.

qFor additional fields with the “Date and Time” type, support for a new tag has been added [xfvalue_X format="Format"], where X is the name of the additional field, and “Format” this is the output format of the date and time specified in the field. Thus, in different places of the template, you can output this additional field in different date and time formats, and not only in the format specified for the default field in the field settings. For example, the tag [xfvalue_test format="j F Y H:i"] displays the date and time specified in the field in time format j F Y H:i.

qFor user profile output templates (userinfo.tpl and profile_popup.tpl) added support for new template tags: [banned] text [/banned] they display the text enclosed in them if the user is currently banned from the site, [not-banned] text [not-banned] they display the text enclosed in them if the user is not banned from the site, {ban-description} displays the reason why the user is banned, {ban-date} displays the date before which the user was banned from the site. Thus, with the help of new tags, users can display information to other site visitors when they visit a user's profile. This information will include details about why the user was banned, and what the reason for theban was.

qWe've added the ability to specify which provider will be used for search engine notifications in the script settings of the admin panel using the IndexNow protocol. The choice of provider doesn't affect which search engines will be notified. They automatically synchronize the data. However, the choice does affect which provider responds faster and is closest to your site based on location. Therefore, everyone can select the optimal provider for their website.

qThe script settings have added the ability to use a specially adapted mobile device editor when writing comments on the website. When this option is selected, a lightweight editor with a minimum number of buttons will be displayed. This editor doesn't overload the mobile screen with information and also simplifies the process of uploading and managing images.

qAdded automatic support for all time zones supported by the server.You can set the default time zone for the site or the user can choose it in their profile. If time zones are updated on the server, the DataLife Engine will automatically use the latest versions. Therefore, more than 300 new time zones have been added for users to choose from, and they will automatically update if new ones are added. For the ease of selecting a time zone, we have added a time zone search when selecting.

qWe have added a search system for script settings in the admin panel. This will allow you to find the desired setting much more quickly by simply starting to type its name. Additionally, for your convenience, the text of the relevant setting will be highlighted for visual display.

qAn editor with source code highlighting has been added to the Email message template management section. The visual component of thesection has also been improved, making it easier to edit templates for emails.

qAdded automatic rebuilding of the tag cloud when rebuilding publications in the admin panel. This feature will be useful in cases where, during manual independent work with the database, relationships between tables are incorrectly updated. For example, if publications are added bypassing the DLE

qWe have added an automatic redirection feature that redirects users to the home page immediately after they register on the site. This helps reduce the number of clicks that users need to make on the site during registration and reduces the number of steps they need to take to navigate around the site.

qAdded support for IPv6 addresses in the "List of IP addresses for which authorization is allowed in the script administration panel" section ofthe administration panel. Therefore, if the website administrator has an IPv6 address, instead of a non-IPv4 address, they can restrict access to only the IPv6 addresses they need in order to gain access to the website.

qImproved the visual appearance of selected categories when adding and editing publications in the control panel.

qFor the TinyMCE editor, we have added the ability to specify image sizes directly while editing the properties of an image.

qChanges have been made to how the user tagging button is operated by a spammer. As a result, this button no longer appears in the comments of users who belong to a protected user group.

qWhen selecting external storage during file upload and if allowed, it is shown in a similar manner to the external storage management section.

qThe system for determining the color of the watermark on images has been improved. The DataLife Engine now determines the color areas better and better on which the watermark should be applied, which allows for a more accurate determination of which watermark (light or dark) needs to be used in a particular case.

qWe have improved the system to pre-check the email address when a user registers on our site or changes their address in their profile.

qWhen editing the values of additional user fields in the control panel, the rights of the user being edited are added, and not the ones of the editor. For example, if a user is forbidden from adding links in additional fields, then this prohibition will be applied and saved when the user is edited by an administrator.

qAdded the ability to use HTML code in additional fields of user profiles, even if safe mode is disabled for these fields. Previously, BB tags were the only option available.

qAdded the ability to use additional fields of the "Date and Time" type in the full publication view. Previously, these fields were not available inthe full output, as per the field settings.

qAdded automatic cache reset for the admin panel's custom styles file,located in the templates folder, when clearing the cache from the admin panel.

qFor tags [ifxfvalue ….] … [/ifxfvalue], to check the values of additional fields, we have added a check on the list of values if the "Use as cross-reference" option is enabled for the additional field. For example, if a field contains several values, the check will be performed for each value separately, not for the entire field. A similar validation mechanism has been added for tags [if ….] … [/if] дfor these types of additional fields.

qAdded support for PHP version 8.3.x

qThe TinyMCE visual editor has been updated to the latest version. Its rendering speed has been significantly improved.

qWhen using the TinyMCE editor, if an image is uploaded not through the file manager but through the "Insert Image" window in the editor, then saving the written description for the image will also save any reduced copies that were created at the same time.

qDue to the fact that search engines no longer support advanced notifications from websites about changes to their site map sitemap.xml https://developers.google.com/search/blog/2023/06/sitemaps-lastmod-ping, This notification feature has also been removed from DataLife Engine. Now, everything happens automatically on behalf of the search engines. You just need to add your address to the search engine's webmaster panel, and the search engines will automatically check and re-index your site.

qImproved the system for displaying uploaded images and files in the file upload window. To make it more convenient, the file prefix is hidden from the names of the uploaded files. This makes it easier to orientate yourself in the folder. Also, in some cases, the prefix is more accuratelydefined in the name, thus avoiding accidental deletion of part of the name.

qFixed an issue where it was impossible to add replies to comments with anti-spam enabled reCAPTCHA v3.

qFixed an issue where some additional fields could take incorrect values when rebuilding publications in the control panel.

qFixed an issue where comment templates were incorrectly processed in some cases when a comment was submitted by an unregistered user.

qFixed an issue where the list of external repositories did not load when uploading images if several different sites were combined into a single user base.

qFixed an issue where the cache was incorrectly cleared when approving a comment that was under moderation.

qFixed an issue with a user named "noname" who was unable to rate posts and comments.

qFixed an issue where, when rebuilding the publications in the admin panel, publications that were not published on the site are included in the search index of publications based on additional fields.

qFixed an issue with the user not being able to select some time zones in their profile.

qFixed an issue where the publication dates "Yesterday" and "Today"could be incorrectly displayed, if there was a change in day relative to server time, according to the time zone chosen by the user in their profile on the website.

qFixed an issue where when viewing full news, the direct transition to the desired comment in the comment block displayed by the {customcomments .....} tag, if present on the page, might not work.

qFixed an issue where the cache for full news pages wasn't cleared when editing a publication in the admin panel if the third type of SEO links was enabled in the script settings.

List of changes of 17.0 version:

qAdded the ability for site users to delete their own account on the site, if they so wish. This permission is enabled in the settings of user groups. And it can be selected from several options. You can allow users to make a completely independent decision to delete an account, or you can only allow sending a request to the site administration to delete an account, or even prohibit self-deletion. The admin group is always protected from self-deletion for security purposes against account theft. An administrator can only be removed by another administrator. If the user is allowed to delete himself, then he can delete his account and all his data from the site in his profile by confirming this decision with an additional input of his account password. If sending a request to the administration is enabled, then the user management section for site administrators will show a list of users who have requested the deletion of data and account from the site, and the administrator will need to decide whether to delete this account or reject this request. After the account is deleted by the administrator, the user will receive a corresponding notification that his deletion request has been completed.

qFor the user profile output template (userinfo.tpl), support for new tags has been added: [delete] Text [/delete] that display the text enclosed in them as a link to delete the user's own profile on the site, if he is allowed to do so by the settings of user groups.

qAdded a new “Storage” section in the DataLife Engine control panel. In this section, you can add various external storage systems to which files will be uploaded using the DataLife Engine in the future. Thus, the site can use not one specific external storage for files, but different ones. Moreover, different storages can be used for different needs. In this section, you can add repositories, disable them, assign any storage, default storage, etc.

qIn the script settings in the admin panel, the ability to specify which repositories to upload certain files has been added. You can set up different repositories for images for posts, comments, static pages, user avatars, etc. For all cases, you can set either the default repository or any other repository created in the storage management section.

qThe ability to allow or prohibit users to select storage immediately before uploading files and images has been added to the user group settings. If this feature is allowed to the user, that he will be able to choose before uploading files to which storage they need to be placed. Thus, different files can optionally be placed in different repositories. And if this is prohibited, then the download will be according to all default settings.

qFor additional fields with the types “Uploaded image”, “Uploaded image Gallery”, “Uploaded audio playlist”, “Uploaded video playlist”, and “Uploaded file”, the ability to specify in the settings of these fields to which storage files need to be uploaded has been added. Thus, you can upload different additional fields to different repositories, which are specified in the storage management section.

qFor additional fields of user profiles, the possibility of assigning the “safe field mode” option has been added, with this type of field, the possibility of using BB tags or HTML tags is completely disabled. And also these fields can be safely used when displaying them in the HTML attributes of template tags.

qWhen displaying a list of recent comments on the site, an automatic transition to the selected comment has been added when clicking on the headline of the news to which it refers. At the same time, the page on which he is located is automatically searched, if, for example, a comment is on the second page of the news, then the user will automatically get to the second page, and the browser will automatically scroll to this comment. Thus, the user will see it immediately visually. In order to add automatic search when generating custom links in the template, you need to add the attribute to the links: onclick="findCommentsPage(this, '{id}', '{news-id}'); return false;"

qAdded automatic marking of avatars uploaded by the user with a unique value of the avatar file name. Thus, each time a user uploads an avatar for his account, his name will automatically change, and the new avatar will be visible immediately after downloading, without using the cache from the browser. Thus, it is no longer necessary to clear the browser cache when the user changes the avatar on the site.

qAdded the ability to quickly attach images to comments, while quickly editing comments on the site. If the template for adding a comment uses tags to display a quick upload form and attach images to the comment, then when editing, a quick upload image form will also be automatically added to the comment.

qAdded the ability to quickly attach images to comments when responding to comments. If the template for adding a comment uses tags to display a quick upload form and attach images to the comment, then when responding to comments, a quick upload image form will also be automatically added to the comment. Thus, the possibilities when adding a new comment and when adding a response to a comment will be identical.

qFor custom output of publications using the {custom ...} tag, the possibility of custom assignment of the period for which the block should be cached in the cache parameter has been added. You can specify the period in minutes, hours, or days. Values with the suffixes “m”, “h” and “d” are used to specify the caching time. For example, if you specify {custom cache="30m"....}, the block will be forcibly cached for 30 minutes if you specify {custom cache="2h"....}, then the block will be cached for 2 hours, if you specify {custom cache="1d" ....} then the block will be cached for one day. If you simply specify {custom cache="yes"....}, then as before, automatic cache control will be enabled and it will be updated as the information is updated. Specifying the time of forced caching will save server resources if the block does not need to be updated immediately, for example, when adding new publications or comments.

qFor custom output of comments using the {custom comments ...} tag, the possibility of custom specifying the period for which the block should be cached in the cache parameter has been added. You can specify the period in minutes, hours, or days. Values with the suffixes “m”, “h” and “d” are used to specify the caching time. For example, if you specify {customcomments cache="30m"....}, the comment block will be forcibly cached for 30 minutes if you specify {customcomments cache="2h" ....}, then the block with comments will be cached for 2 hours, if you specify {customcomments cache="1d" ....} then the block with comments will be cached for one day. If you simply specify {customcomments cache="yes"....}, then as before, automatic cache control will be enabled and it will be updated as the information is updated. Specifying the time of forced caching will save server resources if the block does not need to be updated immediately if the information on the site changes.

qFor the DataLife Engine control panel, full support for languages using the right-to-left text writing method has been added. To do this, the “direction” directive has been added to the language packs, which specifies the type of writing text for this language ‘ltr’ or ‘rtl’. At the same time, if the right-to-left writing type is used, then DataLife Engine will connect a specially prepared and adapted CSS file with control panel styles for the control panel, which will correctly mirror the entire control panel. Thus, users can use the panel design necessary for this language.

qFor WYSIWYG visual editors, support for languages using right-to-left text writing has been added. To do this, the value of the “direction” directive is also used, which is set in language packs when creating a translation into the desired language. By specifying the right-to-left spelling of “rtl” in the directive, editors will automatically use this text writing mode.

qFor all the usual text fields that DataLife Engine generates in the control panel and on the site, automatic support for languages using right-to-left spelling has been added. Switching occurs automatically as soon as the user starts writing text in this language. Thus, the integration and creation of websites in these languages has been improved and facilitated.

qIn the user group management section, the ability to enable or disable permission to use the “Headers, descriptions, meta tags” module has been added. Thus, you can allow other user groups to use this section, and not only for administrator groups.

qIn the user group management section, the ability to enable or disable permission to use the “Cross-references” module has been added. Thus, you can allow other user groups to use this section, and not only for administrator groups.

qIn the user group management section, the ability to enable or disable permission to use the Redirects module has been added. Thus, you can allow other user groups to use this section, and not only for administrator groups.

qFor the Redirects module in the control panel, the ability to disable or enable redirects has been added. Thus, if necessary, you can temporarily disable or enable the redirect you need without having to delete and re-add them.

qFor the “Cross-references” module in the control panel, the ability to disable or enable keywords has been added, thus, if necessary, you can temporarily disable or enable the replacement of the words you need without having to delete and re-add them.

qFor the module “Headers, descriptions, meta tags” in the control panel, the ability to disable or enable the specified rules has been added. Thus, if necessary, you can temporarily disable or enable the specified rules for these pages without having to delete and re-add them.

qIn the admin panel in the publication editing section, a visual display of the number of publications found has been added when using advanced search by various parameters.

qIn the script settings, the ability to specify how many found publications to show in the results of a quick search on the site has been added. Previously, only five found results were always displayed, now you can specify your desired value in the settings.

qChanges have been made to the logic of the quick search. Now the search results, if they do not enter the window in height, do not directly block the search field itself.

qFor the total rating of the user's publications, the use of a new {ratingscore} tag has been added in the output templates of the user profile and the user's quick card (userinfo.tpl and profile_popup.tpl). This tag displays the number of the average rating of all the user's publications, from one to five, while maintaining a fractional value. For example, depending on the rating, it can be 1.6 or 4.2, etc. This tag allows you to set, for example, your own design of rating stars with partial filling, and not just 2 or 4 filled stars.

qFor the total rating of user comments, the use of a new {commentsratingscore} tag has been added in the output templates of the user profile and the user's quick card (userinfo.tpl and profile_popup.tpl). This tag displays the number of the average rating of all user comments, from one to five, while maintaining a fractional value. For example, depending on the rating, it can be 1.6 or 4.2, etc. This tag allows you to set, for example, your own design of rating stars with partial filling, and not just 2 or 4 filled stars.

qChanges have been made to the operation of the [active] ... [/active] tag for the category menu template. Now this tag displays the text enclosed in them for the parent categories, if the category that the site visitor entered is a nested subcategory of these parent categories. Previously, this tag outputs text only for one category, directly in the one in which the visitor was. Thus, you can highlight, among other things, the active parent categories.

qAdded a correct system for calculating the hash of uploaded files directly by content, in case they are uploaded to external storage.

qAdded support for calculating the digital control signature of files uploaded to external storage, if the file arrives at external storage, bypassing the server where DataLife Engine is installed, for example, if the file is downloaded from an external site by URL, and not from a computer.

qChanges have been made to the logic of the site search. Now data is transmitted to the server using GET requests, not POST. Thus, site visitors, when navigating through the search results pages, will be able to use the “Back” button in the browser, as well as overload the page without warnings from the browser.

qFor the TinyMCE visual editor, the ability has been added when writing comments to insert images from the clipboard and by transferring images to the editor and automatically upload them to the server, if a simplified form of uploading comments is enabled and used for uploading comments. That is, you can use both a simplified form and insert it into the editor text, or automatically upload it to the text field in the editor itself.

qFor the TinyMCE visual editor, the ability to insert drop-down lists (Accordion) has been added, as well as the ability to manage them. These lists are inserted using HTML5 tags “details” and “summary".

qWhen viewing uploaded files online on the site, the ability to view files has been added, and when the file download blocking setting is enabled when accessing from other sites. Previously, viewing became unavailable because access to viewing sites occurred from external Google and Microsoft services.

qImproved the system of uploading files to the server from external sites. Added the ability to upload files if the URL contains not simple direct links to the file, but using various parameters in the links.

qImproved selection of parent categories when creating and editing categories. If there are a large number of categories, they can be found using a quick search through the list of categories.

qThe system of logging out and logging out of the user on the site has been improved. If the user leaves the site, then a complete cleaning of all data from the browser is performed, including those that were installed by third-party plugins and scripts on the site.

qChanges have been made to the logic of processing tags [if field = "value"] text [/if], now they are executed before the connection and processing of tags {custom ....} and {include file=”....”}. Thus, you can use these tags inside these structures without creating an excessive load on the server and executing them only if the conditions of the structure in which they are located are met.

qAfter uploading video or audio files to the server, the link to insert the player is now selected by default when selecting the insert. Thus, inserting media files is faster when writing publications.

qUpdated instructions for creating an application on the Google service for using authorization on the site using Google accounts.

qThe system of searching for similar news when editing publications in the control panel has been redesigned. Now the system of this search takes into account which search mode is enabled in the script settings: “Simple” or “Full-text".

qThe speed of the search for similar news in the publication editing section has been increased when using the full-text search mode on large databases with a large amount of content.

qThe work with the cache in the control panel has been optimized, which in some cases allows you to clear the cache of some data more rarely when performing a number of actions. This reduces the load on the server and increases the performance of the site.

qImproved the performance of the site, in case of execution of any automatic programs on the crown. The cache is now cleared more accurately and only if necessary if any data in the database has been changed. This reduces the load on the server.

qImproved the system for generating a control signature required to perform various actions for users who are not authorized on the site. This signature no longer depends on the IP of the users, thereby they will not be denied to perform an action on the site if the IP address has unexpectedly changed between the actions.

qThe TinyMCE visual editor has been updated to the current version. Various minor errors in the editor's work have been fixed.

qFixed an issue where the {THEME} tag was incorrectly processed when using it in the template for displaying the results of a quick site search.

qFixed an issue where information about the tag cloud and cross-references was not updated if the publication was automatically removed from the site by the crown, if the deadline for its publication on the site expired.

qFixed an issue where in some cases the name of the button for uploading video files for additional fields with the type “Downloadable video playlist” could be displayed incorrectly.

qFixed an issue with incorrect display of the section for editing additional fields of publications and users in the DataLife Engine control panel.

qFixed an issue where nested comments were displayed one level less than specified in the setting: “Maximum nesting level of comments" in the script control panel.

qFixed an issue where when disabling comments on the site, the user sorting of publications by views on the site stopped working correctly.

List of changes of 16.0 version:

qAdded support for two-factor authorization using one-time passwords from the Google Authenticator application or any other applications that support one-time OTP passwords. The user can choose in his profile which two-factor authorization he wants to use. He can choose to use applications, or a one-time password will be sent by E-Mail. Any applications that support OTP verification can be used for use, including the built-in tools of smartphone operating systems, not just Google Authenticator.

qAdded support for a new type of captcha on the Cloudflare Turnstile Sites website. This type of captcha provides the highest quality protection against spam bots, and also works as comfortably as possible for site visitors who do not need to make a choice of annoying pictures or writing text. Everything is as simple as possible, automatically and quickly.

qAdded the ability to limit the number of downloads for files uploaded to the site. To do this, in the settings of user groups, you can specify for this group how many files per day they are allowed to download. At the same time, downloads of unique files are recorded, and not just download attempts. For example, you have allowed downloading five files a day, a visitor has downloaded five files, and he will be prohibited from downloading any other files after that, but if some file was corrupted or accidentally deleted during downloading, then these files that he has already downloaded, he can also download again without problems. If you do not want to set a download limit, then this restriction can also be disabled.

qAdded a new type of additional fields for publications: “Video playlist". In this field, you can quickly upload video files that will be displayed on the site as a ready-made video player with a list of downloaded files to play them. Thus, you can quickly and conveniently organize the publication of videos on your website. In the properties of the field, you can set the maximum number of uploaded files, as well as the maximum file size allowed for uploading.

qAdded a new type of additional fields for publications: “Audio playlist". In this field, you can quickly upload audio files that will be displayed on the site as a ready-made audio player with a list of downloaded files to play them. Thus, you can quickly and conveniently organize the publication of audio files on your website. In the properties of the field, you can set the maximum number of uploaded files, as well as the maximum file size allowed for uploading.

qSupport for full-text search has been added to the quick search system on the site. Now a quick search on the site, depending on what is enabled in the settings, will also use either full-text or simple search. Thus, the results of a quick search will not differ from the results from the full search section on the site, if the full-text search mode on the site was enabled.

qFor a quick search on the site, support for the template system has been added. Now a new fastsearchresult.tpl template file is used to output search results, in which you can use all tags without exception that the short news output template supports. Thus, you can output additional fields and design the results the way you want without any restrictions.

qWhen editing comments on the site, if the uploaded images are displayed using the {images} tag in the comments, a list of uploaded images is added to quickly remove images from the edited comment.

qAdded output of uploaded images for comments in the admin panel in the comments editing section. Thus, you can immediately see the images if a separate output tag is used for them in the template and they are not in the comment text. And you can also quickly delete uploaded images in one click, if necessary.

qThe ability to specify the properties of RSS feeds that are used on the site has been added to the script settings. These properties are used to determine which tags are allowed in the stream, their standards, and so on. You can specify properties for all three streams used on the site. These properties are necessary for various services that use these streams in their work, thus, if some service has changed the requirements for RSS feeds, you can independently specify the necessary parameters in the settings without having to wait for DataLife Engine updates or edit the script files yourself. You can also use streams in general for some other proprietary services, and set the necessary parameters yourself.

qThe ability to hide the short description field when adding and editing publications has been added to the script settings in the admin panel. You can disable this field if you do not use it when writing publications, so that it does not interfere with you. This innovation will be useful for those who use, for example, only additional fields with their own properties.

qThe ability to hide the full description field when adding and editing publications has been added to the script settings in the admin panel. You can disable this field if you do not use it when writing publications, so that it does not interfere with you. This innovation will be useful for those who use, for example, only additional fields with their own properties.

qSupport for new tags has been added for the news addition template (addnews.tpl): [allow-shortstory] text [/allow-shortstory] which output the text enclosed in them if the support for the short description field is enabled in the script settings, and hide the text if this field is disabled. Tags have also been added: [allow-fullstory] text [/allow-fullstory] which output the text enclosed in them if the full description field is enabled in the script settings, and hide the text if this field is disabled.

qAdded the ability to sort publications by the date of their editing. The sorting order can be performed in the script settings in the control panel, on the site by the user himself if allowed, as well as in the settings of each category separately.

qAdded the ability to save database backups to external storage. To do this, you can enable the “Save backups to external storage” setting in the script settings. When this option is enabled, the backup will be automatically transferred to external storage.

qAdded the ability to automatically convert uploaded images to one selected format in the format script settings. Instead of setting up automatic conversion of uploaded images to WebP format, you can choose one of four formats: PNG, JPG, WEBP, AVIF. Or you can disable automatic conversion to another format altogether and the image will remain in the format it was originally in.

qAdded the ability to use not only jаvascript tools for deferred image loading, but also native browser support. Now in the script settings you can choose the type of deferred download: Disabled, enabled using jаvascript, and enabled using native browser support. Native browser support works more accurately and faster, does not require loading additional scripts to the page, but it is supported only by modern browsers. Not all visitors to your site may have such browsers. If the user uses the old browser, he will see the image in any case, but the delayed download will not work for him.

qFor image output tags and embedded frames (img and iframe), the ability to add an attribute has been added loading="lazy" when adding publications. To add native deferred loading of images and frames by browsers that support this attribute.

qAdded support for new global tags: [category-description] text [/category-description], which output the text enclosed in them if the category being viewed has a given category description. And also added tag support: [not-category-description] text [/not-category-description], which output the text enclosed in them if the category has no description. These tags will be useful when designing various template blocks for cases when a description is set, and for cases when there is no description.

qFor users who are in the “Editors-in-Chief” group, the ability to change the author of publications has been added. Previously, only site administrators had such an opportunity.

qFor the plugin system, the ability has been added to specify several plugins that are required to be present in the system for the plugin to be installed to work. To assign multiple plugins, their names are separated by commas. Previously, it was possible to specify only one mandatory plugin.

qAdded automatic switching to a dark theme in the DataLife Engine control panel (if automatic night mode is enabled) depending on the installed operating system theme. Now switching will be not only by time, but also if the theme of the operating system has been switched to dark, then switching will also be performed in the control panel.

qAdded support for a new tag for the RSS output template {full-story limit="X"} which outputs the text of the full news without HTML formatting, while the publication text itself is reduced to the specified X number of characters.

qWhen using comparison using tags [if field = "value"] text [/if] for additional fields with the type “date” and “date and time”, automatic verification has been added as date values. When comparing, you can use the date in English format, for example, "2020-09-01" or "10 September 2020" or "next Thursday" or "+1 day" or "next Thursday" or in unix format, and also use not only the equal sign, but also check whether the date is greater or less than the specified value. Previously, this type of fields was compared simply as a text value.

qImproved comparison system using tags [if field = "value"] text [/if] when using the values of additional fields in comparison. Additional conversion of previously escaped characters into regular characters is performed, which simplifies comparison.

qSimplified system of extended registration on the site, the visitor will need fewer steps during registration when passing the extended registration on the site.

qFor templates for displaying short and full news, as well as for the main page template (shortstory.tpl, fullstory.tpl, main.tpl) added support for new tags: [xfvalue_X video="Nr"] which outputs the videos uploaded for an additional field with the type "Video playlist" with the selected number separately. Where "X" is the name of the additional field, and "Nr" is the number of the video from the playlist, [xfvalue_X video-url="Nr"] which outputs uploaded URLs for an additional field with the "Video playlist" type, individually. Where "X" is the name of the additional field, and "Nr" is the number of the video from the playlist, [xfvalue_X video-description="Nr"] which outputs the video descriptions uploaded for an additional field with the "Video playlist" type, separately. Where "X" is the name of the additional field, and "Nr" is the number of the video from the playlist. [xfgiven_X video="Nr"] text [/xfgiven_X video="Nr"] which output the text enclosed in them if the video with the specified number is present and uploaded in an additional field, where X is the name of the additional field, and Nr is the number of the video, [xfnotgiven_X video="Nr"] text [/xfnotgiven_X video="Nr"] which output the text enclosed in them if the video with the specified number is not in the additional field, where X is the name of the additional field, and NR is the number of the video. All these tags will be useful when using your own third-party video players to organize video viewing on your site.

qFor templates for displaying short and full news, as well as for the main page template (shortstory.tpl, fullstory.tpl, main.tpl) dded support for new tags: [xfvalue_X audio="Nr"] which outputs the videos uploaded separately for an additional field with the "Audio Playlist" type. Where "X" is the name of the additional field, and "Nr" is the number of the audio file from the playlist, [xfvalue_X audio-url="Nr"] which outputs uploaded URLs for an additional field with the "Audio Playlist" type, individually. Where "X" is the name of the additional field, and "Nr" is the number of the audio file from the playlist, [xfvalue_X audio-description="Nr"] which outputs the descriptions of the audio file uploaded for an additional field with the "Audio Playlist" type, separately. Where "X" is the name of the additional field, and "Nr" is the number of the audio file from the playlist. [xfgiven_X audio="Nr"] text [/xfgiven_X audio="Nr"] which output the text enclosed in them if the audio with the specified number is present and loaded in an additional field, where X is the name of the additional field, and Nr is the number of the audio file, [xfnotgiven_X audio="Nr"] text [/xfnotgiven_X audio="Nr"] which output the text enclosed in them if the audio with the specified number is missing in the additional field, where X is the name of the additional field, and Nr is the number of the audio file. All these tags will be useful when using your own third-party audio players to organize audio on your site.

qThe formation of the meta tag of the title of the page when displaying the main page has been changed if the use of the static main page as the main page is set. Now only the main header specified in the script settings in the control panel is used in the header.

qThe system of quick editing of comments on the website and in the control panel has been improved. In case of any error, an error message will be displayed to the user in a pop-up window, while the possibility of making further changes to the comment will remain to eliminate the errors that have occurred.

qImproved support for additional fields having the “One line" type with the safe mode option. For these fields, the ability to use URLs as content has been added, and they can be used to insert links in publications.

qChanges have been made to prevent the occurrence of links to publications whose length exceeds the total URL length limit of 255 characters set by the standards.

qThe system for displaying reduced copies of images has been updated. The appearance has become even more modern, smoother animation has been added, more zoom levels.

qAdded the use of more cryptographically secure algorithms in various random value generators used by various user identification functions.

qFor the TinyMCE visual editor, the ability to set the text size quickly and conveniently in any values, and not just from a list of predefined sizes, has been added.

qFor the Froala visual editor, the ability to use any font icons in texts has been added, not just FontAwesome old versions.

qSignificantly accelerated the work of DLE and reduced the load on the server when generating RSS feeds for Turbo pages and Yandex Zen.

qAdded the ability to assign new keywords to the tag cloud in mass actions on publications, to use special characters in these tags, such as quotation marks and a number of others that are supported by the tag cloud.

qFor the [mediа=...] tag, the ability to insert short videos (shorts), as well as playlists from the Youtube service, has been added. Previously, it was possible to insert only regular videos.

qThe system of automatic transliteration of links for SEO URLs has been improved, so that when forming links, the remnants of HTML entities do not fall into these links.

qWhen writing additional fields in a publication with the “Cross-references” option, if the tag was written using a different letter case, then when displaying this field in bread crumbs and meta tags of the title, a word with the same letter case as it was written in the publication will be used, and not in small letters as it was previously. At the same time, the URL remains unchanged as before.

qWhen writing words for a tag cloud in a publication, if the tag was written using a different letter case, then when displaying this tag in bread crumbs and title meta tags, a word with the same letter case as it was written in the publication will be used, and not in small letters as it was before. At the same time, the URL remains unchanged as before.

qThe minimum requirement for DLE is the presence of PHP 8.0 and higher on the server. Previously, the minimum version of PHP was 7.4. In addition, the recommended requirements for the PHP version were lowered, now it is also enough to have the PHP 8.0.x line, not 8.1.x, for all DLE functions to work

qThe TinyMCE visual editor has been updated to the current line.

qFixed an issue where comments were combined into a single line when using the BBCODES editor for comments.

qFixed an issue where extra lines appeared when massively combining comments on the site, in the case of using visual editors for comments.

qFixed an issue where when changing the search bar in the search, there was no return to the first page of the search if the user is not on the first page and uses only the keyboard.

qFixed an issue where the {related-ids} tag in the full news template worked incorrectly when the publication was first shown on the site.

qFixed an issue where checking some fields in the [if field = "value"] text [/if] tag did not work when connecting custom output of publications using the {custom ...} tag

qFixed an issue where it was impossible to add new keywords to the tag cloud in some cases when performing mass actions on news.

qFixed an issue where some buttons in the BBCODE editor might not be pressed in some cases when quickly editing publications on the site.

qFixed a problem in which a non-valid layout was formed in the case of using a tree layout of comments, if the nesting limit of comments was reached.

qFixed an issue where the image upload button for additional fields with the “Image Gallery” type could not be unlocked when transferring an image from one gallery to another.


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 following folders writable (CHMOD 777) backup, templates, uploads, engine/data, engine/cache.

3. 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 and make the required changes to your templates, according to the list of changes posted at: https://dle-news.com/templates-changelog.html.

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/templates-changelog.html


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.


Global templates tags

Navigation: Work With The Engine >

Global templates tags

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 name="X" 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" unique="yes" order="date" sort="desc" cache="yes"}

Where:

name this is the name of the block, which can later be used to determine whether to show or hide any content outside of this block if there is content in this block or it is missing. For example, writing {custom name="block1" category="6"} it will show publications from the category ID6, and the block itself will be named “block1”. New global tags have been added to operate with this name: [custom=X] Text [/custom] where X is the name of the block, which outputs the text enclosed in them if the block with the given name contains information. And also the opposite tags have been added [not-custom=X] Text [/not-custom] which display the text enclosed in them if the block with the given name does not contain any information and there are no publications.Thus, you can make additional external design of the blocks or, conversely, hide it, depending on whether there are publications in the block or not. For example, [custom=block1] Header {custom name="block1" category="6"} [/custom]. At the same time, the block may be placed anywhere on the page, not necessarily within these tags. Therefore, you can adjust and change other elements in the template based on these tags.

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:

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. You can specify the period in minutes, hours, or days. Values with the suffixes “m”, “h” and “d” are used to specify the caching time. For example, if you specify {custom cache="30m"....}, the block will be forcibly cached for 30 minutes if you specify {custom cache="2h"....}, then the block will be cached for 2 hours, if you specify {custom cache="1d" ....} then the block will be cached for one day.

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]

favorites="yes" takes only one value, and displays the publications that the visitor has in his bookmarks. For example, the {custom favorites="yes" order="id_as_list”} tag will display publications from the user's bookmarks in the sort order in which they were bookmarked.

unique="yes" takes only one value, and indicates that publications in this block should not be repeated if they have already been displayed on the site, i.e., unique publications should be displayed in this block. This will help avoid repetition of the same news in user output blocks if they fall under the same output criteria. For example, two tags {custom category="1" unique="yes" limit="1"} and {custom category="1" unique="yes" limit="1"} will display different publications, despite having the same parameters; the first tag will display the first news item from the category, and the second will display the second, skipping the first. Also, if a publication was displayed in the {content} block, it will not be displayed if this option is present in the tag {custom ….}

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.

[country=X] text [/country]

display the text specified in them if the visitor is in the specified X countries, where X is a list of ISO country codes. Countries can be separated by commas. For example, tags [country=RU, BY, KZ] text [/country] the text will be displayed if the visitor is from Russia, Belarus or Kazakhstan.

[not-country=X] text [/not-country]

display the text specified in them if the visitor is not in the specified X countries, where X is a list of ISO country codes.

{country}

outputs the ISO code of the country in which the site visitor is located, for example, outputs RU if the visitor is in Russia, or US if the visitor is in the USA.

[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. You can specify the period in minutes, hours, or days. Values with the suffixes “m”, “h” and “d” are used to specify the caching time. For example, if you specify {customcomments cache="30m"....}, the comment block will be forcibly cached for 30 minutes if you specify {customcomments cache="2h" ....}, then the block with comments will be cached for 2 hours, if you specify {customcomments cache="1d" ....} then the block with comments will be cached for one day.

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.

{lang text="LANG_PARAMETER"}

This tag is designed to output information from the website.tpl language file, which is currently in use, where LANG_PARAMETER is the value of the parameter to be output. For example, the tag {lang text="attach_images"} will display the inscription “Attach images” from the language pack

{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.

idexclude="1,2,3-5" - a list of category IDs that do not need to be included in the category list, and all categories except those specified will be displayed. You can list several categories separated by commas, or specify the ID range separated by dashes.

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-description] текст [/category-description]

Display the text enclosed in them if the category being viewed has a given category description

[not-category-description] текст [/not-category-description]

Display the text enclosed in them if the category does not have a description.

{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

{page-count}

Displays the number of the page the user is view

[script] код [/script] Global tags which you can place use executable jаvascript code. In this case, the data code will be placed directly in the executable block of other DataLife Engine JS codes, it will be launched immediately after loading other JS scripts that are used when included. Thus, you can organize all the JS codes in the template, standardize their execution order, and avoid any conflicts in the future.

{cache-id}

Outputs the current cache ID

[active-plugins=X] Text [/active-plugins]

Displays the text enclosed in it if the specified plugin is enabled and used on the site.Where X is the plugin ID or its name. For example, you can specify [active-plugins=1] Text [/active-plugins] or [active-plugins=My plugin] Text [/active-plugins], and if a plugin with ID 1 or with the name “My plugin” is enabled in the system, then the text specified in the tag will be output. You can also list several parameters in the tag separated by commas, for example, [active-plugins=1,2,5] Text [/active-plugins]

[not-active-plugins=X] Text [/not-active-plugins]

Displays the text enclosed in it if the specified plugin is disabled and is not used on the site. Where X is the plugin ID or its name. For example, you can specify [not-active-plugins=1] Text [/not-active-plugins] or [not-active-plugins=My plugin] Text [/not-active-plugins], and if the plugin with ID 1 or with the name “My plugin” is disabled in the system and is not used, then the text specified in the tag will be output. You can also list several parameters in the tag separated by commas, for example, [not-active-plugins=1,2,5] Text [/not-active-plugins].

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 additional tags:

[leech=link] text [/leech] Is completely analogous to URL tag, except that it encrypts the link.

[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

[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

[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


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.

For plugins, it is possible to use the tags [lang=X] Text [/lang] in the plugin name, description of the plugin, and notes for the plugin in their text. Which output text depending on the language that the user uses in the admin panel. Where X is the ISO language code from the language pack. This way you can display the title and notes in different languages. For example, the tag [lang=ru]Russian Russian text[/lang] will display this text if the user uses Russian, and the tag [lang=en] English Text [/lang] if the user uses English.


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.
[changeskin] text [/changeskin] | Display the text enclosed in them if users are allowed to change the site's themes
{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.
{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
[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_image_description_X] | This tag can be used only if extra field has type "Image". The tag displays only the description for the 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".
[xfvalue_X image-url="Nr"] | Display the URL for uploaded full 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.
[xfvalue_X image-thumb-url="Nr"] | Display the thumb URL for 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.
[xfvalue_X image-description="Nr"] | Display the Description for 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.
[xfgiven_X image="NR"] текст [/xfgiven_X image="NR"] | Display the text enclosed in them if an image with the specified number is present and loaded in an additional field, where X is the name of the additional field, and NR is the number of images
[xfnotgiven_X image="NR"] Текст [/xfnotgiven_X image="NR"] | Display the text enclosed in them if the image with the specified number is missing in the additional fiel, where X is the name of the additional field, and NR is the number of images
[xfvalue_X video="Nr"] | Display the videos uploaded for an additional field with the type "Video playlist" with the selected number separately. Where "X" is the name of the additional field, and "Nr" is the number of the video from the playlist
[xfvalue_X video-url="Nr"] | Display uploaded URLs for an additional field with the "Video playlist" type, individually. Where "X" is the name of the additional field, and "Nr" is the number of the video from the playlist
[xfvalue_X video-description="Nr"] | Display video descriptions uploaded for an additional field with the "Video playlist" type, separately. Where "X" is the name of the additional field, and "Nr" is the number of the video from the playlist
[xfgiven_X video="Nr"] Text [/xfgiven_X video="Nr"] | Display the text enclosed in them if the video with the specified number is present and uploaded in an additional field, where X is the name of the additional field, and Nr is the number of the video
[xfnotgiven_X video="Nr"] Text [/xfnotgiven_X video="Nr"] | Display the text enclosed in them if the video with the specified number is not in the additional field, where X is the name of the additional field, and NR is the number of the video
[xfvalue_X audio="Nr"] | Display the audio uploaded separately for an additional field with the "Audio Playlist" type. Where "X" is the name of the additional field, and "Nr" is the number of the audio file from the playlist
[xfvalue_X audio-url="Nr"] | Display uploaded URLs for an additional field with the "Audio Playlist" type, individually. Where "X" is the name of the additional field, and "Nr" is the number of the audio file from the playlist
[xfvalue_X audio-description="Nr"] | Display the descriptions of the audio file uploaded for an additional field with the "Audio Playlist" type, separately. Where "X" is the name of the additional field, and "Nr" is the number of the audio file from the playlist
[xfgiven_X audio="Nr"] Text [/xfgiven_X audio="Nr"] | Display the text enclosed in them if the audio with the specified number is present and loaded in an additional field, where X is the name of the additional field, and Nr is the number of the audio file
[xfnotgiven_X audio="Nr"] Text [/xfnotgiven_X audio="Nr"] | Display the text enclosed in them if the audio with the specified number is missing in the additional field, where X is the name of the additional field, and Nr is the number of the audio file


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.
{login} | Username
{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.

[new] Text [/new]

The text enclosed in them is displayed if the publication is considered new, if less than more than the time specified in the settings since the publication.

[not-new] Text [/not-new]

The text enclosed in them is displayed if more than the time specified in the settings has passed since publication.

[updated] Text [/updated]

The text enclosed in them is displayed if the publication is considered updated, if less than the time specified in the settings has passed since the editing

[not-updated] Text [/not-updated]

The text enclosed in them is output if more than the time specified in the settings has passed since the moment of editing

{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.

[del] text [/del]

link to delete a publication from the site

{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.

[ifxfset fields="X"] text [/ifxfset]

The text enclosed in them is output if the field with the name X has been set and filled in for the news. At the same time, you can list several field names separated by commas. For example [if xf set fields="test1,test2"]both fields named test1 and test2 are filled in[/ifxfset] will output text if both fields were filled in the news. The main difference from the existing tags [xfgiven_x] and [xfnotgiven_x] is that you can list several fields at the same time and the fullness of all listed fields is checked at the same time, as well as the fullness of fields without values is checked, for example, if the field is set to “0” or the value “no”, this is also a filled field in publications.

[ifxfnotset fields="X"] text [/ifxfnotset]

The text enclosed in them is output if the field with the name X has not been specified and filled in for the news. However, you can also list several field names separated by commas. For example [ifxfnotset fields="test1,test2"]both fields named test1 and test2 were not filled in[/ifxfnotset] will output text if both fields were not filled in the news. The main difference from the existing tags [xfgiven_x] and [xfnotgiven_x] is that you can list several fields at the same time and the fullness of all listed fields is checked at the same time, as well as the fullness of fields without values is checked, for example, if the field is set to “0” or the value “no”, this is also a filled field in publications.

[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_image_description_X]

This tag can be used only if extra field has type "Image". The tag displays only the description for the 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".

[xfvalue_X image-url="Nr"]

Display the URL for uploaded full 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.

[xfvalue_X image-thumb-url="Nr"]

Display the thumb URL for 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.

[xfvalue_X image-description="Nr"]

Display the Description for 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.

[xfgiven_X image="NR"] Text [/xfgiven_X image="NR"]

Display the text enclosed in them if an image with the specified number is present and loaded in an additional field, where X is the name of the additional field, and NR is the number of images

[xfnotgiven_X image="NR"] Text [/xfnotgiven_X image="NR"]

Display the text enclosed in them if the image with the specified number is missing in the additional fiel, where X is the name of the additional field, and NR is the number of images

[xfvalue_X video="Nr"]

Display the videos uploaded for an additional field with the type "Video playlist" with the selected number separately. Where "X" is the name of the additional field, and "Nr" is the number of the video from the playlist

[xfvalue_X video-url="Nr"]

Display uploaded URLs for an additional field with the "Video playlist" type, individually. Where "X" is the name of the additional field, and "Nr" is the number of the video from the playlist

[xfvalue_X video-description="Nr"]

Display video descriptions uploaded for an additional field with the "Video playlist" type, separately. Where "X" is the name of the additional field, and "Nr" is the number of the video from the playlist

[xfgiven_X video="Nr"] Text [/xfgiven_X video="Nr"]

Display the text enclosed in them if the video with the specified number is present and uploaded in an additional field, where X is the name of the additional field, and Nr is the number of the video

[xfnotgiven_X video="Nr"] Text [/xfnotgiven_X video="Nr"]

Display the text enclosed in them if the video with the specified number is not in the additional field, where X is the name of the additional field, and NR is the number of the video

[xfvalue_X audio="Nr"]

Display the audio uploaded separately for an additional field with the "Audio Playlist" type. Where "X" is the name of the additional field, and "Nr" is the number of the audio file from the playlist

[xfvalue_X audio-url="Nr"]

Display uploaded URLs for an additional field with the "Audio Playlist" type, individually. Where "X" is the name of the additional field, and "Nr" is the number of the audio file from the playlist

[xfvalue_X audio-description="Nr"]

Display the descriptions of the audio file uploaded for an additional field with the "Audio Playlist" type, separately. Where "X" is the name of the additional field, and "Nr" is the number of the audio file from the playlist

[xfgiven_X audio="Nr"] Text [/xfgiven_X audio="Nr"]

Display the text enclosed in them if the audio with the specified number is present and loaded in an additional field, where X is the name of the additional field, and Nr is the number of the audio file

[xfnotgiven_X audio="Nr"] Text [/xfnotgiven_X audio="Nr"]

Display the text enclosed in them if the audio with the specified number is missing in the additional field, where X is the name of the additional field, and Nr is the number of the audio file

[xfvalue_X format="Format"]

It is intended for displaying additional fields with the type “Date and time” where X is the name of the additional field, and “Format” this is the output format of the date and time specified in the field. You can output this additional field in different date and time formats, and not only in the format specified for the default field in the field settings. For example, the tag [xfvalue_test format="j F Y H:i"] displays the date and time specified in the field in time format j F Y H:i.

[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.

{edit-date=date format}

Displays the date when the publication was edited in the format specified in the tag. Thus, you can set your own format for the editing date, or output not only the entire date, but also its individual parts. The date format is set according to the format used in PHP. For example, the tag {edit-date=d} displays the day of the month, and the tag {edit-date=F} displays the name of the month, and the tag {edit-date=d-m-Y H:i} displays the full date and time

{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.

[new] Text [/new]

The text enclosed in them is displayed if the publication is considered new, if less than more than the time specified in the settings since the publication.

[not-new] Text [/not-new]

The text enclosed in them is displayed if more than the time specified in the settings has passed since publication.

{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.

[del] text [/del]

link to delete a publication from the site

[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.

[ifxfset fields="X"] text [/ifxfset]

The text enclosed in them is output if the field with the name X has been set and filled in for the news. At the same time, you can list several field names separated by commas. For example [if xf set fields="test1,test2"]both fields named test1 and test2 are filled in[/ifxfset] will output text if both fields were filled in the news. The main difference from the existing tags [xfgiven_x] and [xfnotgiven_x] is that you can list several fields at the same time and the fullness of all listed fields is checked at the same time, as well as the fullness of fields without values is checked, for example, if the field is set to “0” or the value “no”, this is also a filled field in publications.

[ifxfnotset fields="X"] text [/ifxfnotset]

The text enclosed in them is output if the field with the name X has not been specified and filled in for the news. However, you can also list several field names separated by commas. For example [ifxfnotset fields="test1,test2"]both fields named test1 and test2 were not filled in[/ifxfnotset] will output text if both fields were not filled in the news. The main difference from the existing tags [xfgiven_x] and [xfnotgiven_x] is that you can list several fields at the same time and the fullness of all listed fields is checked at the same time, as well as the fullness of fields without values is checked, for example, if the field is set to “0” or the value “no”, this is also a filled field in publications.

[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_image_description_X]

This tag can be used only if extra field has type "Image". The tag displays only the description for the 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".

[xfvalue_X image-url="Nr"]

Display the URL for uploaded full 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.

[xfvalue_X image-thumb-url="Nr"]

Display the thumb URL for 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.

[xfvalue_X image-description="Nr"]

Display the Description for 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.

[xfgiven_X image="NR"] текст [/xfgiven_X image="NR"]

Display the text enclosed in them if an image with the specified number is present and loaded in an additional field, where X is the name of the additional field, and NR is the number of images

[xfnotgiven_X image="NR"] Текст [/xfnotgiven_X image="NR"]

Display the text enclosed in them if the image with the specified number is missing in the additional fiel, where X is the name of the additional field, and NR is the number of images

[xfvalue_X video="Nr"]

Display the videos uploaded for an additional field with the type "Video playlist" with the selected number separately. Where "X" is the name of the additional field, and "Nr" is the number of the video from the playlist

[xfvalue_X video-url="Nr"]

Display uploaded URLs for an additional field with the "Video playlist" type, individually. Where "X" is the name of the additional field, and "Nr" is the number of the video from the playlist

[xfvalue_X video-description="Nr"]

Display video descriptions uploaded for an additional field with the "Video playlist" type, separately. Where "X" is the name of the additional field, and "Nr" is the number of the video from the playlist

[xfgiven_X video="Nr"] Text [/xfgiven_X video="Nr"]

Display the text enclosed in them if the video with the specified number is present and uploaded in an additional field, where X is the name of the additional field, and Nr is the number of the video

[xfnotgiven_X video="Nr"] Text [/xfnotgiven_X video="Nr"]

Display the text enclosed in them if the video with the specified number is not in the additional field, where X is the name of the additional field, and NR is the number of the video

[xfvalue_X audio="Nr"]

Display the audio uploaded separately for an additional field with the "Audio Playlist" type. Where "X" is the name of the additional field, and "Nr" is the number of the audio file from the playlist

[xfvalue_X audio-url="Nr"]

Display uploaded URLs for an additional field with the "Audio Playlist" type, individually. Where "X" is the name of the additional field, and "Nr" is the number of the audio file from the playlist

[xfvalue_X audio-description="Nr"]

Display the descriptions of the audio file uploaded for an additional field with the "Audio Playlist" type, separately. Where "X" is the name of the additional field, and "Nr" is the number of the audio file from the playlist

[xfgiven_X audio="Nr"] Text [/xfgiven_X audio="Nr"]

Display the text enclosed in them if the audio with the specified number is present and loaded in an additional field, where X is the name of the additional field, and Nr is the number of the audio file

[xfnotgiven_X audio="Nr"] Text [/xfnotgiven_X audio="Nr"]

Display the text enclosed in them if the audio with the specified number is missing in the additional field, where X is the name of the additional field, and Nr is the number of the audio file

[xfvalue_X format="Format"]

It is intended for displaying additional fields with the type “Date and time” where X is the name of the additional field, and “Format” this is the output format of the date and time specified in the field. You can output this additional field in different date and time formats, and not only in the format specified for the default field in the field settings. For example, the tag [xfvalue_test format="j F Y H:i"] displays the date and time specified in the field in time format j F Y H:i.

[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-ids}

Displays a list of ID of similar publications for this news. This tag is useful when used together with the tag {custom ...}, for example the tag {custom id="{related-ids}"}

{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.

{edit-date=date format}

Displays the date when the publication was edited in the format specified in the tag. Thus, you can set your own format for the editing date, or output not only the entire date, but also its individual parts. The date format is set according to the format used in PHP. For example, the tag {edit-date=d} displays the day of the month, and the tag {edit-date=F} displays the name of the month, and the tag {edit-date=d-m-Y H:i} displays the full date and time

{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] text [/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] text [/comm-num]

Shows text embedded into tags, if a user posted comments on the site

[not-comm-num] text [/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] text [/news-num]

Shows text embedded into tags, if a user published posts on the site

[not-news-num] text [/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] text [/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] text [/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] text [/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

[allow-comments-subscribe] text [/allow-comments-subscribe]

Show the text enclosed in them, if the user is allowed to subscribe to comments. Thus, you can make a link to subscribe to comments in the block you need and hide it if the subscription is prohibited.

[comments-unsubscribe] text [/comments-unsubscribe]

Show the text enclosed in them as a link to unsubscribe from comments to this publication. Thus, users can unsubscribe from only one specific news on the site, previously they had to unsubscribe from all publications


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.

[images] text [/images]

Show the text enclosed in them, if images were uploaded to the comment

{images}

Show all images uploaded for the comment as an image gallery

[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.

{lastdate=date format}

Displays the last site visit by the user in the format specified in the tag. For example the tag {lastdate=d} displays the day of the month, and the tag {lastdate=F} displays the name of the month, and the tag {lastdate=d-m-Y H:i} displays the full date and time.

{registration=date format}

Displays the user's registration date in the format specified in the tag. For example the tag {registration=d} displays the day of the month, and the tag {registration=F} displays the name of the month, and the tag {registration=d-m-Y H:i} displays the full date and time.

[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.

[replycount]

text

[/replycount]

The text enclosed in them is displayed if the comment has responses to it from other users.

[not-replycount]

text

[/not-replycount]

The text enclosed in them is displayed if there are no responses to the comment.

[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.
[cat-icon] text [/cat-icon] | The text enclosed in them is displayed if an icon has been set in the category settings for the category where the publication is located
[not-cat-icon] text [/not-cat-icon] | The text is output if the icon is not set for the category where the publication is located
{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.
{image-upload} | Display a special field where the user can drag and drop images to upload, or select them from the computer
[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.
[allow-comments-subscribe] text [/allow-comments-subscribe] | Show the text enclosed in them, if the user is allowed to subscribe to comments. Thus, you can make a link to subscribe to comments in the block you need and hide it if the subscription is prohibited.
[comments-unsubscribe] text [/comments-unsubscribe] | Show the text enclosed in them as a link to unsubscribe from comments to this publication. Thus, users can unsubscribe from only one specific news on the site, previously they had to unsubscribe from all publications
{comments-subscribe} | Displays a checkbox for subscribing to comments in the form of adding a comment
{guest-name} | Displays the username of the unregistered user that he entered during the previous comment addition.
{guest-mail} | Displays the unregistered user's E-Mail address that he entered during the previous comment addition.


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.
[closed] text [/closed] | Displays the enclosed text if the poll was closed for voting
[not-closed] text [/not-closed] | Displays the enclosed text if the survey is open for voting to site visitors
{close-date} | Displays the closing date of the poll from the polls, if it was closed


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:

{header-title} | Displays the section title depending on whether a news item is being added or an existing one is being edited
{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).
{admintag} | Displays extra options for Administrator.
[urltag] and [/urltag] | Displays the enclosed text to edit User-friendly URL of the article (available for Administrator).
{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.
[allow-shortstory] text [/allow-shortstory] | Displays the text enclosed in them if the support for the short description field is enabled in the script settings, and hide the text if this field is disabled
[allow-fullstory] text [/allow-fullstory] | Displays the text enclosed in them if the full description field is enabled in the script settings, and hide the text if this field is disabled

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:

{user-id}

Outputs the user ID. This tag can be used in a number of cases when designing a template, as well as, for example, to form user links, such as links to the user's recent comments, etc.

{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.

{ratingscore}

Displays the number of the average rating of all the user's publications, from one to five, while maintaining a fractional value. For example, depending on the rating, it can be 1.6 or 4.2, etc.

{commentsratingscore}

Displays the number of the average rating of all user comments, from one to five, while maintaining a fractional value. For example, depending on the rating, it can be 1.6 or 4.2, etc.

{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.

[own-profile] text [/own-profile]

They display the text enclosed in them, if the user is viewing his own profile on the site

[not-own-profile] text [/not-own-profile]

They display the text enclosed in them, if the user is viewing someone else's profile on the site

[not-logged] and [/not-logged]

Displays the enclosed code if user views his own profile or Administrator. 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

[banned] text [/banned]

display the text enclosed in them if the user is currently banned from the site

[not-banned] text [/not-banned]

display the text enclosed in them if the user is not banned from the site

{ban-description}

displays the reason why the user is banned

{ban-date}

displays the date before which the user was banned from the site

[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

[attached-vk] text [/attached-vk]

Displays the enclosed text if the user's account is linked to the network VK

[attached-odnoklassniki] text [/attached-odnoklassniki]

Displays the enclosed text if the user's account is linked to the network Odnoklassniki

[attached-facebook] text [/attached-facebook]

Displays the enclosed text if the user's account is linked to the network Facebook

[attached-google] text [/attached-google]

Displays the enclosed text if the user's account is linked to the network Google

[attached-mailru] text [/attached-mailru]

Displays the enclosed text if the user's account is linked to the network Mail.ru

[attached-yandex] text [/attached-yandex]

Displays the enclosed text if the user's account is linked to the network Yandex

[detach-vk] text [/detach-vk]

Displays the text enclosed in them as a link to unlink the account from the VK social network, if the user's account is linked to it.

[detach-odnoklassniki] text [/detach-odnoklassniki]

Displays the text enclosed in them as a link to unlink the account from the Odnoklassniki social network, if the user's account is linked to it.

[detach-facebook] text [/detach-facebook]

Displays the text enclosed in them as a link to unlink the account from the Facebook social network, if the user's account is linked to it.

[detach-google] text [/detach-google]

Displays the text enclosed in them as a link to unlink the account from the Google social network, if the user's account is linked to it.

[detach-mailru] text [/detach-mailru]

Displays the text enclosed in them as a link to unlink the account from the Mail.ru social network, if the user's account is linked to it.

[detach-yandex] text [/detach-yandex]

Displays the text enclosed in them as a link to unlink the account from the Yandex social network, if the user's account is linked to it.

[ignore] text [/ignore]

Show the text enclosed in them as a link to add the user to the ignored list

{lastdate=date format}

Displays the last site visit by the user in the format specified in the tag. For example the tag {lastdate=d} displays the day of the month, and the tag {lastdate=F} displays the name of the month, and the tag {lastdate=d-m-Y H:i} displays the full date and time.

{registration=date format}

Displays the user's registration date in the format specified in the tag. For example the tag {registration=d} displays the day of the month, and the tag {registration=F} displays the name of the month, and the tag {registration=d-m-Y H:i} displays the full date and time.

[delete] Text [/delete]

Display the text enclosed in them as a link to delete the user's own profile on the site, if he is allowed to do so by the settings of user groups

[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:

name - User login. (text)

email - User's e-mail (text)

user_id - Unique User ID (number)

news_num - Number of user publications (number)

comm_num - Number of user comments (number)

user_group - User group (number)

lastdate - Date of the user's last visit (date in English format, for example "2020-09-01" or "10 September 2020" or "next Thursday" or "+1 day" or "next Thursday" or in unix format, if an equal sign is used, the date is rounded to the minute)

reg_date - User registration date (date in English format, for example "2020-09-01" or "10 September 2020" or "next Thursday" or "+1 day" or "next Thursday" or in unix format, if an equal sign is used, the date is rounded to the minute)

allow_mail - Has the user allowed to receive emails from the site (number 1 or 0)

info - User's information about himself (text)

signature - User signature (text)

fullname - Full user name (text)

land - User's place of residence (text)

foto - Link to the user's avatar (text)

pm_all - Number of personal messages of the user (number)

pm_unread - The number of unread personal messages of the user (number)

restricted - are there restrictions on the user (number 0 - there are no restrictions, 1 - a ban on adding publications 2 - a ban on adding comments 3 - a ban on publications and comments)

restricted_days - The number of days for which the restrictions is imposed (number)

restricted_date - The date before which the user is banned (date in English format, for example "2020-09-01" or "10 September 2020" or "next Thursday" or "+1 day" or "next Thursday" or in unix format, if an equal sign is used, the date is rounded to the minute)

logged_ip - The IP with which the user visited the site (text)

timezone - User's time zone in time zone format, for example Europe/Moscow (text)

news_subscribe - Is the user subscribed to notifications about new publications (number 1 or 0)

comments_reply_subscribe - Is the user subscribed to notifications about responses to their comments (number 1 or 0)

twofactor_auth - Has the user enabled two-factor authorization (number 1 or 0)

cat_allow_addnews - Categories to which the user is allowed to add publications (array of category IDs)

cat_add - Categories that are trusted by the user when adding publications (array of category IDs)

xfield_x - The value of the user's additional field, where x is the name of the additional field. For example xfield_test is the value of the additional field test


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:

{user-id}

Outputs the user ID. This tag can be used in a number of cases when designing a template, as well as, for example, to form user links, such as links to the user's recent comments, etc.

{usertitle}

Display the user's name

{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).

[own-profile] text [/own-profile]

They display the text enclosed in them, if the user is viewing his own profile on the site

[not-own-profile] text [/not-own-profile]

They display the text enclosed in them, if the user is viewing someone else's profile on the site

[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.

{ratingscore}

Displays the number of the average rating of all the user's publications, from one to five, while maintaining a fractional value. For example, depending on the rating, it can be 1.6 or 4.2, etc.

{commentsratingscore}

Displays the number of the average rating of all user comments, from one to five, while maintaining a fractional value. For example, depending on the rating, it can be 1.6 or 4.2, etc.

[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.

[ignore] text [/ignore]

Show the text enclosed in them as a link to add the user to the ignored list

[banned] text [/banned]

display the text enclosed in them if the user is currently banned from the site

[not-banned] text [/not-banned]

display the text enclosed in them if the user is not banned from the site

{ban-description}

displays the reason why the user is banned

{ban-date}

displays the date before which the user was banned from the site

[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:

name - User login. (text)

email - User's e-mail (text)

user_id - Unique User ID (number)

news_num - Number of user publications (number)

comm_num - Number of user comments (number)

user_group - User group (number)

lastdate - Date of the user's last visit (date in English format, for example "2020-09-01" or "10 September 2020" or "next Thursday" or "+1 day" or "next Thursday" or in unix format, if an equal sign is used, the date is rounded to the minute)

reg_date - User registration date (date in English format, for example "2020-09-01" or "10 September 2020" or "next Thursday" or "+1 day" or "next Thursday" or in unix format, if an equal sign is used, the date is rounded to the minute)

allow_mail - Has the user allowed to receive emails from the site (number 1 or 0)

info - User's information about himself (text)

signature - User signature (text)

fullname - Full user name (text)

land - User's place of residence (text)

foto - Link to the user's avatar (text)

pm_all - Number of personal messages of the user (number)

pm_unread - The number of unread personal messages of the user (number)

restricted - are there restrictions on the user (number 0 - there are no restrictions, 1 - a ban on adding publications 2 - a ban on adding comments 3 - a ban on publications and comments)

restricted_days - The number of days for which the restrictions is imposed (number)

restricted_date - The date before which the user is banned (date in English format, for example "2020-09-01" or "10 September 2020" or "next Thursday" or "+1 day" or "next Thursday" or in unix format, if an equal sign is used, the date is rounded to the minute)

logged_ip - The IP with which the user visited the site (text)

timezone - User's time zone in time zone format, for example Europe/Moscow (text)

news_subscribe - Is the user subscribed to notifications about new publications (number 1 or 0)

comments_reply_subscribe - Is the user subscribed to notifications about responses to their comments (number 1 or 0)

twofactor_auth - Has the user enabled two-factor authorization (number 1 or 0)

cat_allow_addnews - Categories to which the user is allowed to add publications (array of category IDs)

cat_add - Categories that are trusted by the user when adding publications (array of category IDs)

xfield_x - The value of the user's additional field, where x is the name of the additional field. For example xfield_test is the value of the additional field test


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.


Fast Search results

Navigation: Templates >

Fast Search results

Displaying of this section can be configured in fastsearchresult.tpl. Fast Search results templates can be configured in this section. In this template you can use the same tags, as in the articles annotation


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.
[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.
[readpm] and [/readpm] | Displays text in the tags if the message is viewed.
[messages] и [/messages] | Displays the text enclosed in them when displaying messages in a conversation. This tag must be inside the [readpm] and [/readpm] tags.
{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.
[pm-edit] and [/pm-edit] | Displays a link to edit the message.
[reply] and [/reply] | Link to quote 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"
{login} | Displays the login of the author of the personal message, without any additional registration
{date=date format} | Outputs the date in the format specified in the tag. For example the tag {date=d} displays the day of the month of publication of the news or comment, and the tag {date=F} displays the name of the month, and the tag {date=d-m-Y H:i} displays the full date and time.
{lastdate=date format} | Displays the last site visit by the user in the format specified in the tag. For example the tag {lastdate=d} displays the day of the month, and the tag {lastdate=F} displays the name of the month, and the tag {lastdate=d-m-Y H:i} displays the full date and time.
{registration=date format} | Displays the user's registration date in the format specified in the tag. For example the tag {registration=d} displays the day of the month, and the tag {registration=F} displays the name of the month, and the tag {registration=d-m-Y H:i} displays the full date and time.
[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] | Display the text value of extra field "x", where "x" is the name of extra field.
[pm-author] text [/pm-author] | Display the text contained in them if the user viewing the correspondence is the author of this message
[not-pm-author] text [/not-pm-author] | Display the text if the user is not the author of this message.


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.


User's ban or denial of access to the site

Navigation: Templates >

User's ban or denial of access to the site

The output of this section is configured in the banned.tpl file. In this section, templates are configured that are responsible for displaying information that a visitor is prohibited from accessing the site.:

{description} | Displays the reason for blocking access to the site for the user
{end} | Displays the end date of the lock, if it has been set
[banned-from] и [/banned-from] | The text enclosed in them is displayed if the lock was set by the administrator
{banned-from} | Displays the username of the user who has blocked the site


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:

[rss] text [/rss] - Output the text enclosed in them when using the standard RSS block.

[dzen] text [/dzen] - Output the text enclosed in them, when using the Dzen news block.

{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.

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.


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/data/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:

Using User-friendly URL:

http://website.com/rss.xml - broadcast of the main RSS feed

http://website.com/rssdzen.xml - broadcast RSS for Dzen Service

Without the use of User-friendly URL:

http://website.com/index.php?mod=rss - broadcast of the main RSS feed

http://website.com/index.php?mod=rss&rssmode=dzen - broadcast RSS for Dzen Service

To export news from a specific category, use the following links:

Using User-friendly URL:

http://website.com/alternative name of the category/rss.xml - broadcast of the main RSS feed

http://website.com/alternative name of the category/rssdzen.xml - broadcast RSS for Dzen Service

Without the use of User-friendly URL:

http://website.com/index.php?mod=rss&do=cat&category=alternative name of the category - broadcast of the main RSS feed

http://website.com/index.php?mod=rss&do=cat&rssmode=dzen&category=alternative name of the category - broadcast RSS for Dzen Service

To export all the news of a certain user, use the following links:

Using User-friendly URL:

http://website.com/user/username/rss.xml - broadcast of the main RSS feed

http://website.com/user/username/rssdzen.xml - broadcast RSS for Dzen Service

Without the use of User-friendly URL:

http://website.com/index.php?mod=rss&subaction=allnews&user=username - broadcast of the main RSS feed

http://website.com/index.php?mod=rss&subaction=allnews&rssmode=dzen&user=username - broadcast RSS for Dzen Service

To export news from a specific catalog, use the following links

Using User-friendly URL:

http://website.com/catalog/catalog symbol/rss.xml - broadcast of the main RSS feed

http://website.com/catalog/catalog symbol/rssdzen.xml - broadcast RSS for Dzen Service

Without the use of User-friendly URL:

http://website.com/index.php?mod=rss&catalog=catalog symbol - broadcast of the main RSS feed

http://website.com/index.php?mod=rss&rssmode=dzen&catalog=catalog symbol - broadcast RSS for Dzen Service