Version 5.3 Release Notes

From WHMCS Documentation

Contents

Release Information

Version 5.3.0 Beta 1

  • Release Type: Beta (For Testing)
  • Release Date: 27th September 2013

Version 5.3.1 Beta 2

  • Release Type: Beta (For Testing)
  • Release Date: 4th October 2013

Version 5.3.2 Beta 3

  • Release Type: Beta (For Testing)
  • Release Date: 23rd December 2013

Version 5.3.3 RC 1

  • Release Type: Release Candidate (For Testing)
  • Release Date: 14th January 2014

Version 5.3.3 RC 2

  • Release Type: Release Candidate (For Testing)
  • Release Date: 28th January 2014

Version 5.3.3

  • Release Type: General Release
  • Release Date: 5th February 2014

Version 5.3.4

  • Release Type: Maintenance
  • Release Date: 18th February 2014

Version 5.3.5

  • Release Type: Maintenance
  • Release Date: 20th February 2014

Version 5.3.6

  • Release Type: Security
  • Release Date: 25th March 2014

Version 5.3.7

  • Release Type: Maintenance
  • Release Date: 13th May 2014

Version 5.3.8

  • Release Type: Maintenance
  • Release Date: 9th July 2014

Version 5.3.9

  • Release Type: Security
  • Release Date: 26th August 2014

Version 5.3.10

  • Release Type: Maintenance
  • Release Date: 16th September 2014

Version 5.3.11

  • Release Type: Maintenance
  • Release Date: 17th December 2014

Version 5.3.12

  • Release Type: Maintenance
  • Release Date: 25th February 2015

Version 5.3.13

  • Release Type: Maintenance
  • Release Date: 28th April 2015

Version 5.3.14

  • Release Type: Security
  • Release Date: 2nd June 2015

Changelog

http://changelog.whmcs.com/WHMCS_V5.3

Upgrade Steps

The same usual steps for upgrading WHMCS apply to Version 5.3. They are:

Make a Full Backup - We cannot stress enough how important it is to *always* take a full backup before attempting any kind of upgrade. Both for WHMCS and any other software you use. A full backup should be taken of both the WHMCS files and the database.

  1. Begin by obtaining the latest full release download of WHMCS either from our client area or from your license provider (if using a reseller)
  2. Unzip the contents of the WHMCS zip file download to a folder on your computer
    1. If you have renamed your "admin" directory, be sure to rename the /whmcs/admin directory in the new files to match.
    2. Similarly, if you have customised the location of the /crons/ directory, be sure to upload that to the custom location
  3. Upload the new files to your existing installation folder replacing any existing folders & files
  4. Visit your WHMCS installation and you should then be automatically redirected to the upgrade process. If you see a message saying WHMCS is not installed, this indicates you have overwritten the configuration.php file for your installation. Stop and restore that file from your backup before continuing.
  5. Agree to the WHMCS End User License Agreement and follow the steps on screen to upgrade your database.
  6. When prompted, delete the install folder from your server.
  7. Your upgrade is now complete.

At this stage, the installation update is complete. However, if you have custom template files you will want to review the Release Notes again so that you know which templates, if any, were updated and act accordingly to propagate these changes to your customised template set.

These steps can be used to upgrade from any version of WHMCS from V3.3 & later.

Remember: After upgrading, your browser may still display cached versions of the previous files. So if you get any display issues or inconsistencies, always try clearing your cache first, both in your browser, and the WHMCS templates cache (templates_c folder files)

Template Changes

Version 5.3.14

Please refer to http://docs.whmcs.com/Version_5.3.14_Release_Notes

Version 5.3.13

Please refer to http://docs.whmcs.com/Version_5.3.13_Release_Notes

Version 5.3.12

Please refer to http://docs.whmcs.com/Version_5.3.12_Release_Notes

Version 5.3.11

Please refer to http://docs.whmcs.com/Version_5.3.11_Release_Notes

