/**
  * 
  * 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");
}
Exemple #7
0
/**
 * 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");
 }
Exemple #11
0
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);
 }
Exemple #19
0
    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);
 }
Exemple #22
0
// 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());
 }
Exemple #27
0
        $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();
 }
Exemple #29
0
function supprimer($id)
{
    $promo = new Promo();
    $promo->charger_id($id);
    $promo->actif = -1;
    $promo->maj();
    ActionsModules::instance()->appel_module("suppromo", $promo);
}
Exemple #30
0
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&amp;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;
}