Aktualizace SuperQC 1.4.2 a SuperCart 2.0.7 pro provoz na PHP 8.0
poslední aktualizace: 1.2.2021 pro PHP 8.0
Podrobný postup, jak upravit zdrojové kódy aplikace SuperQC verze 1.4.2 a SuperCart 2.0.7 v PHP 8.0 již neuvádím. Aktualizace je náročnější a řeším ji vždy individuálně.
Nadále ovšem platí, že SuperQC 1.4.2 a SuperCart 2.0.7 jsou již zastaralé systémy, obsahují bezpečnostní chyby a nedoporučuji je už vůbec dále provozovat.
Nabízím technické zajištění migrace např. na systémy Upgates, Nody nebo LiteCart.
V případě, že si chcete tuto službu objednat, pište na adresu info@itprostor.cz
Podmínkou je poskytnutí FTP přístupu ke zdrojovým kódům vašeho eshopu.
Cena aktualizace pro PHP 8.0 je stanovena vždy individuálně.
V případě, že nebylo zasahováno do zdrojového kódu eshopu, je cena 2000 Kč (platba předem, cena je konečná - neplátce DPH)
Při objednání služby obdržíte krom níže uvedených úprav navíc i několik oprav vážných bezpečnostních chyb, které jsou v systému již od jeho vzniku.
Z logických důvodů tyto chyby a jejich opravu zde zveřejnit nemohu.
Níže uvedený návod je určený pouze pro programátory s dostatečnou znalostí PHP.
SuperQC 1.4.2 | SuperCart 2.0.7 | Poznámky |
---|---|---|
vytvořit soubor "mysqli.php" ve složce "sqc/include/odb/driver" pro SuperQC 1.x (nebo "core/include/odb/driver" pro SuperCart 2.x) v "sqc/include/core.php" řádek 440 pro SuperQC 1.x nebo 453 pro SuperCart 2.x - přepsat 'mysql' na 'mysqli' |
nutné pro PHP 5.6 a výše | |
v "sqc/include/def.php" na řádku 115 nastavit 'odb': |
v SuperCart 2.0.7 již provedeno |
nutné pro PHP 5.6 a výše |
v "sqc/include/core.php" zakomentovat nebo odmazat řádek 395 původně: require_once(APPROOT.'vendor/notorm/NotORM.php'); odmazat nebo nově: //require_once(APPROOT.'vendor/notorm/NotORM.php'); |
v SuperCart 2.0.7 již provedeno |
nutné pro PHP 5.6 a výše |
aktualizace knihovny PHPMailer (https://github.com/Synchro/PHPMailer) (tato úprava je nutná pro zprovození odesílání emailů v PHP 5.6)
|
nutné pro PHP 5.6 a výše | |
úprava souboru "sqc/admin/controller/dataimport.php" na řádku 976 pro SuperQC 1.x (nebo "core/admin/controller/dataimport.php" na řádku 975 pro SuperCart 2.x) původně: public function _updateProduct($product, $data, $orig_data) nově: public function _updateProduct(&$product, &$data, $orig_data) |
tato úprava není bezpodmínečně nutná |
|
úprava souboru "sqc/include/zip.php" na řádku 114 pro SuperQC 1.x (nebo "core/include/zip.php" na řádku 113 pro SuperCart 2.x) původně: if($this->driver->open($this->archive, ZipArchive::OVERWRITE)){ nově: if($this->driver->open($this->archive, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE)){ |
tato úprava už není bezpodmínečně nutná pouze pokud využíváte zálohy aplikace v administraci pro PHP 5.6 a výše |
|
úprava souboru "sqc/include/odb/single.php" na řádku 12 pro SuperQC 1.x (nebo "core/include/odb/single.php" na řádku 11 pro SuperCart 2.x) původně: public function update($data, $toString = false) nově: public function update($data, $toString = false, $single_row = null) |
pro PHP 5.6 a výše | |
SuperQC 1.x tento instalační soubor neobsahuje, takže úpravu není třeba implementovat v této verzi |
úprava souboru "install.php" na řádku 402 pro SuperCart 2.x buď pouze zakomentovat příkaz "continue": nebo úplně odmazat/odstranit funkci "copyFile" počínaje řádkem 388 až 423 tato funkce řeší instalaci ze vzdáleného úložiště, které stejně není v provozu, takže odstranění této funkce ničemu nevadí |
zprovoznění instalace pouze pro SuperCart 2.x pro PHP 7 |
aktualizace knihovny FPDF (http://www.fpdf.org) - potřebná pro generování PDF s fakturami knihovnu stáhněte z výše uvedené webové stránky a soubory zkopírujte do složky "sqc/vendor/fpdf" pro SuperQC 1.x nebo "core/vendor/fpdf" pro SuperCart 2.x |
pro PHP 7.0 |