Version 5.3.10

Please refer to http://docs.whmcs.com/Version_5.3.10_Release_Notes

Version 5.3.9

Case #4822

This is a security update

Classic Client Area Template

  • clientareacontacts.tpl - Line 17

Default Client Area Template

  • clientareacontacts.tpl - Line 38

Portal Client Area Template

  • clientareacontacts.tpl - Line 17

Case #4731 Block upgrade orders when an existing upgrade is present

Stop clients from submitting multiple upgrade/downgrade orders when an incomplete order is already present.

Classic Client Area Template

  • upgrade.tpl - Lines 9-17

Default Client Area Template

  • upgrade.tpl - Line 15-23

Portal Client Area Template

  • upgrade.tpl - Line 9-17


Version 5.3.8

Case #4430 - Correct the formatting of the redirection templates

This provides updates to the 3d secure redirect logic in classic and portal (also adding 1 additional css definition hence the style.css changes)

Classic Client Area Template

  • 3dsecure.tpl- Line 5
  • forwardpage.tpl - Line 4
  • style.css - Lines 39-42 (New Lines)

Portal Client Area Template

  • 3dsecure.tpl - Line 5
  • style.css - Line 42 (New Line)

Case #4544 - Security Question selection preservation on cart update

This allows for the Security Question selected on the cart checkout page to be remembered when the page is reloaded.

AjaxCart Order Form Template

  • viewcart.tpl - Line 41

Boxes Order Form Template

  • viewcart.tpl - Line 208

Cart Order Form Template

  • viewcart.tpl - Line 230

Comparison Order Form Template

  • viewcart.tpl - Line 179

Modern Order Form Template

  • viewcart.tpl - Line 177

Slider Order Form Template

  • viewcart.tpl - Line 177

VerticalSteps Order Form Template

  • viewcart.tpl - Line 231

Web20Cart Order Form Template

  • viewcart.tpl - Line 396

Case #4547 - Correct Password Strength Variables in Client Area

The output variables have been corrected in the classic and portal templates for the Password Strength javascript

Classic Client Area Template

  • clientareaaddcontact.tpl - Lines 17-20
  • clientareachangepw.tpl - Lines 14-17
  • clientareacontacts.tpl - Lines 21-24
  • clientareaproductdetails.tpl - Lines 42-45
  • clientarearegister.tpl - Lines 62-65
  • pwresetvalidation.tpl - Lines 38-41

Portal Client Area Template

  • clientareaaddcontact.tpl - Lines 27-30
  • clientareachangepw.tpl - Lines 16-19
  • clientareacontacts.tpl - Lines 49-52
  • clientareaproductdetails.tpl - Lines 124-127
  • clientarearegister.tpl - Lines 15-18
  • pwresetvalidation.tpl - Lines 57-60

AjaxCart Order Form Template

  • viewcart.tpl - Lines 6-9

Boxes Order Form Template

  • viewcart.tpl - Lines 35-38

Cart Order Form Template

  • viewcart.tpl - Lines 7-10

Comparison Order Form Template

  • viewcart.tpl - Lines 25-28

Modern Order Form Template

  • viewcart.tpl - Lines 23-26

Slider Order Form Template

  • viewcart.tpl - Lines 23-26

VerticalSteps Order Form Template

  • viewcart.tpl - Lines 23-26

Version 5.3.7

Case #2609 - Add support to translate password strength in client area

This involves the addition of javascript code to set the localized language values based on the user's current language. If you do not require this functionality then you can skip these template changes.

Classic Client Area Template

  • clientareaaddcontact.tpl- Lines 16-21
  • clientareachangepw.tpl - Lines 13-19
  • clientareacontacts.tpl - Lines 20-25
  • clientareaproductdetails.tpl - Lines 41-46
  • clientregister.tpl - Lines 61-66
  • pwresetvalidation.tpl - Lines 36-43

