HaaseIT/HCSF

View on GitHub
setup/upgrade-instructions.txt

Summary

Maintainability
Test Coverage
V3.0.0
In the progress of writing 3.0.0, the skeleton has changed serveral times, make sure, you have the current skeleton!

ALTER TABLE `content_base` ADD COLUMN `cb_html_from_file` ENUM('Y','N') NOT NULL DEFAULT 'n' AFTER `cb_subnav`;

ALTER TABLE `item_base` CHANGE COLUMN `itm_no` `itm_no` VARCHAR(32) NOT NULL AFTER `itm_id`;

ALTER TABLE `orders_items` CHANGE COLUMN `oi_img` `oi_img` MEDIUMTEXT NULL AFTER `oi_price_brutto_use`;

The langselector variable in base.twig is no longer available, please see base.twig on how to implement it in the template

The config.navi.php has moved to config.navigation.yml, please migrate it!

The configuration files have renamed and moved from app/config to config, the new naming scheme is:
  config.core.dist.yml -> core.yml (default configuration)
  config.core.yml -> core.local.yml (local configuration overrides)

The app directory can be deleted now.

All mail_smtp_* config keys have been moved from core.yml to secrets.yml, please migrate!

ALTER TABLE `orders_items`
  DROP `oi_price_brutto_list`,
  DROP `oi_price_brutto_sale`,
  DROP `oi_price_brutto_rebated`;
ALTER TABLE `item_base` CHANGE `itm_price` `itm_price` VARCHAR(12) NOT NULL;

ALTER TABLE `customer`
    CHANGE COLUMN `cust_active` `cust_active` VARCHAR(1) NOT NULL DEFAULT 'n' AFTER `cust_password`,
    CHANGE COLUMN `cust_emailverified` `cust_emailverified` VARCHAR(1) NOT NULL DEFAULT 'n' AFTER `cust_active`,
    CHANGE COLUMN `cust_tosaccepted` `cust_tosaccepted` VARCHAR(1) NOT NULL DEFAULT 'n' AFTER `cust_emailverificationcode`,
    CHANGE COLUMN `cust_cancellationdisclaimeraccepted` `cust_cancellationdisclaimeraccepted` VARCHAR(1) NOT NULL DEFAULT 'n' AFTER `cust_tosaccepted`;



V2.3.0
New config value: purifier_doctype
Delete files: functions.template.php
Delete Textcats (moved to hardcoded): order_status_open_or_inwork, order_status_open, order_status_inwork,
  order_status_deleted, order_status_all_valid, order_status_canceled, order_status_completed

ALTER TABLE `customer` CHANGE `cust_password` `cust_password` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;

V2.2.0
New config keys:
config.core.yml: directory_images, directory_emailattachments, pagetext_unsafe_html_whitelist, textcat_unsafe_html_whitelist,
  pagetext_loose_filtering, textcat_loose_filtering
config.shop.yml: directory_images_items, directory_images_items_email, itemtext_unsafe_html_whitelist,
  itemgrouptext_unsafe_html_whitelist, itemtext_loose_filtering, itemgrouptext_loose_filtering

Update the dependencies with composer update
Define admin users in config.scrts.yml
Move your custom views (templates) to /customviews, cleanup /src/views and upload default views there

ALTER TABLE `content_lang`
  DROP `cl_background`,
  DROP `cl_pdf`;

ALTER TABLE `content_lang_archive`
  DROP `cl_background`,
  DROP `cl_pdf`;

DROP TRIGGER IF EXISTS `content_lang_update`;CREATE DEFINER=`root`@`localhost` TRIGGER `content_lang_update` AFTER UPDATE ON `content_lang` FOR EACH ROW INSERT INTO content_lang_archive (cl_id, cl_cb, cl_lang, cl_html, cl_keywords, cl_description, cl_title, cla_timestamp) VALUES(OLD.cl_id, OLD.cl_cb, OLD.cl_lang, OLD.cl_html, OLD.cl_keywords, OLD.cl_description, OLD.cl_title, NOW())

