function majcaracdisp($id, $lang) { global $caracdispdesc_titre; foreach ($caracdispdesc_titre as $idcaracdisp => $valeur) { $caracdispdesc = new Caracdispdesc(); $existe = $caracdispdesc->charger_caracdisp($idcaracdisp, $lang); $caracdispdesc->caracdisp = $idcaracdisp; $caracdispdesc->lang = $lang; $caracdispdesc->titre = $valeur; if (!$existe) { $caracdispdesc->classement = 1 + maxClassement($id, $lang); $caracdispdesc->add(); } else { $caracdispdesc->maj(); } $caracdisp = new Caracdisp($idcaracdisp); ActionsModules::instance()->appel_module("modcaracdisp", $caracdisp); } redirige('caracteristique_modifier.php?id=' . $id); }
echo $row->caracteristique; ?> " id="typecaract<?php echo $row->caracteristique; ?> " value="c" /> <select name="caract<?php echo $row->caracteristique; ?> []" id="caract<?php echo $row->caracteristique; ?> " size="5" multiple="multiple" class="form_caracterisques_ajoutees"> <?php while ($row2 = mysql_fetch_object($resul2)) { $caracdispdesc->charger_caracdisp($row2->id); $caracval->charger_caracdisp($produit->id, $row2->caracteristique, $caracdispdesc->caracdisp); if ($caracdispdesc->caracdisp == $caracval->caracdisp) { $selected = "selected=\"selected\""; } else { $selected = ""; } ?> <option value="<?php echo $caracdispdesc->caracdisp; ?> " <?php echo $selected; ?> > <?php
function boucleCaracdisp($texte, $args) { global $caracdisp; $caracteristique = lireTag($args, "caracteristique", "int"); /* DEBUT CODE DEPRECIE 1.5.2 par roadster31 */ $stockmini = lireTag($args, "stockmini", "int"); /* FIN CODE DEPRECIE */ $courante = lireTag($args, "courante", "int"); $rubrique = lireTag($args, "rubrique", "int"); $classement = lireTag($args, "classement", "string"); $deb = lireTag($args, "deb", "int"); $num = lireTag($args, "num", "int"); $id = lireTag($args, "caracdisp", "int_list"); if ($id == "") { $id = lireTag($args, "id", "int"); } $liste = ""; $res = ""; $search = ""; $limit = ""; $tcaracdisp = new Caracdisp(); $tcaracdispdesc = new Caracdispdesc(); // preparation de la requete if ($caracteristique != "") { $search .= " and {$tcaracdisp->table}.caracteristique=\"{$caracteristique}\""; } if ($id != "") { $search .= " and {$tcaracdisp->table}.id IN ({$id})"; } if ($classement == "alpha") { $order = "order by {$tcaracdispdesc->table}.titre"; } else { if ($classement == "alphainv") { $order = "order by {$tcaracdispdesc->table}.titre desc"; } else { if ($classement == "manuel") { $order = "order by {$tcaracdispdesc->table}.classement"; } } } if ($deb == "") { $deb = 0; } if ($num != "") { $limit = "limit {$deb},{$num}"; } if (ActionsLang::instance()->get_action_si_trad_absente() == ActionsLang::UTILISER_LANGUE_INDIQUEE) { // On retourne uniquement les caracdisp traduites $search .= " and {$tcaracdispdesc->table}.id is not null"; } $query = "\n\t\t\tselect {$tcaracdisp->table}.* from {$tcaracdisp->table}\n\t\t\tleft join {$tcaracdispdesc->table} on {$tcaracdispdesc->table}.caracdisp = {$tcaracdisp->table}.id and {$tcaracdispdesc->table}.lang = " . ActionsLang::instance()->get_id_langue_courante() . "\n\t\t\twhere 1 {$search}\n\t\t\t{$order}\n\t\t\t{$limit}\n\t\t"; $resul = CacheBase::getCache()->query($query); if (!empty($resul)) { $compt = 1; foreach ($resul as $row) { if ($courante == "1" && ($id != $caracdisp && !strstr($caracdisp, "-" . $id))) { continue; } else { if ($courante == "0" && ($id == $caracdisp || strstr($caracdisp, "-" . $id))) { continue; } } /* DEBUT CODE DEPRECIE 1.5.2 par roadster31 * * Le stock n'a pas vraiement de sens dans le contexte des caracteristiques. Info de Yoan le 28/11 : * "Je me demande si ce n'est pas un vieux truc qui permettait de générer des menus particuliers en disant combien de produits avaient "cette caractéristique". * Je t'avoue que là je ne vois pas trop l'intérêt non plus, sur le coup." * */ if ($stockmini != "") { $caracvalch = new Caracval(); $prod = new Produit(); $querych = "select count(*) as nb\n from {$prod->table},{$caracvalch->table}\n where {$prod->table}.id={$caracvalch->table}.produit and {$prod->table}.ligne=1 and {$caracvalch->table}.caracdisp='" . $row->id . "'"; $resulch = CacheBase::getCache()->query($querych); if ($resulch[0]->nb < $stockmini) { continue; } } /* FIN CODE DEPRECIE */ $tcaracdispdesc->charger_caracdisp($row->id); $tcaracdisp->charger($row->id); $id = $row->id . "-"; $caracteristique = $tcaracdisp->caracteristique . "-"; if ($caracteristique == "{$tcaracdisp->caracteristique}" . "-" && $caracdisp == $row->id . "-") { $selected = 'selected="selected"'; } else { $selected = ""; } $temp = str_replace("#IDC", $id, $texte); $temp = str_replace("#ID", $tcaracdisp->id, $temp); $temp = str_replace("#RUBRIQUE", "{$rubrique}", $temp); $temp = str_replace("#CARACTERISTIQUE", $tcaracdisp->caracteristique, $temp); $temp = str_replace("#CARACTERISTIQUEC", $caracteristique, $temp); $temp = str_replace("#TITRE", "{$tcaracdispdesc->titre}", $temp); $temp = str_replace("#SELECTED", "{$selected}", $temp); $temp = str_replace("#COMPT", $compt, $temp); $temp = str_replace("#NBRES", count($resul), $temp); $res .= $temp; $compt++; } } return $res; }
public function modifier($titre, $chapo, $description, $affiche, $caracdisp, $lang) { $this->verifyLoaded(); $caracdesc = new Caracteristiquedesc($this->id, $lang); $caracdesc->titre = $titre; $caracdesc->chapo = nl2br($chapo); $caracdesc->description = nl2br($description); $this->affiche = $affiche != "" ? 1 : 0; $this->maj(); if ($caracdesc->id) { $caracdesc->maj(); } else { $caracdesc->lang = $lang; $caracdesc->caracteristique = $this->id; $caracdesc->add(); } ActionsModules::instance()->appel_module("modcaracteristique", new Caracteristique($this->id)); //Caracdispdesc if (!empty($caracdisp) && is_array($caracdisp)) { foreach ($caracdisp as $id => $value) { $caracdispdesc = new Caracdispdesc(); $caracdispdesc->charger_caracdisp($id, $lang); $caracdispdesc->titre = $value; if ($caracdispdesc->id) { $caracdispdesc->maj(); } else { $caracdispdesc->caracdisp = $id; $caracdispdesc->lang = $lang; $caracdispdesc->classement = $this->getMaxCaracdispRank($this->id, $lang) + 1; $caracdispdesc->add(); } $caracdisp = new Caracdisp($id); ActionsModules::instance()->appel_module("modcaracdisp", $caracdisp); } } redirige("caracteristique_modifier.php?id=" . $this->id . "&lang=" . $lang); }