diff options
-rw-r--r-- | admin/configuration.php | 5 | ||||
-rw-r--r-- | admin/themes/default/template/configuration.tpl | 7 | ||||
-rw-r--r-- | include/picture_comment.inc.php | 28 | ||||
-rw-r--r-- | install/config.sql | 1 | ||||
-rw-r--r-- | install/db/115-database.php | 38 | ||||
-rw-r--r-- | language/en_UK/admin.lang.php | 1 | ||||
-rw-r--r-- | language/fr_CA/admin.lang.php | 1 | ||||
-rw-r--r-- | language/fr_FR/admin.lang.php | 1 | ||||
-rw-r--r-- | themes/default/template/picture.tpl | 4 |
9 files changed, 84 insertions, 2 deletions
diff --git a/admin/configuration.php b/admin/configuration.php index b7a06aa74..6e4bb0311 100644 --- a/admin/configuration.php +++ b/admin/configuration.php @@ -419,7 +419,10 @@ switch ($page['section']) 'comments', array( 'NB_COMMENTS_PAGE'=>$conf['nb_comment_page'], - )); + 'comments_order'=>$conf['comments_order'], + 'comments_order_options'=> $sort_directions + ) + ); foreach ($comments_checkboxes as $checkbox) { diff --git a/admin/themes/default/template/configuration.tpl b/admin/themes/default/template/configuration.tpl index 521ad40c0..232b00356 100644 --- a/admin/themes/default/template/configuration.tpl +++ b/admin/themes/default/template/configuration.tpl @@ -203,6 +203,13 @@ jQuery(document).ready(function () { </span> <input type="text" size="3" maxlength="4" name="nb_comment_page" id="nb_comment_page" value="{$comments.NB_COMMENTS_PAGE}"> </li> + + <li> + <span class="property">{'Default comments order'|@translate}</span> + <select name="comments_order"> + {html_options options=$comments.comments_order_options selected=$comments.comments_order} + </select> + </li> <li> <label> diff --git a/include/picture_comment.inc.php b/include/picture_comment.inc.php index 70e2c7e95..b35bf2285 100644 --- a/include/picture_comment.inc.php +++ b/include/picture_comment.inc.php @@ -125,6 +125,32 @@ SELECT if ($row['nb_comments'] > 0) { + // comments order (get, session, conf) + if (!empty($_GET['comments_order'])) + { + if (in_array(strtoupper($_GET['comments_order']), array('ASC', 'DESC'))) + { + $comments_order = $_GET['comments_order']; + pwg_set_session_var('comments_order', $comments_order); + } + else + { + $comments_order = $conf['comments_order']; + } + } + else if (pwg_get_session_var('comments_order') !== null) + { + $comments_order = pwg_get_session_var('comments_order'); + } + else + { + $comments_order = $conf['comments_order']; + } + $template->assign(array( + 'COMMENTS_ORDER_URL' => duplicate_picture_url().'&comments_order='.($comments_order == 'ASC' ? 'DESC' : 'ASC'), + 'COMMENTS_ORDER_TITLE' => $comments_order == 'ASC' ? l10n('ascending') : l10n('descending'), + )); + $query = ' SELECT com.id, @@ -140,7 +166,7 @@ SELECT ON u.'.$conf['user_fields']['id'].' = author_id WHERE image_id = '.$page['image_id'].' '.$validated_clause.' - ORDER BY date ASC + ORDER BY date '.$comments_order.' LIMIT '.$conf['nb_comment_page'].' OFFSET '.$page['start'].' ;'; $result = pwg_query( $query ); diff --git a/install/config.sql b/install/config.sql index a973bb107..e121fb2cd 100644 --- a/install/config.sql +++ b/install/config.sql @@ -5,6 +5,7 @@ INSERT INTO piwigo_config (param,value,comment) VALUES ('nb_comment_page','10',' INSERT INTO piwigo_config (param,value,comment) VALUES ('log','true','keep an history of visits on your website'); INSERT INTO piwigo_config (param,value,comment) VALUES ('comments_validation','false','administrators validate users comments before becoming visible'); INSERT INTO piwigo_config (param,value,comment) VALUES ('comments_forall','false','even guest not registered can post comments'); +INSERT INTO piwigo_config (param,value,comment) VALUES ('comments_order','ASC','comments order on picture page and cie'); INSERT INTO piwigo_config (param,value,comment) VALUES ('user_can_delete_comment','false','administrators can allow user delete their own comments'); INSERT INTO piwigo_config (param,value,comment) VALUES ('user_can_edit_comment','false','administrators can allow user edit their own comments'); INSERT INTO piwigo_config (param,value,comment) VALUES ('email_admin_on_comment_edition','false','Send an email to the administrators when a comment is modified'); diff --git a/install/db/115-database.php b/install/db/115-database.php new file mode 100644 index 000000000..c9d043c09 --- /dev/null +++ b/install/db/115-database.php @@ -0,0 +1,38 @@ +<?php +// +-----------------------------------------------------------------------+ +// | Piwigo - a PHP based photo gallery | +// +-----------------------------------------------------------------------+ +// | Copyright(C) 2008-2011 Piwigo Team http://piwigo.org | +// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net | +// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick | +// +-----------------------------------------------------------------------+ +// | This program is free software; you can redistribute it and/or modify | +// | it under the terms of the GNU General Public License as published by | +// | the Free Software Foundation | +// | | +// | This program is distributed in the hope that it will be useful, but | +// | WITHOUT ANY WARRANTY; without even the implied warranty of | +// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | +// | General Public License for more details. | +// | | +// | You should have received a copy of the GNU General Public License | +// | along with this program; if not, write to the Free Software | +// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | +// | USA. | +// +-----------------------------------------------------------------------+ + +if (!defined('PHPWG_ROOT_PATH')) +{ + die('Hacking attempt!'); +} + +$upgrade_description = 'New setting for comments order on picture page'; + +conf_update_param('comments_order', 'ASC'); + +echo +"\n" +. $upgrade_description +."\n" +; +?>
\ No newline at end of file diff --git a/language/en_UK/admin.lang.php b/language/en_UK/admin.lang.php index a76c27488..6797d3e18 100644 --- a/language/en_UK/admin.lang.php +++ b/language/en_UK/admin.lang.php @@ -223,6 +223,7 @@ $lang['Date'] = "Date"; $lang['Day'] = "Day"; $lang['Deactivate all'] = "Deactivate all"; $lang['Deactivate'] = "Deactivate"; +$lang['Default comments order'] = 'Default comments order'; $lang['Default display'] = "Default display"; $lang['Default photos order'] = "Default photos order"; $lang['Default user cannot be deleted'] = "Default user cannot be deleted"; diff --git a/language/fr_CA/admin.lang.php b/language/fr_CA/admin.lang.php index 1e1ed3daf..8bfb8efbf 100644 --- a/language/fr_CA/admin.lang.php +++ b/language/fr_CA/admin.lang.php @@ -846,5 +846,6 @@ $lang['An error has occured during extract. Please check files permissions of yo $lang['Piwigo cannot retrieve upgrade file from server'] = 'Piwigo ne peut pas récupérer le fichier de mise à jour depuis le serveur'; $lang['Send connection settings by email'] = 'Envoyer les identifiants par email'; $lang['Activate comments'] = 'Activer les commentaires'; +$lang['Default comments order'] = 'Ordre par défaut des commentaires'; ?>
\ No newline at end of file diff --git a/language/fr_FR/admin.lang.php b/language/fr_FR/admin.lang.php index 8051c1b2f..8a790f309 100644 --- a/language/fr_FR/admin.lang.php +++ b/language/fr_FR/admin.lang.php @@ -845,5 +845,6 @@ $lang['Photo Sizes'] = 'Tailles de photo'; $lang['Original Size'] = 'Taille originale'; $lang['Send connection settings by email'] = 'Envoyer les identifiants par email'; $lang['Activate comments'] = 'Activer les commentaires'; +$lang['Default comments order'] = 'Ordre par défaut des commentaires'; ?>
\ No newline at end of file diff --git a/themes/default/template/picture.tpl b/themes/default/template/picture.tpl index 6fb873771..430d0e3c5 100644 --- a/themes/default/template/picture.tpl +++ b/themes/default/template/picture.tpl @@ -274,10 +274,14 @@ y.callService( </div> {if isset($COMMENT_COUNT)} +<a name="comments"></a> <div id="comments"> {if $COMMENT_COUNT > 0} <h3>{$pwg->l10n_dec('%d comment', '%d comments',$COMMENT_COUNT)}</h3> {/if} + {if $COMMENT_COUNT > 2} + {'Sort order'|@translate} : <a href="{$COMMENTS_ORDER_URL}#comments">{$COMMENTS_ORDER_TITLE}</a> + {/if} {if !empty($navbar)}{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if} {if isset($comments)} |