Portal Client Area Template

  • clientareaaddcontact.tpl - Lines 26-31
  • clientareachangepw.tpl - Lines 15-20
  • clientareacontacts.tpl - Lines 48-53
  • clientareaproductdetails.tpl - Lines 123-128
  • clientregister.tpl - Lines 14-19
  • pwresetvalidation.tpl - Lines 56-61

Order Form Templates, viewcart.tpl:

  • Ajaxcart - Lines 5-11, 38-40
  • Boxes - Lines 34-39, 43-45
  • Cart - Lines 6-11, 44-46
  • Comparison - Lines 24-29, 39-41
  • Modern - Lines 22-27, 37-39
  • Slider - Lines 22-27, 37-39
  • VerticalSteps - Lines 22-27, 52-54
  • Web20Cart - Lines 50, 54, 58

Case #2695 - Auto re-populate security question on error

Maintains user input for security question choice and answer on validation failure. If you do not use security questions, you can skip these template changes.

Order Form Templates, viewcart.tpl

  • Ajaxcart - Line 35
  • Boxes - Line 204
  • Cart - Line 225
  • Comparison - Line 174
  • Modern - Line 173
  • Slider - Line 173
  • VerticalSteps - Line 227
  • Web20Cart - Line 404

Case #3991 - Improve Product Assigned Downloads Logic

Improved logic and formatting of error condition messages. If you do not require this functionality then you can skip these template changes.

  • All three client area themes:
    • downloaddenied.tpl - File added

Case #4462 Validate CVV length for AMEX cards

We now validate the CVV input length dynamically based on the selected card type. This requires the addition of a javascript file include and ID tags to a number of fields. If you do not require this functionality then you can skip these template changes.

Classic Client Area Template

  • clientareacreditcard.tpl - Three changes:
    • Line 1 now reference includes/jscript/creditcard.js
    • Line 35 adds an id="cctype" to the field area
    • Line 56 adds an id="cccvv" to the field area
  • creditcard.tpl - Three changes:
    • Line 1 now reference includes/jscript/creditcard.js
    • Line 65 adds an id="cctype" to the field area
    • Line 88 adds an id="cccvv" to the field area

Default Client Area Template

  • clinetareacreditcard.tpl - Two changes:
    • Line 1 now reference includes/jscript/creditcard.js
  • creditcard.tpl - Three changes:
    • Line 1 now reference includes/jscript/creditcard.js

Portal Client Area Template

  • clientareacreditcard.tpl - Three changes:
    • Line 1 now reference includes/jscript/creditcard.js
    • Line 38 Select element now has id="cctype"
    • Line 59 Input element now has id="cardcvv"
  • creditcard.tpl - Three changes:
    • Line 1 now reference includes/jscript/creditcard.js
    • Line 96 Select element now has id="cctype"
    • Line 134 Input element now has id="cccvv"

AjaxCart Order Form Template

  • viewcart.tpl - Three Changes:
    • Line 3 now reference includes/jscript/creditcard.js
    • Line 89 Select element now has id="cctype"
    • Line 110 Input element now has id="cccvv"

Boxes Order Form Template

  • viewcart.tpl - Three Changes:
    • Line 5 now reference includes/jscript/creditcard.js
    • Line 267 Select element now has id="cctype"
    • Line 288 Input element now has id="cccvv"

Cart Order Form Template

  • viewcart.tpl - Three Changes:
    • Line 4 now reference includes/jscript/creditcard.js
    • Line 289 Select element now has id="cctype"
    • Line 310 Input element now has id="cccvv"

Comparison Order Form Template

  • viewcart.tpl - Three Changes:
    • Line 5 now reference includes/jscript/creditcard.js
    • Line 238 Select element now has id="cctype"
    • Line 259 Input element now has id="cccvv"

