diff --git a/sources/core/admin/article.php b/sources/core/admin/article.php index 85d92fa..ded9dbe 100644 --- a/sources/core/admin/article.php +++ b/sources/core/admin/article.php @@ -113,6 +113,9 @@ if(!empty($_POST)) { # Création, mise à jour, suppression ou aperçu $plxAdmin->editArticle($_POST,$_POST['artId']); header('Location: article.php?a='.$_POST['artId']); exit; + # Si url ou date invalide, on ne sauvegarde pas mais on repasse en mode brouillon + }else{ + array_unshift($_POST['catId'], 'draft'); } } @@ -212,20 +215,107 @@ foreach($plxAdmin->aUsers as $_userid => $_user) { } # On récupère les templates des articles +$aTemplates = array(); $files = plxGlob::getInstance(PLX_ROOT.$plxAdmin->aConf['racine_themes'].$plxAdmin->aConf['style']); if ($array = $files->query('/^article(-[a-z0-9-_]+)?.php$/')) { foreach($array as $k=>$v) $aTemplates[$v] = $v; } +if(empty($aTemplates)) $aTemplates[''] = L_NONE1; $cat_id='000'; ?>
-
+
-
-

 :  +

+ +

+ + + PROFIL_MODERATOR AND $plxAdmin->aConf['mod_art']) { + if(in_array('draft', $catId)) { # brouillon + if($artId!='0000') # nouvel article + echo ' '; + echo ' '; + echo '    '; + } else { + if(isset($_GET['a']) AND preg_match('/^_[0-9]{4}$/',$_GET['a'])) { # en attente + echo ' '; + echo ' '; + echo '    '; + } else { + echo ' '; + echo ' '; + } + } + } else { + if(in_array('draft', $catId)) { + echo ' '; + echo ' '; + } else { + if(!isset($_GET['a']) OR preg_match('/^_[0-9]{4}$/',$_GET['a'])) + echo ' '; + else + echo ' '; + echo ' '; + } + if($artId!='0000') + echo '    '; + } + ?> + +
+ + plxPlugins->callHook('AdminArticleTop')) # Hook Plugins ?> + +
+ +
+ +
+
+
+ + + +
+
+
+
+ + +
+
+
+
+ + + + urlRewrite('index.php?article'.intval($artId).'/'.$url) ?> +
+
+
+
+ + + ' ?> + +
+
+
+ plxPlugins->callHook('AdminArticleContent')) ?> + + +
+ + +
-
- -

- -

- - plxPlugins->callHook('AdminArticleTop')) # Hook Plugins ?> - -
-
- -

- -

- -   - -

- -

- - - urlRewrite('index.php?article'.intval($artId).'/'.$url) ?> - - ' ?> - -
- plxPlugins->callHook('AdminArticleContent')) ?> -
- -
-

- - - PROFIL_MODERATOR AND $plxAdmin->aConf['mod_art']) { - if(in_array('draft', $catId)) { # brouillon - if($artId!='0000') # nouvel article - echo ''; - echo ''; - echo ''; - } else { - if(isset($_GET['a']) AND preg_match('/^_[0-9]{4}$/',$_GET['a'])) { # en attente - echo ''; - echo ''; - echo ''; - } else { - echo ''; - echo ''; - } - } - } else { - if($artId!='0000') - echo ''; - if(in_array('draft', $catId)) { - echo ''; - echo ''; - } else { - if(!isset($_GET['a']) OR preg_match('/^_[0-9]{4}$/',$_GET['a'])) - echo ''; - else - echo ''; - echo ''; - } - } - ?> -

-
- -
- -
+
aUsers as $userid => $user) { - if ($_POST['login']==$user['login'] AND sha1($user['salt'].md5($_POST['password']))==$user['password'] AND $user['active'] AND !$user['delete']) { + if ($_POST['login']==$user['login'] AND sha1($user['salt'].md5($_POST['password']))===$user['password'] AND $user['active'] AND !$user['delete']) { $_SESSION['user'] = $userid; $_SESSION['profil'] = $user['profil']; $_SESSION['hash'] = plxUtils::charAleatoire(10); $_SESSION['domain'] = $session_domain; $_SESSION['lang'] = $user['lang']; $connected = true; + break; } } if($connected) { @@ -81,36 +82,58 @@ if(!empty($_POST['login']) AND !empty($_POST['password'])) { } plxUtils::cleanHeaders(); ?> - - + + + + PluXml - <?php echo L_AUTH_PAGE_TITLE ?> - - + + + plxPlugins->callHook('AdminAuthEndHead')) ?> - -
- plxPlugins->callHook('AdminAuthTop')) ?> -
-
- -
- - - - - - plxPlugins->callHook('AdminAuth')) ?> -

