From 6d006303328909b111a9db1ac4199f0a993adb8b Mon Sep 17 00:00:00 2001 From: plegall Date: Fri, 26 Mar 2010 13:37:20 +0000 Subject: feature 1538: "select all" (+none, +invert) on user comments validation screen. git-svn-id: http://piwigo.org/svn/trunk@5381 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/comments.php | 80 +++++++++++------------------- admin/themes/default/default-layout.css | 3 ++ admin/themes/default/template/comments.tpl | 58 ++++++++++++++++++---- language/en_UK/admin.lang.php | 5 +- language/fr_FR/admin.lang.php | 5 +- 5 files changed, 88 insertions(+), 63 deletions(-) diff --git a/admin/comments.php b/admin/comments.php index 9173107db..394825ec9 100644 --- a/admin/comments.php +++ b/admin/comments.php @@ -38,49 +38,26 @@ check_status(ACCESS_ADMINISTRATOR); // | actions | // +-----------------------------------------------------------------------+ -if (isset($_POST)) +if (!empty($_POST) and !is_adviser()) { - $to_validate = array(); - $to_reject = array(); - - if (isset($_POST['submit']) and !is_adviser()) - { - foreach (explode(',', $_POST['list']) as $comment_id) - { - if (isset($_POST['action-'.$comment_id])) - { - switch ($_POST['action-'.$comment_id]) - { - case 'reject' : - { - array_push($to_reject, $comment_id); - break; - } - case 'validate' : - { - array_push($to_validate, $comment_id); - break; - } - } - } - } - } - else if (isset($_POST['validate-all']) and !empty($_POST['list']) and !is_adviser()) - { - $to_validate = explode(',', $_POST['list']); - } - else if (isset($_POST['reject-all']) and !empty($_POST['list']) and !is_adviser()) + if (empty($_POST['comments'])) { - $to_reject = explode(',', $_POST['list']); + array_push( + $page['errors'], + l10n('Select at least one comment') + ); } - - if (count($to_validate) > 0) + else { - $query = ' + check_input_parameter('comments', $_POST, true, PATTERN_ID); + + if (isset($_POST['validate'])) + { + $query = ' UPDATE '.COMMENTS_TABLE.' SET validated = \'true\' , validation_date = NOW() - WHERE id IN ('.implode(',', $to_validate).') + WHERE id IN ('.implode(',', $_POST['comments']).') ;'; pwg_query($query); @@ -88,27 +65,28 @@ UPDATE '.COMMENTS_TABLE.' $page['infos'], l10n_dec( '%d user comment validated', '%d user comments validated', - count($to_validate) + count($_POST['comments']) ) ); - } + } - if (count($to_reject) > 0) - { - $query = ' + if (isset($_POST['reject'])) + { + $query = ' DELETE FROM '.COMMENTS_TABLE.' - WHERE id IN ('.implode(',', $to_reject).') + WHERE id IN ('.implode(',', $_POST['comments']).') ;'; - pwg_query($query); - - array_push( - $page['infos'], - l10n_dec( - '%d user comment rejected', '%d user comments rejected', - count($to_reject) - ) - ); + pwg_query($query); + + array_push( + $page['infos'], + l10n_dec( + '%d user comment rejected', '%d user comments rejected', + count($_POST['comments']) + ) + ); + } } } diff --git a/admin/themes/default/default-layout.css b/admin/themes/default/default-layout.css index 43ffc2373..518e981d5 100644 --- a/admin/themes/default/default-layout.css +++ b/admin/themes/default/default-layout.css @@ -788,3 +788,6 @@ h2:lang(en) { text-transform:capitalize; } } .content .infos li, .content .errors li { list-style-type:square; } + +.checkActions {text-align:left;padding:0;margin:0;} +.comment A:hover {border:none;} \ No newline at end of file diff --git a/admin/themes/default/template/comments.tpl b/admin/themes/default/template/comments.tpl index b7ac21ba4..6f3f37c95 100644 --- a/admin/themes/default/template/comments.tpl +++ b/admin/themes/default/template/comments.tpl @@ -1,3 +1,32 @@ +{literal} + +{/literal} +

{'Waiting'|@translate} {$TABSHEET_TITLE}

@@ -7,24 +36,33 @@ {if !empty($comments) }
- {foreach from=$comments item=comment} + + {foreach from=$comments item=comment name=comment} + + + + {/foreach} +
+ +

{$comment.AUTHOR} - {$comment.DATE}

{$comment.CONTENT}
-
    -
  • -
  • -
+
+ +

+ {'Select:'|@translate} + {'All'|@translate}, + {'None'|@translate}, + {'Invert'|@translate} +

- - - - - + +

diff --git a/language/en_UK/admin.lang.php b/language/en_UK/admin.lang.php index 5253cf604..b62343cc4 100644 --- a/language/en_UK/admin.lang.php +++ b/language/en_UK/admin.lang.php @@ -755,4 +755,7 @@ $lang['Languages'] = 'Languages'; $lang['Installed Languages'] = 'Installed Languages'; $lang['Add New Language'] = 'Add New Language'; $lang['Language has been successfully installed'] = 'Language has been successfully installed'; -?> \ No newline at end of file +$lang['Select:'] = 'Select:'; +$lang['None'] = 'None'; +$lang['Invert'] = 'Invert'; +?> diff --git a/language/fr_FR/admin.lang.php b/language/fr_FR/admin.lang.php index 40122a3bc..3c8f7468d 100644 --- a/language/fr_FR/admin.lang.php +++ b/language/fr_FR/admin.lang.php @@ -760,4 +760,7 @@ $lang['Installed Languages'] = 'Langues installées'; $lang['Add New Language'] = 'Ajouter une langue'; $lang['Language has been successfully installed'] = 'La langue a été installée avec succès'; $lang['Allow user customization'] = "Permettre la personnalisation de l'affichage"; -?> \ No newline at end of file +$lang['Select:'] = 'Sélectionner:'; +$lang['None'] = 'Rien'; +$lang['Invert'] = 'Inverser'; +?> -- cgit v1.2.3