/** * * todo : utiliser cette methode pour la gestion des contenus associés aux produit // actuellement uniquement pour rubrique */ public function add($contentToAddId, $type, $object) { if ($type == 1) { $objectInstance = new Produit(); $objectInstance->charger($object); } else { $objectInstance = new Rubrique(); $objectInstance->charger($object); } $contentToAdd = new Contenu(); $this->id = ''; if (!$this->existe($object, $type, $contentToAddId) && $contentToAdd->charger($contentToAddId)) { $classement = $this->getMaxRanking($objectInstance->id, $type) + 1; $this->objet = $objectInstance->id; $this->type = $type; $this->contenu = $contentToAdd->id; $this->classement = $classement; parent::add(); if ($this->type == 1) { ActionsModules::instance()->appel_module("modprod", $objectInstance); } else { ActionsModules::instance()->appel_module("modrub", $objectInstance); } } }
private function trouver_modules_filtre() { if (self::$modules !== false) { return; } self::$modules = array(); // Trouver tous les modules ayant '#FILTRE' dans leur code (hack pour la perf) $liste = ActionsModules::instance()->lister(false, true); foreach ($liste as $module) { try { $class_name = ucfirst($module->nom); $class_file = ActionsModules::instance()->lire_chemin_module . "/" . $class_name . ".class.php"; if (file_exists($class_file)) { $code = file_get_contents($class_file); if (strpos($code, '#FILTRE') !== false) { $instance = ActionsModules::instance()->instancier($module->nom); if (method_exists($instance, 'post')) { self::$modules[] = $clazz; } } } } catch (Exception $e) { } } }
public static function instance() { if (self::$instance === false) { self::$instance = new ActionsModules(); } return self::$instance; }
public static function exec(&$texte) { foreach (self::$FILTRES_DEFAUT as $nom_filtre => $class) { if (strstr($texte, "#FILTRE_{$nom_filtre}")) { $classname = "Filtre{$class}"; require_once "{$classname}.class.php"; $f = new $classname($nom_filtre); $f->exec($texte); } } // Les filtres présents dans client/plugins $filtres_utilisateur = ActionsModules::instance()->lister(Modules::FILTRE, true); // Filtres utilisateur foreach ($filtres_utilisateur as $filtre) { try { $instance = ActionsModules::instance()->instancier($filtre->nom); $instance->exec($texte); } catch (Exception $e) { } } // Les filtres explicitement enregistrés par enregistrer_filtres(); foreach (self::$FILTRES_UTILISATEUR as $filtre) { $filtre->exec($texte); } }
/** * Supprimer une langue existante */ public function supprimer($id) { $langue = new Lang(); if ($langue->charger_id($id)) { $langue->delete(); ActionsModules::instance()->appel_module("supplangue", $langue); } }
function supprimer($ref) { $client = new Client(); $client->charger_ref($ref); $client->delete(); ActionsModules::instance()->appel_module("supcli", $client); redirige("client.php"); }
/** * Redirige vers une URL, et termine le script * @param string url l'URL de destination */ function redirige($url) { ActionsModules::instance()->appel_module("redirige", $url); if (!Tlog::instance()->afficher_redirections($url)) { header("Location: " . $url); } exit; }
/** * Supprimer une devise existante */ public function supprimer() { if ($this->id == "") { throw new TheliaAdminException("Devise not found", TheliaAdminException::DEVISE_NOT_FOUND); } $devise = new Devise($this->id); parent::delete(); ActionsModules::instance()->appel_module("suppdevise", $devise); $this->redirect(); }
function accessoire_supprimer() { $accessoire = new Accessoire(); $accessoire->charger($_GET['id']); $produit = new Produit(); $produit->charger($accessoire->produit); $accessoire->delete(); lister_accessoires($_GET['ref']); ActionsModules::instance()->appel_module("modprod", $produit); }
public function edit($request) { foreach ($this->getList() as $variable) { if ($this->charger_id($variable['id'])) { $this->valeur = $request->request->get("valeur_" . $this->id); $this->maj(); ActionsModules::instance()->appel_module("modvariable", new Variable($this->nom)); } } redirige("variable.php"); }
function port($type = 0, $_pays = false, $_cpostal = "") { if ($_SESSION['navig']->commande->transport == "" && !$type) { return -1; } if ($_SESSION['navig']->adresse != 0) { $chadr = 1; } else { $chadr = 0; } $modules = new Modules(); if (!$type) { $modules->charger_id($_SESSION['navig']->commande->transport); } else { $modules->charger_id($type); } if ($modules->type != Modules::TRANSPORT || !$modules->actif) { return -1; } $p = new Pays(); if ($chadr) { $adr = new adresse(); $adr->charger($_SESSION['navig']->adresse); $p->charger($adr->pays); $cpostal = $adr->cpostal; } else { $p->charger($_SESSION['navig']->client->pays); $cpostal = $_SESSION['navig']->client->cpostal; } // Prise en compte des infos passée, si aucune des infos précédentes n'est pertinente. if (empty($p->id) && $_pays) { $p->charger($_pays); } if (empty($cpostal) && $_cpostal != "") { $cpostal = $_cpostal; } $zone = new Zone(); $zone->charger($p->zone); try { $port = ActionsModules::instance()->instancier($modules->nom); $port->nbart = $_SESSION['navig']->panier->nbart(); $port->poids = $_SESSION['navig']->panier->poids(); $port->total = $_SESSION['navig']->panier->total(); $port->zone = $p->zone; $port->pays = $p->id; $port->unitetr = $zone->unite; $port->cpostal = $cpostal; $frais = $port->calcule(); ActionsModules::instance()->appel_module("port", $frais); return $frais; } catch (exception $e) { return -1; } }
public function add($variantToAddId, $categoryId) { $category = new Rubrique(); $variantToAdd = new Declinaison(); $this->id = ''; if (!$this->charger($categoryId, $variantToAddId) && $variantToAdd->charger($variantToAddId) && $category->charger($categoryId)) { $this->rubrique = $category->id; $this->declinaison = $variantToAdd->id; parent::add(); ActionsModules::instance()->appel_module("modrub", $category); } }
public function add($featureToAddId, $categoryId) { $category = new Rubrique(); $featureToAdd = new Caracteristique(); $this->id = ''; if (!$this->charger($categoryId, $featureToAddId) && $featureToAdd->charger($featureToAddId) && $category->charger($categoryId)) { $this->rubrique = $category->id; $this->caracteristique = $featureToAdd->id; parent::add(); ActionsModules::instance()->appel_module("modrub", $category); } }
public function clear_cache() { if ($dh = opendir($this->cache_dir)) { while ($file = readdir($dh)) { if ($file == '.' || $file == '..') { continue; } unlink($this->cache_dir . '/' . $file); } } ActionsModules::instance()->appel_module("clear_cache"); $this->redirect(); }
public function modifier_classement($id, $classement) { if ($this->charger_id($id)) { $where_colonne = $this->construire_where_clause(); if ($classement > $this->classement) { $between = $this->classement . " and {$classement}"; $delta = -1; } else { $between = "{$classement} and " . $this->classement; $delta = +1; } $query = "select * from " . $this->table . " where {$where_colonne} classement BETWEEN {$between}"; $resul = $this->query($query); while ($resul && ($row = $this->fetch_object($resul, get_class($this)))) { $row->classement += $delta; $row->maj(); } $this->classement = $classement; $this->maj(); if ($this->methode_module != false) { ActionsModules::instance()->appel_module($this->methode_module, $this); } } }
/** * Supprimer une devise existante */ public function supprimer($id) { $devise = new Devise(); if ($devise->charger_id($id)) { $devise->delete(); ActionsModules::instance()->appel_module("suppdevise", $devise); } }
function supprimer($id, $parent) { $contenu = new Contenu($id); $contenu->delete(); ActionsModules::instance()->appel_module("supcont", $contenu); redirige("listdos.php?parent=" . $parent); exit; }
function ajout_desc($titre, $chapo, $description, $lang = 1, $devise = "") { ActionsModules::instance()->mise_a_jour_description($this->nom_plugin, $lang, $titre, $chapo, $description, $devise); }
exit; } if (!isset($action)) { $action = ""; } if (!isset($page)) { $page = 0; } require_once "liste/client.php"; ?> <?php if ($action == "supprimer") { $tempcli = new Client(); $tempcli->charger_ref($ref); ActionsModules::instance()->appel_module("supcli", $tempcli); $tempcli->delete(); } ?> <?php $client = new Client(); if ($page == "") { $page = 1; } $query = "select count(*) from {$client->table}"; $resul = mysql_query($query, $client->link); $num = mysql_result($resul, 0); $nbpage = 20; $totnbpage = ceil($num / 20); $debut = ($page - 1) * 20;
private function updateStatut($statut) { $ancienStatut = $this->statut; $this->statut = $statut; if ($statut == Commande::PAYE && $this->facture == 0) { $this->genfact(); } else { if ($statut == Commande::EXPEDIE && $this->datelivraison == "0000-00-00") { $this->datelivraison = date("Y-m-d"); } } $this->maj(); ActionsModules::instance()->appel_module("statut", $this, $ancienStatut); }
public function changePermissions($profil, $generalPermissions, $pluginsPermissions) { $this->verifyLoaded(); if ($generalPermissions === null) { $generalPermissions = array(); } if ($pluginsPermissions === null) { $pluginsPermissions = array(); } $testProfil = new Profil(); if (!$testProfil->charger_id($profil) && $profil != 0) { throw new TheliaAdminException('Incorrect parameter $profil : could not load Profil.', TheliaAdminException::PROFIL_NOT_FOUND); } if ($profil != 0) { $this->profil = $profil; $this->maj(); } if ($this->profil != ProfilAdmin::ID_PROFIL_SUPERADMINISTRATEUR) { foreach ($this->query_liste("SELECT * FROM " . Autorisation::TABLE) as $row) { $autorisation_administrateur = new Autorisation_administrateur(); $autorisation_administrateur->charger($row->id, $this->id); if (array_key_exists($row->id, $generalPermissions) && $generalPermissions[$row->id] == 'on') { if (!$autorisation_administrateur->id) { $autorisation_administrateur->administrateur = $this->id; $autorisation_administrateur->autorisation = $row->id; $autorisation_administrateur->lecture = 0; $autorisation_administrateur->ecriture = 0; $autorisation_administrateur->id = $autorisation_administrateur->add(); } $autorisation_administrateur->lecture = 1; $autorisation_administrateur->ecriture = 1; $autorisation_administrateur->maj(); } else { if ($autorisation_administrateur->id) { $autorisation_administrateur->lecture = 0; $autorisation_administrateur->ecriture = 0; $autorisation_administrateur->maj(); } } } foreach (ActionsAdminModules::instance()->lister(false, true) as $module) { if (ActionsAdminModules::instance()->est_administrable($module->nom)) { $autorisation_modules = new Autorisation_modules(); $autorisation_modules->charger($module->id, $this->id); if (array_key_exists($module->id, $pluginsPermissions) && $pluginsPermissions[$module->id] == 'on') { if (!$autorisation_modules->id) { $autorisation_modules->administrateur = $this->id; $autorisation_modules->module = $module->id; $autorisation_modules->id = $autorisation_modules->add(); } $autorisation_modules->autorise = 1; $autorisation_modules->maj(); } else { if ($autorisation_modules->id) { $autorisation_modules->autorise = 0; $autorisation_modules->maj(); } } } } } ActionsModules::instance()->appel_module("changePermissionsAdmin", new Administrateur($this->id)); redirige('gestadm_droits.php?administrateur=' . $this->id); }
// Vérif panier if ($panier && !$_SESSION["navig"]->panier->nbart) { redirige(urlfond()); } $parseur = new Parseur(); // fonctions à éxecuter avant les inclusions ActionsModules::instance()->appel_module("inclusion"); // inclusion $parseur->inclusion($res); // inclusions des plugins ActionsModules::instance()->appel_module("action"); $res = $parseur->analyse($res); ActionsModules::instance()->appel_module("analyse"); Filtres::exec($res); $res = $parseur->post($res); // inclusions des plugins filtres ActionsModules::instance()->appel_module("post"); Tlog::ecrire($res); // Résultat envoyé au navigateur $res = preg_replace("/(^[\r\n]*|[\r\n]+)[\\s\t]*[\r\n]+/", "\n", $res); if ($sortie) { echo $res; } // fonctions à éxecuter apres l'affichage du template ActionsModules::instance()->appel_module("apres"); // Reset de la commande if ($reset) { $_SESSION["navig"]->commande = new Commande(); $_SESSION["navig"]->panier = new Panier(); $_SESSION['navig']->promo = new Promo(); }
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); }
$variable = new Variable(); if ($variable->charger_id($id)) { if ($valeur != $variable->valeur) { $variable->valeur = $valeur; $variable->maj(); ActionsModules::instance()->appel_module("modvariable", $variable); } } } } // Ajouter ? $nom = lireParam('ajout_nom', 'string'); if ($nom != '') { $variable = new Variable(); $variable->nom = $nom; $variable->valeur = lireParam('ajout_valeur', 'string'); $variable->protege = 0; $variable->cache = 0; $variable->add(); ActionsModules::instance()->appel_module("addvariable", $variable); } } else { if ($action == "supprimer") { $variable = new Variable(); if ($variable->charger_id(intval(lireParam('id', 'int')))) { $variable->delete(); } ActionsModules::instance()->appel_module("delvariable", $variable); } } redirige("variable.php");
function moduleBoucle($type_boucle, $texte, $args) { try { $modules = new Modules(); if ($modules->charger(strtolower($type_boucle)) && $modules->actif) { $instance = ActionsModules::instance()->instancier($modules->nom); if (method_exists($instance, 'boucle')) { return $instance->boucle($texte, $args); } } } catch (Exception $ex) { } return ''; }
protected function ajouter($id, $nom_arg, $extensions_valides = array(), $point_d_entree) { for ($i = 1; $i <= $this->nombre_champs_upload; $i++) { $fichier = $_FILES[$nom_arg . $i]['tmp_name']; $nom = $_FILES[$nom_arg . $i]['name']; if ($fichier != "") { $dot = strrpos($nom, '.'); if ($dot !== false) { $fich = substr($nom, 0, $dot); $extension = substr($nom, $dot + 1); if ($fich != "" && $extension != "" && (empty($extensions_valides) || in_array($extension, $extensions_valides))) { $obj = new $this->class(); $colonne = $this->typeobjet; $obj->{$colonne} = $id; $lastid = $obj->add(); $obj->charger($lastid); $obj->fichier = eregfic(sprintf("%s_%s", $fich, $lastid)) . "." . $extension; $obj->maj(); copy($fichier, $this->chemin_objet($obj->fichier)); ActionsModules::instance()->appel_module($point_d_entree, $obj); } } } } redirige($this->url_page_admin()); }
$objdesc = new Contenudesc(); $objdesc->charger($obj->id); $point_entree = "moddos"; $champ_parent = "dossier"; } else { exit; } } switch ($modif) { case 'titrecont': case 'titredos': $objdesc->titre = lireParam("value", "string"); echo $objdesc->titre; break; case 'lignecont': case 'lignedos': $obj->ligne = $obj->ligne ? 0 : 1; break; case 'lignetouscont': case 'lignetousdos': $ligne = lireParam("ligne", "int"); $parent = intval(lireParam("parent", "int")); $obj->query("update {$obj->table} set ligne={$ligne} where {$champ_parent}={$parent}"); break; default: exit; } $obj->maj(); $objdesc->maj(); ActionsModules::instance()->appel_module($point_entree, $obj);
private function __construct() { ActionsModules::instance()->appel_module("htmlpurifierinit"); $this->set_front_mode(); }
function supprimer($id) { $promo = new Promo(); $promo->charger_id($id); $promo->actif = -1; $promo->maj(); ActionsModules::instance()->appel_module("suppromo", $promo); }
function boucleTransport($texte, $args) { // récupération des arguments $id = lireTag($args, "id", "int_list"); $nom = lireTag($args, "nom", "string"); $exclusion = lireTag($args, "exclusion", "string_list"); $idpays = intval(lireTag($args, "pays", "int")); $cpostal = intval(lireTag($args, "cpostal", "string")); $montantmini = intval(lireTag($args, "montantmini", "float")); $search = ""; $res = ""; if ($id != "") { $search .= "and id in ({$id})"; } if ($nom != "") { $search .= "and nom=\"{$nom}\""; } if ($exclusion != "") { $liste = ""; $tabexcl = explode(",", $exclusion); for ($i = 0; $i < count($tabexcl); $i++) { $liste .= "'" . $tabexcl[$i] . "'" . ","; } $liste = rtrim($liste, ","); $search .= " and nom not in ({$liste})"; } $modules = new Modules(); $query = "select * from {$modules->table} where type='2' and actif='1' {$search} order by classement"; $resul = CacheBase::getCache()->query($query); if (empty($resul)) { return ""; } $pays = new Pays(); if ($idpays > 0) { $pays->charger($idpays); } else { if ($_SESSION['navig']->adresse != "" && $_SESSION['navig']->adresse != 0) { $adr = new Adresse(); $adr->charger($_SESSION['navig']->adresse); $pays->charger($adr->pays); } else { $pays->charger($_SESSION['navig']->client->pays); } } $transzone = new Transzone(); $compt = 0; foreach ($resul as $row) { if (!$transzone->charger($row->id, $pays->zone)) { continue; } $compt++; $modules = new Modules(); $modules->charger_id($row->id); try { $instance = ActionsModules::instance()->instancier($modules->nom); $port = round(port($row->id, $pays->id, $cpostal), 2); $titre = $instance->getTitre(); $chapo = $instance->getChapo(); $description = $instance->getDescription(); } catch (Exception $ex) { $titre = $chapo = $description = ''; } if ($port < $montantmini) { continue; } // Chercher le logo $exts = array('png', 'gif', 'jpeg', 'jpg'); $logo = false; foreach ($exts as $ext) { $tmp = ActionsModules::instance()->lire_chemin_base() . "/{$row->nom}/logo.{$ext}"; if (file_exists($tmp)) { $logo = ActionsModules::instance()->lire_url_base() . "/{$row->nom}/logo.{$ext}"; break; } } $temp = str_replace("#NOM", $row->nom, $texte); $temp = str_replace("#TITRE", "{$titre}", $temp); $temp = str_replace("#CHAPO", "{$chapo}", $temp); $temp = str_replace("#DESCRIPTION", "{$description}", $temp); $temp = str_replace("#URLCMD", urlfond("commande", "action=transport&id=" . $row->id, true), $temp); $temp = str_replace("#ID", "{$row->id}", $temp); $temp = str_replace("#LOGO", $logo, $temp); $temp = str_replace("#PORT", formatter_somme($port), $temp); $temp = str_replace("#COMPT", "{$compt}", $temp); $res .= $temp; } return $res; }