Remember Me (Automatic Login) — for Zen Cart v1.5.5 and later

Version 2.0.0

Current Support Thread at Zen Cart Forums: https://www.zen-cart.com/forum/showthread.php?t=57982


What it does

When a customer creates an account or logs in, s/he is offered the option (a "Remember Me?" checkbox) to be automatically logged into your website on subsequent visits. If the customer checks this box, a cookie is set in the customer's browser; that cookie's name is zcrm_xxxx where "xxxx" is an MD5 hash of your store's name (as set in Configuration->My Store). That cookie remains set (and provides a continued-login to your store) until:

  1. the customer clicks the Logoff link in your store.
  2. the cookie expires or is otherwise removed.

Security Note: The customer's password, as stored in the cookie, is a hashed version of customer's Zen Cart hashed password value, so the customer's actual password or password hash is never exposed.

Once you have installed the plugin, the following additional configuration settings are available in Configuration->Customer Details:


Installation

This plugin currently has no core-file overwrites, but it does have two (2) template-overrides; you should always backup your cart's database and files prior to making any changes.

Notes:

  1. Zen Cart v1.5.6c's template_default template was used as the Zen Cart basis for all template-override changes. If your store runs on a Zen Cart 1.5.5 variant, note that the tpl_modules_create_account.php now places the country-entry prior to the address-entry!
  2. Changes to template-overrides now include minor, future-proofing, changes so that PHP errors aren't issued if you choose to uninstall the plugin without removing its template-related changes.
  3. v2.0.0 (and later) now includes required updates to the One-Page Checkout plugin's alternate form of the login page, using v2.3.1 of that plugin as the change-basis.
  4. This plugin creates a single cookie for your store in a customer's browser. If a customer shares their computer with someone else after requesting to be "remembered", those additional persons will have access to that customer's account.
Upgrading to v1.4.3 or later

This version drops support for Zen Cart versions prior to 1.5.5 and updates the plugin's template-override files to use Zen Cart 1.5.6c's template_default as the change-basis. As of v2.0.0, there are some minor, future-proofing, changes made to the template files so that PHP errors aren't issued if you choose to uninstall the plugin without removing those template-related changes.

  1. Unzip the plugin's package file. Rename the YOUR_ADMIN folder to match your secret admin folder's name and the YOUR_TEMPLATE directory to match your current template's name.
  2. Use a program like WinMerge or Beyond Compare to compare the plugin's two (2) template-overrides to your store's current files and merge any changes required.
  3. Log into your Zen Cart admin.
  4. Copy the plugin's files to your store's file system.
    1. /includes/auto_loaders/config.remember_me.php
    2. /includes/classes/observers/class.remember_me_observer.php
    3. /includes/init_includes/init_remembered_cart.php
    4. /includes/languages/english/extra_definitions/remember_me_definitions.php
    5. /includes/templates/YOUR_TEMPLATE/templates/tpl_login_default.php
    6. /includes/templates/YOUR_TEMPLATE/templates/tpl_login_guest.php
    7. /includes/templates/YOUR_TEMPLATE/templates/tpl_modules_create_account.php
    8. /YOUR_ADMIN/includes/functions/extra_functions/init_remember_me.php
  5. Click the "Admin Home" link, then click Configuration->Customer Details to set the Automatic Login options to your liking.

Note: This plugin also includes a SQL uninstall file, present in the root directory. That file should not be copied to your store during the installation process.

Un-Install

To remove this plugin from your Zen Cart store:

  1. Remove the files you copied during the install, editing out the plugin's changes to those two template-override files.
  2. Open the plugin's file /remember_me_uninstall.sql, copy & paste that file's contents into your admin's Tools->Install SQL Patches and run that script to remove the database portion of the plugin.

Version History

Authors' History

  1. Original Code by chris at linuxuser.at
  2. Optional logoff and admin controls by kuroi
  3. Packaged by ryk 23 Feb 2007

Versions and Changes