Shop
Browse premium products and latest releases.
Showing 13 results
GitHub Social Auth
GitHub Social Auth is an extension for DLE that allows users to sign in through their GitHub account instead of relying only on standard username and password login. The plugin adds GitHub as a new social provider inside the existing DLE social authorization system and connects it to the admin panel configuration, frontend authorization links, and user profile account management. After installation, administrators can enable or disable GitHub authorization directly from the social settings page and enter the required OAuth credentials. On the user side, the website can show a GitHub login button using the standard DLE template tags, and logged-in members can link or unlink their GitHub account from their profile.
Price
Free
Compare News
Compare News is a powerful plugin for DataLife Engine (DLE) that allows users to compare multiple news posts side by side. It is especially useful for portals where users need to analyze differences between articles, announcements, products, or listings presented as news posts.
Price
Free
Weather Informer
Weather Manager is an advanced DLE weather plugin that displays current weather and a 5-day forecast for one or multiple cities, with flexible template support and a full admin panel.
Price
Free
ShowMore Gallery
This plugin helps you replace the standard xfieldimagegallery with jаvascript Load More gallery After Install Plugin Go https://site.com/admin.php?mod=gallery // and use your configurtions After go main.tpl and head of your templates paste <script src="{THEME}/ticcix/js/showMoreItems.js"></script> <link rel="stylesheet" href="{THEME}/ticcix/css/style.css"> Up </body> paste {showgallery} After Go fullstory.tpl And paste <div class="list gallery"> [xfvalue_X] // X your xfilds </div>
Price
Free
UIAvatar
This plugin for DLE allows you and your users to change avatars using https://ui-avatars.com/ api Use this code in userinfo.tpl so that the user can change the parameters {ui-avatar} Use this code in our other temoplates file via see user avatar. {include file="engine/modules/ticcix/avatar/show.php"} {include file="engine/modules/ticcix/avatar/show.php?userName=Ticcix&color=303030&background=eaeaea&size=100&rounded=true&format=svg"} Us userName It\'s username color your text color background your background size image size rounded false or true format png or svg
Price
Free
Schedule a Post
Effortlessly plan and publish your content with the "Schedule a Post" plugin! 🕒 Perfect for bloggers, businesses, and news portals, this tool ensures your posts go live exactly when you want, even when you're not around. 🚀 Why Use This Plugin? Keep your audience engaged, maintain a consistent posting schedule, and save time with this hassle-free content management solution. 💼 Take control of your content scheduling today!
Price
Free
URL Shortener
The URL Shortener Plugin for DataLife Engine (DLE) allows administrators and users to generate clean, secure, and customizable short links directly inside their DLE website. Whether you are sharing download links, affiliate URLs, marketing campaigns, or internal resources — this plugin provides a fast and reliable way to create short, trackable links without using third-party services. Built with performance and security in mind, the plugin integrates seamlessly into DLE’s architecture and works perfectly with modern PHP versions.
Price
Free
MyDownloads
WHEN DEVELOPING A DATALIFE ENGINE SITE I REALIZED THERE WAS NOT A SHORTCODE FOR DISPLAYING THE LOGGED IN USERS AVAILABLE DOWNLOADS OUTSIDE OF THE MY ACCOUNT PAGE. SO I DEVELOPED THIS SIMPLE PLUGIN WHICH ADDS THE SHORT CODE. IT IS SIMPLE AND EFFECTIVE. IT DISPLAYS THE NEWS AND THE FILE NAME IN AN UNORDERED LIST. <script src=\"https://cdn.jsdelivr.net/npm/sweetalert2@10\"></script> <script> $(document).ready(function () { $(\"#savefile\").submit(function (event) { event.preventDefault(); $.ajax({ type: $(this).attr(\'method\'), url: $(this).attr(\'action\'), dаta: new FormData(this), contentType: false, cache: false, processdаta: false, success: function (result) { //alert(result); json = jQuery.parseJSON(result); if (json.url) setTimeout(redirect, 2000, json.url); Swal.fire({ title: json.header, text: json.message, icon: json.status, showConfirmButton: false, footer: \'<a href=\"/mydownloads.html\">Browse downloaded files</a>\', }); } }); }); }); function redirect(url) { window.location.href = url; } </script>
Price
Free
Simple Chatbot
Simple Chatbot using PHP with MySQL & jQuery (Ajax) A chatbot is a computer program designed to simulate human conversation. These chatbots reply to you instantly according to your queries because programmers have inserted thousands of inputs/replies/queries into the database that can be asked by the user. To make an advanced chatbot we’ve to code more and more but I tried to make a simple chatbot with few lines of codes and queries which help you to get an idea about how chatbot actually works. In this Plugin [Simple Chatbot using PHP], on the webpage, there is a chat form with an input field and a button labeled as “send” for typing a message and send to the bot. When you ask something to the bot and that query exists in the database then the bot replay a message according to your query instantly but if your query not matched to the database queries then the bot replays a message labeled as “Sorry can’t be able to understand you!”. In this chatting process, the webpage isn’t reloaded because I used jQuery (Ajax) for that. Instalation Paste in main.tpl Before <body> <link href="{THEME}/chatbot/css/style.css" type="text/css" rel="stylesheet"> <script src=\'{THEME}/chatbot/js/wafloatbox-0.2.js\'></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css" integrity="sha512-xh6O/CkQoPOWDdYTDqeRdPCVd1SpvCA9XXcUnZS2FmJNp1coAFzvtCN9BmamE+4aHK8yyUHUSCcJHgXloTyT2A==" crossorigin="anonymous" referrerpolicy="no-referrer" /> Paste in main.tpl Before </body> <div class="myk-wa"> </div> <script> $(document).ready(function(){ $(".myk-wa").WAFloatBox(); }); </script> <script> $(document).ready(function(){ $("#send-btn").on("click", function(){ $value = $("#data").val(); $msg = \'<div class="user-inbox inbox"><div class="msg-header"><p>\'+ $value +\'</p></div></div>\'; $(".form").append($msg); $("#data").val(\'\'); // start ajax code $.ajax({ url: \'message.php\', type: \'POST\', dаta: \'text=\'+$value, success: function(result){ $replay = \'<div class="bot-inbox inbox"><div class="icon"><i class="fa fa-user"></i></div><div class="msg-header"><p>\'+ result +\'</p></div></div>\'; $(".form").append($replay); // when chat goes down the scroll bar automatically comes to the bottom $(".form").scrollTop($(".form")[0].scrollHeight); } }); }); }); </script>
Price
Free
Card Slider
Sliders have become a crucial part of web design, used to showcase content or images in an engaging and interactive way. As a beginner, creating a card slider can help you develop fundamental web development concepts such as DOM manipulation, responsive designs, and jаvascript event listeners. These concepts are vital for front-end developers to understand and can be applied to various web development projects. So in this blog post, we will show you how to create a responsive draggable card slider in HTML, CSS, ,jаvascript And PHP, which can be used to display images, products, user profiles, and other content. In order to truly understand how a draggable card slider works, we won’t be using any external jаvascript libraries such as SwiperJs or Owl Carousel. Instead, we’ll be creating the slider from scratch using pure vanilla jаvascript, PHP , HTML, and CSS. In order to make our slider easier and more flexible, we also created an adapted dll plugin, through which you can easily add, delete or correct information from the slide. <div class="wrapper"> <i id="left" class="fa-solid fa-angle-left"></i> <ul class="carousel"> {include file="engine/modules/ticcix/slider.php?limit=10"} </ul> <i id="right" class="fa-solid fa-angle-right"></i> </div> Limit = How many slides you want to show /* Import Google font - Poppins */ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; font-family: "Poppins", sans-serif; } body { display: flex; padding: 0 35px; align-items: center; justify-content: center; min-height: 100vh; background: linear-gradient(to left top, #031A9A, #8B53FF); } .wrapper { max-width: 1100px; width: 100%; position: relative; } .wrapper i { top: 50%; height: 50px; width: 50px; cursor: pointer; font-size: 1.25rem; position: absolute; text-align: center; line-height: 50px; background: #fff; border-radius: 50%; box-shadow: 0 3px 6px rgba(0,0,0,0.23); transform: translateY(-50%); transition: transform 0.1s linear; } .wrapper i:active{ transform: translateY(-50%) scale(0.85); } .wrapper i:first-child{ left: -22px; } .wrapper i:last-child{ right: -22px; } .wrapper .carousel{ display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% / 3) - 12px); overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; border-radius: 8px; scroll-behavior: smooth; scrollbar-width: none; } .carousel::-webkit-scrollbar { display: none; } .carousel.no-transition { scroll-behavior: auto; } .carousel.dragging { scroll-snap-type: none; scroll-behavior: auto; } .carousel.dragging .card { cursor: grab; user-select: none; } .carousel :where(.card, .img) { display: flex; justify-content: center; align-items: center; } .carousel .card { scroll-snap-align: start; height: 342px; list-style: none; background: #fff; cursor: pointer; padding-bottom: 15px; flex-direction: column; border-radius: 8px; } .carousel .card .img { background: #8B53FF; height: 148px; width: 148px; border-radius: 50%; } .card .img img { width: 140px; height: 140px; border-radius: 50%; object-fit: cover; border: 4px solid #fff; } .carousel .card h2 { font-weight: 500; font-size: 1.56rem; margin: 30px 0 5px; } .carousel .card span { color: #6A6D78; font-size: 1.31rem; } @media screen and (max-width: 900px) { .wrapper .carousel { grid-auto-columns: calc((100% / 2) - 9px); } } @media screen and (max-width: 600px) { .wrapper .carousel { grid-auto-columns: 100%; } } const wrapper = document.querySelector(".wrapper"); const carousel = document.querySelector(".carousel"); const firstCardWidth = carousel.querySelector(".card").offsetWidth; const arrowBtns = document.querySelectorAll(".wrapper i"); const carouselChildrens = [...carousel.children]; let isDragging = false, isAutoPlay = true, startX, startScrollLeft, timeoutId; // Get the number of cards that can fit in the carousel at once let cardPerView = Math.round(carousel.offsetWidth / firstCardWidth); // Insert copies of the last few cards to beginning of carousel for infinite scrolling carouselChildrens.slice(-cardPerView).reverse().forEach(card => { carousel.insertAdjacentHTML("afterbegin", card.outerHTML); }); // Insert copies of the first few cards to end of carousel for infinite scrolling carouselChildrens.slice(0, cardPerView).forEach(card => { carousel.insertAdjacentHTML("beforeend", card.outerHTML); }); // Scroll the carousel at appropriate postition to hide first few duplicate cards on Firefox carousel.classList.add("no-transition"); carousel.scrollLeft = carousel.offsetWidth; carousel.classList.remove("no-transition"); // Add event listeners for the arrow buttons to scroll the carousel left and right arrowBtns.forEach(btn => { btn.addEventListener("click", () => { carousel.scrollLeft += btn.id == "left" ? -firstCardWidth : firstCardWidth; }); }); const dragStart = (e) => { isDragging = true; carousel.classList.add("dragging"); // Records the initial cursor and scroll position of the carousel startX = e.pageX; startScrollLeft = carousel.scrollLeft; } const dragging = (e) => { if (!isDragging) return; // if isDragging is false return from here // Updates the scroll position of the carousel based on the cursor movement carousel.scrollLeft = startScrollLeft - (e.pageX - startX); } const dragStop = () => { isDragging = false; carousel.classList.remove("dragging"); } const infiniteScroll = () => { // If the carousel is at the beginning, scroll to the end if (carousel.scrollLeft === 0) { carousel.classList.add("no-transition"); carousel.scrollLeft = carousel.scrollWidth - (2 * carousel.offsetWidth); carousel.classList.remove("no-transition"); } // If the carousel is at the end, scroll to the beginning else if (Math.ceil(carousel.scrollLeft) === carousel.scrollWidth - carousel.offsetWidth) { carousel.classList.add("no-transition"); carousel.scrollLeft = carousel.offsetWidth; carousel.classList.remove("no-transition"); } // Clear existing timeout & start autoplay if mouse is not hovering over carousel clearTimeout(timeoutId); if (!wrapper.matches(":hover")) autoPlay(); } const autoPlay = () => { if (window.innerWidth < 800 || !isAutoPlay) return; // Return if window is smaller than 800 or isAutoPlay is false // Autoplay the carousel after every 2500 ms timeoutId=setTimeout(()=> carousel.scrollLeft += firstCardWidth, 2500); } autoPlay(); carousel.addEventListener("mousedown", dragStart); carousel.addEventListener("mousemove", dragging); document.addEventListener("mouseup", dragStop); carousel.addEventListener("scroll", infiniteScroll); wrapper.addEventListener("mouseenter", () => clearTimeout(timeoutId)); wrapper.addEventListener("mouseleave", autoPlay);
Price
Free
Partner Program
The Parner Program Plugin on DataLife Engine (DLE) allows site users to receive rewards for news and comments. User panel https://site.com/index.php?do=partner
Price
Free
Download Page
Downpage - module for attachments to DLE with a timer to make a separate page for download. That is, when you click on the file link, another page opens, where there is already a direct link to the file on which you can place ads or something else.Fixed bug DLE 15 And above
Price
Free
Newsletter For Datalife Engine
Powerful and user-friendly plugin designed to seamlessly integrate subscription forms into your website. our plugin offers a versatile solution for collecting and managing subscriber information. Enhance your DataLife Engine website with the powerful "Newsletter" module, designed to streamline and optimize your communication strategy. With this module, you can effortlessly manage and send newsletters to your subscribers, keeping them informed about the latest updates, promotions, and content. Elevate user engagement, boost site traffic, and cultivate a loyal audience with the Newsletter for DataLife Engine module. We made some noteworthy updates in our latest release. Our new features include a pop-up with a cookie and timer, an update to the PHP mail changer, an enhanced admin panel, and the addition of a new tag. Elevate your website's communication capabilities with the Newsletter for DataLife Engine module – a must-have tool for content creators and website administrators. We are pleased to announce that all known bugs and errors in the Newsletter Plugin have been fixed. You can now enjoy a seamless user experience, thanks to the hard work of our development team. We appreciate your patience and understanding during this process.
Price
Free