ich sehe mir gerade wieder mal die datenbank tabellen an und bin da auf eine frage gestossen...
wenn ich jetzt einen artikel in mehreren sprachen habe, verwenden diese artikel ein und die selbe idtplcfg ?
oder gibts dann für jeden artikel in jeder sprache ne eigene idtplcfg ?
Frage zu Artikel
okay
das selbe muss dann vermutlich auch für die container_conf gelten.
ich sehe mir nämlich gerade die function conDeleteart und da ist mir noch einiges nicht ganz klar...
das selbe muss dann vermutlich auch für die container_conf gelten.
ich sehe mir nämlich gerade die function conDeleteart und da ist mir noch einiges nicht ganz klar...
*** make your own tools (wishlist :: thx)
okay hier hab ich was
die korrigierte version der routine die den müll aus con_template_conf und con_container_conf mit entfernt...
die korrigierte version der routine die den müll aus con_template_conf und con_container_conf mit entfernt...
Code: Alles auswählen
/**
* Delete an Article
*
* @param int $idart Article Id
*
* @author Olaf Niemann <olaf.niemann@4fb-de>
* Jan Lengowski <jan.lengowski@4fb.de>
*
* @copyright four for business AG <www.4fb.de>
*/
function conDeleteart($idart)
{
global $db, $cfg, $lang;
/* Delete current language */
$sql = "SELECT idartlang, idtplcfg FROM ".$cfg["tab"]["art_lang"]." WHERE idart = '$idart' AND idlang='$lang'";
$db->query($sql);
$db->next_record();
$idartlang = $db->f("idartlang");
$idtplcfg = $db->f("idtplcfg");
/* Fetch idcat */
$sql = "SELECT idcat FROM ".$cfg["tab"]["cat_art"]." WHERE idart = '$idart'";
$db->query($sql);
$db->next_record();
$idcat = $db->f("idcat");
/* Remove startidartlang */
if (isStartArticle($idartlang, $idcat, $lang))
{
$sql = "UPDATE ".$cfg["tab"]["cat_lang"]." SET startidartlang='0' WHERE idcat='$idcat' AND idlang='$lang'";
$db->query($sql);
}
$sql = "DELETE FROM ".$cfg["tab"]["content"]." WHERE idartlang = '".$idartlang."'";
$db->query($sql);
$sql = "DELETE FROM ".$cfg["tab"]["art_lang"]." WHERE idartlang = '".$idartlang."'";
$db->query($sql);
if ($idtplcfg != "0") {
$sql = "DELETE FROM ".$cfg["tab"]["container_conf"]." WHERE idtplcfg = '".$idtplcfg."'";
$db->query($sql);
$sql = "DELETE FROM ".$cfg["tab"]["tpl_conf"]." WHERE idtplcfg = '".$idtplcfg."'";
$db->query($sql);
}
/* Check if there are remaining languages */
$sql = "SELECT idartlang FROM ".$cfg["tab"]["art_lang"]." WHERE idart = '$idart'";
$db->query($sql);
if ($db->num_rows() > 0)
{
return;
}
$sql = "SELECT * FROM ".$cfg["tab"]["cat_art"]." WHERE idart = '".$idart."'";
$db->query($sql);
while ( $db->next_record() ) {
$idcatart[] = $db->f("idcatart");
}
##################################################
# set keywords
$keycode[1][1]="";
SaveKeywordsforart($keycode,$idart,"auto",$lang);
SaveKeywordsforart($keycode,$idart,"self",$lang);
if ( is_array($idcatart) ) {
foreach ($idcatart AS $value) {
//********* delete from code table **********
$sql = "DELETE FROM ".$cfg["tab"]["code"]." WHERE idcatart = '".$value."'";
$db->query($sql);
//****** delete from 'stat'-table ************
$sql = "DELETE FROM ".$cfg["tab"]["stat"]." WHERE idcatart = '".$value."'";
$db->query($sql);
}
}
$sql = "SELECT * FROM ".$cfg["tab"]["art_lang"]." WHERE idart = '".$idart."'";
$db->query($sql);
while ( $db->next_record() ) {
$idartlang[] = $db->f("idartlang");
}
if ( is_array($idartlang) ) {
foreach ($idartlang AS $value) {
$sql = "UPDATE ".$cfg["tab"]["cat_lang"]." SET startidartlang='0' WHERE startidartlang ='$value'";
$db->query($sql);
//********* delete from content table **********
$sql = "DELETE FROM ".$cfg["tab"]["content"]." WHERE idartlang = '".$value."'";
$db->query($sql);
}
}
$sql = "DELETE FROM ".$cfg["tab"]["cat_art"]." WHERE idart = '".$idart."'";
$db->query($sql);
$sql = "DELETE FROM ".$cfg["tab"]["art"]." WHERE idart = '".$idart."'";
$db->query($sql);
$sql = "DELETE FROM ".$cfg["tab"]["art_lang"]." WHERE idart = '".$idart."'";
$db->query($sql);
}
*** make your own tools (wishlist :: thx)