Maian Responder Changelog (www.maianresponder.com) [+] Added [*] Updated/Removed [-] Bug Fix/Security Advisory Version 3.0 (22 Feb 2026): ----------------------------------- [+] Added first_name, last_name and email parameters to Ajax method to auto populate input boxes on load. Optional. [+] Added optional dark theme [+] Added support for Carbon and added improvements to date/time calculations [+] Added new option in settings to specify unsubscribe reasons. If specified they are shown to visitors when they unsubscribe for optional reason for unsubcribing. [+] Added improvements to admin add message/broadcast/subscribers screens to use auto complete for initial send message (add message) and attachments. [+] Added new find/replace option to batch find/replace text across your messages, including email subjects and message names [+] Added support for Html2Text library (4.3.2) [+] Added new setting to include unsubscribe link in all outgoing messages by default. [+] Added resend button to subscriber history view window [+] Added send test,link tracking and copy buttons on follow up messages and broadcasts admin edit pages [+] Added new %browser_view% tag. If used adds link in broadcasts and messages for recipients to view the HTML version of the message in their browser. If no HTML email is present this is ignored when clicked. [+] Added option to campaign settings to specify if last/surname is required on signup form. [+] Added default language files to 'english' sub folder and added language folder preference to settings. [+] Added official support for PHP8.3 to 8.5 [+] Added Improvements to CSRF tokens [+] Added Support For Nette Utils (4.1.3) [*] Updated installer [*] Added preview option for attachment images on admin attachments list and message add/edit screens [*] Updated custom tags to include dynamic tags so you can use additional captured form data from subscribers in messages and broadcasts. Please read documentation. [*] Updated autoresponder tags to include dynamic tags for custom field inclusion. [*] Updated subscriber custom fields to be sent in broadcast and follow up messages [*] Updated admin logs page to view logs, search logs and export to csv [*] Updated main log storage from plain text files to the database for better performance for main log files including messages and subscribe routines. Mail and database error logs remain logged to 'logs' folder. [*] Updated Sortable JS plugin (1.15.3) [*] Updated Bootbox JS plugin (6.0) [*] Updated Trumbowyg WYSIWYG editor (2.27.3) [*] Updated PHPmailer Email Sending Library (7.0.2) [*] Updated Nette Tracy PHP debugging system (2.11.2) [*] Min PHP version required to run script now 8.3 [*] Updated Mobile Detection Class (4.8.09) [*] Removed %date_joined% message tag. [*] Removed all external web hooks for third party SMTP services [-] Fixed If Recurring, Send Only to Subscribers Who Joined Between messages setting which was being ignored [-] Fixed Send Only to Subscribers Who Joined Between broadcast setting which was being ignored [-] Fixed bounce handler to delete messages if a bounce flag was found but no emails exist in the message body. [-] Fixed html to plain text converter which used deprecated PHP8 functions [-] Fixed issue where omitting surname field on signup form still triggered surname required error Version 2.3 (25 Feb 2023): ----------------------------------- [+] Added status search option to subscribers, attachments & links pages in admin CP [+] Added official support for PHP7,4, 8.0, 8.1 & 8.2 [+] Added execution time, memory limit and timeout settings to admin CP. Please read the docs. [+] Added year switcher for admin dashboard graph to see stats for selected years [+] Added support for PHP mail function [*] Updated Savant3 template engine for PHP8.2 compatibility with non-declared dynamic properties. Savant3 will be removed in a future version of this script. [*] Updated Mobile Detection Class (2.8.39) [*] Import and export routines now use the system temporary folder. This is auto cleared by the garbage collector and is used for better performance. [*] Security enhancement. Backup folder path must explicitly be set in admin CP now for security. [*] Update trumbowyg jquery plugin (2.25.1) [*] Added Nette Tracy PHP debugging system for better error reporting and exception handling (2.9.5) [*] Updated jQuery javascript library (3.6.0) [*] Documentation updated. 404 links removed or updated and typos fixed. [*] In admin CP you can now re-order the main off canvas menu. Options you don"t need can also be hidden. [*] Updated Bootstrap library (3.4.1) [*] Updated PHPMailer email sending library (6.8.0) [*] Subscriber last name (surname) is now optional [-] Fixed MySQL date issues for MySQL servers running in STRICT mode that disallow 0000-00-00 date fields [-] Fixed issue where from and reply headers weren"t copied if copying SMTP settings between campaigns [-] Fixed issue where campaign notification settings did not stick after updating in admin CP [-] Fixed issue where tracking links didn`t parse correctly in signup initial follow up messages [-] Fixed issue where link tracking links didn"t parse as html links in html messages / broadcasts [-] Fixed invalid variable reference when resending messages from admin CP [-] Fixed invalid variable reference on signup page causing error to trigger Version 2.2 (09 Mar 2019): ----------------------------------- [+] Added missing closelabel.gif image in admin. Should be visible on lightbox windows. [+] Added option to initially clear all subscribers from database when adding/importing subscribers [+] Added option to pass subscriber email in opt-out urls. Useful for further processing on destination pages. See docs [+] Added option to auto delete broadcast message after completion [+] Added daylight savings adjustment option for broadcast messages. Useful if messages are 1hr out. [+] Added send total and sent count for broadcast messages and added active broadcasts to admin homescreen [+] Added option to auto clear log files over a certain size (logs will be moved to database in future version). [+] Added new message tag %date_joined%, this will convert into the date the subscriber joined the campaign [+] Added option to pass subscriber ID in opt-in url. Useful for further processing on destination pages. See docs [*] Updated PHPMailer email sending library (6.0.7) [*] Improved bounce handlers where flags in emails appeared on different lines because of newline/carriage return characters [-] Fixed a couple of document import/export reference errors that were broke in the previous version. [-] Fixed issue with database connection throwing undefined offset errors if query packet failed [-] Fixed issue preventing searches from working in the admin CP if the search button was clicked [-] Fixed issue with admin graph displaying incorrectly if there were hundreds of thousands of subscribers [-] Fixed issue with bounce handlers where whitespace or hidden end of line characters could prevent the bounce flag from being picked up [-] Fixed issue where subscriber count was incorrect on admin statistics page [-] Fixed issue where tracking links weren`t parsed correctly when adding new subscribers and sending an intial follow up message [-] Fixed issue where tracking links didn`t redirect to target url when messages were disabled after send completion [-] Fixed issue where unsubscribe link ignored emails with hyphens in versions older than 2.0 [-] Fixed issue with bounce handlers where email addresses weren`t extracted from email error headers if they contained a period symbol in the local part of the address [-] Fixed issue for single opt-in campaigns that prevented existing subscribers from redirecting to opt-in page if auto redirect was enabled for campaign and the subscriber existed in campaign Version 2.1 (13 Mar 2018): ----------------------------------- [+] Added option to create custom tags for follow up and broadcast messages. [+] Added breadcrumb links to desktop version of admin CP [+] Added option to redirect subscribers to Opt-In page automatically if their account is already active on signup [+] Added option to admin CP settings to clear the cron message cache database table [*] In Admin CP, for follow up and broadcast messages, the HTML preview now loads only the HTML entered in the message [*] In Admin CP filters and search boxes are now persistent unless closed to help productivity. [*] When sending SMTP mail tests, the "To" name and email addresses are now saved [*] In Admin CP, changed protocol dropdowns to radio buttons to better identify selection on campaign/link edit screens [*] Maian Responder should now run on servers running MySQL in strict mode. [*] jQuery library updated to 3.3.1 [*] Min PHP version to run script increased to 5.5. PHP5.5 or higher required. [*] Updated PHPMailer email sending library (6.0.3) [-] Fixed issue preventing CleanTalk API from working properly due to missing form variable [-] Fixed bug preventing viewing of CleanTalk API log if enabled [-] Fixed potential server date errors with PHP5.6 when running cron jobs [-] Fixed invalid CSS reference in admin template file Version 2.0 (04 Apr 2017): ----------------------------------- [+] Added support for CleanTalk API. Simple, cost effective anti spam system to protect your signup forms from spammers & bots. [+] Added send date / time to broadcast list screen. Screen now orders by send date / time. [+] Added copy options for follow up/broadcast messages making it easier to add similar messages [+] Added option to preview HTML email if enabled [+] Added optional Wysiwyg editor for HTML composition for follow up/broadcast messages [+] Added option to disable HTML emails. Useful for people who prefer to only send plain text messages. [+] Added HTML lang & dir parameters to all HTML headers for languages that require it. [+] Added air date picker for better fexibility, removed jQuery UI date picker [+] Added batch delete checkboxes to all admin list screens. [+] Added new option to follow up messages to allow sending of recurring messages to subscribers who joined between given dates [+] Added delete logic for duplicate emails. Added option to remove subscriber from existing campaigns on signup [+] Added support for standard POST/GET for signup form for easier integration on web pages. [+] Added new option to broadcast messages to allow sending of recurring messages to subscribers who joined between given dates [+] Added new feature, link tracking. Enables you to track clicks on links in campaign messages. [*] Improvements to custom mail tags to prevent invalid characters from causing HTML emails not to load [*] Improvements to messaging routines to stop cron jobs / message ops from overlapping causing duplicate messages to be sent. [*] Removed email address from unsubscribe link in favour of unique code. Legacy links still supported. [*] Updated HTML to plain text converter to use class by Jevon Wright. [*] Improvements to SQL table cleanup, signup and unsubscribe routines [*] Ajax signup code updated for HTML5. Added bootstrap & font awesome support [*] Documentation revised and updated [*] Removed statistic graphs in favour of simpler overview screen [*] Free version restriction now only allows max 100 broadcast and follow up messages [*] System now supports first name, last name for subscribers for better personalisation. [*] Updated email HTML wrapper to HTML5 [*] Display improvements for small devices [*] When adding new campaign you can specify http OR https protocols for opt in/out urls and homepage [*] Removed jqPlot plugin in favour of the chartist graph plugin [*] All admin javascript operations rebuilt with more streamlined code [*] jQuery library updated to 3.1.1 [*] Removed static admin control panel left menu, added off canvas menu [*] Brand new admin control panel layout [*] Updated PHPMailer email sending library (5.2.21) [-] Fixed fatal error when searching subscriber history [-] Fixed bug preventing mail connection test from working for bounce handlers [-] Fixed licence issue that caused a parse error on some servers Version 1.3 (18 Aug 2016): ----------------------------------- [+] Added support for PHP7 [-] Fixed undefined index error within SparkPost web hook [-] Fixed fatal error on database backup page in admin for some installations. Broke in 1.2. Version 1.2 (16 Mar 2016): ----------------------------------- [+] Added support for Spark Post web hook [-] Fixed database backup issue when database name was in uppercase characters [-] Fixed JSON issue that caused the signup page to fail when code was placed on remote servers [-] Fixed licence issues when using the signup form on remote servers [-] Fixed database backup errors causing backup to completely fail. [-] Fixed installer bug for database with hyphens in name [-] Fixed issue that caused cron jobs to fail on some servers. [-] On admin backup page, last updated date was showing incorrectly as creation date Version 1.1 (14 Oct 2015): ----------------------------------- [+] Added white label license. Market and sell the product as your own. [*] Deprecated MySQL functions removed and replaced with MySQLi [*] Removed ioncube encryption system [-] Fixed bugs with mailjet and sendgrid web hook APIs causing them to fail [-] Fixed issue that caused licence errors when cron jobs were running Version 1.0 (01 May 2014): ----------------------------------- [+] v1.0 Released