Modern Order Form Template

  • viewcart.tpl - Three Changes:
    • Line 6 now reference includes/jscript/creditcard.js
    • Line 241 Select element now has id="cctype"
    • Line 266 Input element now has id="cccvv"

Slider Order Form Template

  • viewcart.tpl - Three Changes:
    • Line 6 now reference includes/jscript/creditcard.js
    • Line 241 Select element now has id="cctype"
    • Line 266 Input element now has id="cccvv"

VerticalSteps Order Form Template

  • viewcart.tpl - Three Changes:
    • Line 4 now reference includes/jscript/creditcard.js
    • Line 284 Select element now has id="cctype"
    • Line 309 Input element now has id="cccvv"

Web20Cart Order Form Template

  • viewcart.tpl - Three Changes:
    • Line 3 now reference includes/jscript/creditcard.js
    • Line 548 Select element now has id="cctype"
    • Line 584 Input element now has id="cccvv"

Miscellaneous Changes

  • CSS change to css/whmcs.css
    • Line 413-418 add .contentpadded .alert-message

Cart Order Form Template

  • adddomain.tpl - One change:
    • Line 8 form action now has parameters

Comparison Order Form Template

  • configuredomains.tpl - One change:
    • Line 23 "Hosting:" string replaced with {$LANG.hosting} translatable string.

Modern Order Form Template

  • adddomain.tpl - One change:
    • Line 27 Equals sign typo repaired on parameter domain
  • configuredomains.tpl - One change:
    • Line 21 "Hosting:" string replaced with {$LANG.hosting} translatable string.

Slider Order Form Template

  • adddomain.tpl - One change:
    • Line 27 Equals sign typo repaired on parameter domain
  • configuredomains.tpl - One change:
    • Line 21 "Hosting:" string replaced with {$LANG.hosting} translatable string.

Classic Client Area Template

  • clientareadomaincontactinfo.tpl - One change:
    • $name is now a translatable string
  • domainchecker.tpl - Two changes:
    • Lines 47 & 53 the {$domain} variable is now {$sld}
  • ticketfeedback.tpl - One change:
    • Line 15 value of "Return to Client Area" button now translatable string {$LANG.returnclient}

Default Client Area Template

  • clinetareacreditcard.tpl - One change:
    • Line 17 now shows delete confirmation translatable string or changes saved translatable string depending on what function was called.
  • clientareadomaincontactinfo.tpl - One change:
    • Line 64 $name is now a translatable string
  • clientareadomaindetails.tpl - One change:
    • Line 325 remove duplicated div close tag.
  • domainchecker.tpl - One change:
    • Line 35 Domains Transfer button is now only shown conditionally based on {$condlinks.domaintrans}
  • downloads.tpl - One change:
    • Line 6 Input name changed from "q" to "search"
  • knowledgebasecat.tpl - One change:
    • Like 43 {foreachelse} changed to {/foreach}{else}
  • ticketfeedback.tpl - One change:
    • Line 17 value of "Return to Client Area" button now translatable string {$LANG.returnclient}
  • viewquote.tpl - Three changes:
    • Lines 141, 145, 149 Hardcoded strings changed for translatable strings

Portal Client Area Template

  • clientareadomaincontactinfo.tpl - One change:
    • Line 48 Use translatable string instead of {$name}
  • domainchecker.tpl - Two changes:
    • Lines 54 & 60 the {$domain} variable is now {$sld}
  • ticketfeedback.tpl - One change:
    • Line 47 value of "Return to Client Area" button now translatable string {$LANG.returnclient}
  • viewquote.tpl - Three changes:
    • Lines 141, 145, 149 Hardcoded strings changed for translatable strings

Version 5.3.6

Default Client Area Template

  • clientareacreditcard.tpl - Eight changes:
    • Line 33 updated to add css class
    • Line 40 updated to add lines 40-50 in new file, making the delete button conditional on perms and include CSRF
    • Line 67,69,71 updated to include in form field so it uses CSRF
    • Line 81 post action added for form.
    • Line 120, 128, fields updated to use CSRF in form

