bei der betrachtung des quelltextes von version 4.4.4 ist mir beim löschen eines artikels folgendes kuriosum aufgefallen:
Code: Alles auswählen
$sql = "DELETE FROM ".$cfg["tab"]["art_lang"]." WHERE idart = '".$idart."'";
$db->query($sql);
$sql = "SELECT idtplcfg FROM ".$cfg["tab"]["art_lang"]." WHERE idart = '".$idart."' AND idlang = '".$lang."'";
$db->query($sql);
$db->next_record();
$tmp_idtplcfg = $db->f('idtplcfg');
$sql = "DELETE FROM ".$cfg["tab"]["tpl_conf"]." WHERE idtplcfg = '".$tmp_idtplcfg."'";
$db->query($sql);
desweiteren ist mir aufgefallen, das beim löschen eines artikels - konkret nach dem löschen der tabelle tpl_conf die relation zur tabelle container_conf nicht berücksichtigt wird. ich weiß nicht ob da eine absicht hinteresteckt, deswegen frage ich mal nach - ich weiß z.B. nicht ob es dann im Zusammenhang mit Mehrsprachigkeit zu Konflikten kommen könnte - deshalb frag ich mal nach
meine anpassung in der functions.con.php sieht dann folgendermaßen aus (function conDeleteart)
Code: Alles auswählen
$sql = "SELECT idtplcfg FROM ".$cfg["tab"]["art_lang"]." WHERE idart = '".$idart."' AND idlang = '".$lang."'";
$db->query($sql);
$db->next_record();
$tmp_idtplcfg = $db->f('idtplcfg');
$sql = "DELETE FROM ".$cfg["tab"]["art_lang"]." WHERE idart = '".$idart."'";
$db->query($sql);
$sql = "DELETE FROM ".$cfg["tab"]["tpl_conf"]." WHERE idtplcfg = '".$tmp_idtplcfg."'";
$db->query($sql);
// Löschen aus container_conf
$sql = "DELETE FROM ".$cfg["tab"]["container_conf"]." WHERE idtplcfg = '".$tmp_idtplcfg."'";
$db->query($sql);
grüße
andy