View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002453 | OXID eShop (all versions) | 4.09. SEO, SEO URL | public | 2011-01-28 12:03 | 2012-12-10 13:35 |
Reporter | Moehlis | Assigned To | |||
Priority | high | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | 4.4.5 revision 31315 | ||||
Fixed in Version | 4.4.7 revision 33396 | ||||
Summary | 0002453: oxseohistory only created partially | ||||
Description | requires: article is in more than one category when renaming an article, seo entries are marked as expired -> correct after calling the category list page, new link for article is generated -> correct before creating the new link in oxseo, the hast of the old link goes to oxseohistory -> wrong the link that goes to seohistory, is choosen randomly due a bug in the oxseoencoder: oxseoencoder.php:197 _copyToHistory EE 4.4.5 31315 $sSub = "select $sObjectid, MD5( LOWER( oxseourl ) ), oxshopid, oxlang, now() from oxseo where {$sType} oxobjectid = ".$oDb->quote( $sId )." and oxshopid = ".$oDb->quote( $iShopId )." and oxlang = {$iLang} limit 1"; The select statement filters all links of the article, not limited to the current category. Because of the LIMIT 1 only one link will be inserted into oxseohistory. Solution should be adding a check for the current category within the query, so the limit 1 will be obsolete. As a hotfix, i removed the LIMIT 1 and added a check for oxexpired = 1, so every expired link goes to history. That will bring some overhead but better than a not working seo history. | ||||
Tags | No tags attached. | ||||
Theme | |||||
Browser | All | ||||
PHP Version | any | ||||
Database Version | any | ||||