jrcook416 / zencart

A custom version of Zen Cart written for Indianapolis EMS Logistics.
https://github.com/zencart/zencart/releases
Other
0 stars 0 forks source link

Download Zen Cart E-Commerce Shopping Cart

Zen Cart® - The Art of E-Commerce

Zen Cart® was the first Open Source e-Commerce web application to be fully PA-DSS Certified.

Zen Cart v1.5.8 the latest major update to the project. It contains bugfixes and updates for PHP8 applied on top of the PA-DSS Certified version v1.5.4.

Zen Cart is free and open source software, with free community-driven support available 24/7 on the Zen Cart® Support Site forums at zen-cart.com/forum


Zen Cart® v158-dev-new for Indianapolis EMS Logistics

Zen Cart branch v158-dev-new is a branch that holds work completed on the Indianapolis EMS Zen Cart® v1.5.8 release. It contains the following modifications:

  1. An initial commit of the v1.5.8 stock code as referenced from upstream/v158 on November 30, 2022.
  2. I updated the v1.5.8 stock code and made the following additions to the base code on December 01, 2022:
  3. I made the following changes to the base code on January 09, 2023:
    • I shut off the ability for a customer to create their own account by commenting out a line in the default login template file.
    • I removed the ability of the customer to work with their own address book entries.
    • I removed stock One Page Checkout files from a dead template directory.
    • I added county, agency, and unit affiliation handling to vector/customers.php.
    • I worked on iems.php.
    • I created agency, county, and unit lookup functions.
    • Work continued on vector/customers.php, vector/includes/functions/extra_functions/iems.php, and the customer class on the catalog side.
  4. I made the following changes to the base code on January 10, 2023:
    • I updated the MySQL schema with the addition of database tables for agency, county
    • I updated the README.md file with coding changes made between 2022-12-01 to 2023-01-10.
    • I also created custom JavaScript handlers for the county, agency, and unit select boxes.
  5. On January 11 and 12, 2023, I mainly focused on changes to the language files specific to Zen Cart v1.5.8. There was a change in the language file definitions between PHP 7.4 and PHP 8.1 versions, which I had to overcome.
  6. I made the following changes to the base code on January 13, 2023:
  7. I made the following changes to the base code during the weeks of January 16 to 20 and January 23 to January 24:
    • I updated multiple pieces of One Page Checkout to comply with IEMS-specific unit identification needs and processes.
    • I updated the README.md file with a brief summary of changes made in this period of time.
  8. On January 25, 2023, I successfully created IEMS-specific keys to the $_SESSION variable to hold various parts of information.
  9. The first two weeks in February had a few things going on, I got back to active development on February 13th and had a working model in place by February 22.

Work Completed

Active development on the Indianapolis EMS Logistics build started on 2022-12-01, using stock v1.5.8 code from the GitHub repository. Repository upstream/v158 was cloned to an Indianapolis EMS local machine for development. I completed the initial pull anticipating approximately six to nine months of development time between normal job duties and functions prior to the production release of v1.5.8 to our stakeholders. This process was accelerated by the end of life of PHP 7.4 in December.

There are specific modifications that Kevin Gona requested in this update.

  1. Users from one agency should not be able to see the list of ordering units in another agency.
  2. The checkout process needs to be combined into one or two steps where possible.
  3. Focus on combining all sites into one site framework for ease of operation for the logistics technician and warehouse coordinator roles.

I merged the ZCA Bootstrap Template, ImageHandler 5, and One Page Checkout files on December 1 and continued with normal business processes. I made some template adjustments to the Bootstrap 5 template along with some work on the IEMS-specific global function definitions and /vector/customers.php (which drives administrative maintenance on customer records in the system) on 2023-01-09. I continued work on these files, including JavaScript definition files, on 2023-01-10. I started working on the Edit Orders tweaks on 2023-01-11, at which time I had to stop and look at changes to language file definition arrays in PHP 8. This set me back a day while I cleaned up those files. I was given approval to continue with sole development on Zen Cart® around 13 January and have focused my efforts on development since then.

On 2023-01-13, I continued this work and installed several more plugins, including Super Orders 5. I started active work on One Page Checkout on 2023-01-16 and have worked on it exclusively for the last six business days. The work has been focused on combining the front-end workflow goals (users only being able to see units in their assigned agency AND combining the checkout process into one or two steps) and moving one step closer to production.

As of 2023-01-26 at end of shift, the next step will be to integrate custom Indianapolis EMS elements into the general Zen Cart® order processing flow. See note #17 for progress.


Compatibility

Zen Cart v1.5.8 is designed for:

Refer to compatibility requirements for additional details.

Installation

Installation is simple:

  1. Download Zen Cart
  2. Ensure you check that the md5/sha1 hash of the Zip matches those publicly posted.
  3. Unzip the downloaded zip file
  4. Everything inside the folder you unzipped needs to be uploaded to your webserver … for example, into your public_html or www or html folder (the folder will already exist on your webserver)
  5. In your browser, enter the address to your site, such as: www.example.com (or if you uploaded it into another subdirectory such as foldername use www.example.com/foldername)
  6. Rename the /includes/dist-configure.php and /admin/includes/dist-configure.php files to "configure.php" and make the files writable (so the install process can write your configuration information into them after you answer a few questions in the following steps).
  7. Also make the /cache and /logs folders writable. (You will be prompted about making other folders writable during installation)
  8. Follow the instructions that appear in your browser for installation.

If some of the terms used in these brief instructions are things you don't understand, there is a much more detailed set of instructions in the /docs/Implementation-Guide PDF.

Upgrading

Recommended reading related to upgrading: https://docs.zen-cart.com/user/upgrading/

Guidance for Secure Installations

The Implementation Guide document is provided to give detailed instructions on how to install and secure your site in accordance with PCI Compliance requirements. Whether your site "needs" PCI Compliance or not is up to you to decide, but you should still follow the documented principles to maximize your site's resilience against troublesome access attempted by any undesired/unauthorized visitors.

Documentation

Use your browser to open the /docs/index.html page for links to release documentation and the Implementation Guide. A storeowner documentation repository also exists at docs.zen-cart.com/user/.

Developer Documentation

Developers wishing to contribute to the Zen Cart® core code may fork the zencart/zencart repository on github and issue Pull Requests from their own feature branches. Please see CONTRIBUTING.

Visit docs.zen-cart.com/dev/ for guidance on issues relevant to developers. This documentation site is very new, but content will be added over time.

Developers wishing to contribute documentation should fork zencart/documentation and contribute PRs. Please see CONTRIBUTING to documentation.

Source

The Zen Cart source code is available at: https://github.com/zencart/zencart

Support

For free community-driven support with Zen Cart, visit our support site: https://www.zen-cart.com/forum.php

Donations/Sponsorship

Sponsorship through GitHub is a simple and convenient way to say "thank you" to Zen Cart's maintainers and contributors, and to help fund its ongoing development.

Just click the "Sponsor" button on the Zen Cart page on GitHub.

If your company uses Zen Cart, note that sponsorship and donations to the project are a valid regular business expense.

You may also donate via our website at https://www.zen-cart.com/donate

Security

We take security very seriously.

If you have discovered a critical security bug in Zen Cart, please email security [at] zen-cart [.] com with the details of the problem and how to trigger it. Issues will be responded to in a timely manner.

Follow Us

For news and updates about Zen Cart®, follow us on Twitter and Facebook

Sign up for our free Newsletter

Subscribe to Critical News Updates And Release Announcements

 

This project is supported by:

 

©Copyright 2003-2023, Zen Cart®. All rights reserved.