Classic Client Area Template

  • clientareacreditcard.tpl - Line 19 updated to be a post action so that it posts on credit card delete and uses the CSRF token

Portal Client Area Template

  • clientareacreditcard.tpl - Three changes:
    • Lines 20, 23 updated to use CSRF in form
    • Form post action moved to lines 30-32

Version 5.3.5

No template changes

Version 5.3.4

Default Client Area Template

  • header.tpl - Changed line 65 relating to the eNom New TLDs Addon - if you do not use the eNom New TLDs Addon, this is not a required change (Case 4088)

All Admin Area Templates

  • clientsummary.tpl and style.css - Added the ability to filter clients items by status on the admin client summary page (Case 4076)
    • added a wrapper div at the top and bottom of the file
    • and new code between the info blocks and the table of items (around half way down the page)

V4 and Original Admin Area Templates

  • sidebar.tpl - Corrected the variable name used in product type links (Case 3939)

Version 5.3.3

All Client Area Templates

  • clientareadomains.tpl
    • Wrap the Mass Domain Renew button on line 80 with {if $allowrenew}...{/if}

Classic and Portal Client Area Templates

  • viewinvoice.tpl - Move the following line from line 55 to 56, ensuring it is below the <form> open tag. Please note this was released in 5.2.16 and so if you upgraded to that version first the change will have already been applied
<div class="creditbox">{$LANG.invoiceaddcreditdesc1} {$totalcredit}. {$LANG.invoiceaddcreditdesc2}<br />

Version 5.3.2

No template changes

Version 5.3.1

No template changes

Version 5.3.0

Default Client Area Template

  • domainchecker.tpl
    • lines 46-49 - additional conditional display of errors for the domain checker
  • header.tpl
    • additional conditional at lines 104 & 146 for livehelp activation
  • supportticketlist.tpl
    • lines 17-21 & lines 47-48 changed to make sure search term persists

Classic Client Area Template

  • clientareachangesq.tpl
    • removed entirely
  • domainchecker.tpl
    • additional error handling at line 44
  • supportticketslist.tpl
    • table definitions change at line: 11 and 33

Portal Client Area Template

  • clientareachangesq.tpl
    • removed
  • clientareasecurity.tpl
    • remove: {include file="$template/pageheader.tpl" title=$LANG.clientareanavsecurity} at line 3
  • domainchecker.tpl
    • additonal error handling at line 51
  • supportticketslist.tpl
    • alter lines: 18, 47, 48 to persist search term

Comparison Order Form Template

  • domainoptions.tpl
    • line 2, additional error reporting.

Modern Order Form Template

  • domainoptions.tpl
    • line 2, additional error reporting

Slider Order Form Template

  • domainoptions.tpl
    • line 2, additional error reporting.
  • products.tpl
    • add in productNums array deff at line 10.
    • modify conditional at line 42.
  • viewcart.tpl
    • Add variable definition at line 2.

Release Notes

Version 5.3.9

  • Version 5.3.9 and later implements a new admin password hashing mechanism. Admin passwords will be automatically rehashed on their next successful login post upgrading. No manual steps are required. Find out more
  • This update includes significant changes to IP detection logic in conjunction with the use of proxies. If using services such as CloudFlare, or any other similar public or private proxy service, to proxy traffic to your WHMCS installation, you will need to perform additional steps post upgrading in order to keep IP detection functioning correctly. Find out more
  • The Ensim server module has been deprecated. The Ensim control panel has been End Of Maintenance since July 1st 2007 and End Of Support since December 31st 2007. Active use of this module is likely very limited, but for anyone whose business relies on it, our support team will be able to provide a copy of it but no further maintenance or updates will be made to it.
  • E-gold was a digital gold currency which ceased trading in 2009. The module has been deprecated for some time but as of this release it has been removed and is no longer available. Any historic invoices already assigned to the module will be unaffected by this change.
  • PayOffline service was terminated as of 31st March 2012. The module has been deprecated and removed as of this release. Any historic invoices already assigned to the module will be unaffected by this change.
  • Post release of 5.3.9 an issue was identified related to admins who had Two-Factor Authentication enabled prior to upgrading to 5.3.9. We apologize for the inconvenience this has caused and have provided a Hot-Fix here that should be applied after applying the 5.3.9 core update.
  • The WHMCS Live Chat Addon which integrates with the WHMCS administrator user list for shared authentication requires an update for compatibility with the admin cryptography changes in 5.3.9. For existing users there is an easy 2 file patch which simply requires uploading - no upgrade process is necessary. This can be downloaded in the usual place for Downloads under your copy of the Live Chat Addon product within our Members Area at https://www.whmcs.com/members