-
-
-

|

-
+ + +
+
+
+ plxPlugins->callHook('AdminAuthTop')) ?> +
+
+ +

+ +
+
+ + +
+
+
+
+ + +
+
+ plxPlugins->callHook('AdminAuth')) ?> +
+
+ +
+
+
+
+

+ - +

+
+
+
+ plxPlugins->callHook('AdminAuthEndBody')) ?> \ No newline at end of file diff --git a/sources/core/admin/categorie.php b/sources/core/admin/categorie.php index 3ec2c38..09d41fb 100644 --- a/sources/core/admin/categorie.php +++ b/sources/core/admin/categorie.php @@ -36,44 +36,70 @@ elseif(!empty($_GET['p'])) { # On vérifie l'existence de la catégorie exit; } -# On récupère les templates des categories +# On récupère les templates des catégories +$aTemplates = array(); $files = plxGlob::getInstance(PLX_ROOT.$plxAdmin->aConf['racine_themes'].$plxAdmin->aConf['style']); if ($array = $files->query('/^categorie(-[a-z0-9-_]+)?.php$/')) { foreach($array as $k=>$v) $aTemplates[$v] = $v; } +if(empty($aTemplates)) $aTemplates[''] = L_NONE1; # On inclut le header include(dirname(__FILE__).'/top.php'); ?> -

- -

"aCats[$id]['name']); ?>"

- -plxPlugins->callHook('AdminCategoryTop')) # Hook Plugins ?> -
+ +
+

"aCats[$id]['name']); ?>"

+

+ + +
+ + plxPlugins->callHook('AdminCategoryTop')) # Hook Plugins ?> +
- -

- L_YES,'0'=>L_NO), $plxAdmin->aCats[$id]['homepage']);?> -

- aCats[$id]['description']),95,8) ?> -

- aCats[$id]['template']) ?> -

- aCats[$id]['title_htmltag']),'text','50-255'); ?> -

- aCats[$id]['meta_description']),'text','50-255') ?> -

- aCats[$id]['meta_keywords']),'text','50-255') ?> +
+
+ + + L_YES,'0'=>L_NO), $plxAdmin->aCats[$id]['homepage']);?> +
+
+
+
+ + aCats[$id]['description']),95,8,false,'full-width') ?> +
+
+
+
+ + aCats[$id]['template']) ?> +
+
+
+
+ + aCats[$id]['title_htmltag']),'text','50-255'); ?> +
+
+
+
+ + aCats[$id]['meta_description']),'text','50-255') ?> +
+
+
+
+ + aCats[$id]['meta_keywords']),'text','50-255') ?> +
+
plxPlugins->callHook('AdminCategory')) # Hook Plugins ?> -

- - -

L_SORT_DESCENDING_DATE, 'asc'=>L_SORT_ASCENDING_DATE, 'alp include(dirname(__FILE__).'/top.php'); ?> -

