plxPlugins->callHook('AdminIndexPrepend')); # Suppression des articles selectionnes if(isset($_POST['selection']) AND ((!empty($_POST['sel1']) AND $_POST['selection'][0] == 'delete') OR (!empty($_POST['sel2']) AND $_POST['selection'][1] == 'delete')) AND isset($_POST['idArt'])) { foreach ($_POST['idArt'] as $k => $v) $plxAdmin->delArticle($v); header('Location: index.php'); exit; } # Récuperation de l'id de l'utilisateur $userId = ($_SESSION['profil'] < PROFIL_WRITER ? '[0-9]{3}' : $_SESSION['user']); # Récuperation des paramètres if(!empty($_GET['sel']) AND in_array($_GET['sel'], array('all','published', 'draft','mod'))) { $_SESSION['sel_get']=plxUtils::nullbyteRemove($_GET['sel']); $_SESSION['sel_cat']=''; } else $_SESSION['sel_get']=(isset($_SESSION['sel_get']) AND !empty($_SESSION['sel_get']))?$_SESSION['sel_get']:'all'; if(!empty($_POST['sel_cat'])) if(isset($_SESSION['sel_cat']) AND $_SESSION['sel_cat']==$_POST['sel_cat']) # annulation du filtre $_SESSION['sel_cat']='all'; else # prise en compte du filtre $_SESSION['sel_cat']=$_POST['sel_cat']; else $_SESSION['sel_cat']=(isset($_SESSION['sel_cat']) AND !empty($_SESSION['sel_cat']))?$_SESSION['sel_cat']:'all'; # Recherche du motif de sélection des articles en fonction des paramètres $catIdSel = ''; $mod=''; switch ($_SESSION['sel_get']) { case 'published': $catIdSel = '[home|0-9,]*FILTER[home|0-9,]*'; $mod=''; break; case 'draft': $catIdSel = '[home|0-9,]*draft,FILTER[home|0-9,]*'; $mod='_?'; break; case 'all': $catIdSel = '[home|draft|0-9,]*FILTER[draft|home|0-9,]*'; $mod='_?'; break; case 'mod': $catIdSel = '[home|draft|0-9,]*FILTER[draft|home|0-9,]*'; $mod='_'; break; } switch ($_SESSION['sel_cat']) { case 'all' : $catIdSel = str_replace('FILTER', '', $catIdSel); break; case '000' : $catIdSel = str_replace('FILTER', '000', $catIdSel); break; case 'home': $catIdSel = str_replace('FILTER', 'home', $catIdSel); break; case preg_match('/^[0-9]{3}$/', $_SESSION['sel_cat'])==1: $catIdSel = str_replace('FILTER', $_SESSION['sel_cat'], $catIdSel); } # Nombre d'article sélectionnés $nbArtPagination = $plxAdmin->nbArticles($catIdSel, $userId); # Récuperation du texte à rechercher $_GET['artTitle'] = (!empty($_GET['artTitle']))?plxUtils::unSlash(trim(urldecode($_GET['artTitle']))):''; # On génère notre motif de recherche $motif = '/^'.$mod.'[0-9]{4}.'.$catIdSel.'.'.$userId.'.[0-9]{12}.(.*)'.plxUtils::title2filename($_GET['artTitle']).'(.*).xml$/'; # Calcul du nombre de page si on fait une recherche if($_GET['artTitle']!='') { if($arts = $plxAdmin->plxGlob_arts->query($motif)) $nbArtPagination = sizeof($arts); } # Traitement $plxAdmin->prechauffage($motif); $plxAdmin->getPage(); $arts = $plxAdmin->getArticles('all'); # Recuperation des articles # Génération de notre tableau des catégories $aFilterCat['all'] = L_ARTICLES_ALL_CATEGORIES; $aFilterCat['home'] = L_CATEGORY_HOME; $aFilterCat['000'] = L_UNCLASSIFIED; if($plxAdmin->aCats) { foreach($plxAdmin->aCats as $k=>$v) { $aCat[$k] = plxUtils::strCheck($v['name']); $aFilterCat[$k] = plxUtils::strCheck($v['name']); } $aAllCat[L_CATEGORIES_TABLE] = $aCat; } $aAllCat[L_SPECIFIC_CATEGORIES_TABLE]['home'] = L_CATEGORY_HOME_PAGE; $aAllCat[L_SPECIFIC_CATEGORIES_TABLE]['draft'] = L_DRAFT; $aAllCat[L_SPECIFIC_CATEGORIES_TABLE][''] = L_ALL_ARTICLES_CATEGORIES_TABLE; # On inclut le header include(dirname(__FILE__).'/top.php'); ?> plxPlugins->callHook('AdminIndexTop')) # Hook Plugins ?>

'; plxUtils::printSelect('selection[]', array( '' => L_FOR_SELECTION, 'delete' => L_DELETE), '', false, '', 'id_selection1'); echo ''; echo '

'; } ?> plxRecord_arts->loop()) { # Pour chaque article $author = plxUtils::getValue($plxAdmin->aUsers[$plxAdmin->plxRecord_arts->f('author')]['name']); $publi = (boolean)($plxAdmin->plxRecord_arts->f('date') > $datetime); # Catégories : liste des libellés de toutes les categories $draft=''; $libCats=''; $catIds = explode(',', $plxAdmin->plxRecord_arts->f('categorie')); if(sizeof($catIds)>0) { $catsName = array(); foreach($catIds as $catId) { if($catId=='home') $catsName[] = L_CATEGORY_HOME; elseif($catId=='draft') $draft= ' - '.L_CATEGORY_DRAFT.''; elseif(!isset($plxAdmin->aCats[$catId])) $catsName[] = L_UNCLASSIFIED; else $catsName[] = plxUtils::strCheck($plxAdmin->aCats[$catId]['name']); } if(sizeof($catsName)>0) { $libCats = $catsName[0]; unset($catsName[0]); if(sizeof($catsName)>0) $libCats .= ', ...  '; } else $libCats = L_UNCLASSIFIED; } # en attente de validation ? $idArt = $plxAdmin->plxRecord_arts->f('numero'); $awaiting = $idArt[0]=='_' ? ' - '.L_AWAITING.'' : ''; # Commentaires $nbComsToValidate = $plxAdmin->getNbCommentaires('/^_'.$idArt.'.(.*).xml$/','all'); $nbComsValidated = $plxAdmin->getNbCommentaires('/^'.$idArt.'.(.*).xml$/','all'); # On affiche la ligne echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '"; echo ""; } } else { # Pas d'article echo ''; } ?>
'.plxDate::formatDate($plxAdmin->plxRecord_arts->f('date')).' '.plxUtils::strCheck(plxUtils::strCut($plxAdmin->plxRecord_arts->f('title'),60)).''.$draft.$awaiting.' '.$libCats.' '.$nbComsToValidate.' / '.$nbComsValidated.' '.plxUtils::strCheck($author).' '; echo ''.L_ARTICLE_EDIT.''; if($publi AND $draft=='') # Si l'article est publié echo ' | '.L_ARTICLE_VIEW.''; echo " 
'.L_NO_ARTICLE.'
'; echo plxToken::getTokenPostMethod(); if($_SESSION['profil']<=PROFIL_MODERATOR) { plxUtils::printSelect('selection[]', array( '' => L_FOR_SELECTION, 'delete' => L_DELETE), '', false, '', 'id_selection2'); echo ''; } echo '

'; ?>
plxPlugins->callHook('AdminIndexFoot')); # On inclut le footer include(dirname(__FILE__).'/foot.php'); ?>