Ejemplo n.º 1
0
 public static function generatePage(&$tpl, &$session, &$account, &$perso)
 {
     //Générer la liste des actions associable à un lieu
     $arrVide = array('url' => '', 'nom' => '', 'config_url' => null, 'sel' => true);
     $ACTION = array_merge(array($arrVide), Mj_Lieu::getAllLinkedActions());
     $tpl->set('ACTION', $ACTION);
     $tpl->set('ACTION_IDX', $_POST['divid']);
     return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Mj/Lieu/AddmodActionpage.htm');
 }
Ejemplo n.º 2
0
Archivo: Mod.php Proyecto: FMaz008/ccv4
    public static function generatePage(&$tpl, &$session, &$account, &$mj)
    {
        $dbMgr = DbManager::getInstance();
        //Instancier le gestionnaire
        $db = $dbMgr->getConn('game');
        //Demander la connexion existante
        if (!isset($_POST['id']) && !isset($_GET['id'])) {
            return fctErrorMSG('Vous devez sélectionner un lieu.');
        }
        if (isset($_GET['id'])) {
            $_POST['id'] = $_GET['id'];
        }
        //Fetcher toutes les informations concernant le lieu
        $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'lieu' . ' WHERE id=:id' . ' LIMIT 1;';
        $prep = $db->prepare($query);
        $prep->bindValue(':id', $_POST['id'], PDO::PARAM_INT);
        $prep->executePlus($db, __FILE__, __LINE__);
        $arr = $prep->fetch();
        $prep->closeCursor();
        $prep = NULL;
        //Déprotéger les textes stockés afin qu'il soit lisibles correctement
        $nomtech = $arr['nom_technique'];
        //Utile pour trouver les liens du lieu ci-bas
        //Récupérer les informations sur les gérants du lieu
        $query = 'SELECT p.nom as nom, p.id as id FROM ' . DB_PREFIX . 'boutiques_gerants as b' . ' LEFT JOIN ' . DB_PREFIX . 'perso as p ON (p.id = b.persoid)' . ' WHERE b.boutiqueid = :id;';
        $prep = $db->prepare($query);
        $prep->bindValue(':id', $arr['id'], PDO::PARAM_INT);
        $prep->executePlus($db, __FILE__, __LINE__);
        $arrGerants = $prep->fetchAll();
        $prep->closeCursor();
        $prep = NULL;
        if (isset($_POST['liens'])) {
            self::saveLien($arr);
        } elseif (isset($_POST['save']) && isset($_POST['id'])) {
            self::saveLieu($arr, $arrGerants);
            //Re-Fetcher toutes les informations concernant le lieu
            $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'lieu' . ' WHERE id=:id' . ' LIMIT 1;';
            $prep = $db->prepare($query);
            $prep->bindValue(':id', $_POST['id'], PDO::PARAM_INT);
            $prep->executePlus($db, __FILE__, __LINE__);
            $arr = $prep->fetch();
            $prep->closeCursor();
            $prep = NULL;
            $query = 'SELECT p.nom as nom, p.id as id FROM ' . DB_PREFIX . 'boutiques_gerants as b' . ' LEFT JOIN ' . DB_PREFIX . 'perso as p ON (p.id = b.persoid)' . ' WHERE b.boutiqueid = :id;';
            $prep = $db->prepare($query);
            $prep->bindValue(':id', $arr['id'], PDO::PARAM_INT);
            $prep->executePlus($db, __FILE__, __LINE__);
            $arrGerants = $prep->fetchAll();
            $prep->closeCursor();
            $prep = NULL;
        }
        $nomtech = $arr['nom_technique'];
        //Utile pour trouver les liens du lieu ci-bas
        $arr['nom_technique'] = stripslashes($arr['nom_technique']);
        $arr['nom_affiche'] = stripslashes($arr['nom_affiche']);
        $arr['description'] = stripslashes($arr['description']);
        $arr['notemj'] = stripslashes($arr['notemj']);
        $tpl->set('LIEUID', $arr['id']);
        //Pour le formulaire de modification des liaisons
        $tpl->set('LIEU', $arr);
        $tpl->set('GERANTS', $arrGerants);
        // Afficher les informations sur le lieu
        if (isset($_GET['id'])) {
            $_POST['id'] = $_GET['id'];
        }
        $tpl->set('ACTIONTYPETXT', 'Modifier');
        $tpl->set('SUBMITNAME', 'Mod');
        $tpl->set('SHOWID', true);
        //Faire la liste de tout les lieux
        $arr = array();
        $query = 'SELECT nom_technique' . ' FROM ' . DB_PREFIX . 'lieu' . ' ORDER BY nom_technique ASC;';
        $prep = $db->prepare($query);
        $prep->executePlus($db, __FILE__, __LINE__);
        $arrAll = $prep->fetchAll();
        $prep->closeCursor();
        $prep = NULL;
        $tpl->set("PAGE_LIEUX", $arrAll);
        //lister le dossier d'image
        $dir2 = dir($account->getSkinRemotePhysicalPath() . "../_common/lieux/");
        $counter = 0;
        $arrurl = array();
        $arr = array();
        while ($url = $dir2->read()) {
            $arrurl[$counter++] = $url;
        }
        natcasesort($arrurl);
        $arrurl = array_values($arrurl);
        for ($i = 0; $i < count($arrurl); $i++) {
            if ($arrurl[$i] != '' && substr($arrurl[$i], 0, 1) != '.') {
                $arr[$i] = $arrurl[$i];
            }
        }
        $tpl->set('IMGS', $arr);
        //Générer la liste des actions associables à un lieu
        $query = 'SELECT id,url,caption
					FROM ' . DB_PREFIX . 'lieu_menu
					WHERE lieutech=:nomTech;';
        $prep = $db->prepare($query);
        $prep->bindValue(':nomTech', $nomtech, PDO::PARAM_STR);
        $prep->executePlus($db, __FILE__, __LINE__);
        $arrAll = $prep->fetchAll();
        $prep->closeCursor();
        $prep = NULL;
        if (count($arrAll) > 0) {
            foreach ($arrAll as &$arr) {
                $arr['caption'] = stripslashes($arr['caption']);
                //Trouver le config_url si disponible
                $ret = Mj_Lieu::getLinkedAction($arr['url']);
                if (!empty($ret) && !empty($ret['config_url'])) {
                    $arr['config_url'] = $ret['config_url'];
                }
            }
            $tpl->set('ACTIONS', $arrAll);
        }
        //Générer chaque lignes des liens individuellement
        $i = -1;
        $LIENS1 = array();
        $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'lieu_lien' . ' WHERE `from`=:nomTech;';
        $prep = $db->prepare($query);
        $prep->bindValue(':nomTech', $nomtech, PDO::PARAM_STR);
        $prep->executePlus($db, __FILE__, __LINE__);
        $arrAll = $prep->fetchAll();
        $prep->closeCursor();
        $prep = NULL;
        foreach ($arrAll as &$arr) {
            $arr['prefix'] = '';
            $tpl->set('lien', $arr);
            $LIENS1[$i++] = $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Mj/Lieu/AddmodLien.htm');
        }
        $tpl->set('LIENS1', $LIENS1);
        $i = -1;
        $LIENS2 = array();
        $query = 'SELECT *' . ' FROM ' . DB_PREFIX . 'lieu_lien' . ' WHERE `to`=:nomTech;';
        $prep = $db->prepare($query);
        $prep->bindValue(':nomTech', $nomtech, PDO::PARAM_STR);
        $prep->executePlus($db, __FILE__, __LINE__);
        $arrAll = $prep->fetchAll();
        $prep->closeCursor();
        $prep = NULL;
        foreach ($arrAll as &$arr) {
            $arr['prefix'] = '';
            $tpl->set('lien', $arr);
            $LIENS2[$i++] = $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Mj/Lieu/AddmodLien.htm');
        }
        $tpl->set('LIENS2', $LIENS2);
        return $tpl->fetch($account->getSkinRemotePhysicalPath() . 'html/Mj/Lieu/Addmod.htm');
    }