- -plxPlugins->callHook('AdminCategoriesTop')) # Hook Plugins ?> -
- - - - - - - - - - - - - - - - - aCats) { - foreach($plxAdmin->aCats as $k=>$v) { # Pour chaque catégorie - $ordre = ++$num; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - # On récupère le dernier identifiant - $a = array_keys($plxAdmin->aCats); - rsort($a); - } else { - $a['0'] = 0; - } - $new_catid = str_pad($a['0']+1, 3, "0", STR_PAD_LEFT); - ?> - - - - - - -
 
'.L_CATEGORY.' '.$k.''; - plxUtils::printInput($k.'_name', plxUtils::strCheck($v['name']), 'text', '15-50'); - echo ''; - plxUtils::printInput($k.'_url', $v['url'], 'text', '15-50'); - echo ''; - plxUtils::printSelect($k.'_active', array('1'=>L_YES,'0'=>L_NO), $v['active']); - echo ''; - plxUtils::printSelect($k.'_tri', $aTri, $v['tri']); - echo ''; - plxUtils::printInput($k.'_bypage', $v['bypage'], 'text', '4-3'); - echo ''; - plxUtils::printInput($k.'_ordre', $ordre, 'text', '3-3'); - echo ''; - plxUtils::printSelect($k.'_menu', array('oui'=>L_DISPLAY,'non'=>L_HIDE), $v['menu']); - echo ''.L_OPTIONS.'
  - '; - plxUtils::printInput($new_catid.'_template', 'categorie.php', 'hidden'); - plxUtils::printInput($new_catid.'_name', '', 'text', '15-50'); - echo ''; - plxUtils::printInput($new_catid.'_url', '', 'text', '15-50'); - echo ''; - plxUtils::printSelect($new_catid.'_active', array('1'=>L_YES,'0'=>L_NO), '1'); - echo ''; - plxUtils::printSelect($new_catid.'_tri', $aTri, $plxAdmin->aConf['tri']); - echo ''; - plxUtils::printInput($new_catid.'_bypage', $plxAdmin->aConf['bypage'], 'text', '4-3'); - echo ''; - plxUtils::printInput($new_catid.'_ordre', ++$num, 'text', '3-3'); - echo ''; - plxUtils::printSelect($new_catid.'_menu', array('oui'=>L_DISPLAY,'non'=>L_HIDE), '1'); - echo ' '; - ?> -
-

+ +

+

+

+ L_FOR_SELECTION, 'delete' => L_DELETE), '', false, 'no-margin', 'id_selection') ?> + - -

-

- L_FOR_SELECTION, 'delete' => L_DELETE), '', false, '', 'id_selection') ?> - -

+     + +
+ + plxPlugins->callHook('AdminCategoriesTop')) # Hook Plugins ?> + +
+ + + + + + + + + + + + + + + + + aCats) { + foreach($plxAdmin->aCats as $k=>$v) { # Pour chaque catégorie + $ordre = ++$num; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + } + # On récupère le dernier identifiant + $a = array_keys($plxAdmin->aCats); + rsort($a); + } else { + $a['0'] = 0; + } + $new_catid = str_pad($a['0']+1, 3, "0", STR_PAD_LEFT); + ?> + + + + + + +
 
'.$k.''; + plxUtils::printInput($k.'_name', plxUtils::strCheck($v['name']), 'text', '10-50'); + echo ''; + plxUtils::printInput($k.'_url', $v['url'], 'text', '10-50'); + echo ''; + plxUtils::printSelect($k.'_active', array('1'=>L_YES,'0'=>L_NO), $v['active']); + echo ''; + plxUtils::printSelect($k.'_tri', $aTri, $v['tri']); + echo ''; + plxUtils::printInput($k.'_bypage', $v['bypage'], 'text', '1-3'); + echo ''; + plxUtils::printInput($k.'_ordre', $ordre, 'text', '1-3'); + echo ''; + plxUtils::printSelect($k.'_menu', array('oui'=>L_DISPLAY,'non'=>L_HIDE), $v['menu']); + echo ''.L_OPTIONS.'
  + '; + plxUtils::printInput($new_catid.'_template', 'categorie.php', 'hidden'); + plxUtils::printInput($new_catid.'_name', '', 'text', '10-50'); + echo ''; + plxUtils::printInput($new_catid.'_url', '', 'text', '10-50'); + echo ''; + plxUtils::printSelect($new_catid.'_active', array('1'=>L_YES,'0'=>L_NO), '1'); + echo ''; + plxUtils::printSelect($new_catid.'_tri', $aTri, $plxAdmin->aConf['tri']); + echo ''; + plxUtils::printInput($new_catid.'_bypage', $plxAdmin->aConf['bypage'], 'text', '1-3'); + echo ''; + plxUtils::printInput($new_catid.'_ordre', ++$num, 'text', '1-3'); + echo ''; + plxUtils::printSelect($new_catid.'_menu', array('oui'=>L_DISPLAY,'non'=>L_HIDE), '1'); + echo ' '; + ?> +
+
+
- -

- -

- - -

- -plxPlugins->callHook('AdminCommentTop')) # Hook Plugins ?> - -
+ +
+

+ +

+ +

+ + + + + + + + +     + +
+ + plxPlugins->callHook('AdminCommentTop')) # Hook Plugins ?> + +
    +
  • : plxRecord_coms->f('ip'); ?>
  • +
  • :
  • +
  • : plxRecord_coms->f('type'); ?>
  • +
  • :
  • +
