2003-05-09 12:42:42 +00:00
|
|
|
<?php
|
2004-02-11 23:20:38 +00:00
|
|
|
// +-----------------------------------------------------------------------+
|
2008-04-04 22:57:23 +00:00
|
|
|
// | Piwigo - a PHP based picture gallery |
|
|
|
|
// +-----------------------------------------------------------------------+
|
2010-03-19 22:37:10 +00:00
|
|
|
// | Copyright(C) 2008-2010 Piwigo Team http://piwigo.org |
|
2008-04-04 22:57:23 +00:00
|
|
|
// | 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 |
|
2004-02-11 23:20:38 +00:00
|
|
|
// | |
|
|
|
|
// | 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. |
|
|
|
|
// +-----------------------------------------------------------------------+
|
2007-03-16 18:49:19 +00:00
|
|
|
|
2004-09-11 10:36:03 +00:00
|
|
|
if( !defined("PHPWG_ROOT_PATH") )
|
|
|
|
{
|
2005-01-16 17:26:36 +00:00
|
|
|
die ("Hacking attempt!");
|
2004-09-11 10:36:03 +00:00
|
|
|
}
|
2006-03-09 22:46:28 +00:00
|
|
|
|
|
|
|
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
|
|
|
|
|
|
|
|
// +-----------------------------------------------------------------------+
|
|
|
|
// | Check Access and exit when user status is not ok |
|
|
|
|
// +-----------------------------------------------------------------------+
|
|
|
|
check_status(ACCESS_ADMINISTRATOR);
|
|
|
|
|
2003-07-21 19:47:14 +00:00
|
|
|
//--------------------------------------------------------------------- updates
|
2005-08-24 22:22:29 +00:00
|
|
|
|
|
|
|
if (isset($_POST))
|
2003-07-21 19:47:14 +00:00
|
|
|
{
|
2005-08-24 22:22:29 +00:00
|
|
|
$to_validate = array();
|
|
|
|
$to_reject = array();
|
2006-11-15 04:25:12 +00:00
|
|
|
|
2005-08-24 22:22:29 +00:00
|
|
|
if (isset($_POST['submit']))
|
2006-11-15 04:25:12 +00:00
|
|
|
{
|
2005-08-24 22:22:29 +00:00
|
|
|
foreach (explode(',', $_POST['list']) as $waiting_id)
|
|
|
|
{
|
|
|
|
if (isset($_POST['action-'.$waiting_id]))
|
|
|
|
{
|
|
|
|
switch ($_POST['action-'.$waiting_id])
|
|
|
|
{
|
|
|
|
case 'reject' :
|
|
|
|
{
|
|
|
|
array_push($to_reject, $waiting_id);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
case 'validate' :
|
|
|
|
{
|
|
|
|
array_push($to_validate, $waiting_id);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2006-04-21 21:08:28 +00:00
|
|
|
elseif (isset($_POST['validate-all']) and !empty($_POST['list']))
|
2005-08-24 22:22:29 +00:00
|
|
|
{
|
|
|
|
$to_validate = explode(',', $_POST['list']);
|
|
|
|
}
|
2006-04-21 21:08:28 +00:00
|
|
|
elseif (isset($_POST['reject-all']) and !empty($_POST['list']))
|
2003-07-21 19:47:14 +00:00
|
|
|
{
|
2005-08-24 22:22:29 +00:00
|
|
|
$to_reject = explode(',', $_POST['list']);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (count($to_validate) > 0)
|
|
|
|
{
|
|
|
|
$query = '
|
|
|
|
UPDATE '.WAITING_TABLE.'
|
|
|
|
SET validated = \'true\'
|
|
|
|
WHERE id IN ('.implode(',', $to_validate).')
|
|
|
|
;';
|
|
|
|
pwg_query($query);
|
|
|
|
|
|
|
|
array_push(
|
|
|
|
$page['infos'],
|
|
|
|
sprintf(
|
|
|
|
l10n('%d waiting pictures validated'),
|
|
|
|
count($to_validate)
|
|
|
|
)
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (count($to_reject) > 0)
|
|
|
|
{
|
|
|
|
// The uploaded element was refused, we have to delete its reference in
|
|
|
|
// the database and to delete the element as well.
|
|
|
|
$query = '
|
|
|
|
SELECT id, storage_category_id, file, tn_ext
|
|
|
|
FROM '.WAITING_TABLE.'
|
|
|
|
WHERE id IN ('.implode(',', $to_reject).')
|
|
|
|
;';
|
|
|
|
$result = pwg_query($query);
|
2009-11-20 14:17:04 +00:00
|
|
|
while($row = pwg_db_fetch_assoc($result))
|
2003-07-21 19:47:14 +00:00
|
|
|
{
|
2005-08-24 22:22:29 +00:00
|
|
|
$dir = get_complete_dir($row['storage_category_id']);
|
|
|
|
unlink($dir.$row['file']);
|
2006-11-15 04:25:12 +00:00
|
|
|
$element_info = array(
|
|
|
|
'path' => $dir.$row['file'],
|
|
|
|
'tn_ext' =>
|
|
|
|
(isset($row['tn_ext']) and $row['tn_ext']!='') ? $row['tn_ext']:'jpg'
|
|
|
|
);
|
|
|
|
$tn_path = get_thumbnail_path( $element_info );
|
|
|
|
|
|
|
|
if ( @is_file($tn_path) )
|
2003-07-21 19:47:14 +00:00
|
|
|
{
|
2006-11-15 04:25:12 +00:00
|
|
|
unlink( $tn_path );
|
2003-07-21 19:47:14 +00:00
|
|
|
}
|
|
|
|
}
|
2006-11-15 04:25:12 +00:00
|
|
|
|
2005-08-24 22:22:29 +00:00
|
|
|
$query = '
|
|
|
|
DELETE
|
|
|
|
FROM '.WAITING_TABLE.'
|
|
|
|
WHERE id IN ('.implode(',', $to_reject).')
|
|
|
|
;';
|
|
|
|
pwg_query($query);
|
|
|
|
|
|
|
|
array_push(
|
|
|
|
$page['infos'],
|
|
|
|
sprintf(
|
|
|
|
l10n('%d waiting pictures rejected'),
|
|
|
|
count($to_reject)
|
|
|
|
)
|
|
|
|
);
|
2003-07-21 19:47:14 +00:00
|
|
|
}
|
|
|
|
}
|
2004-09-11 10:36:03 +00:00
|
|
|
|
2003-07-21 19:47:14 +00:00
|
|
|
//----------------------------------------------------- template initialization
|
2008-09-14 07:16:15 +00:00
|
|
|
$template->set_filenames(array('upload'=>'upload.tpl'));
|
2007-03-16 18:49:19 +00:00
|
|
|
|
2008-03-07 02:07:55 +00:00
|
|
|
$template->assign(array(
|
2006-01-15 13:45:42 +00:00
|
|
|
'F_ACTION'=>str_replace( '&', '&', $_SERVER['REQUEST_URI'])
|
2004-09-11 10:36:03 +00:00
|
|
|
));
|
2006-11-15 04:25:12 +00:00
|
|
|
|
2003-07-21 19:47:14 +00:00
|
|
|
//---------------------------------------------------------------- form display
|
|
|
|
$cat_names = array();
|
2005-08-24 22:22:29 +00:00
|
|
|
$list = array();
|
|
|
|
|
2004-09-11 10:36:03 +00:00
|
|
|
$query = 'SELECT * FROM '.WAITING_TABLE;
|
2003-07-21 19:47:14 +00:00
|
|
|
$query.= " WHERE validated = 'false'";
|
2003-08-30 15:54:37 +00:00
|
|
|
$query.= ' ORDER BY storage_category_id';
|
2003-07-21 19:47:14 +00:00
|
|
|
$query.= ';';
|
2004-10-30 15:42:29 +00:00
|
|
|
$result = pwg_query( $query );
|
2009-11-20 14:17:04 +00:00
|
|
|
while ( $row = pwg_db_fetch_assoc( $result ) )
|
2003-07-21 19:47:14 +00:00
|
|
|
{
|
2003-08-30 15:54:37 +00:00
|
|
|
if ( !isset( $cat_names[$row['storage_category_id']] ) )
|
2003-07-21 19:47:14 +00:00
|
|
|
{
|
2003-08-30 15:54:37 +00:00
|
|
|
$cat = get_cat_info( $row['storage_category_id'] );
|
|
|
|
$cat_names[$row['storage_category_id']] = array();
|
|
|
|
$cat_names[$row['storage_category_id']]['dir'] =
|
2004-09-11 10:36:03 +00:00
|
|
|
PHPWG_ROOT_PATH.get_complete_dir( $row['storage_category_id'] );
|
2003-08-30 15:54:37 +00:00
|
|
|
$cat_names[$row['storage_category_id']]['display_name'] =
|
2007-02-27 01:56:16 +00:00
|
|
|
get_cat_display_name($cat['upper_names']);
|
2003-07-21 19:47:14 +00:00
|
|
|
}
|
2004-09-11 10:36:03 +00:00
|
|
|
$preview_url = PHPWG_ROOT_PATH.$cat_names[$row['storage_category_id']]['dir'].$row['file'];
|
2006-11-15 04:25:12 +00:00
|
|
|
|
2008-03-07 02:07:55 +00:00
|
|
|
$tpl_var =
|
2005-08-24 22:22:29 +00:00
|
|
|
array(
|
|
|
|
'CATEGORY_IMG'=>$cat_names[$row['storage_category_id']]['display_name'],
|
|
|
|
'ID_IMG'=>$row['id'],
|
|
|
|
'DATE_IMG' => date('Y-m-d H:i:s', $row['date']),
|
|
|
|
'FILE_TITLE'=>$row['file'],
|
|
|
|
'FILE_IMG' =>
|
|
|
|
(strlen($row['file']) > 10) ?
|
|
|
|
(substr($row['file'], 0, 10)).'...' : $row['file'],
|
2006-11-15 04:25:12 +00:00
|
|
|
'PREVIEW_URL_IMG'=>$preview_url,
|
2006-07-11 20:51:24 +00:00
|
|
|
'UPLOAD_EMAIL'=>get_email_address_as_display_text($row['mail_address']),
|
2009-11-18 20:07:20 +00:00
|
|
|
'UPLOAD_USERNAME'=>stripslashes($row['username'])
|
2005-08-24 22:22:29 +00:00
|
|
|
);
|
2004-09-11 10:36:03 +00:00
|
|
|
|
2003-07-21 19:47:14 +00:00
|
|
|
// is there an existing associated thumnail ?
|
2004-09-11 10:36:03 +00:00
|
|
|
if ( !empty( $row['tn_ext'] ))
|
2003-07-21 19:47:14 +00:00
|
|
|
{
|
|
|
|
$thumbnail = $conf['prefix_thumbnail'];
|
|
|
|
$thumbnail.= get_filename_wo_extension( $row['file'] );
|
|
|
|
$thumbnail.= '.'.$row['tn_ext'];
|
2004-09-11 10:36:03 +00:00
|
|
|
$url = $cat_names[$row['storage_category_id']]['dir'];
|
2009-08-02 13:04:17 +00:00
|
|
|
$url.= $conf['dir_thumbnail'].'/'.$thumbnail;
|
2006-11-15 04:25:12 +00:00
|
|
|
|
2008-03-07 02:07:55 +00:00
|
|
|
$tpl_var['thumbnail'] =
|
2005-08-24 22:22:29 +00:00
|
|
|
array(
|
|
|
|
'PREVIEW_URL_TN_IMG' => $url,
|
|
|
|
'FILE_TN_IMG' =>
|
|
|
|
(strlen($thumbnail) > 10) ?
|
|
|
|
(substr($thumbnail, 0, 10)).'...' : $thumbnail,
|
|
|
|
'FILE_TN_TITLE' => $thumbnail
|
|
|
|
);
|
2003-07-21 19:47:14 +00:00
|
|
|
}
|
2008-03-07 02:07:55 +00:00
|
|
|
$template->append('pictures', $tpl_var);
|
2005-08-24 22:22:29 +00:00
|
|
|
array_push($list, $row['id']);
|
2003-07-21 19:47:14 +00:00
|
|
|
}
|
2005-08-24 22:22:29 +00:00
|
|
|
|
2008-03-07 02:07:55 +00:00
|
|
|
$template->assign('LIST',implode(',', $list) );
|
2006-11-15 04:25:12 +00:00
|
|
|
|
2003-07-21 19:47:14 +00:00
|
|
|
//----------------------------------------------------------- sending html code
|
2007-03-16 18:49:19 +00:00
|
|
|
$template->assign_var_from_handle('ADMIN_CONTENT', 'upload');
|
2004-02-11 23:20:38 +00:00
|
|
|
?>
|