Run composer update to install new dependencies

Delete files:
src/customer/worker.forgotpassword.php
src/customer/worker.login.php
src/customer/worker.logout.php
src/customer/worker.resendverificationmail.php
src/customer/worker.verifyemail.php
src/shop/worker.checkedout.php
src/functions.db.php
src/function.admin.pages.php
web/_admin/*
web/* except: app.php, fs.php, .htaccess and of course your own files(!!)
templatecache

V2.1.0
delete directory: web/_misc/
delete src/views/customer/ useradmin.twig, userhome.twig
moved admin navi from config to init, please remove from config file

V2.05
config.core.yml has a new value in admin_page_types
constants.fixed.php has changes
DB Change:
ALTER TABLE item_base ADD itm_weight INT NOT NULL;

V2.0.3 auf V2.0.4dev
config.shop.php changed to config.shop.yml
config.core.php changed to config.core.yml
config.countries.php changed to config.countries.yml
config.customer.php changed to config.customer.yml
config.scrts.php changed to config.scrts.yml
These two lines should come handy to convert from .php to .yml:
  use Symfony\Component\Yaml\Yaml;
  die(Yaml::dump($C, 2));
Textcat key changes:
  topnav_login - nav_login
  topnav_shoppingcart_numberofitems - utilities_shoppingcart_numberofitems
  toputilities_shoppingcart_total - utilities_shoppingcart_total
  toputilities_gotoshoppingcart - utilities_gotoshoppingcart
  topnav_shoppingcart_empty - utilities_shoppingcart_empty
  topnav_register - nav_register
  shoppingcart_adrform_headline - adrform_headline_shoppingcart
  myorders_headline - myorders_headline_order
  headline_userhome - userhome_headline
  headline_userhome_sub - userhome_subheadline

V2.0.2 auf V2.0.3
directory structure has been changed to symfony style
config.shop.example.php: removed paypal_log from config array, added PATH_PAYPALLOG, FILE_PAYPALLOG as constants

V2.0.1 auf V2.0.2
itemgroups_base table remove itmg_imglg rename itmg_imgsm to itmg_img:
ALTER TABLE `itemgroups_base` DROP `itmg_imglg`;
ALTER TABLE `itemgroups_base` CHANGE `itmg_imgsm` `itmg_img` VARCHAR(256) NOT NULL;

VATID:
ALTER TABLE `item_base` CHANGE `itm_vatid` `itm_vatid` VARCHAR(16) NOT NULL DEFAULT 'full';
ALTER TABLE `orders_items` CHANGE `oi_vat` `oi_vat` VARCHAR(16) NOT NULL;

UPDATE `item_base` SET `itm_vatid` = 'reduced' WHERE `itm_vatid` = '7'
UPDATE `item_base` SET `itm_vatid` = 'full' WHERE `itm_vatid` != 'reduced'

VAT / Orders:
ALTER TABLE `orders` ADD `o_vatfull` INT NOT NULL , ADD `o_vatreduced` INT NOT NULL ;
ALTER TABLE `orders_items` CHANGE `oi_vat_id` `oi_vat` INT NOT NULL;
Feldinhalte anpassen!!

config änderung: config.shop.php:
    define("PATH_ORDERLOG", PATH_DOCROOT.'_admin/orderlogs/');
nach $TMP und vor $CSA die Folgende Bedingung einfügen:
    if (isset($TMP["vat_disable"]) && $TMP["vat_disable"]) {
        $TMP["vat"] = array("full" => 0, "reduced" => 0);
    }
den Schlüssel $C["vat"]["none"] mit Wert löschen

Most constants in config.core.php, config.customer.php and config.shop.php have been moved to a new file: constants.fixed.php

Country Data has been moved from config.core.php to config.countries.php