Difference between revisions of "Changelog:WHMCS V5.2"
m (→Version 5.2.17) |
|||
(62 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | ==Version 5.2.0== | + | [[Changelogs|« Back to Changelogs]] |
+ | <noinclude> | ||
+ | =Version 5.2.17= | ||
+ | |||
+ | *Release Type: SECURITY RELEASE | ||
+ | *Release Date: 25th March 2014 | ||
+ | |||
+ | ==Security== | ||
+ | |||
+ | Case #3982 - Details to be released at a later date | ||
+ | <br />Case #4057 - Details to be released at a later date | ||
+ | <br />Case #4161 - Details to be released at a later date | ||
+ | <br />Case #4172 - Details to be released at a later date | ||
+ | <br />Case #4175 - Details to be released at a later date | ||
+ | <br />Case #4180 - Details to be released at a later date | ||
+ | <br />Case #4186 - Details to be released at a later date | ||
+ | <br />Case #4187 - Details to be released at a later date | ||
+ | <br />Case #4194 - Details to be released at a later date | ||
+ | <br />Case #4202 - Details to be released at a later date | ||
+ | <br />Case #4256 - Details to be released at a later date | ||
+ | <br />Case #4311 - Details to be released at a later date | ||
+ | |||
+ | ==Bug Fixes== | ||
+ | |||
+ | Case #2622 - Use localized date format for domain renewal reminders | ||
+ | <br />Case #3375 - Improved Redundancy for License Verification | ||
+ | <br />Case #3977 - Allows promo code recurring cycles to be edited after checkbox is ticked | ||
+ | <br />Case #3333 - Delete custom field entries for a product when the order is deleted | ||
+ | <br />Case #4113 - Add extended TLD attributes for new .UK TLD | ||
+ | |||
+ | =Version 5.2.16= | ||
+ | |||
+ | *Release Type: SECURITY RELEASE | ||
+ | *Release Date: 21st January 2014 | ||
+ | |||
+ | ==Maintenance== | ||
+ | |||
+ | Case #2557 - 2Checkout Gateway: Update to currency variable | ||
+ | <br />Case #2623 - Fix calculations of promotions when more than 50% off | ||
+ | <br />Case #2739 - Add TLD Specific Fields required for .CN domain registrations | ||
+ | <br />Case #2874 - Authorize.net Echeck: Fix capture function behaving incorrectly | ||
+ | <br />Case #3019 - Refine internal criteria for bulk domain lookup | ||
+ | <br />Case #3030 - Resolve SQL error in Income by Product Report | ||
+ | <br />Case #3086 - Nominet Registrar: Update to Contact Registration Logic for Individuals | ||
+ | <br />Case #3116 - Required Custom Fields not validating correctly when using API | ||
+ | <br />Case #3360 - Resolved issue where one time promotions could be treated as recurring | ||
+ | <br />Case #3360 - Disable Recur For input box when Recurring is disabled | ||
+ | <br />Case #3361 - Fix time limited recurring promotions calculating incorrectly | ||
+ | <br />Case #3388 - Fix Invalid Token Error when applying credit in Original and Portal Client Templates | ||
+ | <br />Case #3414 - Payflow Pro: Update to store PayFlow Reference in PayFlow Mode | ||
+ | <br />Case #3617 - Do not CC password reset emails to sub-accounts | ||
+ | <br />Case #3740 - ProtX VSP Form: Pass correct callback values to debug log | ||
+ | <br />Case #3801 - Resolved PDF Quotes missing clients name/address | ||
+ | <br />Case #3802 - Make a quantity of zero remove item from the cart | ||
+ | <br />Case #3809 - Regular Expression Custom Field Validation failing on single quotes | ||
+ | <br />Case #3811 - Resolve Invalid Token error when deleting recurring calendar entry | ||
+ | <br />Case #3814 - Improvements to IPv6 detection and validation logic | ||
+ | <br />Case #3862 - NameCheap Registrar: Fix incorrect function name call | ||
+ | <br />Case #3864 - Authorize.net Echeck: Fix storage of bank account details | ||
+ | <br />Case #3893 - Enom SSL Module: Fix Province is Required Error Message | ||
+ | |||
+ | ==Security== | ||
+ | |||
+ | Case #3637 - Improve Access Controls in Project Management Addon | ||
+ | <br />Case #3782 - Improve Access Controls in Tickets | ||
+ | <br />Case #3783 - Improve Access Controls in Invoices | ||
+ | <br />Case #3784 - Resolve Admin Area SQL Injection Vulnerability | ||
+ | <br />Case #3839 - Resolve Potential XSS Vulnerability | ||
+ | <br />Case #3841 - Resolve Potential XSS Vulnerability | ||
+ | <br />Case #3842 - Resolve Potential XSS Vulnerability | ||
+ | <br />Case #3843 - Resolve Potential XSS Vulnerability | ||
+ | <br />Case #3846 - Improve Access Controls in Tickets | ||
+ | <br />Case #3922 - PayPal Express Checkout Improve Validation | ||
+ | <br />Case #3931 - Potential header injection via whois lookups | ||
+ | <br />Case #3932 - Improve sanitization for whois query | ||
+ | |||
+ | =Version 5.2.15= | ||
+ | |||
+ | *Release Type: SECURITY RELEASE | ||
+ | *Release Date: 23rd December 2013 | ||
+ | |||
+ | ==Security== | ||
+ | |||
+ | Case #3785 - SQL Injection via Admin Credit Routines | ||
+ | |||
+ | ==Bug Fixes== | ||
+ | |||
+ | Case #3706 - Some graphs failing after recent Google Graph API Update | ||
+ | <br />Case #3711 - CSV Export content should not contain HTML entities | ||
+ | <br />Case #3726 - PDF Line Items failing to output some specific characters | ||
+ | <br />Case #3727 - Admin password reset process failing to send new password email | ||
+ | <br />Case #3738 - Sub-account password field's default text must be removed on focus/click events | ||
+ | |||
+ | =Version 5.2.14= | ||
+ | |||
+ | *Release Type: MAINTENANCE RELEASE | ||
+ | *Release Date: 27th November 2013 | ||
+ | |||
+ | ==Bug Fixes== | ||
+ | |||
+ | Case #2555 - 5.3 Backport: Select all checkboxes not working in manage orders & invoices | ||
+ | <br />Case #2941 - 5.3 Backport: Company ID Number being ignored via Nominet | ||
+ | <br />Case #3075 - 5.3 Backport: Update to ECB Exchange Rates Data Feed URL | ||
+ | <br />Case #3482 - Currency type must be calculated prior to feed aggregation | ||
+ | <br />Case #3662 - Improved the emptying of template cache | ||
+ | <br />Case #3663 - Client area additional currency selection not working | ||
+ | <br />Case #3664 - Alingment correction for intelli-search in V4 admin theme | ||
+ | <br />Case #3665 - Improved HTML quoting to handle all character sets in admin logs | ||
+ | <br />Case #3666 - Added required token to Block Sender Action in Admin Ticket View | ||
+ | <br />Case #3670 - Update to WHOIS Lookup Links to use form submission for lookups | ||
+ | <br />Case #3671 - Admin New Ticket Insert Predefined Reply lacking required token | ||
+ | <br />Case #3672 - Add Predefined Product link in Quotes leads to invalid token error | ||
+ | <br />Case #3674 - Updated plain-text email generation to strip entity encoding | ||
+ | <br />Case #3676 - Remove debug die statement from Admin Ticket Merge via Options Tab | ||
+ | <br />Case #3677 - Fix PDF batch export for more than one user | ||
+ | <br />Case #3678 - Project Management: Should redirect back to project after attaching file | ||
+ | <br />Case #3680 - Required Token added to Open New Ticket Client Search function | ||
+ | <br />Case #3685 - PayPal Callback failing under certain conditions | ||
+ | <br />Case #3686 - Redirect with User ID when deleting email from client profile | ||
+ | <br />Case #3687 - cPanel and WHM Import Tool filter buttons failing | ||
+ | <br />Case #3688 - Remove reliance on the escapeshellcmd() function | ||
+ | <br />Case #3696 - Resolved Import Override from Admin Ticket Mail Import Log | ||
+ | <br />Case #3697 - Email message sender shows quotes encoded | ||
+ | <br />Case #3698 - Emails sent to Admin have erroneous entity characters for some fields | ||
+ | <br />Case #3690 - Ensure all values are free of entities in PDFs | ||
+ | |||
+ | =Version 5.2.13= | ||
+ | |||
+ | |||
+ | *Release Type: TARGETED RELEASE | ||
+ | *Release Date: 21th November 2013 | ||
+ | |||
+ | ==General== | ||
+ | |||
+ | Case #2989 - Downgrade orders failing when no payment due | ||
+ | <br/>Case #3325 - Credit card processing fails with weekly retries enabled | ||
+ | <br/>Case #3467 - API GetClientsAddons fails on certain conditions | ||
+ | <br/>Case #3471 - Unable to download ticket attachments from first ticket message | ||
+ | <br/>Case #3515 - Add tilde to valid character list of redirect path | ||
+ | <br/>Case #3528 - Updated Smarty to latest 2.6.28 release | ||
+ | <br/>Case #3545 - Project Management settings redirect on save fails | ||
+ | <br/>Case #3482 - Improve default currency logic | ||
+ | <br/>Case #3641 - Allow MaxMind Service Type selection | ||
+ | |||
+ | ==Security== | ||
+ | |||
+ | Case #3447 -- Redacted -- | ||
+ | <br/>Case #3441 -- Redacted -- | ||
+ | <br/>Case #3459 -- Redacted -- | ||
+ | <br/>Case #3476 -- Redacted -- | ||
+ | <br/>Case #3478 -- Redacted -- | ||
+ | <br/>Case #3489 -- Redacted -- | ||
+ | <br/>Case #3492 - Remove dependency on unserialize() for admin table sorting | ||
+ | <br/>Case #3495 -- Redacted -- | ||
+ | <br/>Case #3530 -- Redacted -- | ||
+ | <br/>Case #3554 -- Redacted -- | ||
+ | <br/>Case #3580 -- Redacted -- | ||
+ | <br/>Case #3581 -- Redacted -- | ||
+ | <br/>Case #3584 -- Redacted -- | ||
+ | <br/>Case #3585 -- Redacted -- | ||
+ | <br/>Case #3587 -- Redacted -- | ||
+ | <br/>Case #3589 -- Redacted -- | ||
+ | <br/>Case #3603 -- Redacted -- | ||
+ | <br/>Case #3605 -- Redacted -- | ||
+ | <br/>Case #3606 -- Redacted -- | ||
+ | |||
+ | =Version 5.2.12= | ||
+ | |||
+ | |||
+ | *Release Type: SECURITY PATCH | ||
+ | *Release Date: 25th October 2013 | ||
+ | |||
+ | ==General== | ||
+ | |||
+ | Case #3444 - Improved validation of monetary amounts | ||
+ | <br />Case #3313 - Moneris Vault Gateway compatibility update | ||
+ | <br />Case #3323 - Credit cards not processing under certain conditions | ||
+ | <br />Case #3138 - Correction to internal logic for testing Authorize.net payment gateway | ||
+ | |||
+ | ==Security== | ||
+ | |||
+ | <br />Case #3464 - Information disclosure via the client area as published by 'localhost' | ||
+ | <br />Case #3510 - HTTP Split Attack discovered by the WHMCS Development Team | ||
+ | <br />Case #2633 - SQL Injection Vulnerability discovered by the WHMCS Development Team | ||
+ | <br />Case #3281 - Privilege boundaries not being enforced on addons reported by Vlad C of NetSec Interactive | ||
+ | <br />Case #3453 -Download directory traversal reported privately by an individual | ||
+ | <br />Case #3268 - Lack of input validation in data feeds input discovered by the WHMCS Development Team | ||
+ | <br />Case #3462 - Deficient Null Byte sanitization on input discovered by the WHMCS Development Team | ||
+ | |||
+ | =Version 5.2.10= | ||
+ | |||
+ | *Release Type: SECURITY PATCH | ||
+ | *Release Date: 20th October 2013 | ||
+ | |||
+ | ==General== | ||
+ | |||
+ | <br />Case #3433 - Mass mail client filter for default language not working | ||
+ | <br />Case #2566 - Resolved admin clients list displaying duplicates in certain conditions | ||
+ | |||
+ | ==Security== | ||
+ | |||
+ | <br />Case #3246 - Enforce privilege bounds for ticket actions | ||
+ | <br />Case #3426 - Additional CSRF Protection Added to Product Configuration | ||
+ | <br />Case #3232 - Added additional input validation to SQL numeric manipulation routines | ||
+ | <br /> Case #3437 - Prevent user input from manipulating IP Ban logic | ||
+ | |||
+ | =Version 5.2.9= | ||
+ | |||
+ | *Release Type: SECURITY PATCH | ||
+ | *Release Date: 18th October 2013 | ||
+ | |||
+ | ==Security== | ||
+ | |||
+ | Case #2978 - Fix for improper logging of admin login IP | ||
+ | <br />Case #3100 - Remove exposure of SQL from user interface | ||
+ | <br />Case #3364 - Additional validation on user IP | ||
+ | <br />Case #3425 - Potential SQL Injection Fix | ||
+ | <br />Case #3428 - Added password verification requirement to admin user management operations | ||
+ | <br />Case #3430 - Potential SQL Injection Fix | ||
+ | |||
+ | =Version 5.2.8= | ||
+ | |||
+ | *Release Type: SECURITY PATCH | ||
+ | *Release Date: 3rd October 2013 | ||
+ | |||
+ | ==Security== | ||
+ | |||
+ | Case #3353 - Add sanitization for pre-formatted AES_Encrypt in queries | ||
+ | |||
+ | =Version 5.2.7= | ||
+ | *Release Type: '''MAINTENANCE RELEASE''' | ||
+ | *Release Date: '''26th July 2013''' | ||
+ | |||
+ | ==Bug Fixes== | ||
+ | |||
+ | Case #2950 - Invalid token on Mass Mailer steps | ||
+ | <br />Case #2951 - Fix for PayPal callback returning HTTP 406 error on no amount | ||
+ | <br />Case #2953 - Duplicate admin log entries upon login | ||
+ | <br />Case #2954 - Repair link for Admin Clients Services Add New Addon | ||
+ | <br />Case #2955 - Invalid Entity Requestd for Support Page/Module | ||
+ | <br />Case #2956 - Revert SQL changes introduced by build 5.2.6.3 | ||
+ | <br />Case #2963 - Additional Domain Fields not saving input | ||
+ | <br />Case #2965 - Correct SQL statement for Ticket Escalations Cron routine | ||
+ | <br />Case #2960 - Improve installer logic | ||
+ | <br />Case #2969 - Do not encode 3rd-party TCPDF | ||
+ | <br />Case #2970 - Do not encode 3rd-party PHP Mailer | ||
+ | <br />Case #2971 - Do not encode 3rd-party Google QR code library | ||
+ | <br />Case #2974 - Fix for invoices with a zero total not being auto set to paid on automated generation | ||
+ | <br />Case #2975 - Fix for Calendar Entry Type Checkboxes not retaining selection | ||
+ | <br />Case #2977 - Calendar Entries Missing Addon Name for Predefined Addons | ||
+ | |||
+ | =Version 5.2.6= | ||
+ | *Release Type: '''TARGETED RELEASE''' | ||
+ | *Release Date: '''23rd July 2013''' | ||
+ | |||
+ | ===Security=== | ||
+ | Case #2755 - Internal Security Audit & Code Refactor | ||
+ | |||
+ | =Version 5.2.5= | ||
+ | *Release Type: '''SECURITY PATCH''' | ||
+ | *Release Date: '''16th May 2013''' | ||
+ | |||
+ | ===Security=== | ||
+ | Case #2633 - Correct security enhancement regression | ||
+ | |||
+ | =Version 5.2.4= | ||
+ | *Release Type: '''RELEASE''' | ||
+ | *Release Date: '''23rd April 2013''' | ||
+ | |||
+ | ===General=== | ||
+ | |||
+ | Case #2139 - Updates to cron report email format to make it easier to read | ||
+ | <br />Case #2045 - Added Affiliates Overview Report | ||
+ | <br />Case #2053 - Added amount filter option to admin orders list | ||
+ | <br />Case #2134 - Update to Transactions CSV Export to show Currency Code rather than Currency ID | ||
+ | <br />Case #2045 - Domain Sync Cron Updated to not keep re-attempting to connect to the same registrar if a connection error occurs | ||
+ | <br />Case #2045 - Update to Yubico module to remove hard-coded WHMCS references | ||
+ | <br />Case #2115 - Fix for hard-coded text Manage and Disable in Client Area Domain Details Template File | ||
+ | <br />Case #1880 - Update to Client Area Module Change Password in Default Template to return to password tab on submit | ||
+ | <br />Case #1567 - Update to invoice generation process to not invoice billable items on new orders | ||
+ | <br />Case #2127 - Added Support to Force Two-Factor Auth for Clients | ||
+ | <br />Case #1852 - Fixed Missing Language Vars in Two-Factor Activation Process | ||
+ | <br />Case #2058 - Within Last Month filter on transactions list updated to maintain between pages | ||
+ | <br />Case #2020 - Language update to credit log to remove manual adjustment reference | ||
+ | <br />Case #2057 - Admin manual attempt CC captures process updated to display processing results | ||
+ | <br />Case #2064 - Update to continuous invoice generation logic to not invoice pending items on a recurring basis | ||
+ | <br />Case #1950 - Update to admin Remember Me cookie name to resolve issues some are experiencing with remember me not working | ||
+ | <br />Case #2123 - Added 30 minute time expiry to login failures IP logging | ||
+ | <br />Case #2122 - Added support for wildcards in whitelisted IPs | ||
+ | <br />Case #2118 - Update to Ticket Close routine to check ticket is not closed already before performing actions | ||
+ | <br />Case #2117 - Update to logic of Ticket Notification Emails to only send to the assigned admin for a flagged ticket | ||
+ | <br />Case #2045 - Update to admin ticket interface to not show replying message to own admin | ||
+ | <br />Case #2045 - Updated clients summary view orders link to use new clientid variable | ||
+ | <br />Case #2113 - Added access restriction to files that generate an error when visited directly | ||
+ | <br />Case #2045 - Updates to Client Side Arabic, Farsi and Norweigan language files | ||
+ | <br />Case #2045 - Update for jquery dialog to use new admin js variable | ||
+ | <br />Case #2110 - Admin Area Homepage widget adjustments to optimise load times | ||
+ | <br />Case #2063 - Updated Admin Credit Card Info Window to not allow viewing/input when credit card storage is disabled | ||
+ | <br />Case #2109 - Updated Disable Credit Card Storage Security Setting to auto remove all existing card data | ||
+ | <br />Case #2108 - Changed admin post login redirect variable to avoid possible confusion with client area redirect urls | ||
+ | <br />Case #2107 - Update to auto focus cursor to first input box in login/two-factor verification and setup/disable two-factor processes | ||
+ | <br />Case #2067 - Updated Default template to use a template include to remove code duplication | ||
+ | <br />Case #1961 - Update to domain validation rules when IDN domains are enabled to perform stricter checks | ||
+ | <br />Case #2098 - Cron update to allow cancellation requests to process for free products (those with no next due date) | ||
+ | <br />Case #2039 - Updated module change password input field names in Classic & Portal templates + added backwards compatibility | ||
+ | <br />Case #2047 - Update to ticket flagging logic to not send email notification when assigning a ticket to yourself | ||
+ | <br />Case #2045 - Updated clients, orders, tickets & invoices filter lists to maintain filters on mass actions | ||
+ | <br />Case #2044 - Update to support ticket department deletion routine to remove custom fields & their values | ||
+ | <br />Case #2045 - Updated Admin Support Ticket Flagged Email Notification Template to link directly to the flagged ticket | ||
+ | <br />Case #2016 - Added client name field to all data export reports | ||
+ | <br />Case #2045 - Update to export reports to display friendly payment method name | ||
+ | <br />Case #2018 - Added Registration Date field to Domains Data Export Report + Capitalised first letter of Registrar | ||
+ | <br />Case #2007 - Cleaned up client area product details HTML output | ||
+ | <br />Case #2045 - Added refresh protection to the client area affiliates withdrawal request | ||
+ | <br />Case #2019 - Update to surpress Support Ticket Flagged notification for those admins it's not enabled for | ||
+ | |||
+ | ===Module Updates=== | ||
+ | |||
+ | Case #2104 - Skrill Gateway: Re-branded MoneyBookers module to Skrill | ||
+ | <br />Case #2036 - TPPWholesale Registrar: Fixes + Added support for registrar lock, private ns registration & epp code requests | ||
+ | <br />Case #2045 - WebNIC Registrar: Updates to resolve problem with transfers & contact editing | ||
+ | <br />Case #2045 - Plesk 10: Update to allow API packet version overriding | ||
+ | <br />Case #2138 - CentovaCast: Update from them themselves for CentovaCast V3.x | ||
+ | <br />Case #2137 - Project Management: Bug fix for staff log report always displaying a whole year rather than selected date range | ||
+ | <br />Case #1941 - Project Management: Fix for status being empty for newly created projects | ||
+ | <br />Case #2136 - Project Management: Update to replace .live discontinued jQuery functionality | ||
+ | <br />Case #2135 - IPMirror Registrar: Version 2.1 Module Update from them themselves | ||
+ | <br />Case #2032 - 2CheckOut: Update to language detection to work with new lowercase names | ||
+ | <br />Case #2022 - DirectAdmin: Update to disk/bw usage stats importing to handle URL encoding being applied in DirectAdmins latest update | ||
+ | <br />Case #2045 - PayPal Payments Pro Reference Payments: Implemented 3D Secure Functionality | ||
+ | <br />Case #2015 - Enom: Added new extension field requirements for .es, .au, .sg, .pro & .it | ||
+ | <br />Case #2015 - Enom: Updated to prevent WHOIS contacts being edited when disallowed by registry rules | ||
+ | <br />Case #2015 - Enom: Updated TransferSync function to use more call effective method of retrieving transfer info | ||
+ | <br />Case #2006 - WHOIS Server Additions: .rs, .co.rs, .org.rs, .edu.rs, .in.rs, .ae, .pw | ||
+ | |||
+ | ===Bug Fixes=== | ||
+ | |||
+ | Case #2141 - Fix for JavaScript Error Occurring in Product Domain Config Step of Modern & Slider Order Forms | ||
+ | <br />Case #2140 - Correction to language variable for Bundle Items in Bundle Product Configuration | ||
+ | <br />Case #2045 - Fix for domain renewals page in cart not listing all renewal term options | ||
+ | <br />Case #2089 - Fix for Project Management Activity Log Pagination not working | ||
+ | <br />Case #2133 - Fix for admin page field alignment when custom fields share same name as default fields | ||
+ | <br />Case #1955 - Fix for javascript error in Original admin view ticket template | ||
+ | <br />Case #2132 - Fix for Admin Initiated Currency Update displaying update results | ||
+ | <br />Case #1930 - Fix for KB Category display articles shifting up to beside to sub-categories | ||
+ | <br />Case #2131 - Fix for Vertical Steps Order Form Template Complete Step missing formatting | ||
+ | <br />Case #2023 - API AddTicketReply command ignoring passed in adminusername variable | ||
+ | <br />Case #2045 - Banned Emails Config Page always displaying an empty table | ||
+ | <br />Case #2000 - Fix for one time fixed amount promo codes giving a zero discount on invoice under certain conditions | ||
+ | <br />Case #2059 - Client area cancellation request cancel domain option non-functional | ||
+ | <br />Case #2045 - Cookie unset not applying WHMCS prefix to cookie name | ||
+ | <br />Case #2004 - Fix for client area support ticket list returning no results under certain conditions | ||
+ | <br />Case #2070 - Fix for contact sub-account activation client side for existing contacts | ||
+ | <br />Case #2009 - Fix for Mass Domain Enable Auto-Renew leaving auto-renew disabled & WHOIS Contact Info returning error | ||
+ | <br />Case #2116 - Fix for CVV Number not being passed into 3D Secure process on new card entry | ||
+ | <br />Case #2112 - Fix for contact ID setting being lost on admin ticket options save | ||
+ | <br />Case #2024 - Fix for $invoice_html_contents email merge field displaying double line breaks in item descriptions | ||
+ | <br />Case #2092 - Fix for product group order form template override not taking effect for all cases | ||
+ | <br />Case #1972 - Anniversary Prorata not working correctly under certain conditions | ||
+ | <br />Case #2061 - Admin notification emails being sent to disabled administrator users | ||
+ | <br />Case #2031 - Cron notification email not listing service ID used in terminations list due to incorrect var | ||
+ | <br />Case #2038 - Fix for payment gateway ordering in new invoice view | ||
+ | <br />Case #2072 - Credit card remote token storage being called before new name/address info was saved | ||
+ | <br />Case #2068 - Fix for predefined product price not being loaded correctly in quotes | ||
+ | <br />Case #2068 - Update to states dropdown javascript to support tab index value being defined | ||
+ | <br />Case #2010 - Fix for Client Area Two-Factor Backup Code Login Input Field Restriction | ||
+ | <br />Case #2066 - Update to Default Client Area Products listing to not show dropdown menu if no menu items available | ||
+ | <br />Case #2021 - MyIDEAL gateway module referencing incorrect path | ||
+ | <br />Case #2005 - Product bundle display order not being honoured | ||
+ | <br />Case #1289 - Added addon status change hook function calls to UpdateClientAddon API function | ||
+ | <br />Case #2099 - Fix for link type custom fields saving values in an HTML link format | ||
+ | <br />Case #2045 - Suspension Reason was not always being cleared on unsuspend | ||
+ | <br />Case #2045 - Client stats for number of refunded/collections invoices were incorrect | ||
+ | <br />Case #2027 - Fix for API GetClientsDetails function causing iPhone/Android App Failure | ||
+ | <br />Case #2025 - Fix for invoice not displaying tax names under certain conditions | ||
+ | <br />Case #2026 - Client area not displaying login incorrect message when login form submitted blank | ||
+ | <br />Case #2046 - Update to prevent Support Ticket Flagged admin notification email sending upon unflagging | ||
+ | <br />Case #2045 - Custom module action success language variable named incorrectly | ||
+ | |||
+ | =Version 5.2.3= | ||
+ | *Release Type: '''RELEASE''' | ||
+ | *Release Date: '''28th March 2013''' | ||
+ | |||
+ | ===Bug Fixes=== | ||
+ | |||
+ | Case #1999 - Added the ability to disable two-factor auth for a client from the admin profile page | ||
+ | <br />Case #1980 - Fix for DirectAdmin Module having fatal error in certain conditions | ||
+ | <br />Case #1997 - SagePay Tokens: Update to fix incorrect CVV number parameter name and to force skip 3D Secure on recurring transaction captures | ||
+ | <br />Case #1980 - Project Management Addon: Update to handle no due date better and display message instead of long time days overdue | ||
+ | <br />Case #1980 - Boleto Gateway: Update to ensure bank value is one of the supported options | ||
+ | <br />Case #1913 - Update to custom fields validation logic in Validate class to only enforce rules on non admin only fields | ||
+ | <br />Case #1980 - Correction to language used in Send Message & Email Marketer re clients who have opted out of marketing emails | ||
+ | <br />Case #1980 - Added tag search option to admin area advanced search | ||
+ | <br />Case #1988 - Update to admin invoice view to make invoice payment methods clearer with notices re no transactions, full paid by credit and/or partially paid by credit | ||
+ | <br />Case #1839 - Update to WHOIS Servers for new response formats | ||
+ | <br />Case #1923 - Fix for Two-Factor Auth failing to enable within the client area | ||
+ | <br />Case #1914 - Fix in Income by Product Report for negative value on discounts | ||
+ | <br />Case #1980 - Clients chosen language was not being loaded for addon modules client area output | ||
+ | <br />Case #1980 - Update to Licensing Addon to auto clean up orphaned mod_licensing records where product table entry is deleted and to optimise licensing log via daily cron | ||
+ | <br />Case #1980 - Update to Ticket Escalations page to make auto reply box bigger by default | ||
+ | <br />Case #1978 - Update to client email sendMessage() function to override default X-Mailer PHPMailer value with company name | ||
+ | <br />Case #1919 - Fix for client area WHOIS edit always erroring out re empty details if not using a contact + fix for child nameservers management missing variables | ||
+ | <br />Case #1995 - Fix for date filters in Client Statement not working due to new toMySQLDate() formatting and filter not including end date | ||
+ | <br />Case #1993 - Fix for PDF Invoices showing raw HTML in notes with multiple lines and adding double line spacing to line items | ||
+ | <br />Case #1816 - Update to addon suspensions via cron to adhere to the parent products override suspension settings also | ||
+ | <br />Case #1794 - Updated Auto-Termination via cron to apply to Addon Products also | ||
+ | <br />Case #1693 - Update to Support Ticket email sending routine to use client area language setting if a guest | ||
+ | <br />Case #1680 - Update to omit Recurring Amount line from Order Confirmation Email for One-Time products | ||
+ | <br />Case #1620 - Custom Invoice Number not being set by EU VAT Addon Hook before invoice payment confirmation is sent if invoice is auto paid by credit | ||
+ | <br />Case #1987 - Fix for invoice data amountpaid variable not being formatted as currency | ||
+ | <br />Case #1939 - Fix for addon item calendar links linking to old file and with incorrect parameters | ||
+ | <br />Case #1920 - Fix for adding calendar event mangling date/time | ||
+ | <br />Case #1921 - Fix for Time Based Tokens displaying WHMCS company name to clients | ||
+ | <br />Case #1903 - Fix to prevent systpl or carttpl template override parameters validating when empty | ||
+ | <br />Case #1796 - TransIP Registrar: Major update to module for improved reliability and functionality | ||
+ | <br />Case #1802 - VentraIP Registrar: Update to only perform remote callout to their API if module is activated | ||
+ | <br />Case #1980 - Fix for warning error being generated by domain $params not being passed into domain modules AdminCustomButtonArray function | ||
+ | <br />Case #1817 - Added TPP Wholesale Domain Registrar Module which replaces DistributeIT, PlanetDomain & TPPInternet | ||
+ | <br />Case #1968 - Implemented all new methodology for admin services page ajax module commands to resolve issues with certain areas of the page not updating following actions | ||
+ | <br />Case #1916 - Update to client summary mass update logic to only run SQL queries if there is at least one update to perform | ||
+ | <br />Case #1980 - Fix for Admin Area On Demand Invoice Generation no longer displaying number of invoices generated | ||
+ | <br />Case #1870 - Added trim to custom ticket statuses to avoid erroneous spaces at the beginning or end of a status | ||
+ | <br />Case #1757 - GoCardless Gateway: Update to replace a linked button which doesn't work in IE with a standard form | ||
+ | <br />Case #1980 - Update to logic of hidden configurable options to ensure they only show up within the admin area | ||
+ | <br />Case #1994 - Fixed bug where modules containing underscores in their names would not be loaded | ||
+ | <br />Case #1942 - RRPProxy Registrar Module: Updated to handle curl connection errors better | ||
+ | <br />Case #1931 - Correction to charset encoding of Arabic language file + additional translations | ||
+ | <br />Case #1974 - Fix for Client Two-Factor Auth Login Processing | ||
+ | <br />Case #1992 - Integrated Enom New TLDs Addon Module as a bundled addon | ||
+ | <br />Case #1980 - Update to admin side quotes creation page to only load line items if ID is set to prevent new quotes ever showing orphaned line item records | ||
+ | <br />Case #1911 - Fixed LocalAPI validation warning errors occurring in AddClient request | ||
+ | <br />Case #1944 - Fix for fatal error occurring due to missing function in API GetAdminDetails function | ||
+ | <br />Case #1983 - Fix for check all box not working on support tickets list when a user has assigned tickets | ||
+ | <br />Case #1952 - Reverted change to .de whois server which was causing lookups to fail | ||
+ | <br />Case #1982 - Fix for ajax ticket flag/assign not sending ticket flagged notification email | ||
+ | <br />Case #1967 - Updated the admin ticket list to remember and return to previous filters after replying to a ticket | ||
+ | <br />Case #1909 - Fix for client area applying credit to invoice failing | ||
+ | <br />Case #1991 - Fix for auto recalculate on save using old packageid and promoid values and therefore not re-calculating price correctly | ||
+ | <br />Case #1989 - Fix for registrar lock not enabling due to missing input name in the Default template | ||
+ | <br />Case #1956 - Update to MyIdeal payment gateway certificate file | ||
+ | <br />Case #1980 - Update to 3D Secure template file iframe to increase default width for newer wider 3D Secure processes | ||
+ | <br />Case #1986 - Fix for Client Profile checkbox settings change logging not working correctly and added No Changes notice when form submitted without any changes | ||
+ | <br />Case #1989 - Switched positioning of Add Response and Insert Predefined Replies/KB Article buttons in new admin View Ticket interface in Blend and V4 themes | ||
+ | <br />Case #1980 - Added quick Close and Assign to Me links to new Blend and V4 Admin Theme View Ticket Pages + removed extra div causing extended blank space in V4 version | ||
+ | <br />Case #1980 - Updated administrator roles admin page to show disabled users as greyed out | ||
+ | <br />Case #1980 - Fixed bug where in use admin roles were being allowed to be deleted | ||
+ | <br />Case #1980 - Fixed assigned departments listing for disabled administrators | ||
+ | <br />Case #1953 - Update to billable items edit/save logic to work for decimal quantities of less than 1 and zero | ||
+ | <br />Case #1958 - Correction to last reply field label in ticket feedback template in both classic and portal templates | ||
+ | <br />Case #1984 - Update to license expiry date formatting in admin area | ||
+ | <br />Case #1840 - Removed duplicate client area contact navigation client area language file variable | ||
+ | <br />Case #1845 - Replaced hardcoded text in admin support tickets list and Blend admin homepage template | ||
+ | <br />Case #1980 - Update to support tickets admin assignment/flag list to only show active admins (plus the one a ticket is actually flagged to if not active) | ||
+ | <br />Case #1977 - Update to MoneyBookers Gateway Module | ||
+ | <br />Case #1976 - Update to client details change notification email to fix missing client name and admin area profile link | ||
+ | <br />Case #1965 - Fix for department names and emails not being loaded in Tickets Management | ||
+ | <br />Case #1962 #1963 - Added disk and bandwidth percent usage return values to getDiskUsageStats function | ||
+ | <br />Case #1938 - Bulk Domain Transfer in Default client area template displaying registration pricing and periods not even enabled for transfers | ||
+ | <br />Case #1883 - Update to Ticket Closure routine to only send Feedback Request Email if feedback not already provided for a ticket | ||
+ | <br />Case #1461 - Added userid variable to AdminAreaClientSummaryPage hook point | ||
+ | <br />Case #1904 - API AddClientNote Command inverting sticky attribute | ||
+ | <br />Case #1940 - Userid not being populated when admin clients domains page linked to with only an id | ||
+ | <br />Case #1943 - Fix for admin client profile page always selecting English in client language dropdown when none set due to validateLanguage validation function | ||
+ | <br />Case #1910 - Fix for product/service modules _ClientArea function not passing returned vars to template correctly | ||
+ | <br />Case #1928 - Fix for Ticket Tags not saving initial delete change | ||
+ | <br />Case #1954 - Updated payment gateway descriptions to use invoice number if set rather than invoice id | ||
+ | <br />Case #1934 - Updated Email Prompt in Expired & No Connection License Error Messages + Some Minor Text Adjustments/Improvements | ||
+ | <br />Case #1935 - Fix for Service Class not passing vars into buildParams function correctly | ||
+ | <br />Case #1937 - Gateway ID not being passed into token gateway modules storeremote delete function when clearing card | ||
+ | <br />Case #1948 & #1945 - Captcha input not being shown on client area homepage when enabled + update to naming language in default template | ||
+ | <br />Case #1932 - Fix for client status update setting not being saved in Automation Settings | ||
+ | <br />Case #1933 - Update to Affiliate Signup Button Code in Classic & Portal Templates | ||
+ | <br />Case #1936 - Update to make admin side transaction list filter use a like match on description field | ||
+ | <br />Case #1935 - Fix for client area change password function not passing new password into modules because module params already loaded prior | ||
+ | <br />Case #1905 - Fix for client area product upgrade process fatal error on checkout step order confirmation | ||
+ | <br />Case #1929 - Default language select option was being duplicated in mass mail | ||
+ | <br />Case #1925 - Fix for product name email template var empty in New Cancellation Request admin notification & type not being sanitized prior to email | ||
+ | <br />Case #1907 - Fixed missing include in API UpdateTicket function causing ticket closure to fail | ||
+ | <br />Case #1900 - Project Management Addon Editing Task Times formatting error leading to empty value | ||
+ | <br />Case #1899 - Fix for cron not adhering to Exchange Rates & Product Pricing Update Automation Config Settings | ||
+ | <br />Case #1902 - Fix for currency update failing | ||
+ | <br />Case #1901 - Fix for override auto suspend setting being ignored in cron | ||
+ | <br />Case #1908 - Fix for cancellation request reason being overwritten by type, and type always being set to End of Billing Period | ||
+ | |||
+ | =Version 5.2.2= | ||
+ | *Release Type: '''RELEASE''' | ||
+ | *Release Date: '''14th March 2013''' | ||
+ | |||
+ | ===Bug Fixes=== | ||
+ | |||
+ | Case #1896 - Domain registrar modules reporting function not found erroneously | ||
+ | <br />Case #1855 - Added CSRF Token Management User Configurable Settings to General Settings > Security | ||
+ | <br />Case #1855 - Updated Domain Checker to default to no token check | ||
+ | <br />Case #1895 - Updates to allow for Smarty Backwards Compatability in Third Party Pages & Addons | ||
+ | <br />Case #1890 - Fix for total balance always showing as zero | ||
+ | <br>Case #1865 - Reverted upgrade process changes temporarily to resolve upgrade process debug output & errors | ||
+ | <br>Case #1857 - Update client area chage of default payment method not passed into ClientEdit hook | ||
+ | <br>Case #1861 - Update shopping cart header redirect to CC Processing page logout due to lack of token | ||
+ | <br>Case #1893 - Update JS Class for Yubico Key Setup Process | ||
+ | <br>Case #1868 - Quotes PDF File missing notes | ||
+ | <br>Case #1881 - Email Registrar module displaying Function not Found on admin side due to missing GetNameservers function | ||
+ | <br>Case #1891 - Admin side domain management function calls refactored to include $params array | ||
+ | <br>Case #1869 - Fix Client area module template output failing when custom template is utilized | ||
+ | <br>Case #1853 - Client area ticket search causing logout due to token check failure | ||
+ | <br>Case #1873 - Correct SQL query to use selected server for server revenue forecast report | ||
+ | <br>Case #1887 - Admin profile language not being stored during logout | ||
+ | <br>Case #1871 - Update Domain Sync functions for license handling | ||
+ | <br>Case #1876 - Invoice payment link variable not populated in invoice related email templates | ||
+ | <br>Case #1888 - Implement new dbconnect.php file to maintain backwards compatibility with files that rely on it. | ||
+ | <br>Case #1886 - Added handling of pattern matching for custom fields | ||
+ | <br>Case #1882 - Product Group Re-Ordering due to SQL order keyword not escaped | ||
+ | <br>Case #1874 - Remove second duplicate invoice button from admin invoice list | ||
+ | <br>Case #1848 - Update to captcha variable name | ||
+ | <br>Case #1886 - Revert smart class customizations to not error out blank page upon syntax errors | ||
+ | <br>Case #1884 - Credit Card details cannot be cleared form the admin area | ||
+ | <br>Case #1885 - Client Area Credit Card process attempting to validate custom fields | ||
+ | <br>Case #1850 - Password reset failing due to email not passing to templates | ||
+ | <br>Case #1879 - Update client area module change function not updating displayed password until page reload | ||
+ | <br>Case #1878 - Update client area module change password function calls | ||
+ | <br>Case #1877 - Return from registrar modules not being handled correctly when not an array | ||
+ | <br>Case #1875 - Fix for failing domain management actions due to incorrect function call params | ||
+ | <br>Case #1822 - Two Factor SQL Fields updates | ||
+ | <br>Case #1856 - Fix Domain checker attempting to validate captcha input even when not enforced | ||
+ | <br>Case #1864 - Fix PHP Fatal Error occurring when registrar module saving name server returns an error admin side | ||
+ | <br>Case #1863 - Fix admin side filtering order list by date | ||
+ | <br>Case #1862 - Update auto-recalc reoccurring amount and logging calculation | ||
+ | <br>Case #1862 - Correct servers losing ID in array_merge causing selected server to be lost on Admin Client Profile | ||
+ | <br>Case #1849 - Fix for API Allowed IPs being cleared when settings are saved | ||
+ | <br>Case #1860 - Update PHPMailer class to address bug with email validation logic | ||
+ | <br>Case #1822 - 5.2.0 SQL update skipped when updating from 5.1.4 | ||
+ | |||
+ | ===Module Updates=== | ||
+ | |||
+ | Case #1858 - [ Live Chat ] - Update license checking mechanism | ||
+ | <br>Case #1859 - [ Live Chat ] - Updated Client Side Hook file to be compatible with 5.2.x | ||
+ | <br>Case #1889 - [ ResellerClub ] - Update module to return friendly error when API is missing | ||
+ | |||
+ | =Version 5.2.1= | ||
+ | |||
+ | *Release Type: '''RELEASE''' | ||
+ | *Release Date: '''12th March 2013''' | ||
+ | |||
+ | ===New Features=== | ||
+ | |||
+ | Case #1772 - Update to log date & ip with ticket feedback submissions | ||
+ | <br />Case #1772 - Added New Reports: Ticket Feedback Scores & Ticket Feedback Comments | ||
+ | <br />Case #1418 - Added New Client Sources Report (aka How Did You Find Us) | ||
+ | <br />Case #1779 - Updated VAT Number validation hook to use the SOAP service provided at VIES directly | ||
+ | <br />Case #1746 - Re-factored invoice display logic | ||
+ | <br />Case #1768 - Update to support ticket bounce email to add global header/footer email wrapper | ||
+ | <br />Case #1768 - Added graceful exit handling to admin side clients domains page when no domains found for user | ||
+ | <br />Case #1788 - Updated invoice totals to show as total+credit in all invoice lists both client & admin side | ||
+ | <br />Case #1418 - Updated order details view to show exact invoice payment status and disable Cancel & Refund option once refunded | ||
+ | <br />Case #1662 - Licensing mechanism updates to add further license server redundancy supportlicense server redundancy support | ||
+ | <br />Case #1768 - Update to clients services page to immediately change status dropdown value (both main status and license status when licensing module in use) upon success result from new ajax module commands | ||
+ | <br />Case #1795 - Update to conditionally include payment modules in cart for integrated checkout | ||
+ | <br />Case #1255 - Implemented Two-Factor Authentication Logic & Support to Admin Login Process | ||
+ | <br />Case #1418 - Updated transactions & gateway log query logic & added default date range filters to speed up initial page load on larger installations | ||
+ | <br />Case #1586 - Fixed ticket tagging JS code double calls on load and incorrect saving on update with class update and function call changes | ||
+ | <br />Case #1586 - Optimised admin support ticket page loads by separating JavaScript code into separate JS file | ||
+ | <br />Case #1418 - Updated old wiki/docs link in all locations and added new comment format to open sample files | ||
+ | <br />Case #1586 - Implemented Tag Cloud to admin ticket list & created ticket tag report/chart | ||
+ | <br />Case #1803 - Redesigned admin reports interface to display reports in groups, removed legacy CSV export options, converted transactions and pdf export methods into report modules, and updated admin templates to display most used reports in reports menu dropdown | ||
+ | <br />Case #1804 - Implemented line graph to Daily Performance Report | ||
+ | <br />Case #1255 - Added Staff Management & Two Factor Authentication management links | ||
+ | <br />Case #1803 - Fix for reports dropdown menu list in original and v4 templates | ||
+ | <br />Case #1768 - Reverted TCPDF Class to previous version due to memory leak issue in latest update | ||
+ | <br />Case #1586 - Implemented support for ticket tags with auto-complete suggestions | ||
+ | <br />Case #1586 - Optimised & improved admin side handling of JavaScript code | ||
+ | <br />Case #1586 - Optimised blend template loading by moving common JS into separate file | ||
+ | <br />Case #1811 - Began re-factoring of client area | ||
+ | <br />Case #1798 - Ported new admin view ticket styling from Blend template into V4 template | ||
+ | <br />Case #1797 - Added checkbox to allow for splitting replies to Blend & V4 admin templates | ||
+ | <br />Case #1815 - [API] Added Windows 8 App Addon Licensing Status return to GetAdminDetails API Function for use in upcoming Windows 8 App | ||
+ | <br />Case #1818 - Refactored Session Handling product wide and updated to apply HTTPOnly attribute | ||
+ | <br />Case #1819 - Refactored cookie handling and updated to apply HTTPOnly attribute by default for all cookies + updated affiliate & link cookies | ||
+ | <br />Case #1822 - Added gridlines and minorgridlines count options support to graph class and updated head output for new admin interface array method | ||
+ | <br />Case #1822 - Added protection against sending of blank emails to customers when email processing fails | ||
+ | <br />Case #1824 - Added an option to enable showing client only departments to non logged in users visiting the ticket submission department selection page | ||
+ | <br />Case #1822 - Various minor improvements and fixes to new code | ||
+ | <br />Case #1825 - Updated get user ip function to use X-Forwarded-For value from apache request headers if available - primarily for our server setup | ||
+ | <br />Case #1827 - Update to language of both ResellerClub and Enom modules account signup promo | ||
+ | <br />Case #1811 - Created New Client Area & Service Classes & Re-factored frontend client side code | ||
+ | <br />Case #1681 - Updated shopping cart to use localised status name in domain renewals | ||
+ | <br />Case #1409 - Added extra conditional link parameters for affiliates and domain reg options and updated all client area templates to show/hide affiliate and domain reg menu options based on conditional status | ||
+ | <br />Case #1761 - Updated domain breadcrumb links to include link back to domains details | ||
+ | <br />Case #1823 - Moved admin homepage optimize image tag call from after closing HTML tag to bottom of the page body using AdminAreaFooterOutput hook point | ||
+ | <br />Case #1751 - Updated ticket submission page in all client area templates to display a no departments found error msg when no support departments are configured | ||
+ | <br />Case #1822 - Added check to 2FA time based tokens module to ensure GD image library is available before attempting to display QR image | ||
+ | <br />Case #1830 - Updated Request Support page to provide additional help links and to provide customised message to reseller customers | ||
+ | <br />Case #1822 - Removed sidebar workaround for Blend template in admin internal browser page since Blend template now has a sidebar | ||
+ | <br />Case #1832 - Refactored cron process to make it possible to not only skip certain actions, but also to request only specific actions are performed | ||
+ | <br />Case #1832 - Added CLI Output & Debugging flag options to make troubleshooting cron issues easier | ||
+ | <br />Case #1822 - Added the ability to link to the internal browser page with a link pre-selected (?link=x) | ||
+ | <br />Case #1806 - Update to WebsitePanel module to use hostname instead of IP for control panel links when hostname is specified | ||
+ | <br />Case #1768 - Update to automatically grant access permissions to new functionality to default admin role groups as appropriate | ||
+ | <br />Case #1768 - Added missing ticket notifications language file variable and additional variable for when no support departments exist | ||
+ | <br />Case #1768 - Added the ability to specify a different department and/or priority for split ticket & updated to hide split tickets button when no replies available to split | ||
+ | <br />Case #1822 - Added label tags to many more of the admin interface config fields/settings | ||
+ | <br />Case #1649 - Added new escalation rules text to language file and previously missing priorities | ||
+ | <br />Case #1822 - Added dedicated isLoggedIn function for checking for active client login | ||
+ | <br />Case #1822 - Update to admin ticket departments config page to prevent refresh resubmits and to remove empty space displaying for admins with only a first name specified | ||
+ | <br />Case #1822 - Updated in product links to use our go.whmcs.com link tracking for MaxMind, Enom, ResellerClub, Licensing & Project Management modules | ||
+ | <br />Case #1822 - Added Premium badge to paid addon modules and improved/streamlined license enforcing/purchase/refreshing process | ||
+ | <br />Case #1768 - Update for contact permissions error not working on pages using the new client area class | ||
+ | <br />Case #1822 - Added new permissions for viewing/managing credits | ||
+ | |||
+ | |||
+ | ===Module Updates=== | ||
+ | |||
+ | Case #1755 - [ResellerClub] Implemented New API Key Auth Method for Improved Security | ||
+ | <br />Case #1822 - [ResellerCamp] Removed old ResellerCamp sync module file and replaced with domain sync cron functions | ||
+ | <br />Case #1822 - [Enkompass] Removed x3 theme from Enkompass login links | ||
+ | |||
+ | |||
+ | ===Bug Fixes=== | ||
+ | |||
+ | Case #1768 - Fix for endless redirects on shopping cart when no product groups have been setup | ||
+ | <br />Case #1768 - Correction to image path in Original and V4 admin templates for dropdown menu popout icon | ||
+ | <br />Case #1768 - Install process confirm password field type corrected to hide password, automatic url detection fixed to exclude step variable, and validation added to prevent install form being submitted with blank admin details | ||
+ | <br />Case #1768 - Shopping Cart checkout step is grabbing IP directly from REMOTE_ADDR value instead of using get_user_ip function which was resulting in IP displaying incorrectly in certain scenarios | ||
+ | <br />Case #1768 - Update to installer to create admin user under utf-8 charset like rest of app runs under | ||
+ | <br />Case #1746 - Update to ticket department reassignment emails to obey ticket notification settings per admin | ||
+ | <br />Case #1768 - Adds the missing closing </a> tag for Edit Product Icon image on configproducts.php | ||
+ | <br />Case #1768 - V5.2 Upgrade was not working for users of V5.1.3 Patch Release | ||
+ | <br />Case #1768 - Ticket Duration calculating incorrectly when ticket contains no replies & generic comments row being created even when no comments submitted | ||
+ | <br />Case #1768 - Update to menu expand icon to be black by default for lighter menu backgrounds, and white expand icon made blend template specific only | ||
+ | <br />Case #1791 - Provide a valid return value (the PDF object) in the createPDF method of the WHMCS_Invoice class | ||
+ | <br />Case #1709 - Sorting My Domains list by Auto Renew wasn't working | ||
+ | <br />Case #1763 - Missing "Success" message when domain contacts are edited | ||
+ | <br />Case #1793 - NetworkIssueClose should run when editing network issue status to closed | ||
+ | <br />Case #1768 - Invoice related emails not sending due to userid not being populated correctly | ||
+ | <br />Case #1768 - Fixed admin homepage popup not hiding until next content update correctly | ||
+ | <br />Case #1812 - Added missing login to enkompass language file variable and updated module to use it | ||
+ | <br />Case #1418 - Corrected SQL query for calculating addons ordered in the Monthly Orders report - was previously giving total for entire year | ||
+ | <br />Case #1808 - Correction to gid int casting which was causing cart to permanently redirect to domain registration step on initial visit | ||
+ | <br />Case #1822 - Default template KB search not remembering search term and returning to homepage on 2nd search if empty catid parameter | ||
+ | <br />Case #1768 - Fix to client area details validation routine giving error relating to email and uneditable profile fields | ||
+ | <br />Case #1768 - SQL Error Occurring in specific admin email send routine + Optimization to logActivity function to only query username once per runtime | ||
+ | <br />Case #1822 - No addons message in Default client area product details template incorrect colspan | ||
+ | <br />Case #1768 - Suspension reason stops being recorded after & character due to missing url encoding | ||
+ | <br />Case #1768 - Incorrect billing cycle variable for when adding a new addon & Services dropdown menu showing last rows color for active services | ||
+ | <br />Case #1768 - Service edit form not being closed when addons are edited causing send message to fail | ||
+ | <br />Case #1771 - Update to support ticket billing entry to auto prune any non numerical chars from amount | ||
+ | <br />Case #1821 - Replaced hardcoded word "Go" with language variable in 2 client area & 4 order form template files | ||
+ | <br />Case #1822 - Fixed create new project dialog not saving ticket number | ||
+ | <br />Case #1822 - Stats query optimisations & bug fix for SQL error that was being generated every time support ticket page was accessed when admin not assigned to any departments | ||
+ | <br />Case #1768 - Some addon downloads were not being displayed in the client area product details downloads tab | ||
+ | <br />Case #1768 - No Totals to Display text was not being shown on empty Transactions list page | ||
+ | <br />Case #1768 - Added support ticket notification customisation settings back to admin users My Account page | ||
+ | <br />Case #1768 - Changed email encoding from 8bit to quoted-printable to resolve issue of erroneous characters/spaces on long lines of text | ||
+ | <br />Case #1768 - Update to automatic ticket close logic to only send Support Ticket Auto Close Notification email template if Ticket Feedback is not enabled since it already sends it's own email on closure | ||
+ | <br />Case #1768 - Update to invoice loadData function which was failing in some situations due to subquery for gateway name returning more than 1 row | ||
+ | <br />Case #1833 - Update to various third party classes to remove deprecated assigning of return value by reference | ||
+ | <br />Case #1768 - Update to init file to prevent it erroring or failing with a blank page during upload of the new version | ||
+ | <br />Case #1768 - File download page erroring out blank when login was required due to missing var | ||
+ | <br />Case #1768 - Include product downloads in directory setting being displayed twice in General Settings | ||
+ | <br />Case #1773 - Update to predefined search box so that field doesn't expand past the edge of the box when no predefined replies exist + added search icon to search box as background | ||
+ | <br />Case #1800 - Affiliates commission list showing incorrect amount if no payment made yet and has a different first payment amount | ||
+ | <br />Case #1768 - Configurable Options Radio Button was echoing checkbox checked rather than appending to input code HTML | ||
+ | <br />Case #1768 - Free addons generating invoice upon adding from admin side due to no exclusion on free billing cycles in specific items invoicing routine | ||
+ | <br />Case #1768 - Addon products on services page using wrong variable for ID in edit and delete links rendering them unmanagable | ||
+ | |||
+ | |||
+ | =Version 5.2.0= | ||
*Release Type: '''BETA''' | *Release Type: '''BETA''' | ||
Line 5: | Line 669: | ||
===New Features=== | ===New Features=== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Case #1585 – Implemented new ticket listing interface which separates flagged tickets from others | ||
+ | <br />Case #1644 – Added friendly warning if adding payments to an already paid invoice | ||
+ | <br />Case #1760 – Admin side WHMCS news/notification popup for release announcements & special offers | ||
+ | <br />Case #1626 – Introduced IP Whitelisting Support from Bans | ||
+ | <br />Case #1719 – Updated provisioning modules to return rather than echo | ||
+ | <br />Case #1756 – Introduced dedicated product news feed | ||
+ | <br />Case #1756 – Updated news widget to use dedicated product news feed | ||
+ | <br />Case #1756 – Updated check for updates page to use dedicated product news feed | ||
+ | <br />Case #1418 – Update module command buttons to use ajax to avoid page reload | ||
+ | <br />Case #1719 – Add additional logging for admin services actions to activity log | ||
+ | <br />Case #1505 – Allow client to enter desired new password when visiting reset verification URL | ||
+ | <br />Case #1449 – Add logic for API addorder for invoices paid by credits | ||
+ | <br />Case #1418 – Add pagination to spam control page | ||
+ | <br />Case #1418 – Optimize ticket counts query for admin pages | ||
+ | <br />Case #1418 – Language Case update for admin account page | ||
+ | <br />Case #1418 – Redraw charts for when no chart widgets are active | ||
+ | <br />Case #1418 – Update to Knowledge Base categories listing | ||
+ | <br />Case #1726 – Implemented search for predefined replies management | ||
+ | <br />Case #1725 – Added Arabic client area language file | ||
+ | <br />Case #1573 – Improvements to tblcontacts | ||
+ | <br />Case #1725 – Added Catalan client area language file | ||
+ | <br />Case #1725 – Added Croatian client area language file | ||
+ | <br />Case #1725 – Added Farsi client area language file | ||
+ | <br />Case #1725 – Added Hungarian client area language file | ||
+ | <br />Case #1725 – Improvements to Portugese & Portuguese Brazil client area language files | ||
+ | <br />Case #1725 – Improvements to Spanish client area language file | ||
+ | <br />Case #1725 – Implemented new Spanish admin language file | ||
+ | <br />Case #1481 – Improvements to French Language file | ||
+ | <br />Case #1612 – Added HTML stripping to default template client area homepage news snippet | ||
+ | <br />Case #1585 – Added the ability to split support ticket replies out to new tickets | ||
+ | <br />Case #688 – Added the ability to enter transaction ID for manual refund | ||
+ | <br />Case #688 – Updated invoice interface to disable refund button if unavailable | ||
+ | <br />Case #1754 – Implement code to obtain custom fields and update data based on values posted | ||
+ | <br />Case #1728 – Created WHMCS API Helper File v1.0 | ||
+ | <br />Case #1672 – Implemented Email Marketing Unsubscribe Option for Clients | ||
+ | <br />Case #1575 – Additional logging relating to quote management & quick links from log itself | ||
+ | <br />Case #1651 – Added custom fields display to printable version of support tickets | ||
+ | <br />Case #1649 – Add memory of ticket list filter selections between page loads | ||
+ | <br />Case #1418 – Removed arbitrary credit balance edit field and added dedicated Remove Credit option | ||
+ | <br />Case #1599 – Added LicensingAddonReissue hook | ||
+ | <br />Case #1345 – Ability to edit security questions | ||
+ | <br />Case #1440 – Added email template merge field for product description | ||
+ | <br />Case #1556 – Log date/time to ticket logs when auto-closing ticket | ||
+ | <br />Case #1536 – Allow knowledge base articles to be available when opening a new ticket for client | ||
+ | <br />Case #1437 – Added the ability to duplicate an existing invoice and line item(s) | ||
+ | <br />Case #1418 – Allow mass mails to be sent from services listing | ||
+ | <br />Case #1537 – Allow company name in client sort filters for admin invoice list | ||
+ | <br />Case #1418 – Add variable to load template dropdown ensuring that Send Multiple is carried across | ||
+ | <br />Case #1565 – Ability to disable admin accounts | ||
+ | <br />Case #1418 – Refactoring of system wide page structure to use new single initialisation file | ||
+ | <br />Case #1565 – Hiding of deactivated admin users from Tickets & To-Do Lists | ||
+ | <br />Case #1474 – Ability to disable auto-status change to inactive for clients without products/services | ||
+ | <br />Case #1312 – Introduce duplicate bundle function | ||
+ | <br />Case #1582 – Introduce ability to restrict subdomains when offering free subdomains | ||
+ | <br />Case #1743 – Admin ticket notification system now works independently from department assignments | ||
+ | <br />Case #1418 – Introduced credit card info full clear function for admin usage for local & remote storage | ||
+ | <br />Case #1449 – Introduced API function AffiliateActivate | ||
+ | <br />Case #1449 – Introduced API function GetAffiliates | ||
+ | <br />Case #1449 – Introduced API function GetCancelledPackages | ||
+ | <br />Case #1449 – Updated API function AddOrder | ||
+ | <br />Case #1449 – Updated API function AddProduct | ||
+ | <br />Case #1449 – Updated API function GetInvoices | ||
+ | <br />Case #1449 – Updated API function UpdateClient | ||
+ | <br />Case #1449 – Updated API function UpdateProject | ||
+ | <br />Case #1465 – Introduce autolinking of urls to client & ticket notes | ||
+ | <br />Case #1418 – Introduce permission check to admin invoicing within ticket | ||
+ | <br />Case #1752 – Introduce new global validation logic & implemented throughout | ||
+ | <br />Case #1398 – Added AfterFraudCheck Action Hook | ||
===Module Updates=== | ===Module Updates=== | ||
− | + | ||
Case #1742 – [ VentraIP ] – Commit updates to latest version v1.5.2 | Case #1742 – [ VentraIP ] – Commit updates to latest version v1.5.2 | ||
− | Case #1212 – [ 2CheckOut ] – Updated transaction callbacks logging for refund processing on reoccurring payments | + | <br />Case #1212 – [ 2CheckOut ] – Updated transaction callbacks logging for refund processing on reoccurring payments |
− | Case #1669 – [ WeNIC ] – Add handling for .asia & .tw specific field requirements | + | <br />Case #1669 – [ WeNIC ] – Add handling for .asia & .tw specific field requirements |
− | Case #1418 – [ BizCN ] – UTF-Bytecode fix for handling IDN domains | + | <br />Case #1418 – [ BizCN ] – UTF-Bytecode fix for handling IDN domains |
− | Case #1602 – [ cPanel ] – Not retaining dedicated IP on package change | + | <br />Case #1602 – [ cPanel ] – Not retaining dedicated IP on package change |
− | Case #1418 – [ Amazon Simple Pay ] – Updated to allow proper refund processing | + | <br />Case #1418 – [ Amazon Simple Pay ] – Updated to allow proper refund processing |
− | Case #1698 – [ IPPay ] – Update for new transaction processing URLs | + | <br />Case #1698 – [ IPPay ] – Update for new transaction processing URLs |
− | Case #1686 – [ FreeRadius ] – Introduced Free Radius module | + | <br />Case #1686 – [ FreeRadius ] – Introduced Free Radius module |
− | Case #1687 – [ Ahsay Backups ] – Introduced Ahsay Backups Module | + | <br />Case #1687 – [ Ahsay Backups ] – Introduced Ahsay Backups Module |
− | Case #1694 – [ Helm ] – Updated class to resolve login button in clientarea | + | <br />Case #1694 – [ Helm ] – Updated class to resolve login button in clientarea |
− | Case #1692 – [ CCAvenue ] – Allow display notice at Invoice Payment to client informing a manual review is required | + | <br />Case #1692 – [ CCAvenue ] – Allow display notice at Invoice Payment to client informing a manual review is required |
− | Case #1470 – [ VPS.Net ] – Added missing images folder | + | <br />Case #1470 – [ VPS.Net ] – Added missing images folder |
− | Case #1594 – [ SecureTrading ] – Update to latest version | + | <br />Case #1594 – [ SecureTrading ] – Update to latest version |
− | Case #1593 – [ ResellerClub SSL Module ] – Strip URL prefixing from domains when generating approval emails | + | <br />Case #1593 – [ ResellerClub SSL Module ] – Strip URL prefixing from domains when generating approval emails |
− | Case #1600 – [ Stargate ] – Update domain sync functionality | + | <br />Case #1600 – [ Stargate ] – Update domain sync functionality |
− | Case #1600 – [ NetEarthOne ] – Update domain sync functionality | + | <br />Case #1600 – [ NetEarthOne ] – Update domain sync functionality |
− | Case #1418 – [ Plesk ] – Packet version loaded from configuration file | + | <br />Case #1418 – [ Plesk ] – Packet version loaded from configuration file |
− | Case #1690 – [ ResellerClub ] – Improve handling for >64 Character Address’ | + | <br />Case #1690 – [ ResellerClub ] – Improve handling for >64 Character Address’ |
− | Case #1460 – [ ResellerClub] – Transfer function not defining the full state value | + | <br />Case #1460 – [ ResellerClub] – Transfer function not defining the full state value |
− | |||
===Bug Fixes=== | ===Bug Fixes=== | ||
− | + | ||
Case #441 – License check code to now show branding for branding free live chat | Case #441 – License check code to now show branding for branding free live chat | ||
− | Case #1396 – Numerous WHOIS Server definition updates | + | <br />Case #1396 – Numerous WHOIS Server definition updates |
− | Case #1418 – Ticket Masks containing “%i” failed to generate | + | <br />Case #1418 – Ticket Masks containing “%i” failed to generate |
− | Case #1746 – Refactor class design for future expansion & optimization | + | <br />Case #1746 – Refactor class design for future expansion & optimization |
− | Case #1623 – Improve duplicate TLD Routine to automatically at ‘.’ prefix if missing | + | <br />Case #1623 – Improve duplicate TLD Routine to automatically at ‘.’ prefix if missing |
− | Case #1722 – Update cart.php to not redirect when confdomains exists | + | <br />Case #1722 – Update cart.php to not redirect when confdomains exists |
− | Case #1418 – Updated API variables to allow separation of send to registrar and autosetup | + | <br />Case #1418 – Updated API variables to allow separation of send to registrar and autosetup |
− | Case #1418 – Update API Variables in AcceptOrder function | + | <br />Case #1418 – Update API Variables in AcceptOrder function |
− | Case #1418 – Clean up second renewals SQL Query | + | <br />Case #1418 – Clean up second renewals SQL Query |
− | Case #1449 – Clean up if statements in updateclientdomain | + | <br />Case #1449 – Clean up if statements in updateclientdomain |
− | Case #1583 – Prevent gateway from being disabled if only 1 is enabled | + | <br />Case #1583 – Prevent gateway from being disabled if only 1 is enabled |
− | Case #1540 – Split permissions for Manage Predefined Replies | + | <br />Case #1540 – Split permissions for Manage Predefined Replies |
− | Case #1577 – Update CVV Fields | + | <br />Case #1577 – Update CVV Fields |
− | Case #1433 – Addclientnote & Addticketnote API function not parsing carriage returns | + | <br />Case #1433 – Addclientnote & Addticketnote API function not parsing carriage returns |
− | Case #1449 – Improve autorecalc section to include promotion codes that were passed in update | + | <br />Case #1449 – Improve autorecalc section to include promotion codes that were passed in update |
− | Case #1590 – Added autoauthkey to configuration.php when key is updated | + | <br />Case #1590 – Added autoauthkey to configuration.php when key is updated |
− | Case #1584 – Mail in Payment option now redirects straight to invoice | + | <br />Case #1584 – Mail in Payment option now redirects straight to invoice |
− | Case #1553 – Printable Version within Quotes unavailable by default | + | <br />Case #1553 – Printable Version within Quotes unavailable by default |
− | Case #1684 – Update function to use existing next due date for incrementing nextinvoicedate | + | <br />Case #1684 – Update function to use existing next due date for incrementing nextinvoicedate |
− | Case #1388 – Check if admin has “Add “Transaction” permission when applying payments to invoices | + | <br />Case #1388 – Check if admin has “Add “Transaction” permission when applying payments to invoices |
− | Case #1418 – Remove hard coded text in KB Search box default template | + | <br />Case #1418 – Remove hard coded text in KB Search box default template |
− | Case #1542 – Upgrade/Downgrade section in client area shows free domain is offered – misleading | + | <br />Case #1542 – Upgrade/Downgrade section in client area shows free domain is offered – misleading |
− | Case #1585 – Improve split ticket functions | + | <br />Case #1585 – Improve split ticket functions |
− | Case #1474 – Expand logic around auto-status change for clients | + | <br />Case #1474 – Expand logic around auto-status change for clients |
− | Case #1418 – Introduce error message to all error checks as not all contain “response_text” | + | <br />Case #1418 – Introduce error message to all error checks as not all contain “response_text” |
− | Case #1431 – Add logging of changed fields to activity log | + | <br />Case #1431 – Add logging of changed fields to activity log |
− | Case #1677 – Prevent admins deleting themselves | + | <br />Case #1677 – Prevent admins deleting themselves |
− | Case #1743 – Updated | + | <br />Case #1743 – Updated Smarty class to latest 2.x release |
− | Case # | + | <br />Case #1743 – Updated PHPMailer class to latest stable v5.2.2 |
− | Case #1555 – Complete refactor of language handling system | + | <br />Case #1418 – Added custom fields array to clients detail |
− | Case #1418 – Implement nl2br formatting to admin client notes | + | <br />Case #1555 – Complete refactor of language handling system |
− | Case #1577 – Add CVV input field for Admin & Client side cart update forms | + | <br />Case #1418 – Implement nl2br formatting to admin client notes |
− | Case #1673 – Prevent unknown editing of client side card data | + | <br />Case #1577 – Add CVV input field for Admin & Client side cart update forms |
− | Case #1431 – Add logging on ticket boxes with status as Enabled or Disabled | + | <br />Case #1673 – Prevent unknown editing of client side card data |
− | Case #1418 – Correct language for billable items invoice confirmation dialog | + | <br />Case #1431 – Add logging on ticket boxes with status as Enabled or Disabled |
− | Case #1431 – Improve logic for logging change fields | + | <br />Case #1418 – Correct language for billable items invoice confirmation dialog |
− | Case #1609 – Bulk domain check may result in unformatted return | + | <br />Case #1431 – Improve logic for logging change fields |
− | Case #1418 – Password input field type to hide input in Web 2.0 Cart login template | + | <br />Case #1609 – Bulk domain check may result in unformatted return |
− | Case #1549 – Added ‘empty’ to configurableoptions variable in recalcRecurringProductProce function | + | <br />Case #1418 – Password input field type to hide input in Web 2.0 Cart login template |
− | Case #1433 – Carriage returns not parsed by client notes | + | <br />Case #1549 – Added ‘empty’ to configurableoptions variable in recalcRecurringProductProce function |
− | Case #1538 – Unable to filter tickets in client area | + | <br />Case #1433 – Carriage returns not parsed by client notes |
− | Case #1532 – Server revenue forecast includes inactive servers | + | <br />Case #1538 – Unable to filter tickets in client area |
− | Case #1086 – Ajax cart domain addons not refreshing cart summary | + | <br />Case #1532 – Server revenue forecast includes inactive servers |
− | Case #1418 – Complete button changed to please wait upon click | + | <br />Case #1086 – Ajax cart domain addons not refreshing cart summary |
− | Case #1294 – Message preview stopping at ‘&’ character | + | <br />Case #1418 – Complete button changed to please wait upon click |
− | Case #1485 – Re-introduce TinyMCE rich text editor for admin area text fields that support HTML input | + | <br />Case #1294 – Message preview stopping at ‘&’ character |
− | Case #1418 – Introduce delete transaction permission check to admin invoice transaction deletion | + | <br />Case #1485 – Re-introduce TinyMCE rich text editor for admin area text fields that support HTML input |
− | Case #1569 – Billing Cycle & Configurable options not updating price summary | + | <br />Case #1418 – Introduce delete transaction permission check to admin invoice transaction deletion |
− | Case #1535 – Ensure that multiple partial refunds don’t exceed the original transaction fee amount | + | <br />Case #1569 – Billing Cycle & Configurable options not updating price summary |
− | Case #1644 – Allow admin to add payments to a paid invoice | + | <br />Case #1535 – Ensure that multiple partial refunds don’t exceed the original transaction fee amount |
− | Case #1645 – Next Due Date not being emptied when changing from reoccurring to free in products & product addons | + | <br />Case #1644 – Allow admin to add payments to a paid invoice |
− | Case #1626 – Refactor Whitelisting IP logic to remove unnecessary queries and improve logic | + | <br />Case #1645 – Next Due Date not being emptied when changing from reoccurring to free in products & product addons |
− | Case #1418 – Reintroduce SMTP Debug flag for configuration.php | + | <br />Case #1626 – Refactor Whitelisting IP logic to remove unnecessary queries and improve logic |
− | Case #1672 – Reintroduce portral template files | + | <br />Case #1418 – Reintroduce SMTP Debug flag for configuration.php |
− | Case #1626 – Whitelisted IP address shown never be banned | + | <br />Case #1672 – Reintroduce portral template files |
− | Case #1754 – Revert naming of AddtoLog function to addTicketLog | + | <br />Case #1626 – Whitelisted IP address shown never be banned |
− | Case #1701 – Remove duplicate pwstrength JS code from clientregister on default theme | + | <br />Case #1754 – Revert naming of AddtoLog function to addTicketLog |
− | Case #1418 – Correct language whitespace output | + | <br />Case #1701 – Remove duplicate pwstrength JS code from clientregister on default theme |
− | Case #1675 – Adjust sales tax liability report to tax + credit = total | + | <br />Case #1418 – Correct language whitespace output |
− | Case #1675 – Switch Tax & Credits column for more human friendly readability | + | <br />Case #1675 – Adjust sales tax liability report to tax + credit = total |
− | Case #1565 – Fix SQL errors caused by no department set for admin | + | <br />Case #1675 – Switch Tax & Credits column for more human friendly readability |
− | Case #1418 – Update variable “type” to “listtype” to avoid conflict | + | <br />Case #1565 – Fix SQL errors caused by no department set for admin |
− | Case #1702 – Update income by products report to work with currency selector | + | <br />Case #1418 – Update variable “type” to “listtype” to avoid conflict |
− | Case #1702 – Resolve units sold column always empty | + | <br />Case #1702 – Update income by products report to work with currency selector |
− | Case #1730 – Remove duplicate Cleint ID field in admin lang file | + | <br />Case #1702 – Resolve units sold column always empty |
− | Case #1412 – Domain Renewals Grace Period & Minimums loading from config file | + | <br />Case #1730 – Remove duplicate Cleint ID field in admin lang file |
− | Case #1417 – Correct Admin invoice number search | + | <br />Case #1412 – Domain Renewals Grace Period & Minimums loading from config file |
− | Case #1479 – Client area Tasks ‘Due In’ corrected | + | <br />Case #1417 – Correct Admin invoice number search |
− | Case #1419 – Update MySQL list tables function | + | <br />Case #1479 – Client area Tasks ‘Due In’ corrected |
− | Case #1418 – Mass domain management auto renew improvements | + | <br />Case #1419 – Update MySQL list tables function |
− | Case #1191 – Backups failing due to database name unavailable | + | <br />Case #1418 – Mass domain management auto renew improvements |
− | Case #1418 – Message preview button returns no results with rich text editor | + | <br />Case #1191 – Backups failing due to database name unavailable |
− | Case #1418 – Update dbconnect.php for API Access & Disable Vars | + | <br />Case #1418 – Message preview button returns no results with rich text editor |
− | Case #1418 – Fix new admin session vars for mobile login | + | <br />Case #1418 – Update dbconnect.php for API Access & Disable Vars |
− | Case #1425 – Lanugage change in client area not being retained between page loads | + | <br />Case #1418 – Fix new admin session vars for mobile login |
− | Case #1418 – Currency ID has been updated to show currency code | + | <br />Case #1425 – Lanugage change in client area not being retained between page loads |
− | Case #1430 – Resolve CSV download error when reports contain a graph or geo-chart | + | <br />Case #1418 – Currency ID has been updated to show currency code |
− | Case #1429 – Resolve load problems with graph or geo-chart data when viewing print report version | + | <br />Case #1430 – Resolve CSV download error when reports contain a graph or geo-chart |
− | Case #1435 – Update important field to sticky on orders detail view for client notes | + | <br />Case #1429 – Resolve load problems with graph or geo-chart data when viewing print report version |
− | Case #1418 – Knowledge base searches fail with syntax error when no term is specified | + | <br />Case #1435 – Update important field to sticky on orders detail view for client notes |
− | Case #1418 – Cron user status switch generating MySQL error due to incorrect function call | + | <br />Case #1418 – Knowledge base searches fail with syntax error when no term is specified |
− | Case #1448 – Resolved support ticket edits when attachments are present | + | <br />Case #1418 – Cron user status switch generating MySQL error due to incorrect function call |
− | Case #1454 – Introduced human readable error message for graphs when JSON is not available in PHP | + | <br />Case #1448 – Resolved support ticket edits when attachments are present |
− | Case #1301 – Resolved Slider Order Form only accepting lowercase domain input | + | <br />Case #1454 – Introduced human readable error message for graphs when JSON is not available in PHP |
− | Case #1439 – If due date is 0000-00-00 thens suppress auto suspend/terminate | + | <br />Case #1301 – Resolved Slider Order Form only accepting lowercase domain input |
− | Case #1428 – Resolved Support Ticket overview widget JS error when a department contains a special character | + | <br />Case #1439 – If due date is 0000-00-00 thens suppress auto suspend/terminate |
− | Case #1747 – Custom order status removing provisioning/welcome email option from order details page | + | <br />Case #1428 – Resolved Support Ticket overview widget JS error when a department contains a special character |
− | Case #1682 – Annual income reporting adding previous years fees & amount out instead of sutracting | + | <br />Case #1747 – Custom order status removing provisioning/welcome email option from order details page |
− | Case #1740 – changeOrderStatus() now savesPending Transfer correctly for Domains with type=Transfer | + | <br />Case #1682 – Annual income reporting adding previous years fees & amount out instead of sutracting |
− | Case #1446 – Support Ticket Ratings Review Report update to apply message formatting to ticket replies | + | <br />Case #1740 – changeOrderStatus() now savesPending Transfer correctly for Domains with type=Transfer |
− | Case #1727 – Paid invoice process attempting to combat multiple invoices being assigned the same number | + | <br />Case #1446 – Support Ticket Ratings Review Report update to apply message formatting to ticket replies |
− | Case #1418 – Add payment button in admin invoice page not greyed out when disabled | + | <br />Case #1727 – Paid invoice process attempting to combat multiple invoices being assigned the same number |
− | Case #1723 – Require admin addon modules to validate module name | + | <br />Case #1418 – Add payment button in admin invoice page not greyed out when disabled |
− | Case #1418 – Cart should pre-select stored country when passed via session | + | <br />Case #1723 – Require admin addon modules to validate module name |
− | Case #1707 – Implement smarty variables to allow template mods to query more info on affiliate referrals | + | <br />Case #1418 – Cart should pre-select stored country when passed via session |
− | Case #1418 – Better handling of invalid affiliate ID passed into manage affiliates page | + | <br />Case #1707 – Implement smarty variables to allow template mods to query more info on affiliate referrals |
− | Case #1418 – Reimplement TinyMCE Rich Text Editor for network issues | + | <br />Case #1418 – Better handling of invalid affiliate ID passed into manage affiliates page |
− | Case #1746 – Ensure gateway module callback files reference correct include path | + | <br />Case #1418 – Reimplement TinyMCE Rich Text Editor for network issues |
− | Case #1439 – Reverted unneeded query change for optimization | + | <br />Case #1746 – Ensure gateway module callback files reference correct include path |
− | Case #1683 – Resolved TinyMCE converting URLs | + | <br />Case #1439 – Reverted unneeded query change for optimization |
− | Case #1558 – Password password checking not working on comparison template | + | <br />Case #1683 – Resolved TinyMCE converting URLs |
− | Case #1552 – Updated POP Import field names to be more conscience | + | <br />Case #1558 – Password password checking not working on comparison template |
− | Case #1666 – .DE Domains registration showing text field rather than yes|no ticket box | + | <br />Case #1552 – Updated POP Import field names to be more conscience |
− | Case #1638 – Client notes area does expand correctly caused by additional divs end | + | <br />Case #1666 – .DE Domains registration showing text field rather than yes|no ticket box |
− | Case #1423 – Admin support ticket widget not handling zero ticket count present on new installs correctly | + | <br />Case #1638 – Client notes area does expand correctly caused by additional divs end |
− | Case #1566 – Update billable items logic to automatically recalculate amount when qty/hrs is updated | + | <br />Case #1423 – Admin support ticket widget not handling zero ticket count present on new installs correctly |
− | Case #1739 – Require ID presence in URL when downloading PDF | + | <br />Case #1566 – Update billable items logic to automatically recalculate amount when qty/hrs is updated |
− | Case #1449 – addcancelrequest to return error if a cancellation requests exists | + | <br />Case #1739 – Require ID presence in URL when downloading PDF |
− | Case #1444 – Add Local API Support for custom provisioning module functions | + | <br />Case #1449 – addcancelrequest to return error if a cancellation requests exists |
− | Case #441 – Prevent conflicts for branding removal | + | <br />Case #1444 – Add Local API Support for custom provisioning module functions |
− | Case #1731 – Show enabled WHMCS addons on licensing info page | + | <br />Case #441 – Prevent conflicts for branding removal |
− | Case #1418 – Added VentraIP Registrar Logo | + | <br />Case #1731 – Show enabled WHMCS addons on licensing info page |
− | Case #1726 – Update if statement to not show predefines on root category | + | <br />Case #1418 – Added VentraIP Registrar Logo |
− | Case #1418 – Add missing global declaration for ICONV disable | + | <br />Case #1726 – Update if statement to not show predefines on root category |
− | Case #1418 – Add backwards compatable getValidLanguages function | + | <br />Case #1418 – Add missing global declaration for ICONV disable |
− | Case #1418 – Update admin knowledge base config page to use getlanguages function | + | <br />Case #1418 – Add backwards compatable getValidLanguages function |
− | Case #1697 – Ensure email address’ cannot be empty | + | <br />Case #1418 – Update admin knowledge base config page to use getlanguages function |
− | Case #1697 – Ensure sub-accounts do not retain the same address | + | <br />Case #1697 – Ensure email address’ cannot be empty |
− | Case #1474 – Invalid select query in cron during client status change | + | <br />Case #1697 – Ensure sub-accounts do not retain the same address |
− | Case #1646 – Validate invoice ID exists when passing into PDF download link | + | <br />Case #1474 – Invalid select query in cron during client status change |
− | Case #1657 – _GetEmailForwarding error message is treaded as forwarding record when listing forwarders | + | <br />Case #1646 – Validate invoice ID exists when passing into PDF download link |
− | Case #1641 – Convert config servers page to use language file variables | + | <br />Case #1657 – _GetEmailForwarding error message is treaded as forwarding record when listing forwarders |
− | Case #1601 – Ticket list sorting by department ID instead of name | + | <br />Case #1641 – Convert config servers page to use language file variables |
− | Case #1420 – Remove hardcoded text in template files | + | <br />Case #1601 – Ticket list sorting by department ID instead of name |
− | Case #1463 – New customers report export generates invalid data | + | <br />Case #1420 – Remove hardcoded text in template files |
− | Case #1621 – Typo in English language file | + | <br />Case #1463 – New customers report export generates invalid data |
− | Case #1469 – Curacao missing from countries list | + | <br />Case #1621 – Typo in English language file |
− | Case #1639 – Admin ticket log should have URLs converted to links | + | <br />Case #1469 – Curacao missing from countries list |
− | Case #1575 – Modifying Quotes does not log to the Activity Log | + | <br />Case #1639 – Admin ticket log should have URLs converted to links |
− | Case #1653 – _GetDNS error message is treated as DNS Record when listing dnsrecords | + | <br />Case #1575 – Modifying Quotes does not log to the Activity Log |
− | Case #1650 – View quotes failing ifTOS accept not enabled | + | <br />Case #1653 – _GetDNS error message is treated as DNS Record when listing dnsrecords |
− | Case #1485 – TinyMCE Editor not loading for announcements | + | <br />Case #1650 – View quotes failing ifTOS accept not enabled |
− | Case #1643 – Enkompass using archaic API for IPs | + | <br />Case #1485 – TinyMCE Editor not loading for announcements |
− | Case #1642 – Affiliate payments on renewal generated regardless if one time option is select | + | <br />Case #1643 – Enkompass using archaic API for IPs |
− | Case #1557 – Corrected typo “occured” throughout. | + | <br />Case #1642 – Affiliate payments on renewal generated regardless if one time option is select |
− | Case #1591 – Logging in as client resets admin session token | + | <br />Case #1557 – Corrected typo “occured” throughout. |
− | Case #1589 – CSS scaling issues in 5.1 v4 template | + | <br />Case #1591 – Logging in as client resets admin session token |
− | Case #1588 – Associated invoices displaying unrelated invoices when an associated ticket is not found in project view | + | <br />Case #1589 – CSS scaling issues in 5.1 v4 template |
− | Case #1581 – Deleting invoice doesn’t pass through vars | + | <br />Case #1588 – Associated invoices displaying unrelated invoices when an associated ticket is not found in project view |
− | Case #1415 – Affiliates template extra TD Colspan | + | <br />Case #1581 – Deleting invoice doesn’t pass through vars |
− | Case #1432 – API Cancelation request calling undefined function if canceled service is on joint invoice | + | <br />Case #1415 – Affiliates template extra TD Colspan |
− | Case #1597 – Fees returned from gateway modules not handled correctly | + | <br />Case #1432 – API Cancelation request calling undefined function if canceled service is on joint invoice |
− | Case #1598 – Prevent addons from doubling invoices when invoice selected items is used in the client summary | + | <br />Case #1597 – Fees returned from gateway modules not handled correctly |
− | Case #1418 – Prevent warning error from genTicketMask when creating new tickets | + | <br />Case #1598 – Prevent addons from doubling invoices when invoice selected items is used in the client summary |
− | Case #1418 – Resolve failure to locate KnowledgeBase suggestions when no existing k articles are passed | + | <br />Case #1418 – Prevent warning error from genTicketMask when creating new tickets |
− | Case #1418 – Updated IP not being set in core class | + | <br />Case #1418 – Resolve failure to locate KnowledgeBase suggestions when no existing k articles are passed |
− | Case #1418 – Improve session handling for cart.tpl override | + | <br />Case #1418 – Updated IP not being set in core class |
− | Case #1418 – Improve Product config listing page to reset product group order values for consistency | + | <br />Case #1418 – Improve session handling for cart.tpl override |
− | Case #1563 – Update usage stats in ServerUsageUpdate function | + | <br />Case #1418 – Improve Product config listing page to reset product group order values for consistency |
− | Case #1755 – Improve EU Transfer process to always use the client account details | + | <br />Case #1563 – Update usage stats in ServerUsageUpdate function |
− | Case #1676 – [Security] Google Checkout update | + | <br />Case #1755 – Improve EU Transfer process to always use the client account details |
− | Case #1631 – [Security] Improve logic of widgets | + | <br />Case #1676 – [Security] Google Checkout update |
− | Case #1731 – [Security] Improve logic of license info page | + | <br />Case #1631 – [Security] Improve logic of widgets |
− | Case #1759 – [Security] Improve logic of carts | + | <br />Case #1731 – [Security] Improve logic of license info page |
− | Case #1631 – [Security] Improve logic of widgets | + | <br />Case #1759 – [Security] Improve logic of carts |
− | </ | + | <br />Case #1631 – [Security] Improve logic of widgets |
+ | </noinclude> |
Latest revision as of 15:07, 19 November 2014
Contents
Version 5.2.17
- Release Type: SECURITY RELEASE
- Release Date: 25th March 2014
Security
Case #3982 - Details to be released at a later date
Case #4057 - Details to be released at a later date
Case #4161 - Details to be released at a later date
Case #4172 - Details to be released at a later date
Case #4175 - Details to be released at a later date
Case #4180 - Details to be released at a later date
Case #4186 - Details to be released at a later date
Case #4187 - Details to be released at a later date
Case #4194 - Details to be released at a later date
Case #4202 - Details to be released at a later date
Case #4256 - Details to be released at a later date
Case #4311 - Details to be released at a later date
Bug Fixes
Case #2622 - Use localized date format for domain renewal reminders
Case #3375 - Improved Redundancy for License Verification
Case #3977 - Allows promo code recurring cycles to be edited after checkbox is ticked
Case #3333 - Delete custom field entries for a product when the order is deleted
Case #4113 - Add extended TLD attributes for new .UK TLD
Version 5.2.16
- Release Type: SECURITY RELEASE
- Release Date: 21st January 2014
Maintenance
Case #2557 - 2Checkout Gateway: Update to currency variable
Case #2623 - Fix calculations of promotions when more than 50% off
Case #2739 - Add TLD Specific Fields required for .CN domain registrations
Case #2874 - Authorize.net Echeck: Fix capture function behaving incorrectly
Case #3019 - Refine internal criteria for bulk domain lookup
Case #3030 - Resolve SQL error in Income by Product Report
Case #3086 - Nominet Registrar: Update to Contact Registration Logic for Individuals
Case #3116 - Required Custom Fields not validating correctly when using API
Case #3360 - Resolved issue where one time promotions could be treated as recurring
Case #3360 - Disable Recur For input box when Recurring is disabled
Case #3361 - Fix time limited recurring promotions calculating incorrectly
Case #3388 - Fix Invalid Token Error when applying credit in Original and Portal Client Templates
Case #3414 - Payflow Pro: Update to store PayFlow Reference in PayFlow Mode
Case #3617 - Do not CC password reset emails to sub-accounts
Case #3740 - ProtX VSP Form: Pass correct callback values to debug log
Case #3801 - Resolved PDF Quotes missing clients name/address
Case #3802 - Make a quantity of zero remove item from the cart
Case #3809 - Regular Expression Custom Field Validation failing on single quotes
Case #3811 - Resolve Invalid Token error when deleting recurring calendar entry
Case #3814 - Improvements to IPv6 detection and validation logic
Case #3862 - NameCheap Registrar: Fix incorrect function name call
Case #3864 - Authorize.net Echeck: Fix storage of bank account details
Case #3893 - Enom SSL Module: Fix Province is Required Error Message
Security
Case #3637 - Improve Access Controls in Project Management Addon
Case #3782 - Improve Access Controls in Tickets
Case #3783 - Improve Access Controls in Invoices
Case #3784 - Resolve Admin Area SQL Injection Vulnerability
Case #3839 - Resolve Potential XSS Vulnerability
Case #3841 - Resolve Potential XSS Vulnerability
Case #3842 - Resolve Potential XSS Vulnerability
Case #3843 - Resolve Potential XSS Vulnerability
Case #3846 - Improve Access Controls in Tickets
Case #3922 - PayPal Express Checkout Improve Validation
Case #3931 - Potential header injection via whois lookups
Case #3932 - Improve sanitization for whois query
Version 5.2.15
- Release Type: SECURITY RELEASE
- Release Date: 23rd December 2013
Security
Case #3785 - SQL Injection via Admin Credit Routines
Bug Fixes
Case #3706 - Some graphs failing after recent Google Graph API Update
Case #3711 - CSV Export content should not contain HTML entities
Case #3726 - PDF Line Items failing to output some specific characters
Case #3727 - Admin password reset process failing to send new password email
Case #3738 - Sub-account password field's default text must be removed on focus/click events
Version 5.2.14
- Release Type: MAINTENANCE RELEASE
- Release Date: 27th November 2013
Bug Fixes
Case #2555 - 5.3 Backport: Select all checkboxes not working in manage orders & invoices
Case #2941 - 5.3 Backport: Company ID Number being ignored via Nominet
Case #3075 - 5.3 Backport: Update to ECB Exchange Rates Data Feed URL
Case #3482 - Currency type must be calculated prior to feed aggregation
Case #3662 - Improved the emptying of template cache
Case #3663 - Client area additional currency selection not working
Case #3664 - Alingment correction for intelli-search in V4 admin theme
Case #3665 - Improved HTML quoting to handle all character sets in admin logs
Case #3666 - Added required token to Block Sender Action in Admin Ticket View
Case #3670 - Update to WHOIS Lookup Links to use form submission for lookups
Case #3671 - Admin New Ticket Insert Predefined Reply lacking required token
Case #3672 - Add Predefined Product link in Quotes leads to invalid token error
Case #3674 - Updated plain-text email generation to strip entity encoding
Case #3676 - Remove debug die statement from Admin Ticket Merge via Options Tab
Case #3677 - Fix PDF batch export for more than one user
Case #3678 - Project Management: Should redirect back to project after attaching file
Case #3680 - Required Token added to Open New Ticket Client Search function
Case #3685 - PayPal Callback failing under certain conditions
Case #3686 - Redirect with User ID when deleting email from client profile
Case #3687 - cPanel and WHM Import Tool filter buttons failing
Case #3688 - Remove reliance on the escapeshellcmd() function
Case #3696 - Resolved Import Override from Admin Ticket Mail Import Log
Case #3697 - Email message sender shows quotes encoded
Case #3698 - Emails sent to Admin have erroneous entity characters for some fields
Case #3690 - Ensure all values are free of entities in PDFs
Version 5.2.13
- Release Type: TARGETED RELEASE
- Release Date: 21th November 2013
General
Case #2989 - Downgrade orders failing when no payment due
Case #3325 - Credit card processing fails with weekly retries enabled
Case #3467 - API GetClientsAddons fails on certain conditions
Case #3471 - Unable to download ticket attachments from first ticket message
Case #3515 - Add tilde to valid character list of redirect path
Case #3528 - Updated Smarty to latest 2.6.28 release
Case #3545 - Project Management settings redirect on save fails
Case #3482 - Improve default currency logic
Case #3641 - Allow MaxMind Service Type selection
Security
Case #3447 -- Redacted --
Case #3441 -- Redacted --
Case #3459 -- Redacted --
Case #3476 -- Redacted --
Case #3478 -- Redacted --
Case #3489 -- Redacted --
Case #3492 - Remove dependency on unserialize() for admin table sorting
Case #3495 -- Redacted --
Case #3530 -- Redacted --
Case #3554 -- Redacted --
Case #3580 -- Redacted --
Case #3581 -- Redacted --
Case #3584 -- Redacted --
Case #3585 -- Redacted --
Case #3587 -- Redacted --
Case #3589 -- Redacted --
Case #3603 -- Redacted --
Case #3605 -- Redacted --
Case #3606 -- Redacted --
Version 5.2.12
- Release Type: SECURITY PATCH
- Release Date: 25th October 2013
General
Case #3444 - Improved validation of monetary amounts
Case #3313 - Moneris Vault Gateway compatibility update
Case #3323 - Credit cards not processing under certain conditions
Case #3138 - Correction to internal logic for testing Authorize.net payment gateway
Security
Case #3464 - Information disclosure via the client area as published by 'localhost'
Case #3510 - HTTP Split Attack discovered by the WHMCS Development Team
Case #2633 - SQL Injection Vulnerability discovered by the WHMCS Development Team
Case #3281 - Privilege boundaries not being enforced on addons reported by Vlad C of NetSec Interactive
Case #3453 -Download directory traversal reported privately by an individual
Case #3268 - Lack of input validation in data feeds input discovered by the WHMCS Development Team
Case #3462 - Deficient Null Byte sanitization on input discovered by the WHMCS Development Team
Version 5.2.10
- Release Type: SECURITY PATCH
- Release Date: 20th October 2013
General
Case #3433 - Mass mail client filter for default language not working
Case #2566 - Resolved admin clients list displaying duplicates in certain conditions
Security
Case #3246 - Enforce privilege bounds for ticket actions
Case #3426 - Additional CSRF Protection Added to Product Configuration
Case #3232 - Added additional input validation to SQL numeric manipulation routines
Case #3437 - Prevent user input from manipulating IP Ban logic
Version 5.2.9
- Release Type: SECURITY PATCH
- Release Date: 18th October 2013
Security
Case #2978 - Fix for improper logging of admin login IP
Case #3100 - Remove exposure of SQL from user interface
Case #3364 - Additional validation on user IP
Case #3425 - Potential SQL Injection Fix
Case #3428 - Added password verification requirement to admin user management operations
Case #3430 - Potential SQL Injection Fix
Version 5.2.8
- Release Type: SECURITY PATCH
- Release Date: 3rd October 2013
Security
Case #3353 - Add sanitization for pre-formatted AES_Encrypt in queries
Version 5.2.7
- Release Type: MAINTENANCE RELEASE
- Release Date: 26th July 2013
Bug Fixes
Case #2950 - Invalid token on Mass Mailer steps
Case #2951 - Fix for PayPal callback returning HTTP 406 error on no amount
Case #2953 - Duplicate admin log entries upon login
Case #2954 - Repair link for Admin Clients Services Add New Addon
Case #2955 - Invalid Entity Requestd for Support Page/Module
Case #2956 - Revert SQL changes introduced by build 5.2.6.3
Case #2963 - Additional Domain Fields not saving input
Case #2965 - Correct SQL statement for Ticket Escalations Cron routine
Case #2960 - Improve installer logic
Case #2969 - Do not encode 3rd-party TCPDF
Case #2970 - Do not encode 3rd-party PHP Mailer
Case #2971 - Do not encode 3rd-party Google QR code library
Case #2974 - Fix for invoices with a zero total not being auto set to paid on automated generation
Case #2975 - Fix for Calendar Entry Type Checkboxes not retaining selection
Case #2977 - Calendar Entries Missing Addon Name for Predefined Addons
Version 5.2.6
- Release Type: TARGETED RELEASE
- Release Date: 23rd July 2013
Security
Case #2755 - Internal Security Audit & Code Refactor
Version 5.2.5
- Release Type: SECURITY PATCH
- Release Date: 16th May 2013
Security
Case #2633 - Correct security enhancement regression
Version 5.2.4
- Release Type: RELEASE
- Release Date: 23rd April 2013
General
Case #2139 - Updates to cron report email format to make it easier to read
Case #2045 - Added Affiliates Overview Report
Case #2053 - Added amount filter option to admin orders list
Case #2134 - Update to Transactions CSV Export to show Currency Code rather than Currency ID
Case #2045 - Domain Sync Cron Updated to not keep re-attempting to connect to the same registrar if a connection error occurs
Case #2045 - Update to Yubico module to remove hard-coded WHMCS references
Case #2115 - Fix for hard-coded text Manage and Disable in Client Area Domain Details Template File
Case #1880 - Update to Client Area Module Change Password in Default Template to return to password tab on submit
Case #1567 - Update to invoice generation process to not invoice billable items on new orders
Case #2127 - Added Support to Force Two-Factor Auth for Clients
Case #1852 - Fixed Missing Language Vars in Two-Factor Activation Process
Case #2058 - Within Last Month filter on transactions list updated to maintain between pages
Case #2020 - Language update to credit log to remove manual adjustment reference
Case #2057 - Admin manual attempt CC captures process updated to display processing results
Case #2064 - Update to continuous invoice generation logic to not invoice pending items on a recurring basis
Case #1950 - Update to admin Remember Me cookie name to resolve issues some are experiencing with remember me not working
Case #2123 - Added 30 minute time expiry to login failures IP logging
Case #2122 - Added support for wildcards in whitelisted IPs
Case #2118 - Update to Ticket Close routine to check ticket is not closed already before performing actions
Case #2117 - Update to logic of Ticket Notification Emails to only send to the assigned admin for a flagged ticket
Case #2045 - Update to admin ticket interface to not show replying message to own admin
Case #2045 - Updated clients summary view orders link to use new clientid variable
Case #2113 - Added access restriction to files that generate an error when visited directly
Case #2045 - Updates to Client Side Arabic, Farsi and Norweigan language files
Case #2045 - Update for jquery dialog to use new admin js variable
Case #2110 - Admin Area Homepage widget adjustments to optimise load times
Case #2063 - Updated Admin Credit Card Info Window to not allow viewing/input when credit card storage is disabled
Case #2109 - Updated Disable Credit Card Storage Security Setting to auto remove all existing card data
Case #2108 - Changed admin post login redirect variable to avoid possible confusion with client area redirect urls
Case #2107 - Update to auto focus cursor to first input box in login/two-factor verification and setup/disable two-factor processes
Case #2067 - Updated Default template to use a template include to remove code duplication
Case #1961 - Update to domain validation rules when IDN domains are enabled to perform stricter checks
Case #2098 - Cron update to allow cancellation requests to process for free products (those with no next due date)
Case #2039 - Updated module change password input field names in Classic & Portal templates + added backwards compatibility
Case #2047 - Update to ticket flagging logic to not send email notification when assigning a ticket to yourself
Case #2045 - Updated clients, orders, tickets & invoices filter lists to maintain filters on mass actions
Case #2044 - Update to support ticket department deletion routine to remove custom fields & their values
Case #2045 - Updated Admin Support Ticket Flagged Email Notification Template to link directly to the flagged ticket
Case #2016 - Added client name field to all data export reports
Case #2045 - Update to export reports to display friendly payment method name
Case #2018 - Added Registration Date field to Domains Data Export Report + Capitalised first letter of Registrar
Case #2007 - Cleaned up client area product details HTML output
Case #2045 - Added refresh protection to the client area affiliates withdrawal request
Case #2019 - Update to surpress Support Ticket Flagged notification for those admins it's not enabled for
Module Updates
Case #2104 - Skrill Gateway: Re-branded MoneyBookers module to Skrill
Case #2036 - TPPWholesale Registrar: Fixes + Added support for registrar lock, private ns registration & epp code requests
Case #2045 - WebNIC Registrar: Updates to resolve problem with transfers & contact editing
Case #2045 - Plesk 10: Update to allow API packet version overriding
Case #2138 - CentovaCast: Update from them themselves for CentovaCast V3.x
Case #2137 - Project Management: Bug fix for staff log report always displaying a whole year rather than selected date range
Case #1941 - Project Management: Fix for status being empty for newly created projects
Case #2136 - Project Management: Update to replace .live discontinued jQuery functionality
Case #2135 - IPMirror Registrar: Version 2.1 Module Update from them themselves
Case #2032 - 2CheckOut: Update to language detection to work with new lowercase names
Case #2022 - DirectAdmin: Update to disk/bw usage stats importing to handle URL encoding being applied in DirectAdmins latest update
Case #2045 - PayPal Payments Pro Reference Payments: Implemented 3D Secure Functionality
Case #2015 - Enom: Added new extension field requirements for .es, .au, .sg, .pro & .it
Case #2015 - Enom: Updated to prevent WHOIS contacts being edited when disallowed by registry rules
Case #2015 - Enom: Updated TransferSync function to use more call effective method of retrieving transfer info
Case #2006 - WHOIS Server Additions: .rs, .co.rs, .org.rs, .edu.rs, .in.rs, .ae, .pw
Bug Fixes
Case #2141 - Fix for JavaScript Error Occurring in Product Domain Config Step of Modern & Slider Order Forms
Case #2140 - Correction to language variable for Bundle Items in Bundle Product Configuration
Case #2045 - Fix for domain renewals page in cart not listing all renewal term options
Case #2089 - Fix for Project Management Activity Log Pagination not working
Case #2133 - Fix for admin page field alignment when custom fields share same name as default fields
Case #1955 - Fix for javascript error in Original admin view ticket template
Case #2132 - Fix for Admin Initiated Currency Update displaying update results
Case #1930 - Fix for KB Category display articles shifting up to beside to sub-categories
Case #2131 - Fix for Vertical Steps Order Form Template Complete Step missing formatting
Case #2023 - API AddTicketReply command ignoring passed in adminusername variable
Case #2045 - Banned Emails Config Page always displaying an empty table
Case #2000 - Fix for one time fixed amount promo codes giving a zero discount on invoice under certain conditions
Case #2059 - Client area cancellation request cancel domain option non-functional
Case #2045 - Cookie unset not applying WHMCS prefix to cookie name
Case #2004 - Fix for client area support ticket list returning no results under certain conditions
Case #2070 - Fix for contact sub-account activation client side for existing contacts
Case #2009 - Fix for Mass Domain Enable Auto-Renew leaving auto-renew disabled & WHOIS Contact Info returning error
Case #2116 - Fix for CVV Number not being passed into 3D Secure process on new card entry
Case #2112 - Fix for contact ID setting being lost on admin ticket options save
Case #2024 - Fix for $invoice_html_contents email merge field displaying double line breaks in item descriptions
Case #2092 - Fix for product group order form template override not taking effect for all cases
Case #1972 - Anniversary Prorata not working correctly under certain conditions
Case #2061 - Admin notification emails being sent to disabled administrator users
Case #2031 - Cron notification email not listing service ID used in terminations list due to incorrect var
Case #2038 - Fix for payment gateway ordering in new invoice view
Case #2072 - Credit card remote token storage being called before new name/address info was saved
Case #2068 - Fix for predefined product price not being loaded correctly in quotes
Case #2068 - Update to states dropdown javascript to support tab index value being defined
Case #2010 - Fix for Client Area Two-Factor Backup Code Login Input Field Restriction
Case #2066 - Update to Default Client Area Products listing to not show dropdown menu if no menu items available
Case #2021 - MyIDEAL gateway module referencing incorrect path
Case #2005 - Product bundle display order not being honoured
Case #1289 - Added addon status change hook function calls to UpdateClientAddon API function
Case #2099 - Fix for link type custom fields saving values in an HTML link format
Case #2045 - Suspension Reason was not always being cleared on unsuspend
Case #2045 - Client stats for number of refunded/collections invoices were incorrect
Case #2027 - Fix for API GetClientsDetails function causing iPhone/Android App Failure
Case #2025 - Fix for invoice not displaying tax names under certain conditions
Case #2026 - Client area not displaying login incorrect message when login form submitted blank
Case #2046 - Update to prevent Support Ticket Flagged admin notification email sending upon unflagging
Case #2045 - Custom module action success language variable named incorrectly
Version 5.2.3
- Release Type: RELEASE
- Release Date: 28th March 2013
Bug Fixes
Case #1999 - Added the ability to disable two-factor auth for a client from the admin profile page
Case #1980 - Fix for DirectAdmin Module having fatal error in certain conditions
Case #1997 - SagePay Tokens: Update to fix incorrect CVV number parameter name and to force skip 3D Secure on recurring transaction captures
Case #1980 - Project Management Addon: Update to handle no due date better and display message instead of long time days overdue
Case #1980 - Boleto Gateway: Update to ensure bank value is one of the supported options
Case #1913 - Update to custom fields validation logic in Validate class to only enforce rules on non admin only fields
Case #1980 - Correction to language used in Send Message & Email Marketer re clients who have opted out of marketing emails
Case #1980 - Added tag search option to admin area advanced search
Case #1988 - Update to admin invoice view to make invoice payment methods clearer with notices re no transactions, full paid by credit and/or partially paid by credit
Case #1839 - Update to WHOIS Servers for new response formats
Case #1923 - Fix for Two-Factor Auth failing to enable within the client area
Case #1914 - Fix in Income by Product Report for negative value on discounts
Case #1980 - Clients chosen language was not being loaded for addon modules client area output
Case #1980 - Update to Licensing Addon to auto clean up orphaned mod_licensing records where product table entry is deleted and to optimise licensing log via daily cron
Case #1980 - Update to Ticket Escalations page to make auto reply box bigger by default
Case #1978 - Update to client email sendMessage() function to override default X-Mailer PHPMailer value with company name
Case #1919 - Fix for client area WHOIS edit always erroring out re empty details if not using a contact + fix for child nameservers management missing variables
Case #1995 - Fix for date filters in Client Statement not working due to new toMySQLDate() formatting and filter not including end date
Case #1993 - Fix for PDF Invoices showing raw HTML in notes with multiple lines and adding double line spacing to line items
Case #1816 - Update to addon suspensions via cron to adhere to the parent products override suspension settings also
Case #1794 - Updated Auto-Termination via cron to apply to Addon Products also
Case #1693 - Update to Support Ticket email sending routine to use client area language setting if a guest
Case #1680 - Update to omit Recurring Amount line from Order Confirmation Email for One-Time products
Case #1620 - Custom Invoice Number not being set by EU VAT Addon Hook before invoice payment confirmation is sent if invoice is auto paid by credit
Case #1987 - Fix for invoice data amountpaid variable not being formatted as currency
Case #1939 - Fix for addon item calendar links linking to old file and with incorrect parameters
Case #1920 - Fix for adding calendar event mangling date/time
Case #1921 - Fix for Time Based Tokens displaying WHMCS company name to clients
Case #1903 - Fix to prevent systpl or carttpl template override parameters validating when empty
Case #1796 - TransIP Registrar: Major update to module for improved reliability and functionality
Case #1802 - VentraIP Registrar: Update to only perform remote callout to their API if module is activated
Case #1980 - Fix for warning error being generated by domain $params not being passed into domain modules AdminCustomButtonArray function
Case #1817 - Added TPP Wholesale Domain Registrar Module which replaces DistributeIT, PlanetDomain & TPPInternet
Case #1968 - Implemented all new methodology for admin services page ajax module commands to resolve issues with certain areas of the page not updating following actions
Case #1916 - Update to client summary mass update logic to only run SQL queries if there is at least one update to perform
Case #1980 - Fix for Admin Area On Demand Invoice Generation no longer displaying number of invoices generated
Case #1870 - Added trim to custom ticket statuses to avoid erroneous spaces at the beginning or end of a status
Case #1757 - GoCardless Gateway: Update to replace a linked button which doesn't work in IE with a standard form
Case #1980 - Update to logic of hidden configurable options to ensure they only show up within the admin area
Case #1994 - Fixed bug where modules containing underscores in their names would not be loaded
Case #1942 - RRPProxy Registrar Module: Updated to handle curl connection errors better
Case #1931 - Correction to charset encoding of Arabic language file + additional translations
Case #1974 - Fix for Client Two-Factor Auth Login Processing
Case #1992 - Integrated Enom New TLDs Addon Module as a bundled addon
Case #1980 - Update to admin side quotes creation page to only load line items if ID is set to prevent new quotes ever showing orphaned line item records
Case #1911 - Fixed LocalAPI validation warning errors occurring in AddClient request
Case #1944 - Fix for fatal error occurring due to missing function in API GetAdminDetails function
Case #1983 - Fix for check all box not working on support tickets list when a user has assigned tickets
Case #1952 - Reverted change to .de whois server which was causing lookups to fail
Case #1982 - Fix for ajax ticket flag/assign not sending ticket flagged notification email
Case #1967 - Updated the admin ticket list to remember and return to previous filters after replying to a ticket
Case #1909 - Fix for client area applying credit to invoice failing
Case #1991 - Fix for auto recalculate on save using old packageid and promoid values and therefore not re-calculating price correctly
Case #1989 - Fix for registrar lock not enabling due to missing input name in the Default template
Case #1956 - Update to MyIdeal payment gateway certificate file
Case #1980 - Update to 3D Secure template file iframe to increase default width for newer wider 3D Secure processes
Case #1986 - Fix for Client Profile checkbox settings change logging not working correctly and added No Changes notice when form submitted without any changes
Case #1989 - Switched positioning of Add Response and Insert Predefined Replies/KB Article buttons in new admin View Ticket interface in Blend and V4 themes
Case #1980 - Added quick Close and Assign to Me links to new Blend and V4 Admin Theme View Ticket Pages + removed extra div causing extended blank space in V4 version
Case #1980 - Updated administrator roles admin page to show disabled users as greyed out
Case #1980 - Fixed bug where in use admin roles were being allowed to be deleted
Case #1980 - Fixed assigned departments listing for disabled administrators
Case #1953 - Update to billable items edit/save logic to work for decimal quantities of less than 1 and zero
Case #1958 - Correction to last reply field label in ticket feedback template in both classic and portal templates
Case #1984 - Update to license expiry date formatting in admin area
Case #1840 - Removed duplicate client area contact navigation client area language file variable
Case #1845 - Replaced hardcoded text in admin support tickets list and Blend admin homepage template
Case #1980 - Update to support tickets admin assignment/flag list to only show active admins (plus the one a ticket is actually flagged to if not active)
Case #1977 - Update to MoneyBookers Gateway Module
Case #1976 - Update to client details change notification email to fix missing client name and admin area profile link
Case #1965 - Fix for department names and emails not being loaded in Tickets Management
Case #1962 #1963 - Added disk and bandwidth percent usage return values to getDiskUsageStats function
Case #1938 - Bulk Domain Transfer in Default client area template displaying registration pricing and periods not even enabled for transfers
Case #1883 - Update to Ticket Closure routine to only send Feedback Request Email if feedback not already provided for a ticket
Case #1461 - Added userid variable to AdminAreaClientSummaryPage hook point
Case #1904 - API AddClientNote Command inverting sticky attribute
Case #1940 - Userid not being populated when admin clients domains page linked to with only an id
Case #1943 - Fix for admin client profile page always selecting English in client language dropdown when none set due to validateLanguage validation function
Case #1910 - Fix for product/service modules _ClientArea function not passing returned vars to template correctly
Case #1928 - Fix for Ticket Tags not saving initial delete change
Case #1954 - Updated payment gateway descriptions to use invoice number if set rather than invoice id
Case #1934 - Updated Email Prompt in Expired & No Connection License Error Messages + Some Minor Text Adjustments/Improvements
Case #1935 - Fix for Service Class not passing vars into buildParams function correctly
Case #1937 - Gateway ID not being passed into token gateway modules storeremote delete function when clearing card
Case #1948 & #1945 - Captcha input not being shown on client area homepage when enabled + update to naming language in default template
Case #1932 - Fix for client status update setting not being saved in Automation Settings
Case #1933 - Update to Affiliate Signup Button Code in Classic & Portal Templates
Case #1936 - Update to make admin side transaction list filter use a like match on description field
Case #1935 - Fix for client area change password function not passing new password into modules because module params already loaded prior
Case #1905 - Fix for client area product upgrade process fatal error on checkout step order confirmation
Case #1929 - Default language select option was being duplicated in mass mail
Case #1925 - Fix for product name email template var empty in New Cancellation Request admin notification & type not being sanitized prior to email
Case #1907 - Fixed missing include in API UpdateTicket function causing ticket closure to fail
Case #1900 - Project Management Addon Editing Task Times formatting error leading to empty value
Case #1899 - Fix for cron not adhering to Exchange Rates & Product Pricing Update Automation Config Settings
Case #1902 - Fix for currency update failing
Case #1901 - Fix for override auto suspend setting being ignored in cron
Case #1908 - Fix for cancellation request reason being overwritten by type, and type always being set to End of Billing Period
Version 5.2.2
- Release Type: RELEASE
- Release Date: 14th March 2013
Bug Fixes
Case #1896 - Domain registrar modules reporting function not found erroneously
Case #1855 - Added CSRF Token Management User Configurable Settings to General Settings > Security
Case #1855 - Updated Domain Checker to default to no token check
Case #1895 - Updates to allow for Smarty Backwards Compatability in Third Party Pages & Addons
Case #1890 - Fix for total balance always showing as zero
Case #1865 - Reverted upgrade process changes temporarily to resolve upgrade process debug output & errors
Case #1857 - Update client area chage of default payment method not passed into ClientEdit hook
Case #1861 - Update shopping cart header redirect to CC Processing page logout due to lack of token
Case #1893 - Update JS Class for Yubico Key Setup Process
Case #1868 - Quotes PDF File missing notes
Case #1881 - Email Registrar module displaying Function not Found on admin side due to missing GetNameservers function
Case #1891 - Admin side domain management function calls refactored to include $params array
Case #1869 - Fix Client area module template output failing when custom template is utilized
Case #1853 - Client area ticket search causing logout due to token check failure
Case #1873 - Correct SQL query to use selected server for server revenue forecast report
Case #1887 - Admin profile language not being stored during logout
Case #1871 - Update Domain Sync functions for license handling
Case #1876 - Invoice payment link variable not populated in invoice related email templates
Case #1888 - Implement new dbconnect.php file to maintain backwards compatibility with files that rely on it.
Case #1886 - Added handling of pattern matching for custom fields
Case #1882 - Product Group Re-Ordering due to SQL order keyword not escaped
Case #1874 - Remove second duplicate invoice button from admin invoice list
Case #1848 - Update to captcha variable name
Case #1886 - Revert smart class customizations to not error out blank page upon syntax errors
Case #1884 - Credit Card details cannot be cleared form the admin area
Case #1885 - Client Area Credit Card process attempting to validate custom fields
Case #1850 - Password reset failing due to email not passing to templates
Case #1879 - Update client area module change function not updating displayed password until page reload
Case #1878 - Update client area module change password function calls
Case #1877 - Return from registrar modules not being handled correctly when not an array
Case #1875 - Fix for failing domain management actions due to incorrect function call params
Case #1822 - Two Factor SQL Fields updates
Case #1856 - Fix Domain checker attempting to validate captcha input even when not enforced
Case #1864 - Fix PHP Fatal Error occurring when registrar module saving name server returns an error admin side
Case #1863 - Fix admin side filtering order list by date
Case #1862 - Update auto-recalc reoccurring amount and logging calculation
Case #1862 - Correct servers losing ID in array_merge causing selected server to be lost on Admin Client Profile
Case #1849 - Fix for API Allowed IPs being cleared when settings are saved
Case #1860 - Update PHPMailer class to address bug with email validation logic
Case #1822 - 5.2.0 SQL update skipped when updating from 5.1.4
Module Updates
Case #1858 - [ Live Chat ] - Update license checking mechanism
Case #1859 - [ Live Chat ] - Updated Client Side Hook file to be compatible with 5.2.x
Case #1889 - [ ResellerClub ] - Update module to return friendly error when API is missing
Version 5.2.1
- Release Type: RELEASE
- Release Date: 12th March 2013
New Features
Case #1772 - Update to log date & ip with ticket feedback submissions
Case #1772 - Added New Reports: Ticket Feedback Scores & Ticket Feedback Comments
Case #1418 - Added New Client Sources Report (aka How Did You Find Us)
Case #1779 - Updated VAT Number validation hook to use the SOAP service provided at VIES directly
Case #1746 - Re-factored invoice display logic
Case #1768 - Update to support ticket bounce email to add global header/footer email wrapper
Case #1768 - Added graceful exit handling to admin side clients domains page when no domains found for user
Case #1788 - Updated invoice totals to show as total+credit in all invoice lists both client & admin side
Case #1418 - Updated order details view to show exact invoice payment status and disable Cancel & Refund option once refunded
Case #1662 - Licensing mechanism updates to add further license server redundancy supportlicense server redundancy support
Case #1768 - Update to clients services page to immediately change status dropdown value (both main status and license status when licensing module in use) upon success result from new ajax module commands
Case #1795 - Update to conditionally include payment modules in cart for integrated checkout
Case #1255 - Implemented Two-Factor Authentication Logic & Support to Admin Login Process
Case #1418 - Updated transactions & gateway log query logic & added default date range filters to speed up initial page load on larger installations
Case #1586 - Fixed ticket tagging JS code double calls on load and incorrect saving on update with class update and function call changes
Case #1586 - Optimised admin support ticket page loads by separating JavaScript code into separate JS file
Case #1418 - Updated old wiki/docs link in all locations and added new comment format to open sample files
Case #1586 - Implemented Tag Cloud to admin ticket list & created ticket tag report/chart
Case #1803 - Redesigned admin reports interface to display reports in groups, removed legacy CSV export options, converted transactions and pdf export methods into report modules, and updated admin templates to display most used reports in reports menu dropdown
Case #1804 - Implemented line graph to Daily Performance Report
Case #1255 - Added Staff Management & Two Factor Authentication management links
Case #1803 - Fix for reports dropdown menu list in original and v4 templates
Case #1768 - Reverted TCPDF Class to previous version due to memory leak issue in latest update
Case #1586 - Implemented support for ticket tags with auto-complete suggestions
Case #1586 - Optimised & improved admin side handling of JavaScript code
Case #1586 - Optimised blend template loading by moving common JS into separate file
Case #1811 - Began re-factoring of client area
Case #1798 - Ported new admin view ticket styling from Blend template into V4 template
Case #1797 - Added checkbox to allow for splitting replies to Blend & V4 admin templates
Case #1815 - [API] Added Windows 8 App Addon Licensing Status return to GetAdminDetails API Function for use in upcoming Windows 8 App
Case #1818 - Refactored Session Handling product wide and updated to apply HTTPOnly attribute
Case #1819 - Refactored cookie handling and updated to apply HTTPOnly attribute by default for all cookies + updated affiliate & link cookies
Case #1822 - Added gridlines and minorgridlines count options support to graph class and updated head output for new admin interface array method
Case #1822 - Added protection against sending of blank emails to customers when email processing fails
Case #1824 - Added an option to enable showing client only departments to non logged in users visiting the ticket submission department selection page
Case #1822 - Various minor improvements and fixes to new code
Case #1825 - Updated get user ip function to use X-Forwarded-For value from apache request headers if available - primarily for our server setup
Case #1827 - Update to language of both ResellerClub and Enom modules account signup promo
Case #1811 - Created New Client Area & Service Classes & Re-factored frontend client side code
Case #1681 - Updated shopping cart to use localised status name in domain renewals
Case #1409 - Added extra conditional link parameters for affiliates and domain reg options and updated all client area templates to show/hide affiliate and domain reg menu options based on conditional status
Case #1761 - Updated domain breadcrumb links to include link back to domains details
Case #1823 - Moved admin homepage optimize image tag call from after closing HTML tag to bottom of the page body using AdminAreaFooterOutput hook point
Case #1751 - Updated ticket submission page in all client area templates to display a no departments found error msg when no support departments are configured
Case #1822 - Added check to 2FA time based tokens module to ensure GD image library is available before attempting to display QR image
Case #1830 - Updated Request Support page to provide additional help links and to provide customised message to reseller customers
Case #1822 - Removed sidebar workaround for Blend template in admin internal browser page since Blend template now has a sidebar
Case #1832 - Refactored cron process to make it possible to not only skip certain actions, but also to request only specific actions are performed
Case #1832 - Added CLI Output & Debugging flag options to make troubleshooting cron issues easier
Case #1822 - Added the ability to link to the internal browser page with a link pre-selected (?link=x)
Case #1806 - Update to WebsitePanel module to use hostname instead of IP for control panel links when hostname is specified
Case #1768 - Update to automatically grant access permissions to new functionality to default admin role groups as appropriate
Case #1768 - Added missing ticket notifications language file variable and additional variable for when no support departments exist
Case #1768 - Added the ability to specify a different department and/or priority for split ticket & updated to hide split tickets button when no replies available to split
Case #1822 - Added label tags to many more of the admin interface config fields/settings
Case #1649 - Added new escalation rules text to language file and previously missing priorities
Case #1822 - Added dedicated isLoggedIn function for checking for active client login
Case #1822 - Update to admin ticket departments config page to prevent refresh resubmits and to remove empty space displaying for admins with only a first name specified
Case #1822 - Updated in product links to use our go.whmcs.com link tracking for MaxMind, Enom, ResellerClub, Licensing & Project Management modules
Case #1822 - Added Premium badge to paid addon modules and improved/streamlined license enforcing/purchase/refreshing process
Case #1768 - Update for contact permissions error not working on pages using the new client area class
Case #1822 - Added new permissions for viewing/managing credits
Module Updates
Case #1755 - [ResellerClub] Implemented New API Key Auth Method for Improved Security
Case #1822 - [ResellerCamp] Removed old ResellerCamp sync module file and replaced with domain sync cron functions
Case #1822 - [Enkompass] Removed x3 theme from Enkompass login links
Bug Fixes
Case #1768 - Fix for endless redirects on shopping cart when no product groups have been setup
Case #1768 - Correction to image path in Original and V4 admin templates for dropdown menu popout icon
Case #1768 - Install process confirm password field type corrected to hide password, automatic url detection fixed to exclude step variable, and validation added to prevent install form being submitted with blank admin details
Case #1768 - Shopping Cart checkout step is grabbing IP directly from REMOTE_ADDR value instead of using get_user_ip function which was resulting in IP displaying incorrectly in certain scenarios
Case #1768 - Update to installer to create admin user under utf-8 charset like rest of app runs under
Case #1746 - Update to ticket department reassignment emails to obey ticket notification settings per admin
Case #1768 - Adds the missing closing </a> tag for Edit Product Icon image on configproducts.php
Case #1768 - V5.2 Upgrade was not working for users of V5.1.3 Patch Release
Case #1768 - Ticket Duration calculating incorrectly when ticket contains no replies & generic comments row being created even when no comments submitted
Case #1768 - Update to menu expand icon to be black by default for lighter menu backgrounds, and white expand icon made blend template specific only
Case #1791 - Provide a valid return value (the PDF object) in the createPDF method of the WHMCS_Invoice class
Case #1709 - Sorting My Domains list by Auto Renew wasn't working
Case #1763 - Missing "Success" message when domain contacts are edited
Case #1793 - NetworkIssueClose should run when editing network issue status to closed
Case #1768 - Invoice related emails not sending due to userid not being populated correctly
Case #1768 - Fixed admin homepage popup not hiding until next content update correctly
Case #1812 - Added missing login to enkompass language file variable and updated module to use it
Case #1418 - Corrected SQL query for calculating addons ordered in the Monthly Orders report - was previously giving total for entire year
Case #1808 - Correction to gid int casting which was causing cart to permanently redirect to domain registration step on initial visit
Case #1822 - Default template KB search not remembering search term and returning to homepage on 2nd search if empty catid parameter
Case #1768 - Fix to client area details validation routine giving error relating to email and uneditable profile fields
Case #1768 - SQL Error Occurring in specific admin email send routine + Optimization to logActivity function to only query username once per runtime
Case #1822 - No addons message in Default client area product details template incorrect colspan
Case #1768 - Suspension reason stops being recorded after & character due to missing url encoding
Case #1768 - Incorrect billing cycle variable for when adding a new addon & Services dropdown menu showing last rows color for active services
Case #1768 - Service edit form not being closed when addons are edited causing send message to fail
Case #1771 - Update to support ticket billing entry to auto prune any non numerical chars from amount
Case #1821 - Replaced hardcoded word "Go" with language variable in 2 client area & 4 order form template files
Case #1822 - Fixed create new project dialog not saving ticket number
Case #1822 - Stats query optimisations & bug fix for SQL error that was being generated every time support ticket page was accessed when admin not assigned to any departments
Case #1768 - Some addon downloads were not being displayed in the client area product details downloads tab
Case #1768 - No Totals to Display text was not being shown on empty Transactions list page
Case #1768 - Added support ticket notification customisation settings back to admin users My Account page
Case #1768 - Changed email encoding from 8bit to quoted-printable to resolve issue of erroneous characters/spaces on long lines of text
Case #1768 - Update to automatic ticket close logic to only send Support Ticket Auto Close Notification email template if Ticket Feedback is not enabled since it already sends it's own email on closure
Case #1768 - Update to invoice loadData function which was failing in some situations due to subquery for gateway name returning more than 1 row
Case #1833 - Update to various third party classes to remove deprecated assigning of return value by reference
Case #1768 - Update to init file to prevent it erroring or failing with a blank page during upload of the new version
Case #1768 - File download page erroring out blank when login was required due to missing var
Case #1768 - Include product downloads in directory setting being displayed twice in General Settings
Case #1773 - Update to predefined search box so that field doesn't expand past the edge of the box when no predefined replies exist + added search icon to search box as background
Case #1800 - Affiliates commission list showing incorrect amount if no payment made yet and has a different first payment amount
Case #1768 - Configurable Options Radio Button was echoing checkbox checked rather than appending to input code HTML
Case #1768 - Free addons generating invoice upon adding from admin side due to no exclusion on free billing cycles in specific items invoicing routine
Case #1768 - Addon products on services page using wrong variable for ID in edit and delete links rendering them unmanagable
Version 5.2.0
- Release Type: BETA
- Release Date: 1st February 2013
New Features
Case #1585 – Implemented new ticket listing interface which separates flagged tickets from others
Case #1644 – Added friendly warning if adding payments to an already paid invoice
Case #1760 – Admin side WHMCS news/notification popup for release announcements & special offers
Case #1626 – Introduced IP Whitelisting Support from Bans
Case #1719 – Updated provisioning modules to return rather than echo
Case #1756 – Introduced dedicated product news feed
Case #1756 – Updated news widget to use dedicated product news feed
Case #1756 – Updated check for updates page to use dedicated product news feed
Case #1418 – Update module command buttons to use ajax to avoid page reload
Case #1719 – Add additional logging for admin services actions to activity log
Case #1505 – Allow client to enter desired new password when visiting reset verification URL
Case #1449 – Add logic for API addorder for invoices paid by credits
Case #1418 – Add pagination to spam control page
Case #1418 – Optimize ticket counts query for admin pages
Case #1418 – Language Case update for admin account page
Case #1418 – Redraw charts for when no chart widgets are active
Case #1418 – Update to Knowledge Base categories listing
Case #1726 – Implemented search for predefined replies management
Case #1725 – Added Arabic client area language file
Case #1573 – Improvements to tblcontacts
Case #1725 – Added Catalan client area language file
Case #1725 – Added Croatian client area language file
Case #1725 – Added Farsi client area language file
Case #1725 – Added Hungarian client area language file
Case #1725 – Improvements to Portugese & Portuguese Brazil client area language files
Case #1725 – Improvements to Spanish client area language file
Case #1725 – Implemented new Spanish admin language file
Case #1481 – Improvements to French Language file
Case #1612 – Added HTML stripping to default template client area homepage news snippet
Case #1585 – Added the ability to split support ticket replies out to new tickets
Case #688 – Added the ability to enter transaction ID for manual refund
Case #688 – Updated invoice interface to disable refund button if unavailable
Case #1754 – Implement code to obtain custom fields and update data based on values posted
Case #1728 – Created WHMCS API Helper File v1.0
Case #1672 – Implemented Email Marketing Unsubscribe Option for Clients
Case #1575 – Additional logging relating to quote management & quick links from log itself
Case #1651 – Added custom fields display to printable version of support tickets
Case #1649 – Add memory of ticket list filter selections between page loads
Case #1418 – Removed arbitrary credit balance edit field and added dedicated Remove Credit option
Case #1599 – Added LicensingAddonReissue hook
Case #1345 – Ability to edit security questions
Case #1440 – Added email template merge field for product description
Case #1556 – Log date/time to ticket logs when auto-closing ticket
Case #1536 – Allow knowledge base articles to be available when opening a new ticket for client
Case #1437 – Added the ability to duplicate an existing invoice and line item(s)
Case #1418 – Allow mass mails to be sent from services listing
Case #1537 – Allow company name in client sort filters for admin invoice list
Case #1418 – Add variable to load template dropdown ensuring that Send Multiple is carried across
Case #1565 – Ability to disable admin accounts
Case #1418 – Refactoring of system wide page structure to use new single initialisation file
Case #1565 – Hiding of deactivated admin users from Tickets & To-Do Lists
Case #1474 – Ability to disable auto-status change to inactive for clients without products/services
Case #1312 – Introduce duplicate bundle function
Case #1582 – Introduce ability to restrict subdomains when offering free subdomains
Case #1743 – Admin ticket notification system now works independently from department assignments
Case #1418 – Introduced credit card info full clear function for admin usage for local & remote storage
Case #1449 – Introduced API function AffiliateActivate
Case #1449 – Introduced API function GetAffiliates
Case #1449 – Introduced API function GetCancelledPackages
Case #1449 – Updated API function AddOrder
Case #1449 – Updated API function AddProduct
Case #1449 – Updated API function GetInvoices
Case #1449 – Updated API function UpdateClient
Case #1449 – Updated API function UpdateProject
Case #1465 – Introduce autolinking of urls to client & ticket notes
Case #1418 – Introduce permission check to admin invoicing within ticket
Case #1752 – Introduce new global validation logic & implemented throughout
Case #1398 – Added AfterFraudCheck Action Hook
Module Updates
Case #1742 – [ VentraIP ] – Commit updates to latest version v1.5.2
Case #1212 – [ 2CheckOut ] – Updated transaction callbacks logging for refund processing on reoccurring payments
Case #1669 – [ WeNIC ] – Add handling for .asia & .tw specific field requirements
Case #1418 – [ BizCN ] – UTF-Bytecode fix for handling IDN domains
Case #1602 – [ cPanel ] – Not retaining dedicated IP on package change
Case #1418 – [ Amazon Simple Pay ] – Updated to allow proper refund processing
Case #1698 – [ IPPay ] – Update for new transaction processing URLs
Case #1686 – [ FreeRadius ] – Introduced Free Radius module
Case #1687 – [ Ahsay Backups ] – Introduced Ahsay Backups Module
Case #1694 – [ Helm ] – Updated class to resolve login button in clientarea
Case #1692 – [ CCAvenue ] – Allow display notice at Invoice Payment to client informing a manual review is required
Case #1470 – [ VPS.Net ] – Added missing images folder
Case #1594 – [ SecureTrading ] – Update to latest version
Case #1593 – [ ResellerClub SSL Module ] – Strip URL prefixing from domains when generating approval emails
Case #1600 – [ Stargate ] – Update domain sync functionality
Case #1600 – [ NetEarthOne ] – Update domain sync functionality
Case #1418 – [ Plesk ] – Packet version loaded from configuration file
Case #1690 – [ ResellerClub ] – Improve handling for >64 Character Address’
Case #1460 – [ ResellerClub] – Transfer function not defining the full state value
Bug Fixes
Case #441 – License check code to now show branding for branding free live chat
Case #1396 – Numerous WHOIS Server definition updates
Case #1418 – Ticket Masks containing “%i” failed to generate
Case #1746 – Refactor class design for future expansion & optimization
Case #1623 – Improve duplicate TLD Routine to automatically at ‘.’ prefix if missing
Case #1722 – Update cart.php to not redirect when confdomains exists
Case #1418 – Updated API variables to allow separation of send to registrar and autosetup
Case #1418 – Update API Variables in AcceptOrder function
Case #1418 – Clean up second renewals SQL Query
Case #1449 – Clean up if statements in updateclientdomain
Case #1583 – Prevent gateway from being disabled if only 1 is enabled
Case #1540 – Split permissions for Manage Predefined Replies
Case #1577 – Update CVV Fields
Case #1433 – Addclientnote & Addticketnote API function not parsing carriage returns
Case #1449 – Improve autorecalc section to include promotion codes that were passed in update
Case #1590 – Added autoauthkey to configuration.php when key is updated
Case #1584 – Mail in Payment option now redirects straight to invoice
Case #1553 – Printable Version within Quotes unavailable by default
Case #1684 – Update function to use existing next due date for incrementing nextinvoicedate
Case #1388 – Check if admin has “Add “Transaction” permission when applying payments to invoices
Case #1418 – Remove hard coded text in KB Search box default template
Case #1542 – Upgrade/Downgrade section in client area shows free domain is offered – misleading
Case #1585 – Improve split ticket functions
Case #1474 – Expand logic around auto-status change for clients
Case #1418 – Introduce error message to all error checks as not all contain “response_text”
Case #1431 – Add logging of changed fields to activity log
Case #1677 – Prevent admins deleting themselves
Case #1743 – Updated Smarty class to latest 2.x release
Case #1743 – Updated PHPMailer class to latest stable v5.2.2
Case #1418 – Added custom fields array to clients detail
Case #1555 – Complete refactor of language handling system
Case #1418 – Implement nl2br formatting to admin client notes
Case #1577 – Add CVV input field for Admin & Client side cart update forms
Case #1673 – Prevent unknown editing of client side card data
Case #1431 – Add logging on ticket boxes with status as Enabled or Disabled
Case #1418 – Correct language for billable items invoice confirmation dialog
Case #1431 – Improve logic for logging change fields
Case #1609 – Bulk domain check may result in unformatted return
Case #1418 – Password input field type to hide input in Web 2.0 Cart login template
Case #1549 – Added ‘empty’ to configurableoptions variable in recalcRecurringProductProce function
Case #1433 – Carriage returns not parsed by client notes
Case #1538 – Unable to filter tickets in client area
Case #1532 – Server revenue forecast includes inactive servers
Case #1086 – Ajax cart domain addons not refreshing cart summary
Case #1418 – Complete button changed to please wait upon click
Case #1294 – Message preview stopping at ‘&’ character
Case #1485 – Re-introduce TinyMCE rich text editor for admin area text fields that support HTML input
Case #1418 – Introduce delete transaction permission check to admin invoice transaction deletion
Case #1569 – Billing Cycle & Configurable options not updating price summary
Case #1535 – Ensure that multiple partial refunds don’t exceed the original transaction fee amount
Case #1644 – Allow admin to add payments to a paid invoice
Case #1645 – Next Due Date not being emptied when changing from reoccurring to free in products & product addons
Case #1626 – Refactor Whitelisting IP logic to remove unnecessary queries and improve logic
Case #1418 – Reintroduce SMTP Debug flag for configuration.php
Case #1672 – Reintroduce portral template files
Case #1626 – Whitelisted IP address shown never be banned
Case #1754 – Revert naming of AddtoLog function to addTicketLog
Case #1701 – Remove duplicate pwstrength JS code from clientregister on default theme
Case #1418 – Correct language whitespace output
Case #1675 – Adjust sales tax liability report to tax + credit = total
Case #1675 – Switch Tax & Credits column for more human friendly readability
Case #1565 – Fix SQL errors caused by no department set for admin
Case #1418 – Update variable “type” to “listtype” to avoid conflict
Case #1702 – Update income by products report to work with currency selector
Case #1702 – Resolve units sold column always empty
Case #1730 – Remove duplicate Cleint ID field in admin lang file
Case #1412 – Domain Renewals Grace Period & Minimums loading from config file
Case #1417 – Correct Admin invoice number search
Case #1479 – Client area Tasks ‘Due In’ corrected
Case #1419 – Update MySQL list tables function
Case #1418 – Mass domain management auto renew improvements
Case #1191 – Backups failing due to database name unavailable
Case #1418 – Message preview button returns no results with rich text editor
Case #1418 – Update dbconnect.php for API Access & Disable Vars
Case #1418 – Fix new admin session vars for mobile login
Case #1425 – Lanugage change in client area not being retained between page loads
Case #1418 – Currency ID has been updated to show currency code
Case #1430 – Resolve CSV download error when reports contain a graph or geo-chart
Case #1429 – Resolve load problems with graph or geo-chart data when viewing print report version
Case #1435 – Update important field to sticky on orders detail view for client notes
Case #1418 – Knowledge base searches fail with syntax error when no term is specified
Case #1418 – Cron user status switch generating MySQL error due to incorrect function call
Case #1448 – Resolved support ticket edits when attachments are present
Case #1454 – Introduced human readable error message for graphs when JSON is not available in PHP
Case #1301 – Resolved Slider Order Form only accepting lowercase domain input
Case #1439 – If due date is 0000-00-00 thens suppress auto suspend/terminate
Case #1428 – Resolved Support Ticket overview widget JS error when a department contains a special character
Case #1747 – Custom order status removing provisioning/welcome email option from order details page
Case #1682 – Annual income reporting adding previous years fees & amount out instead of sutracting
Case #1740 – changeOrderStatus() now savesPending Transfer correctly for Domains with type=Transfer
Case #1446 – Support Ticket Ratings Review Report update to apply message formatting to ticket replies
Case #1727 – Paid invoice process attempting to combat multiple invoices being assigned the same number
Case #1418 – Add payment button in admin invoice page not greyed out when disabled
Case #1723 – Require admin addon modules to validate module name
Case #1418 – Cart should pre-select stored country when passed via session
Case #1707 – Implement smarty variables to allow template mods to query more info on affiliate referrals
Case #1418 – Better handling of invalid affiliate ID passed into manage affiliates page
Case #1418 – Reimplement TinyMCE Rich Text Editor for network issues
Case #1746 – Ensure gateway module callback files reference correct include path
Case #1439 – Reverted unneeded query change for optimization
Case #1683 – Resolved TinyMCE converting URLs
Case #1558 – Password password checking not working on comparison template
Case #1552 – Updated POP Import field names to be more conscience
Case #1666 – .DE Domains registration showing text field rather than yes|no ticket box
Case #1638 – Client notes area does expand correctly caused by additional divs end
Case #1423 – Admin support ticket widget not handling zero ticket count present on new installs correctly
Case #1566 – Update billable items logic to automatically recalculate amount when qty/hrs is updated
Case #1739 – Require ID presence in URL when downloading PDF
Case #1449 – addcancelrequest to return error if a cancellation requests exists
Case #1444 – Add Local API Support for custom provisioning module functions
Case #441 – Prevent conflicts for branding removal
Case #1731 – Show enabled WHMCS addons on licensing info page
Case #1418 – Added VentraIP Registrar Logo
Case #1726 – Update if statement to not show predefines on root category
Case #1418 – Add missing global declaration for ICONV disable
Case #1418 – Add backwards compatable getValidLanguages function
Case #1418 – Update admin knowledge base config page to use getlanguages function
Case #1697 – Ensure email address’ cannot be empty
Case #1697 – Ensure sub-accounts do not retain the same address
Case #1474 – Invalid select query in cron during client status change
Case #1646 – Validate invoice ID exists when passing into PDF download link
Case #1657 – _GetEmailForwarding error message is treaded as forwarding record when listing forwarders
Case #1641 – Convert config servers page to use language file variables
Case #1601 – Ticket list sorting by department ID instead of name
Case #1420 – Remove hardcoded text in template files
Case #1463 – New customers report export generates invalid data
Case #1621 – Typo in English language file
Case #1469 – Curacao missing from countries list
Case #1639 – Admin ticket log should have URLs converted to links
Case #1575 – Modifying Quotes does not log to the Activity Log
Case #1653 – _GetDNS error message is treated as DNS Record when listing dnsrecords
Case #1650 – View quotes failing ifTOS accept not enabled
Case #1485 – TinyMCE Editor not loading for announcements
Case #1643 – Enkompass using archaic API for IPs
Case #1642 – Affiliate payments on renewal generated regardless if one time option is select
Case #1557 – Corrected typo “occured” throughout.
Case #1591 – Logging in as client resets admin session token
Case #1589 – CSS scaling issues in 5.1 v4 template
Case #1588 – Associated invoices displaying unrelated invoices when an associated ticket is not found in project view
Case #1581 – Deleting invoice doesn’t pass through vars
Case #1415 – Affiliates template extra TD Colspan
Case #1432 – API Cancelation request calling undefined function if canceled service is on joint invoice
Case #1597 – Fees returned from gateway modules not handled correctly
Case #1598 – Prevent addons from doubling invoices when invoice selected items is used in the client summary
Case #1418 – Prevent warning error from genTicketMask when creating new tickets
Case #1418 – Resolve failure to locate KnowledgeBase suggestions when no existing k articles are passed
Case #1418 – Updated IP not being set in core class
Case #1418 – Improve session handling for cart.tpl override
Case #1418 – Improve Product config listing page to reset product group order values for consistency
Case #1563 – Update usage stats in ServerUsageUpdate function
Case #1755 – Improve EU Transfer process to always use the client account details
Case #1676 – [Security] Google Checkout update
Case #1631 – [Security] Improve logic of widgets
Case #1731 – [Security] Improve logic of license info page
Case #1759 – [Security] Improve logic of carts
Case #1631 – [Security] Improve logic of widgets