- improvement : dedicated page for user comments validation/reject in
administration. (screen is not shared with public part of the gallery). Ability to validate all or reject all in one clic. git-svn-id: http://piwigo.org/svn/trunk@839 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
faaf35d633
commit
4f261af707
4 changed files with 242 additions and 0 deletions
171
admin/comments.php
Normal file
171
admin/comments.php
Normal file
|
|
@ -0,0 +1,171 @@
|
||||||
|
<?php
|
||||||
|
// +-----------------------------------------------------------------------+
|
||||||
|
// | PhpWebGallery - a PHP based picture gallery |
|
||||||
|
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
|
||||||
|
// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
|
||||||
|
// +-----------------------------------------------------------------------+
|
||||||
|
// | branch : BSF (Best So Far)
|
||||||
|
// | file : $RCSfile$
|
||||||
|
// | last update : $Date$
|
||||||
|
// | last modifier : $Author$
|
||||||
|
// | revision : $Revision$
|
||||||
|
// +-----------------------------------------------------------------------+
|
||||||
|
// | 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!");
|
||||||
|
}
|
||||||
|
include_once(PHPWG_ROOT_PATH.'admin/include/isadmin.inc.php');
|
||||||
|
|
||||||
|
// +-----------------------------------------------------------------------+
|
||||||
|
// | actions |
|
||||||
|
// +-----------------------------------------------------------------------+
|
||||||
|
|
||||||
|
if (isset($_POST))
|
||||||
|
{
|
||||||
|
$to_validate = array();
|
||||||
|
$to_reject = array();
|
||||||
|
|
||||||
|
if (isset($_POST['submit']))
|
||||||
|
{
|
||||||
|
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']))
|
||||||
|
{
|
||||||
|
$to_validate = explode(',', $_POST['list']);
|
||||||
|
}
|
||||||
|
else if (isset($_POST['reject-all']))
|
||||||
|
{
|
||||||
|
$to_reject = explode(',', $_POST['list']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (count($to_validate) > 0)
|
||||||
|
{
|
||||||
|
$query = '
|
||||||
|
UPDATE '.COMMENTS_TABLE.'
|
||||||
|
SET validated = \'true\'
|
||||||
|
, validation_date = NOW()
|
||||||
|
WHERE id IN ('.implode(',', $to_validate).')
|
||||||
|
;';
|
||||||
|
pwg_query($query);
|
||||||
|
|
||||||
|
array_push(
|
||||||
|
$page['infos'],
|
||||||
|
sprintf(
|
||||||
|
l10n('%d user comments validated'),
|
||||||
|
count($to_validate)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (count($to_reject) > 0)
|
||||||
|
{
|
||||||
|
$query = '
|
||||||
|
DELETE
|
||||||
|
FROM '.COMMENTS_TABLE.'
|
||||||
|
WHERE id IN ('.implode(',', $to_reject).')
|
||||||
|
;';
|
||||||
|
pwg_query($query);
|
||||||
|
|
||||||
|
array_push(
|
||||||
|
$page['infos'],
|
||||||
|
sprintf(
|
||||||
|
l10n('%d user comments rejected'),
|
||||||
|
count($to_reject)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// +-----------------------------------------------------------------------+
|
||||||
|
// | template init |
|
||||||
|
// +-----------------------------------------------------------------------+
|
||||||
|
|
||||||
|
$template->set_filenames(array('comments'=>'admin/comments.tpl'));
|
||||||
|
|
||||||
|
$template->assign_vars(
|
||||||
|
array(
|
||||||
|
'F_ACTION' => add_session_id(PHPWG_ROOT_PATH.'admin.php?page=comments')
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
// +-----------------------------------------------------------------------+
|
||||||
|
// | comments display |
|
||||||
|
// +-----------------------------------------------------------------------+
|
||||||
|
|
||||||
|
$list = array();
|
||||||
|
|
||||||
|
$query = '
|
||||||
|
SELECT c.id, c.image_id, c.date, c.author, c.content, i.path, i.tn_ext
|
||||||
|
FROM '.COMMENTS_TABLE.' AS c
|
||||||
|
INNER JOIN '.IMAGES_TABLE.' AS i
|
||||||
|
ON i.id = c.image_id
|
||||||
|
WHERE validated = \'false\'
|
||||||
|
;';
|
||||||
|
$result = pwg_query($query);
|
||||||
|
while ($row = mysql_fetch_array($result))
|
||||||
|
{
|
||||||
|
$template->assign_block_vars(
|
||||||
|
'comment',
|
||||||
|
array(
|
||||||
|
'U_PICTURE' =>
|
||||||
|
add_session_id(
|
||||||
|
PHPWG_ROOT_PATH.'admin.php?page=picture_modify'.
|
||||||
|
'&image_id='.$row['image_id']
|
||||||
|
),
|
||||||
|
'ID' => $row['id'],
|
||||||
|
'TN_SRC' => get_thumbnail_src($row['path'], @$row['tn_ext']),
|
||||||
|
'AUTHOR' => $row['author'],
|
||||||
|
'DATE' => format_date($row['date'],'mysql_datetime',true),
|
||||||
|
'CONTENT' => parse_comment_content($row['content'])
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
array_push($list, $row['id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$template->assign_vars(
|
||||||
|
array(
|
||||||
|
'LIST' => implode(',', $list)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
// +-----------------------------------------------------------------------+
|
||||||
|
// | sending html code |
|
||||||
|
// +-----------------------------------------------------------------------+
|
||||||
|
|
||||||
|
$template->assign_var_from_handle('ADMIN_CONTENT', 'comments');
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
|
2005-08-20 Pierrick LE GALL
|
||||||
|
|
||||||
|
* improvement : dedicated page for user comments validation/reject
|
||||||
|
in administration. (screen is not shared with public part of the
|
||||||
|
gallery). Ability to validate all or reject all in one clic.
|
||||||
|
|
||||||
2005-08-19 Pierrick LE GALL
|
2005-08-19 Pierrick LE GALL
|
||||||
|
|
||||||
* improvement : less compact presentation of screen
|
* improvement : less compact presentation of screen
|
||||||
|
|
|
||||||
26
template/default/admin/comments.tpl
Normal file
26
template/default/admin/comments.tpl
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
<h1>{lang:User comments validation}</h1>
|
||||||
|
|
||||||
|
<form method="post" action="{F_ACTION}">
|
||||||
|
|
||||||
|
<input type="hidden" name="list" value="{LIST}" />
|
||||||
|
|
||||||
|
<!-- BEGIN comment -->
|
||||||
|
<div class="comment">
|
||||||
|
<a class="illustration" href="{comment.U_PICTURE}"><img src="{comment.TN_SRC}" /></a>
|
||||||
|
<p class="commentHeader"><strong>{comment.AUTHOR}</strong> - <em>{comment.DATE}</em></p>
|
||||||
|
<blockquote>{comment.CONTENT}</blockquote>
|
||||||
|
<ul class="actions">
|
||||||
|
<li><label><input type="radio" name="action-{comment.ID}" value="reject" />{lang:Reject}</label></li>
|
||||||
|
<li><label><input type="radio" name="action-{comment.ID}" value="validate" />{lang:Validate}</label></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- END comment -->
|
||||||
|
|
||||||
|
<p class="bottomButtons">
|
||||||
|
<input type="submit" name="submit" value="{lang:Submit}" />
|
||||||
|
<input type="submit" name="validate-all" value="{lang:Validate All}" />
|
||||||
|
<input type="submit" name="reject-all" value="{lang:Reject All}" />
|
||||||
|
<input type="reset" value="{lang:Reset}" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
@ -626,4 +626,43 @@ textarea.description {
|
||||||
fieldset.elementEdit>a {
|
fieldset.elementEdit>a {
|
||||||
display: block;
|
display: block;
|
||||||
float: right;
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Administration comments */
|
||||||
|
div#adminMain div.comment {
|
||||||
|
margin: 5px;
|
||||||
|
border: 1px solid gray;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#adminMain div.comment > a.illustration {
|
||||||
|
display: block;
|
||||||
|
float: left;
|
||||||
|
margin: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#adminMain div.comment p.commentHeader {
|
||||||
|
text-align: right;
|
||||||
|
margin: 0.5em 0.5em 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#adminMain div.comment ul.actions {
|
||||||
|
text-align: center;
|
||||||
|
margin: 0.2em;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#adminMain div.comment > ul.actions > li {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#adminMain div.comment blockquote {
|
||||||
|
margin: 15px;
|
||||||
|
border: 1px dashed gray;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* */
|
||||||
|
form p.bottomButtons {
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue