Changeset 10097
- Timestamp:
- Apr 6, 2011, 10:55:40 AM (13 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/admin/configuration.php
r9544 r10097 64 64 'comments_forall', 65 65 'comments_validation', 66 'comments_update_validation', 66 67 'email_admin_on_comment', 67 68 'email_admin_on_comment_validation', -
trunk/admin/themes/default/template/configuration.tpl
r8723 r10097 142 142 <span class="property">{'Validation'|@translate}</span> 143 143 <input type="checkbox" name="comments_validation" {if ($comments.comments_validation)}checked="checked"{/if}> 144 </label> 145 </li> 146 147 <li> 148 <label> 149 <span class="property">{'Update Validation'|@translate}</span> 150 <input type="checkbox" name="comments_update_validation" {if ($comments.comments_update_validation)}checked="checked"{/if}> 144 151 </label> 145 152 </li> -
trunk/include/functions_comment.inc.php
r8728 r10097 264 264 $GLOBALS['user']['id'].'\''; 265 265 } 266 267 // should the updated comment must be validated 268 if (!$conf['comments_update_validation'] or is_admin()) 269 { 270 $comment_action='validate'; //one of validate, moderate, reject 271 } 272 else 273 { 274 $comment_action='moderate'; //one of validate, moderate, reject 275 } 276 266 277 $query = ' 267 278 UPDATE '.COMMENTS_TABLE.' 268 279 SET content = \''.$comment['content'].'\', 269 validation_date = now() 280 validated = \''.($comment_action=='validate' ? 'true':'false').'\', 281 validation_date = '.($comment_action=='validate' ? 'NOW()':'NULL').' 270 282 WHERE id = '.$comment['comment_id']. 271 283 $user_where_clause.' 272 284 ;'; 273 285 $result = pwg_query($query); 274 if ($result) { 286 287 // mail admin and ask to validate the comment 288 if ($result and $conf['email_admin_on_comment_validation'] and 'moderate' == $comment_action) 289 { 290 include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 291 292 $comment_url = get_absolute_root_url().'comments.php?comment_id='.$comment['comment_id']; 293 294 $keyargs_content = array 295 ( 296 get_l10n_args('Author: %s', stripslashes($GLOBALS['user']['username']) ), 297 get_l10n_args('Comment: %s', stripslashes($comment['content']) ), 298 get_l10n_args('', ''), 299 get_l10n_args('Manage this user comment: %s', $comment_url), 300 get_l10n_args('', ''), 301 get_l10n_args('(!) This comment requires validation', ''), 302 ); 303 304 pwg_mail_notification_admins 305 ( 306 get_l10n_args('Comment by %s', stripslashes($GLOBALS['user']['username']) ), 307 $keyargs_content 308 ); 309 } 310 // just mail admin 311 else if ($result) 312 { 275 313 email_admin('edit', array('author' => $GLOBALS['user']['username'], 276 314 'content' => stripslashes($comment['content'])) ); 277 315 } 278 316 } 317 318 return $comment_action; 279 319 } 280 320 -
trunk/include/picture_comment.inc.php
r8728 r10097 39 39 } 40 40 41 if ( $page['show_comments'] and isset( $_POST['content'] ))41 if (!isset($comment_action)) 42 42 { 43 if ( is_a_guest() and !$conf['comments_forall'] ) 44 { 45 die ('Session expired'); 46 } 47 48 $comm = array( 49 'author' => trim( @$_POST['author'] ), 50 'content' => trim( $_POST['content'] ), 51 'image_id' => $page['image_id'], 52 ); 53 54 include_once(PHPWG_ROOT_PATH.'include/functions_comment.inc.php'); 55 56 $comment_action = insert_user_comment($comm, @$_POST['key'], $infos ); 57 58 switch ($comment_action) 59 { 60 case 'moderate': 61 array_push( $infos, l10n('An administrator must authorize your comment before it is visible.') ); 62 case 'validate': 63 array_push( $infos, l10n('Your comment has been registered')); 64 break; 65 case 'reject': 66 set_status_header(403); 67 array_push($infos, l10n('Your comment has NOT been registered because it did not pass the validation rules') ); 68 break; 69 default: 70 trigger_error('Invalid comment action '.$comment_action, E_USER_WARNING); 71 } 72 73 $template->assign( 74 ($comment_action=='reject') ? 'errors' : 'infos', 75 $infos 76 ); 77 78 // allow plugins to notify what's going on 79 trigger_action( 'user_comment_insertion', 80 array_merge($comm, array('action'=>$comment_action) ) 81 ); 82 } 83 elseif ( isset($_POST['content']) ) 84 { 85 set_status_header(403); 86 die('ugly spammer'); 43 if ( $page['show_comments'] and isset( $_POST['content'] ) ) 44 { 45 if ( is_a_guest() and !$conf['comments_forall'] ) 46 { 47 die ('Session expired'); 48 } 49 50 $comm = array( 51 'author' => trim( @$_POST['author'] ), 52 'content' => trim( $_POST['content'] ), 53 'image_id' => $page['image_id'], 54 ); 55 56 include_once(PHPWG_ROOT_PATH.'include/functions_comment.inc.php'); 57 58 $comment_action = insert_user_comment($comm, @$_POST['key'], $infos ); 59 60 switch ($comment_action) 61 { 62 case 'moderate': 63 array_push( $infos, l10n('An administrator must authorize your comment before it is visible.') ); 64 case 'validate': 65 array_push( $infos, l10n('Your comment has been registered')); 66 break; 67 case 'reject': 68 set_status_header(403); 69 array_push($infos, l10n('Your comment has NOT been registered because it did not pass the validation rules') ); 70 break; 71 default: 72 trigger_error('Invalid comment action '.$comment_action, E_USER_WARNING); 73 } 74 75 $template->assign( 76 ($comment_action=='reject') ? 'errors' : 'infos', 77 $infos 78 ); 79 80 // allow plugins to notify what's going on 81 trigger_action( 'user_comment_insertion', 82 array_merge($comm, array('action'=>$comment_action) ) 83 ); 84 } 85 elseif ( isset($_POST['content']) ) 86 { 87 set_status_header(403); 88 die('ugly spammer'); 89 } 87 90 } 88 91 -
trunk/install/config.sql
r8759 r10097 4 4 INSERT INTO piwigo_config (param,value,comment) VALUES ('log','true','keep an history of visits on your website'); 5 5 INSERT INTO piwigo_config (param,value,comment) VALUES ('comments_validation','false','administrators validate users comments before becoming visible'); 6 INSERT INTO piwigo_config (param,value,comment) VALUES ('comments_update_validation','false','administrators validate users updated comments before becoming visible'); 6 7 INSERT INTO piwigo_config (param,value,comment) VALUES ('comments_forall','false','even guest not registered can post comments'); 7 8 INSERT INTO piwigo_config (param,value,comment) VALUES ('user_can_delete_comment','false','administrators can allow user delete their own comments'); -
trunk/language/en_UK/admin.lang.php
r9936 r10097 730 730 $lang['Validate'] = "Validate"; 731 731 $lang['Validation'] = "Validation"; 732 $lang['Update Validation'] = "Validation when a comment is modified"; 732 733 $lang['Version of create_listing_file.php on the remote site and Piwigo must be the same'] = "Versions of create_listing_file.php on the remote site and Piwigo must be the same"; 733 734 $lang['Version'] = "Version"; -
trunk/language/fr_FR/admin.lang.php
r10039 r10097 170 170 $lang['Validate'] = "Valider"; 171 171 $lang['Validation'] = "Validation"; 172 $lang['Update Validation'] = "Validation quand un commentaire est modifié"; 172 173 $lang['Version'] = "Version"; 173 174 $lang['Virtual albums to move'] = 'Albums virtuels à déplacer'; -
trunk/picture.php
r9073 r10097 190 190 // +-----------------------------------------------------------------------+ 191 191 192 $infos = array(); 193 192 194 // caching first_rank, last_rank, current_rank in the displayed 193 195 // section. This should also help in readability. … … 332 334 if (!empty($_POST['content'])) 333 335 { 334 update_user_comment(336 $comment_action = update_user_comment( 335 337 array( 336 338 'comment_id' => $_GET['comment_to_edit'], … … 341 343 ); 342 344 343 redirect($url_self); 345 switch ($comment_action) 346 { 347 case 'moderate': 348 array_push($infos, l10n('An administrator must authorize your comment before it is visible.')); 349 case 'validate': 350 array_push($infos, l10n('Your comment has been registered')); 351 break; 352 case 'reject': 353 set_status_header(403); 354 array_push($infos, l10n('Your comment has NOT been registered because it did not pass the validation rules')); 355 break; 356 default: 357 trigger_error('Invalid comment action '.$comment_action, E_USER_WARNING); 358 } 359 360 $template->assign( 361 ($comment_action=='reject') ? 'errors' : 'infos', 362 $infos 363 ); 364 365 break; 344 366 } 345 367 else … … 835 857 } 836 858 837 $infos = array();838 839 859 // author 840 860 if (!empty($picture['current']['author']))
Note: See TracChangeset
for help on using the changeset viewer.