+
-

- - - - - +
+
+ + + + + + +
+
+ +
+
+ + plxRecord_coms->f('author')),'text','40-255') ?> +
+
+ +
+
+ + +
+
+ +
+
+ + plxRecord_coms->f('mail')),'text','40-255') ?> +
+
+ +
+
+ + plxRecord_coms->f('type') == 'admin') : ?> + plxRecord_coms->f('content')), 60, 7,false,'full-width'); ?> + + plxRecord_coms->f('content'), 60, 7,false,'full-width'); ?> + + plxPlugins->callHook('AdminComment')) # Hook Plugins ?> +
+
-

- plxRecord_coms->f('author')),'text','40-255') ?> -

- plxRecord_coms->f('site')); - plxUtils::printInput('site',$site,'text','40-255'); - if($site != '') echo ''.$site.''; - ?> -

- plxRecord_coms->f('mail')),'text','40-255') ?> - plxRecord_coms->f('mail') != '') : ?> - plxRecord_coms->f('mail').'">'.$plxAdmin->plxRecord_coms->f('mail').'' ?> - -

- plxRecord_coms->f('type') == 'admin') : ?> - plxRecord_coms->f('content')), 60, 7); ?> - - plxRecord_coms->f('content'), 60, 7); ?> - - plxPlugins->callHook('AdminComment')) # Hook Plugins ?> -

- - -      - - - - - - - -

diff --git a/sources/core/admin/comment_new.php b/sources/core/admin/comment_new.php index bafab7a..5ccf13a 100644 --- a/sources/core/admin/comment_new.php +++ b/sources/core/admin/comment_new.php @@ -20,8 +20,8 @@ $plxAdmin->checkProfil(PROFIL_ADMIN, PROFIL_MANAGER, PROFIL_MODERATOR); # Interdire de l'accès à la page si les commentaires sont désactivés if(!$plxAdmin->aConf['allow_com']) { - header('Location: index.php'); - exit; + header('Location: index.php'); + exit; } # validation de l'id de l'article si passé en parametre @@ -104,55 +104,55 @@ if(!empty($_POST) AND !empty($_POST['content'])) { # On inclut le header include(dirname(__FILE__).'/top.php'); ?> - - -

- -

- - -

-

«»

- -plxPlugins->callHook('AdminCommentNewTop')) # Hook Plugins ?> - - -
+ +
+

+ +

+ +

+ + +
+ + plxPlugins->callHook('AdminCommentNewTop')) # Hook Plugins ?> + +

«»

+ +
    +
  • : aUsers[$_SESSION['user']]['name']); ?>
  • +
  • : admin
  • +
  • : racine.'">'.$plxAdmin->racine.''; ?>
  • +
  • :
  • +
+
- -

- - plxPlugins->callHook('AdminCommentNew')) # Hook Plugins ?> -

- -

+
+
+ + + + plxPlugins->callHook('AdminCommentNew')) # Hook Plugins ?> +
+
plxRecord_coms)) : # On a des commentaires ?> -

-
+

plxRecord_coms->loop()) : # On boucle ?> plxRecord_coms->f('article').'.'.$plxAdmin->plxRecord_coms->f('numero'); ?> -
-
-

 plxRecord_coms->f('author'); ?> - @ plxRecord_coms->f('date'), '#day #num_day #month #num_year(4) à #hour:#minute'); ?> - - - - -

-
+
+

 plxRecord_coms->f('author'); ?> + @ plxRecord_coms->f('date'), '#day #num_day #month #num_year(4) à #hour:#minute'); ?> + - + - +

plxRecord_coms->f('content')); ?>