Admin Language File Additions

$_ADMINLANG['services']['upgradealreadyinprogress'] = "Upgrade Already In Progress";
$_ADMINLANG['services']['upgradealreadyinprogressinfo'] = "Cannot Upgrade/Downgrade because the product already has an Upgrade/Downgrade in progress.";
$_ADMINLANG['general']['proxyheader'] = 'Proxy IP Header';
$_ADMINLANG['general']['proxyheaderinfo'] = 'Header used by your trusted proxies to relay IP information. Most proxies use "X_FORWARDED_FOR"; that is the default if no value is specified';
$_ADMINLANG['general']['trustedproxy'] = 'Trusted Proxies';
$_ADMINLANG['general']['trustedproxyinfo'] = 'IP addresses of trusted proxies that forward traffic to WHMCS. Only add addresses that directly proxy requests!';
$_ADMINLANG['general']['addtrustedproxy'] = 'Add Trusted Proxy';
$_ADMINLANG['fields']['ipaddressorrange'] = "IP Address/Range";
$_ADMINLANG['fields']['ipaddressorrangeinfo'] = 'IP ranges may also be provided in CIDR notation.';

Client Language Strings

$_LANG['upgradeexistingupgradeinvoice'] = "You cannot currently upgrade or downgrade this product because an upgrade or downgrade is already in progress.<br /><br />To proceed, please first pay the outstanding invoice and then you will be able to upgrade or downgrade immediately following that and be charged the difference or credited as appropriate.<br/><br/>If you believe you are receiving this message in error, please submit a trouble ticket.";

Version 5.3.7

Verify Mail Encoding Setting

After upgrading, we recommend verifying that the new Mail Encoding setting specified in Setup > General Settings > Mail is set to your desired value. We recommend "8bit" unless you have a specific reason to use another encoding type. This is also a good opportunity to double check and ensure that none of the "Display Errors", "SQL Debug Mode" or "Hooks Debug Mode" are enabled on the Other tab as well. Once you're done, hit Save.

General

Clear Template/Browser Cache

If when you first access your WHMCS installation post upgrading, you see something where formatting appears broken, this can indicate your browser cache has not updated. Try clearing your browser cache or performing a hard refresh (typically Ctrl + F5) and delete the contents of the WHMCS template cache (Utilities > System > System Cleanup > Empty Template Cache) to ensure you see the new templates and styling.

Important Changes to file locations

As part of a restructure of the WHMCS class layout, many of the third party classes used by WHMCS have now moved. Their previous and new locations are as follows:

/includes/classes/class.phpmailer.php --> /includes/classes/PHPMailer/
/includes/classes/class.smtp.php --> /includes/classes/PHPMailer/
/includes/classes/class.tcpdf.php --> /includes/classes/TCPDF/
/includes/fonts/*.* --> /includes/classes/TCPDF/fonts/*.*
/includes/smarty/*.* --> /includes/classes/Smarty/*.*

A comparison of the includes/classes/ directory between 5.2 and 5.3 is recommended to remove any relocated files.