/administration/pub.php
PHP | 279 lines | 219 code | 23 blank | 37 comment | 24 complexity | 91877971767ef044a5103eb666ea1b97 MD5 | raw file
- <?php
- if (!defined('ROOT'))
- define('ROOT', '../');
- require ROOT.'administration/config/admin_common.php';
- /*************************************************************************************
- * GESTION DES pubS
- *************************************************************************************/
- // Vérifications des droits
- if ( !isDroit("pub") ) {
- redirect('index.php' );
- exit();
- }
- // Définitions des constantes et variables
- if (!isset($_GET['cmd'])) $_GET['cmd'] = false;
- if (!isset($_GET['id'])) $_GET['id'] = false;
- $FICHIERSTYPE=array('gif','jpg','jpeg','jpe','png','swf');
- $longueur=468;
- $hauteur=60;
-
- $TITRE = "Gestion des pubs " ;
- $RUBRIQUE = "configuration" ;
- $MENU = "pub" ;
- $SOUSMENU = "pub" ;
- define ('SCRIPT', 'pub');
-
- switch ($_GET['cmd']) { // DEBUT SWITCH cmd
- ///////////////////////////////////////////////////////////////
- // ENREGISTREMENT + SAISIE
- ///////////////////////////////////////////////////////////////
- case 'saisie':
- // Vérification si l'enreg existe (sera utile aussi bien pour MAJ que pour saisie)
- $existe=false;
- if (!empty($_GET['id']) ){
- $result = $db->query("SELECT * FROM pub WHERE id='".$db->escape($_GET['id'])."'");
- if ($db->num_rows($result) ){
- $existe = true;
- $enreg = $db->fetch_assoc($result);
- }
- }
- // On controle si le formulaire a été saisi
- if (isset($_POST['enregistrer'])) {
- // Controle des saisies
- $errors = new Errors($_POST, 'saisie');
- //$errors->add("L' url est obligatoire.", 'url', 'notEmpty');
- $errors->add("Le texte est obligatoire.", 'texte', 'notEmpty');
- $ERREUR = $errors->invalid();
-
- $errors_files = new Errors($_FILES, 'saisie');
- $errors_files->add("Le format de l'image n'est pas accepté.", 'photo', 'isExtension', $FICHIERSTYPE);
- $errors_files->add("L'image est trop volumineuse : ".size(MAX_FILE_SIZE)." maximum", 'photo', 'isSize', MAX_FILE_SIZE);
- $erreur_files = $errors_files->invalid();
-
- if ( !$ERREUR ) {
- // Enregistrement
- if ( $existe ) {
- // Update
- $requete = "UPDATE pub SET
- url='".$db->escape($_POST['url'])."'
- ,texte='".$db->escape($_POST['texte'])."'
- WHERE id='".$db->escape($_GET['id'])."'
- ";
- $db->query($requete);
- $id = $_GET['id'];
- } else {
- // Insert
- $requete = "INSERT INTO pub SET
- url='".$db->escape($_POST['url'])."'
- ,texte='".$db->escape($_POST['texte'])."'
- ";
- $db->query($requete);
- $id = $db->insert_id();
- }
- //echo "$requete<br>";
- // Traitement photo
- //--------------------------------------------------------------------------------------------------------
- $prefixe = 'pub1-'.$id;
- if ( !empty($_POST['supp_photo']) ) {
- // Suppression de l'image(s)
- delFile($prefixe,REP_PHOTOS,$IMAGE_TYPE);
- } elseif ( !empty($_FILES['photo']['name']) and !$erreur_files ) {
- // Suppression de(s) image(s) dans le cas d'extensions différentes
- delFile($prefixe,REP_PHOTOS,$IMAGE_TYPE);
- $feedback = checkUploadFile('photo', $prefixe, REP_PHOTOS )
- or $erreur_files[] = 'Erreur lors du chargement sur le serveur.';
- if ($feedback and $feedback['ext'] != 'swf') {
- // Redim si necessaire
- redimImage(REP_PHOTOS.$feedback['nom_fichier'], $longueur, $hauteur)
- or $erreur_files[] = 'Erreur lors du redimensionnement de l\'image.';
- }
- }
- // L'enregistrement a était fait dans la bdd, mais erreur dans le fichier
- if ($erreur_files) {
- $ERREUR = $erreur_files;
- }
- else
- //--------------------------------------------------------------------------------------------------------
-
- // FIN DE CREATION/MAJ
- // Selon le cas, si pas d'erreur, on peut réafficher la saisie ou rediriger sur la liste
- redirect("?".(isset($_GET['page'])?'page='.$_GET['page']:'').'&CONFIRMATION=L\'enregistrement a bien été effectué.');
- }
- } // Fin test si MAJ
- // Affichage du formulaire
- include ROOT.'administration/js/tools.php';
- $HEAD = '';
- include("include/entete.php");
-
- if ($existe) {
- $entete="Modification pub";
- $url = isset($_POST['url']) ? $_POST['url'] : $enreg['url'];
- $texte = isset($_POST['texte']) ? $_POST['texte'] : $enreg['texte'];
- //$date = isset($_POST['date']) ? $_POST['date'] : formateDate($enreg['date']);
- // Préparation photo et lien suppression
- $mini = findFile('pub1-'.$_GET['id'].'*',REP_PHOTOS,$IMAGE_TYPE);
- if ($mini) {
- $photo = '<img src="'.REP_PHOTOS.$mini[0].'" alt="Supprimer" />';
- $lien_supp_photo='<label for="supp_photo">Supprimer</label><input type="checkbox" name="supp_photo" id="supp_photo" value="o" />';
- }
- else
- {
- $mini = findFile('pub1-'.$_GET['id'],REP_PHOTOS,array('swf'));
- if($mini)
- {
- $photo='
- <object type="application/x-shockwave-flash" data="'.REP_PHOTOS.$mini[0].'" width="'.$longueur.'" height="'.$hauteur.'">
- <param name="movie" value="'.REP_PHOTOS.$mini[0].'" />
- <param name="wmode" value="transparent" />
- <p>Image ou texte alternatif</p>
- </object>
- ';
- $lien_supp_photo='<label for="supp_photo">Supprimer</label><input type="checkbox" name="supp_photo" id="supp_photo" value="o" />';
- }
- else
- {
- $photo = false;
- $lien_supp_photo = false;
- }
- }
- } else {
- $entete="Nouvelle pub";
- $url = isset($_POST['url']) ? $_POST['url'] : '';
- $texte = isset($_POST['texte']) ? $_POST['texte'] : '';
- //$date = isset($_POST['date']) ? $_POST['date'] : date('d/m/Y');
- $photo = false;
- $lien_supp_photo = false;
- }
- ?>
-
- <h2><?php echo $entete;?></h2>
-
- <form method="post" class="saisie" action="?cmd=saisie&id=<?php echo $_GET['id'].(isset($_GET['page'])? '&page='.$_GET['page']:'');?>" enctype="multipart/form-data" >
- <fieldset class="bloc_left">
- <legend>Description</legend>
- <p <?php if ($ERREUR) echo (array_key_exists('url',$ERREUR)?'class="form_erreur"':'') ?>>
- <label for="url">Url</label>
- <input type="text" name="url" id="url" value="<?php echo htmlspecialchars($url);?>" size="50" maxlength="100" />
- </p>
- <div class="p">
- <label class="oblig" for="texte">Texte</label>
- <input name="texte" id="texte4" value="<?php echo htmlspecialchars($texte);?>"></input>
- </div>
- </fieldset>
- <fieldset class="bloc_right">
- <legend>Photo</legend>
- <p <?php if ($ERREUR) echo (array_key_exists('photo',$ERREUR)?'class="form_erreur"':'') ?>>
- <span class="textNote">Formats autorisés :<br /><?php echo implode(', ',$FICHIERSTYPE) ?></span>
- <label class="oblig" for="photo">Photo (<?php echo $longueur.'x'.$hauteur ?>)</label>
- <!-- MAX_FILE_SIZE doit précéder le champs input de type file -->
- <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo MAX_FILE_SIZE ?>" />
- <input type="file" name="photo" id="photo" value="" size="15" />
- </p>
- <p>
- <?php echo $photo;?><br /><?php echo $lien_supp_photo;?>
- </p>
- </fieldset>
- <div class="bloc_left">
- <p>
- <label for="submit"> </label>
- <input class="submit" name="enregistrer" type="submit" value="Enregistrer" />
- </p>
- </div>
- </form>
-
- <?php
- include("include/baspage.php");
- break;
- ///////////////////////////////////////////////////////////////
- // SUPPRESSION
- ///////////////////////////////////////////////////////////////
- case 'supp':
- $requete = "DELETE FROM pub WHERE id='".$db->escape($_GET['id'])."'";
- $result = $db->query($requete);
- // Suppression image(s)
- delFile('pub1-'.$_GET['id'],REP_PHOTOS,$FICHIERSTYPE);
-
- redirect("?".(isset($_GET['page'])?'page='.$_GET['page']:'').'&CONFIRMATION=L\'enregistrement a bien été supprimé.');
- //redirect("?".(isset($_GET['page'])?'page='.$_GET['page']:'').'&CONFIRMATION=L\'enregistrement a bien été supprimé.');
- exit(); // Fin SUPP
- break;
- ///////////////////////////////////////////////////////////////
- // LISTE
- ///////////////////////////////////////////////////////////////
- default:
- include("include/entete.php");
-
- // Création de la requete et de la pagination
- $feedback = listeRequete('*', 'pub', 'id', '', array('url','texte'));
- ?>
- <h2>Liste des pubs <?php echo '('.$feedback['nbtotal'].')';?></h2>
- <?php echo $feedback['pagination'];?>
- <form method="get" id="recherche" action="">
- <div>
- <input type="text" name="mot" id="mot" value="<?php echo((!empty($_REQUEST['mot']))?$_REQUEST['mot']:'') ?>" />
- <?php /*
- <select name="filtre">
- <option value="0">All</option>
- <option value="sdqf" <?php echo((isset($_REQUEST['filtre']) and $_REQUEST['filtre'] == "sdqf")?'selected="selected"':'') ?>>rubrique 1</option>
- <option value="2">rubrique 2</option>
- </select>
- */ ?>
- <input type="submit" name="submit" value="Chercher" />
- </div>
- </form>
-
- <table class="liste" width="100%">
- <tr>
- <th>Photo</th>
- <th><a href="?tri=url" title="Trier">Url<?php if ($feedback['tri'] == 'url') echo ($_SESSION[SCRIPT]['ORDRE']=='DESC' ? '<img src="images/desc.png" alt="Décroissant" />' : '<img src="images/asc.png" alt="Croissant" />'); ?></a></th>
- <th><a href="?tri=texte" title="Trier">Texte<?php if ($feedback['tri'] == 'texte') echo ($_SESSION[SCRIPT]['ORDRE']=='DESC' ? '<img src="images/desc.png" alt="Décroissant" />' : '<img src="images/asc.png" alt="Croissant" />'); ?></a></th>
- <th>Modif.</th>
- <th>Supp.</th>
- </tr>
-
- <?php
- $i=0;
- while ($liste = $db->fetch_assoc($feedback['result'])) {
- // Préparation photo
- $mini = findFile('pub1-'.$liste['id'],REP_PHOTOS,$IMAGE_TYPE);
- $photo = $mini ? '<img src="'.REP_PHOTOS.$mini[0].'" alt="" />':'';
-
- if(!$mini)
- {
- $mini = findFile('pub1-'.$liste['id'],REP_PHOTOS,array('swf'));
- $mini ? $photo='
- <object type="application/x-shockwave-flash" data="'.REP_PHOTOS.$mini[0].'" width="'.$longueur.'" height="'.$hauteur.'">
- <param name="movie" value="'.REP_PHOTOS.$mini[0].'" />
- <param name="wmode" value="transparent" />
- </object>':'';
- }
- ?>
- <tr class="<?php echo (($i%2)==0?"pair":"impair"); ?>">
- <td class="center"><?php echo $photo;?></td>
- <td><a href="<?php echo htmlspecialchars($liste['url']);?>"><?php echo htmlspecialchars($liste['url']);?></a></td>
- <td><?php echo TronquerTexte(strip_tags($liste['texte']));?></td>
- <td class="center"><a href="?cmd=saisie&id=<?php echo $liste['id'];?>&page=<?php echo $feedback['page'];?>" title="Modifier"><img src="images/modifier.png" alt="Modifier" /></a></td>
- <td class="center"><?php echo '<a href="?cmd=supp&id='.$liste['id'].'&page='.$feedback['page'].'" class="supprimer" title="supprimer '.$liste['texte'].'"><img src="images/supprimer.png" alt="Supprimer" /></a>';?></td>
- </tr>
- <?php
- $i++;
- }
- ?>
- </table>
- <?php
- echo $feedback['pagination'];
-
- include("include/baspage.php");
- exit();
-
- } // FIN SWITCH $_POST['cmd']
- ?>