-
Notifications
You must be signed in to change notification settings - Fork 0
Update to v6.4.0
KasDim edited this page Apr 2, 2026
·
1 revision
Create backups using your hosting tools.
Download and install the new version of Melbis Shop.
Move the following folders to the site root: templates, units, profiles.
Rename the template folders to: templates/default/units.
Move to the site root and modify the config.php file:
-
DELETE
define('SCRIPT_VERSION', '6.3.0'); -
DELETE
define('LICENCE', ''); -
DELETE
define('SHOP_GMT', '1'); -
ADD
define('TIME_ZONE', 'UTC'); -
MODIFY
define('DB_COMMAND', 'SET sql_mode = CONCAT(@@sql_mode, \',NO_UNSIGNED_SUBTRACTION\');'); -
MODIFY
define('DB_CHARSET', 'utf8mb4');
Go to "Development Environment" and execute the following SQL commands:
UPDATE {DBNICK}_generator SET gen_value = (SELECT MAX(id) FROM {DBNICK}_key) + 1 WHERE table_name = 'key';
CREATE TABLE {DBNICK}_lang (
id INT UNSIGNED DEFAULT '0' NOT NULL,
skey CHAR(32) DEFAULT '' NOT NULL,
name CHAR(255) DEFAULT '' NOT NULL,
descr MEDIUMTEXT DEFAULT ('') NOT NULL,
kind_key CHAR(100) DEFAULT '' NOT NULL,
params CHAR(255) DEFAULT '' NOT NULL,
is_origin TINYINT UNSIGNED DEFAULT '0' NOT NULL,
pos INT UNSIGNED DEFAULT '0' NOT NULL,
PRIMARY KEY (id)
) ENGINE = MYISAM DEFAULT CHARSET=utf8mb4;
CREATE TABLE {DBNICK}_files_lang (
id INT UNSIGNED DEFAULT '0' NOT NULL,
elem_id INT UNSIGNED DEFAULT NULL,
kind_key CHAR(100) DEFAULT '' NOT NULL,
file_name CHAR(100) DEFAULT '' NOT NULL,
file_size INT UNSIGNED DEFAULT '0' NOT NULL,
upload_time DATETIME DEFAULT '2000-01-01 00:00:00' NOT NULL,
upload_ok TINYINT UNSIGNED DEFAULT '0' NOT NULL,
real_name CHAR(255) DEFAULT '' NOT NULL,
parent_id INT UNSIGNED DEFAULT NULL,
format_xml MEDIUMTEXT DEFAULT ('') NOT NULL,
pos INT UNSIGNED DEFAULT '0' NOT NULL,
PRIMARY KEY (id),
KEY elem_id (elem_id)
) ENGINE = MYISAM DEFAULT CHARSET=utf8mb4;
CREATE TABLE {DBNICK}_trans (
id INT UNSIGNED DEFAULT '0' NOT NULL,
skey CHAR(32) DEFAULT '' NOT NULL,
name CHAR(255) DEFAULT '' NOT NULL,
tindex INT UNSIGNED DEFAULT '0' NOT NULL,
tlevel INT UNSIGNED DEFAULT '0' NOT NULL,
absindex INT UNSIGNED DEFAULT '0' NOT NULL,
folder TINYINT UNSIGNED DEFAULT '0' NOT NULL,
kind_key CHAR(100) DEFAULT '' NOT NULL,
table_key CHAR(32) DEFAULT '' NOT NULL,
PRIMARY KEY (id)
) ENGINE = MYISAM DEFAULT CHARSET=utf8mb4;
CREATE TABLE {DBNICK}_trans_origin (
id INT UNSIGNED DEFAULT '0' NOT NULL,
trans_id INT UNSIGNED DEFAULT NULL,
item_id INT UNSIGNED DEFAULT NULL,
item_code CHAR(32) DEFAULT '' NOT NULL,
context CHAR(255) DEFAULT '' NOT NULL,
origin MEDIUMTEXT DEFAULT ('') NOT NULL,
crc CHAR(32) DEFAULT '' NOT NULL,
kind_key CHAR(100) DEFAULT '' NOT NULL,
params CHAR(255) DEFAULT '' NOT NULL,
is_active TINYINT UNSIGNED DEFAULT '0' NOT NULL,
is_html TINYINT UNSIGNED DEFAULT '0' NOT NULL,
no_trans TINYINT UNSIGNED DEFAULT '0' NOT NULL,
pos INT UNSIGNED DEFAULT '0' NOT NULL,
PRIMARY KEY (id),
KEY trans_id (trans_id),
KEY item_id (item_id),
KEY item_code (item_code)
) ENGINE = MYISAM DEFAULT CHARSET=utf8mb4;
CREATE TABLE {DBNICK}_trans_lang (
id INT UNSIGNED DEFAULT '0' NOT NULL,
lang_id INT UNSIGNED DEFAULT NULL,
trans_id INT UNSIGNED DEFAULT NULL,
origin_id INT UNSIGNED DEFAULT NULL,
translate MEDIUMTEXT DEFAULT ('') NOT NULL,
is_approve TINYINT UNSIGNED DEFAULT '0' NOT NULL,
is_error TINYINT UNSIGNED DEFAULT '0' NOT NULL,
PRIMARY KEY (id),
KEY lang_id (lang_id),
KEY trans_id (trans_id),
KEY origin_id (origin_id)
) ENGINE = MYISAM DEFAULT CHARSET=utf8mb4;
CREATE TABLE {DBNICK}_tmp_trans (
id INT UNSIGNED DEFAULT '0' NOT NULL,
user_id INT UNSIGNED DEFAULT NULL,
UNIQUE (user_id, id)
) ENGINE = MYISAM DEFAULT CHARSET=utf8mb4;
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('lang', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('trans', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('trans_origin', 0);
INSERT INTO {DBNICK}_generator (table_name, gen_value) VALUES ('trans_lang', 0);
ALTER TABLE {DBNICK}_key_value CHANGE value_txt value_txt TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_key_value CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_user CHANGE params params MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_user_chat CHANGE message_txt message_txt TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_user_log CHANGE options options TEXT DEFAULT ('') NOT NULL, CHANGE vars vars TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_user_filter CHANGE sql_txt sql_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_user_file_version CHANGE content content MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_user_task_note CHANGE content content MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_topic CHANGE intro intro MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE option_code option_code TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_topic CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_topic_key CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_topic_key_set CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_self_key_value CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_brand CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_brand CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_brand_key CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_brand_key_set CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_provider CHANGE notice notice MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_provider_key CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_provider_key_set CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_info CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_info CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_info_value CHANGE name name MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_info_value CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_info_key CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_info_key_set CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_advert_text CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_advert_text CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_store CHANGE intro intro MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE review review MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE clann_descr clann_descr MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE option_code option_code TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_store CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_store_info CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_store_comment CHANGE params params MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE positive positive MEDIUMTEXT DEFAULT ('') NOT NULL,CHANGE negative negative MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE summary summary MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_u_info_value CHANGE name name MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_u_files_info_value CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_u_store CHANGE intro intro MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE review review MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE clann_descr clann_descr MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE option_code option_code TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_u_files_store CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_u_store_info CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_field CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_field CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_client_field CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_order_option CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_order_option CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_order_option_value CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE message message MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_order_option_value CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_order_option_block CHANGE message message TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_order_option_limit CHANGE message message TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_order_store_option_block CHANGE message message TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_orders_client_field CHANGE value_txt value_txt MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_orders_store CHANGE store_name store_name TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_orders_option CHANGE notice notice MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_web_outside CHANGE url url TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_web_inside CHANGE url url TEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_web_key CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_web_key CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_web_key_value CHANGE name name MEDIUMTEXT DEFAULT ('') NOT NULL, CHANGE descr descr MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_files_web_key_value CHANGE format_xml format_xml MEDIUMTEXT DEFAULT ('') NOT NULL;
ALTER TABLE {DBNICK}_report CHANGE report_file report_file MEDIUMTEXT DEFAULT ('') NOT NULL;
DROP INDEX command ON {DBNICK}_oper;
CREATE INDEX command ON {DBNICK}_oper (command);
DROP INDEX key_code ON {DBNICK}_key_value;
CREATE INDEX key_code ON {DBNICK}_key_value (key_code);
DROP INDEX path ON {DBNICK}_user_file_version;
CREATE INDEX path ON {DBNICK}_user_file_version (path(250));
DROP INDEX kind_key ON {DBNICK}_topic_alt;
CREATE INDEX kind_key ON {DBNICK}_topic_alt (kind_key);
DROP INDEX code_shop ON {DBNICK}_store;
CREATE INDEX code_shop ON {DBNICK}_store (code_shop(250));
DROP INDEX code_prov ON {DBNICK}_store;
CREATE INDEX code_prov ON {DBNICK}_store (code_prov(250));
DROP INDEX code_made ON {DBNICK}_store;
CREATE INDEX code_made ON {DBNICK}_store (code_made(250));
Update the encoding of all database tables to utf8mb4. Example of obtaining the command list:
SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' CONVERT TO CHARACTER SET utf8mb4;')
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'database_name';-
Structure
-
ADD Multilingualism
-
ADD Languages and categories
-
ADD Get GET_LANG
- ADD trans trans *
- ADD lang lang *
- ADD files_lang files_lang *
- ADD key_value cut_key_value *
- ADD files_key_value cut_files_key_value *
-
ADD Save PUT_LANG
- ADD trans trans *
- ADD lang lang *
- ADD files_lang files_lang *
-
ADD Get GET_LANG
-
ADD Translations
-
ADD Update settings GET_TRANS_LANG_RELATIVE
- ADD trans cut_trans *
- ADD lang cut_lang *
- ADD key_value cut_key_value *
- ADD files_key_value cut_files_key_value *
- ADD oper cut_oper *
- ADD oper_right cut_oper_right *
- ADD user cut_user id,group_id,login,name,phone,email,add_group_id
- ADD user_group cut_user_group *
- ADD web_inside cut_web_inside *
- ADD web_inside_right cut_web_inside_right *
- ADD Add original ADD_TRANS_ORIGIN
- ADD Add translation ADD_TRANS_LANG
-
ADD Get translations GET_PART_TRANS_LANG
- ADD FUNC:GetPartTransOrigin part_trans_origin
- ADD FUNC:GetPartTransLang part_trans_lang
-
ADD Extended query GET_EXTEND_TRANS_LANG
- ADD FUNC:GetExtendTransOrigin part_trans_origin
- ADD FUNC:GetExtendTransLang part_trans_lang
- ADD Execute translation TRANS_LANG_SERVICE
- ADD Save UPDATE_TRANS_LANG
-
ADD Update settings GET_TRANS_LANG_RELATIVE
-
ADD Languages and categories
-
ADD Multilingualism
-
Components
-
ADD Multilingualism
-
ADD Language
-
ADD Type LANG_KIND_KEY
- ADD [x] kDefault Default
-
ADD Type LANG_KIND_KEY
-
ADD Category
-
ADD Type TRANS_KIND_KEY
- ADD [x] kDefault Default
-
ADD Data TRANS_TABLE_KEY
- ADD [x] kDefault Default
- ADD kTopic Topics
- ADD kStore Products
- ADD kTags Tags
-
ADD Type TRANS_KIND_KEY
-
ADD Original
-
ADD Type TRANS_ORIGIN_KIND_KEY
- ADD [x] kDefault Default
-
ADD Type TRANS_ORIGIN_KIND_KEY
-
ADD Language
-
ADD Multilingualism
-
Called Modules
-
ADD Multilingualism
-
ADD Translator MODULE_TRANSLATE_LINE
- ADD melbis_inc_translate.php MELBIS_INC_TRANSLATE_service
-
ADD Translator MODULE_TRANSLATE_LINE
-
ADD Multilingualism
Go to "Development Environment" and apply the following modifications:
- In root files (index.php, lazy.php, and others), remove the
FOLDERconstant and append the library calls:require_once('config.php');require_once('units/melbis_inc.php');
- Review and update scripts to utilize the new melbis_inc and melbis_inc_std libraries.
- Rename the template folder using the pattern:
templates/default/unittotemplates/default/units. - Update store scripts to ensure compatibility with the new PHP 8.3 and MySQL 8.4 versions.
- π Official Website: melbis.com
- π° Prices & Licenses: melbis.com/price
- π Installation Packages: melbis.com/download
- π» GitHub Releases: melbis/melbis-shop/releases
- π³ Docker Hub: melbis/melbis-shop
- π¦ Packagist (Composer): melbis/melbis-shop
- π’ Telegram News: @melbis_shop
- πΊ YouTube Tutorials: Melbis-Shop Channel
- πΌοΈ Screenshots: View gallery
- π Documentation: Installation & Setup
- π Flagship Example Store: Astroscope.com.ua (A live example of a high-load store powered by Melbis Shop)
Built for speed, scaled for business.