plxPlugins->callHook('AdminCommentNewList')) # Hook Plugins ?>
-
plxPlugins->callHook('AdminCommentsPrepend')); # Control de l'accès à la page en fonction du profil de l'utilisateur connecté $plxAdmin->checkProfil(PROFIL_ADMIN, PROFIL_MANAGER, PROFIL_MODERATOR); -# Interdire de l'accès à la page si les commentaires sont désactivés -if(!$plxAdmin->aConf['allow_com']) { - header('Location: index.php'); - exit; -} - # validation de l'id de l'article si passé en parametre if(isset($_GET['a']) AND !preg_match('/^_?[0-9]{4}$/',$_GET['a'])) { plxMsg::Error(L_ERR_UNKNOWN_ARTICLE); # Article inexistant @@ -32,19 +26,19 @@ if(isset($_GET['a']) AND !preg_match('/^_?[0-9]{4}$/',$_GET['a'])) { } # Suppression des commentaires selectionnes -if(isset($_POST['selection']) AND ((!empty($_POST['btn_ok1']) AND $_POST['selection'][0]=='delete') OR (!empty($_POST['btn_ok2']) AND $_POST['selection'][1]=='delete')) AND isset($_POST['idCom'])) { +if(isset($_POST['selection']) AND (!empty($_POST['btn_ok1']) AND $_POST['selection'][0]=='delete') AND isset($_POST['idCom'])) { foreach ($_POST['idCom'] as $k => $v) $plxAdmin->delCommentaire($v); header('Location: comments.php'.(!empty($_GET['a'])?'?a='.$_GET['a']:'')); exit; } # Validation des commentaires selectionnes -elseif(isset($_POST['selection']) AND (!empty($_POST['btn_ok1']) AND ($_POST['selection'][0]=='online') OR (!empty($_POST['btn_ok2']) AND $_POST['selection'][1]=='online')) AND isset($_POST['idCom'])) { +elseif(isset($_POST['selection']) AND (!empty($_POST['btn_ok1']) AND $_POST['selection'][0]=='online') AND isset($_POST['idCom'])) { foreach ($_POST['idCom'] as $k => $v) $plxAdmin->modCommentaire($v, 'online'); header('Location: comments.php'.(!empty($_GET['a'])?'?a='.$_GET['a']:'')); exit; } # Mise hors-ligne des commentaires selectionnes -elseif (isset($_POST['selection']) AND ((!empty($_POST['btn_ok1']) AND $_POST['selection'][0]=='offline') OR (!empty($_POST['btn_ok2']) AND $_POST['selection'][1]=='offline')) AND isset($_POST['idCom'])) { +elseif (isset($_POST['selection']) AND (!empty($_POST['btn_ok1']) AND $_POST['selection'][0]=='offline') AND isset($_POST['idCom'])) { foreach ($_POST['idCom'] as $k => $v) $plxAdmin->modCommentaire($v, 'offline'); header('Location: comments.php'.(!empty($_GET['a'])?'?a='.$_GET['a']:'')); exit; @@ -79,35 +73,35 @@ if(!empty($_GET['a'])) { $comSelMotif = '/^[[:punct:]]?'.str_replace('_','',$_GET['a']).'.(.*).xml$/'; $_SESSION['selCom'] = 'all'; $nbComPagination=$plxAdmin->nbComments($comSelMotif); - echo '

'.L_COMMENTS_ALL_LIST.'

'; + $h2 = '

'.L_COMMENTS_ALL_LIST.'

'; } elseif($comSel=='online') { $comSelMotif = '/^[0-9]{4}.(.*).xml$/'; $_SESSION['selCom'] = 'online'; $nbComPagination=$plxAdmin->nbComments('online'); - echo '

'.L_COMMENTS_ONLINE_LIST.'

'; + $h2 = '

'.L_COMMENTS_ONLINE_LIST.'

'; } elseif($comSel=='offline') { $comSelMotif = '/^_[0-9]{4}.(.*).xml$/'; $_SESSION['selCom'] = 'offline'; $nbComPagination=$plxAdmin->nbComments('offline'); - echo '

'.L_COMMENTS_OFFLINE_LIST.'

'; + $h2 = '

'.L_COMMENTS_OFFLINE_LIST.'

'; } elseif($comSel=='all') { // all $comSelMotif = '/^[[:punct:]]?[0-9]{4}.(.*).xml$/'; $_SESSION['selCom'] = 'all'; $nbComPagination=$plxAdmin->nbComments('all'); - echo '

'.L_COMMENTS_ALL_LIST.'

'; + $h2 = '

'.L_COMMENTS_ALL_LIST.'

'; } if($portee!='') { - echo '

'.$portee.'

'; + $h3 = '

'.$portee.'

