E-shop opencart obsahuje (obsahoval) drobnou chybu ve vyhledávání. Jde o to že při pokusu vyhledat produkt který není aktivní dojde i tak k jeho nalezení. Naštěstí produkt nejde dále zobrazit, tzn. ani objednat.
Chyba je v modulu /catalog/controller/search.php, řádek 48:
select * from product p left join product_description pd on (p.product_id = pd.product_id) left join image i on (p.image_id = i.image_id) where pd.language_id = '?' and pd.name like '?' or pd.description like '?' and p.date_available < now() and p.status = '1'.
Chyba není na první pohled vidět, ale chybí zde závorky okolo vyhledávací formulace, tedy:
select * from product p left join product_description pd on (p.product_id = pd.product_id) left join image i on (p.image_id = i.image_id) where pd.language_id = '?' and (pd.name like '?' or pd.description like '?') and p.date_available < now() and p.status = '1'.
Bez závorek SQL bere příkaz OR jako vyznamější takže dojde k vynechání části and p.status = '1'
Dostal se mi do ruky notebook Toshiba Satellite L500-12Q. Po nainstalování ovladačů a podpůrného software…
Sorry to all Czech readers, but this article should be primary in English. A few…
Dneska sem se snažil zprovoznit nastavit stahování z Mozilla Firefoxu (s pluginem Flashgot) pomocí JDownloaderu.…
V poslední době sem tam pracuji s SMD součástkami popřípadě s různými moduly a řešil…
Tentokrát z trochu jiného soudku. Nedávno jsem našel tento článek o teploměru. Nápad dobrý, display…
V nedávné době jsem zakoupil router Asus RT-N16, po prvním spuštění sem zjistil, že defaultní…