aboutsummaryrefslogtreecommitdiffstats
path: root/comments.php
diff options
context:
space:
mode:
Diffstat (limited to 'comments.php')
-rw-r--r--comments.php120
1 files changed, 89 insertions, 31 deletions
diff --git a/comments.php b/comments.php
index 19503ccaa..1ae42749f 100644
--- a/comments.php
+++ b/comments.php
@@ -26,8 +26,11 @@
// +-----------------------------------------------------------------------+
//----------------------------------------------------------- include
-define('PHPWG_ROOT_PATH','./');
-include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
+if (!defined('IN_ADMIN'))
+{
+ define('PHPWG_ROOT_PATH','./');
+ include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
+}
//--------------------------------------------------- number of days to display
if ( isset( $_GET['last_days'] ) ) define( 'MAX_DAYS', $_GET['last_days'] );
@@ -36,28 +39,60 @@ else define( 'MAX_DAYS', 0 );
$array_cat_directories = array();
$array_cat_names = array();
$array_cat_site_id = array();
+
+// comment deletion
+if ( isset( $_POST['delete'] ) )
+{
+ $mod_sql='';
+ while( list($id, $row_id) = @each($_POST['comment_id']) )
+ {
+ $mod_sql .= ( ( $mod_sql != '' ) ? ', ' : '' ) . $row_id;
+ }
+ $query = 'DELETE FROM '.COMMENTS_TABLE.' WHERE id IN ('.$mod_sql.');';
+ mysql_query( $query );
+}
+
+//--------------------------------------------------------- comments validation
+if ( isset( $_POST['validate'] ) )
+{
+ $mod_sql='';
+ while( list($id, $row_id) = @each($_POST['comment_id']) )
+ {
+ $mod_sql .= ( ( $mod_sql != '' ) ? ', ' : '' ) . $row_id;
+ }
+ $query = 'UPDATE '.COMMENTS_TABLE;
+ $query.= " SET validated = 'true'";
+ $query.=' WHERE id IN ('.$mod_sql.');';
+ mysql_query( $query );
+}
//------------------------------------------------------- last comments display
//
// Start output of page
//
-$title= $lang['title_comments'];
-include(PHPWG_ROOT_PATH.'include/page_header.php');
+if (!defined('IN_ADMIN'))
+{
+ $title= $lang['title_comments'];
+ include(PHPWG_ROOT_PATH.'include/page_header.php');
+}
$template->set_filenames( array('comments'=>'comments.tpl') );
-initialize_template();
-
$template->assign_vars(array(
- 'L_TITLE' => $lang['title_comments'],
- 'L_STATS' => $lang['stats_last_days'],
- 'L_RETURN' => $lang['search_return_main_page'],
+ 'L_COMMENT_TITLE' => $title,
+ 'L_COMMENT_STATS' => $lang['stats_last_days'],
+ 'L_COMMENT_RETURN' => $lang['search_return_main_page'],
+ 'L_DELETE' =>$lang['delete'],
+ 'L_VALIDATE'=>$lang['submit'],
- 'U_HOME' => add_session_id( 'category.php' )
+ 'T_DEL_IMG' =>PHPWG_ROOT_PATH.'template/'.$user['template'].'/theme/delete.gif',
+
+ 'U_HOME' => add_session_id( PHPWG_ROOT_PATH.'category.php' )
)
);
foreach ( $conf['last_days'] as $option ) {
- $url = './comments.php?last_days='.($option - 1);
+ $url = $PHP_SELF.'?last_days='.($option - 1);
+ if (defined('IN_ADMIN')) $url.= '&page=comments';
$template->assign_block_vars('last_day_option', array (
'OPTION'=>$option,
'T_STYLE'=>(( $option == MAX_DAYS + 1 )?'text-decoration:underline;':''),
@@ -70,22 +105,28 @@ $date = date( 'Y-m-d', time() - ( MAX_DAYS*24*60*60 ) );
list($year,$month,$day) = explode( '-', $date);
$maxtime = mktime( 0,0,0,$month,$day,$year );
$query = 'SELECT DISTINCT(ic.image_id) as image_id,';
-$query .= '(ic.category_id) as category_id';
-$query.= ' FROM '.PREFIX_TABLE.'comments AS c';
-$query.= ', '.PREFIX_TABLE.'image_category AS ic';
+$query.= '(ic.category_id) as category_id';
+$query.= ' FROM '.COMMENTS_TABLE.' AS c';
+$query.= ', '.IMAGE_CATEGORY_TABLE.' AS ic';
$query.= ' WHERE c.image_id = ic.image_id';
$query.= ' AND date > '.$maxtime;
-$query.= " AND validated = 'true'";
-// we must not show pictures of a forbidden category
-if ( $user['forbidden_categories'] != '' )
+if ( $user['status'] != 'admin' )
{
- $query.= ' AND category_id NOT IN ';
- $query.= '('.$user['forbidden_categories'].')';
+ $query.= " AND validated = 'true'";
+ // we must not show pictures of a forbidden category
+ if ( $user['forbidden_categories'] != '' )
+ {
+ $query.= ' AND category_id NOT IN ';
+ $query.= '('.$user['forbidden_categories'].')';
+ }
}
$query.= ' ORDER BY ic.image_id DESC';
$query.= ';';
$result = mysql_query( $query );
-
+if ( $user['status'] == 'admin' )
+{
+ $template->assign_block_vars('validation', array());
+}
while ( $row = mysql_fetch_array( $result ) )
{
$category_id=$row['category_id'];
@@ -112,7 +153,7 @@ while ( $row = mysql_fetch_array( $result ) )
$file = get_filename_wo_extension( $subrow['file'] );
// name of the picture
$name = $array_cat_names[$category_id].' > ';
- if ( $subrow['name'] != '' ) $name.= $subrow['name'];
+ if (!empty($subrow['name'])) $name.= $subrow['name'];
else $name.= str_replace( '_', ' ', $file );
$name.= ' [ '.$subrow['file'].' ]';
// source of the thumbnail picture
@@ -120,7 +161,7 @@ while ( $row = mysql_fetch_array( $result ) )
$src.= 'thumbnail/'.$conf['prefix_thumbnail'];
$src.= $file.'.'.$subrow['tn_ext'];
// link to the full size picture
- $url = './picture.php?cat='.$category_id;
+ $url = PHPWG_ROOT_PATH.'picture.php?cat='.$category_id;
$url.= '&image_id='.$row['image_id'];
$template->assign_block_vars('picture',array(
@@ -130,18 +171,20 @@ while ( $row = mysql_fetch_array( $result ) )
));
// for each picture, retrieving all comments
- $query = 'SELECT id,date,author,content';
- $query.= ' FROM '.COMMENTS_TABLE;
+ $query = 'SELECT * FROM '.COMMENTS_TABLE;
$query.= ' WHERE image_id = '.$row['image_id'];
$query.= ' AND date > '.$maxtime;
- $query.= " AND validated = 'true'";
+ if ( $user['status'] != 'admin' )
+ {
+ $query.= " AND validated = 'true'";
+ }
$query.= ' ORDER BY date DESC';
$query.= ';';
$handleresult = mysql_query( $query );
while ( $subrow = mysql_fetch_array( $handleresult ) )
{
$author = $subrow['author'];
- if ( $subrow['author'] == '' ) $author = $lang['guest'];
+ if ( empty($subrow['author'] )) $author = $lang['guest'];
$content = nl2br( $subrow['content'] );
// replace _word_ by an underlined word
@@ -159,13 +202,28 @@ while ( $row = mysql_fetch_array( $result ) )
$replacement = '<span style="font-style:italic;">\1</span>';
$content = preg_replace( $pattern, $replacement, $content );
$template->assign_block_vars('picture.comment',array(
- 'AUTHOR'=>$author,
- 'DATE'=>format_date( $subrow['date'], 'unix', true ),
- 'CONTENT'=>$content,
+ 'COMMENT_AUTHOR'=>$author,
+ 'COMMENT_DATE'=>format_date( $subrow['date'], 'unix', true ),
+ 'COMMENT'=>$content,
));
+ if ( $user['status'] == 'admin' )
+ {
+ $template->assign_block_vars('picture.comment.validation', array(
+ 'ID'=> $subrow['id'],
+ 'CHECKED'=>($subrow['validated']=='false')?'checked="checked"': ''
+ ));
+ }
}
}
//----------------------------------------------------------- html code display
-$template->pparse('comments');
-include(PHPWG_ROOT_PATH.'include/page_tail.php');
+if (defined('IN_ADMIN'))
+{
+ $template->assign_var_from_handle('ADMIN_CONTENT', 'comments');
+}
+else
+{
+ $template->assign_block_vars('title',array());
+ $template->pparse('comments');
+ include(PHPWG_ROOT_PATH.'include/page_tail.php');
+}
?>