'; } $breadcrumbs = array(); -$breadcrumbs[] = ''.L_ALL.' ('.$plxAdmin->nbComments('all').')'; -$breadcrumbs[] = ''.L_COMMENT_ONLINE.' ('.$plxAdmin->nbComments('online').')'; -$breadcrumbs[] = ''.L_COMMENT_OFFLINE.' ('.$plxAdmin->nbComments('offline').')'; +$breadcrumbs[] = '
  • '.L_ALL.' ('.$plxAdmin->nbComments('all').')
  • '; +$breadcrumbs[] = '
  • '.L_COMMENT_ONLINE.' ('.$plxAdmin->nbComments('online').')
  • '; +$breadcrumbs[] = '
  • '.L_COMMENT_OFFLINE.' ('.$plxAdmin->nbComments('offline').')
  • '; if(!empty($_GET['a'])) { $breadcrumbs[] = ''.L_COMMENT_NEW_COMMENT.''; } @@ -115,80 +109,84 @@ if(!empty($_GET['a'])) { function selector($comSel, $id) { ob_start(); if($comSel=='online') - plxUtils::printSelect('selection[]', array(''=> L_FOR_SELECTION, 'offline' => L_COMMENT_SET_OFFLINE, '-'=>'-----', 'delete' => L_COMMENT_DELETE), '', false,'',$id); + plxUtils::printSelect('selection[]', array(''=> L_FOR_SELECTION, 'offline' => L_COMMENT_SET_OFFLINE, '-'=>'-----', 'delete' => L_COMMENT_DELETE), '', false,'no-margin',$id); elseif($comSel=='offline') - plxUtils::printSelect('selection[]', array(''=> L_FOR_SELECTION, 'online' => L_COMMENT_SET_ONLINE, '-'=>'-----', 'delete' => L_COMMENT_DELETE), '', false,'',$id); + plxUtils::printSelect('selection[]', array(''=> L_FOR_SELECTION, 'online' => L_COMMENT_SET_ONLINE, '-'=>'-----', 'delete' => L_COMMENT_DELETE), '', false,'no-margin',$id); elseif($comSel=='all') - plxUtils::printSelect('selection[]', array(''=> L_FOR_SELECTION, 'online' => L_COMMENT_SET_ONLINE, 'offline' => L_COMMENT_SET_OFFLINE, '-'=>'-----','delete' => L_COMMENT_DELETE), '', false,'',$id); + plxUtils::printSelect('selection[]', array(''=> L_FOR_SELECTION, 'online' => L_COMMENT_SET_ONLINE, 'offline' => L_COMMENT_SET_OFFLINE, '-'=>'-----','delete' => L_COMMENT_DELETE), '', false,'no-margin',$id); return ob_get_clean(); } $selector1=selector($comSel, 'id_selection1'); -$selector2=selector($comSel, 'id_selection2'); + ?> plxPlugins->callHook('AdminCommentsTop')) # Hook Plugins ?>
    - -

    - -

    - - - - - - - - - - - +
    + + + + + +
    + + + +
    +
    + + + + + + + + + + + + getPage(); + $start = $plxAdmin->aConf['bypage_admin_coms']*($plxAdmin->page-1); + $coms = $plxAdmin->getCommentaires($comSelMotif,'rsort',$start,$plxAdmin->aConf['bypage_admin_coms'],'all'); + if($coms) { + $num=0; + while($plxAdmin->plxRecord_coms->loop()) { # On boucle + $artId = $plxAdmin->plxRecord_coms->f('article'); + $status = $plxAdmin->plxRecord_coms->f('status'); + $id = $status.$artId.'.'.$plxAdmin->plxRecord_coms->f('numero'); + $content = nl2br($plxAdmin->plxRecord_coms->f('content')); + if($_SESSION['selCom']=='all') { + $content = ''.($status==''?L_COMMENT_ONLINE:L_COMMENT_OFFLINE).' - '.$content; + } + # On génère notre ligne + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + } + } else { # Pas de commentaires + echo ''; + } + ?> + +
    '.plxDate::formatDate($plxAdmin->plxRecord_coms->f('date')).' '.$content.' '.plxUtils::strCut($plxAdmin->plxRecord_coms->f('author'),30).' '; + echo ''.L_COMMENT_ANSWER.'  '; + echo ''.L_COMMENT_EDIT.'  '; + echo ''.L_COMMENT_ARTICLE_LINKED.''; + echo '
    '.L_NO_COMMENT.'
    +
    -getPage(); -$start = $plxAdmin->aConf['bypage_admin_coms']*($plxAdmin->page-1); -$coms = $plxAdmin->getCommentaires($comSelMotif,'rsort',$start,$plxAdmin->aConf['bypage_admin_coms'],'all'); -if($coms) { - $num=0; - while($plxAdmin->plxRecord_coms->loop()) { # On boucle - $artId = $plxAdmin->plxRecord_coms->f('article'); - $status = $plxAdmin->plxRecord_coms->f('status'); - $id = $status.$artId.'.'.$plxAdmin->plxRecord_coms->f('numero'); - $content = nl2br($plxAdmin->plxRecord_coms->f('content')); - if($_SESSION['selCom']=='all') { - $content = $content.' - '.($status==''?L_COMMENT_ONLINE:L_COMMENT_OFFLINE).'
    '; - } - # On génère notre ligne - echo ''; - echo ''; - echo ''.plxDate::formatDate($plxAdmin->plxRecord_coms->f('date')).' '; - echo ''.$content.' '; - echo ''.plxUtils::strCut($plxAdmin->plxRecord_coms->f('author'),30).' '; - echo ''; - echo ''.L_COMMENT_ANSWER.' | '; - echo ''.L_COMMENT_EDIT.' | '; - echo ''.L_COMMENT_ARTICLE_LINKED.''; - echo ''; - } -} else { # Pas de commentaires - echo ''.L_NO_COMMENT.''; -} -?> - - -

    - - -

    - - +

    aConf['clef'])) : ?> -
    -

    :

    -
      - racine.'feed.php?admin'.$plxAdmin->aConf['clef'].'/commentaires/hors-ligne'; ?> -
    • - racine.'feed.php?admin'.$plxAdmin->aConf['clef'].'/commentaires/en-ligne'; ?> -
    • -
    -
    + + +
    + - + + + plxPlugins->callHook('AdminFootEndBody')) ?> @@ -9,4 +11,5 @@ + diff --git a/sources/core/admin/index.php b/sources/core/admin/index.php index 072ab36..26629be 100644 --- a/sources/core/admin/index.php +++ b/sources/core/admin/index.php @@ -116,150 +116,139 @@ 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.'
    - -'; +
    +

    + + L_FOR_SELECTION, 'delete' => L_DELETE), '', false, '', 'id_selection2'); - echo ''; + plxUtils::printSelect('selection[]', array( '' => L_FOR_SELECTION, 'delete' => L_DELETE), '', false, 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 .= ' '.implode(',', $catsName).''; + } + 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 '"; + echo ""; + } + } else { # Pas d'article + echo ''; + } + ?> + +
    +
    + + +
    +
    '.$idArt.''.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.'
    +
    - +

    + plxPlugins->callHook('AdminIndexPagination')); + # Affichage de la pagination + if($arts) { # Si on a des articles (hors page) + # Calcul des pages + $last_page = ceil($nbArtPagination/$plxAdmin->bypage); + if($plxAdmin->page > $last_page) $plxAdmin->page = $last_page; + $prev_page = $plxAdmin->page - 1; + $next_page = $plxAdmin->page + 1; + # Generation des URLs + $artTitle = (!empty($_GET['artTitle'])?'&artTitle='.urlencode($_GET['artTitle']):''); + $p_url = 'index.php?page='.$prev_page.$artTitle; # Page precedente + $n_url = 'index.php?page='.$next_page.$artTitle; # Page suivante + $l_url = 'index.php?page='.$last_page.$artTitle; # Derniere page + $f_url = 'index.php?page=1'.$artTitle; # Premiere page + # On effectue l'affichage + if($plxAdmin->page > 2) # Si la page active > 2 on affiche un lien 1ere page + echo ''.L_PAGINATION_FIRST.''; + if($plxAdmin->page > 1) # Si la page active > 1 on affiche un lien page precedente + echo ''.L_PAGINATION_PREVIOUS.''; + # Affichage de la page courante + printf(''.L_PAGINATION.'',$plxAdmin->page,$last_page); + if($plxAdmin->page < $last_page) # Si la page active < derniere page on affiche un lien page suivante + echo ''.L_PAGINATION_NEXT.''; + if(($plxAdmin->page + 1) < $last_page) # Si la page active++ < derniere page on affiche un lien derniere page + echo ''.L_PAGINATION_LAST.''; + } + ?> +

    plxPlugins->callHook('AdminMediasPrepend')); # Recherche du type de medias à afficher via la session -if(empty($_SESSION['medias']) OR !empty($_POST['btn_images'])) { - $_SESSION['medias'] = $plxAdmin->aConf['images']; - $_SESSION['folder'] = ''; -} -elseif(!empty($_POST['btn_documents'])) { - $_SESSION['medias'] = $plxAdmin->aConf['documents']; +if(empty($_SESSION['medias'])) { + $_SESSION['medias'] = $plxAdmin->aConf['medias']; $_SESSION['folder'] = ''; } elseif(!empty($_POST['folder'])) { @@ -49,7 +45,7 @@ if(!empty($_POST['btn_newfolder']) AND !empty($_POST['newfolder'])) { header('Location: medias.php'); exit; } -elseif(!empty($_POST['btn_delete']) AND !empty($_POST['folder']) AND $_POST['folder']!='.') { +elseif(!empty($_POST['folder']) AND $_POST['folder']!='.' AND !empty($_POST['btn_delete'])) { if($plxMedias->deleteDir($_POST['folder'])) { $_SESSION['folder'] = ''; } @@ -61,17 +57,17 @@ elseif(!empty($_POST['btn_upload'])) { header('Location: medias.php'); exit; } -elseif(isset($_POST['selection']) AND ((!empty($_POST['btn_ok1']) AND $_POST['selection'][0]=='delete') OR (!empty($_POST['btn_ok2']) AND$_POST['selection'][1]=='delete')) AND isset($_POST['idFile'])) { +elseif(isset($_POST['selection']) AND ((!empty($_POST['btn_ok']) AND $_POST['selection']=='delete')) AND isset($_POST['idFile'])) { $plxMedias->deleteFiles($_POST['idFile']); header('Location: medias.php'); exit; } -elseif(isset($_POST['selection']) AND ((!empty($_POST['btn_ok1']) AND $_POST['selection'][0]=='move') OR (!empty($_POST['btn_ok2']) AND$_POST['selection'][1]=='move')) AND isset($_POST['idFile'])) { +elseif(isset($_POST['selection']) AND ((!empty($_POST['btn_ok']) AND $_POST['selection']=='move')) AND isset($_POST['idFile'])) { $plxMedias->moveFiles($_POST['idFile'], $_SESSION['currentfolder'], $_POST['folder']); header('Location: medias.php'); exit; } -elseif(isset($_POST['selection']) AND ((!empty($_POST['btn_ok1']) AND $_POST['selection'][0]=='thumbs') OR (!empty($_POST['btn_ok2']) AND $_POST['selection'][1]=='thumbs')) AND isset($_POST['idFile'])) { +elseif(isset($_POST['selection']) AND ((!empty($_POST['btn_ok']) AND $_POST['selection']=='thumbs')) AND isset($_POST['idFile'])) { $plxMedias->makeThumbs($_POST['idFile'], $plxAdmin->aConf['miniatures_l'], $plxAdmin->aConf['miniatures_h']); header('Location: medias.php'); exit; @@ -107,48 +103,143 @@ switch ($sort) { $_SESSION['sort_medias']=$sort; # Contenu des 2 listes déroulantes -$selectionList = array('' =>L_FOR_SELECTION, 'move'=>L_PLXMEDIAS_MOVE_FOLDER, 'thumbs'=>L_MEDIAS_RECREATE_THUMB, '-'=>'-----', 'delete' =>L_DELETE); +$selectionList = array(''=>L_FOR_SELECTION,'move'=>L_PLXMEDIAS_MOVE_FOLDER,'thumbs'=>L_MEDIAS_RECREATE_THUMB,'-'=>'-----','delete' =>L_DELETE_FILE); # On inclut le header include(dirname(__FILE__).'/top.php'); +$curFolder = '/'.plxUtils::strCheck(basename($_SESSION['medias']).'/'.$_SESSION['folder']); +$curFolders = explode('/', $curFolder); + ?> - - -

    - plxPlugins->callHook('AdminMediasTop')) # Hook Plugins ?> -

    +
    -