Multi categories for the same picture

git-svn-id: http://piwigo.org/svn/trunk@61 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
z0rglub 2003-08-30 15:54:37 +00:00
commit 044fba0256
17 changed files with 859 additions and 324 deletions

View file

@ -131,6 +131,10 @@ switch ( $_GET['page'] )
$title = $lang['title_comments'];
$page_valide = true;
break;
case 'picture_modify' :
$title = $lang['title_picmod'];
$page_valide = true;
break;
default:
$title = $lang['title_default']; break;
}

View file

@ -17,6 +17,7 @@
* *
***************************************************************************/
include_once( './include/isadmin.inc.php' );
$page['plain_structure'] = get_plain_structure();
//------------------------------------------------------------------- functions
function display_pictures( $mysql_result, $maxtime, $validation_box = false )
{
@ -28,7 +29,7 @@ function display_pictures( $mysql_result, $maxtime, $validation_box = false )
$vtp->addSession( $sub, 'picture' );
// 2. for each picture, getting informations for displaying thumbnail and
// link to the full size picture
$query = 'SELECT name,file,cat_id,tn_ext';
$query = 'SELECT name,file,storage_category_id as cat_id,tn_ext';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE id = '.$row['image_id'];
$query.= ';';
@ -37,8 +38,9 @@ function display_pictures( $mysql_result, $maxtime, $validation_box = false )
if ( $array_cat_directories[$subrow['cat_id']] == '' )
{
$array_cat_directories[$subrow['cat_id']] =
get_complete_dir( $subrow['cat_id'] );
$cat_result = get_cat_info( $subrow['cat_id'] );
$array_cat_directories[$subrow['cat_id']] = $cat_result['dir'];
$array_cat_site_id[$subrow['cat_id']] = $cat_result['site_id'];
$array_cat_names[$subrow['cat_id']] =
get_cat_display_name( $cat_result['name'], ' > ', '' );
@ -83,10 +85,7 @@ function display_pictures( $mysql_result, $maxtime, $validation_box = false )
{
$vtp->addSession( $sub, 'comment' );
$vtp->setVar( $sub, 'comment.author', $subrow['author'] );
$displayed_date = $lang['day'][date( "w", $subrow['date'] )];
$displayed_date.= date( " j ", $subrow['date'] );
$displayed_date.= $lang['month'][date( "n", $subrow['date'] )];
$displayed_date.= date( " Y G:i", $subrow['date'] );
$displayed_date = format_date( $subrow['date'], 'unix', true );
$vtp->setVar( $sub, 'comment.date', $displayed_date );
$vtp->setVar( $sub, 'comment.content', nl2br( $subrow['content'] ) );
$vtp->addSession( $sub, 'delete' );
@ -183,11 +182,9 @@ if ( isset( $_GET['last_days'] ) )
$query = 'SELECT DISTINCT(image_id) as image_id';
$query.= ' FROM '.PREFIX_TABLE.'comments';
$query.= ', '.PREFIX_TABLE.'images as images';
$query.= ', '.PREFIX_TABLE.'categories';
$query.= ' WHERE image_id = images.id';
$query.= ' AND cat_id = images.cat_id';
$query.= ' AND date > '.$maxtime;
$query.= ' ORDER BY cat_id ASC,date_available DESC';
$query.= ' ORDER BY date_available DESC';
$query.= ';';
$result = mysql_query( $query );
display_pictures( $result, $maxtime );
@ -221,11 +218,9 @@ if ( isset( $_GET['show_unvalidated'] ) )
$query = 'SELECT DISTINCT(image_id) as image_id';
$query.= ' FROM '.PREFIX_TABLE.'comments as comments';
$query.= ', '.PREFIX_TABLE.'images as images';
$query.= ', '.PREFIX_TABLE.'categories';
$query.= ' WHERE image_id = images.id';
$query.= ' AND cat_id = images.cat_id';
$query.= " AND comments.validated = 'false'";
$query.= ' ORDER BY cat_id ASC,date_available DESC';
$query.= ' ORDER BY date_available DESC';
$query.= ';';
$result = mysql_query( $query );
display_pictures( $result, 0, true );

View file

@ -259,7 +259,7 @@ $sub = $vtp->Open(
'../template/'.$user['template'].'/admin/configuration.vtp' );
$tpl = array( 'conf_confirmation','remote_site','delete',
'conf_remote_site_delete_info','submit' );
'conf_remote_site_delete_info','submit','errors_title' );
templatize_array( $tpl, 'lang', $sub );
//-------------------------------------------------------------- errors display
if ( sizeof( $error ) != 0 )

View file

@ -94,6 +94,7 @@ function delete_site( $id )
// The function delete_category deletes the category identified by the $id
// It also deletes (in the database) :
// - all the images of the images (thanks to delete_image, see further)
// - all the links between images and this category
// - all the restrictions linked to the category
// The function works recursively.
function delete_category( $id )
@ -101,7 +102,7 @@ function delete_category( $id )
// destruction of all the related images
$query = 'SELECT id';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE cat_id = '.$id;
$query.= ' WHERE storage_category_id = '.$id;
$query.= ';';
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
@ -109,6 +110,12 @@ function delete_category( $id )
delete_image( $row['id'] );
}
// destruction of the links between images and this category
$query = 'DELETE FROM '.PREFIX_TABLE.'image_category';
$query.= ' WHERE category_id = '.$id;
$query.= ';';
mysql_query( $query );
// destruction of the access linked to the category
$query = 'DELETE FROM '.PREFIX_TABLE.'user_access';
$query.= ' WHERE cat_id = '.$id;
@ -140,6 +147,7 @@ function delete_category( $id )
// The function delete_image deletes the image identified by the $id
// It also deletes (in the database) :
// - all the comments related to the image
// - all the links between categories and this image
// - all the favorites associated to the image
function delete_image( $id )
{
@ -150,7 +158,13 @@ function delete_image( $id )
$query.= ' WHERE image_id = '.$id;
$query.= ';';
mysql_query( $query );
// destruction of the links between images and this category
$query = 'DELETE FROM '.PREFIX_TABLE.'image_category';
$query.= ' WHERE image_id = '.$id;
$query.= ';';
mysql_query( $query );
// destruction of the favorites associated with the picture
$query = 'DELETE FROM '.PREFIX_TABLE.'favorites';
$query.= ' WHERE image_id = '.$id;
@ -244,15 +258,28 @@ function check_favorites( $user_id )
$restricted_cat = get_all_restrictions( $user_id, $status );
// retrieving all the favorites for this user and comparing their
// categories to the restricted categories
$query = 'SELECT image_id, cat_id';
$query.= ' FROM '.PREFIX_TABLE.'favorites, '.PREFIX_TABLE.'images';
$query = 'SELECT image_id';
$query.= ' FROM '.PREFIX_TABLE.'favorites';
$query.= ' WHERE user_id = '.$user_id;
$query.= ' AND id = image_id';
$query.= ';';
$result = mysql_query ( $query );
while ( $row = mysql_fetch_array( $result ) )
{
if ( in_array( $row['cat_id'], $restricted_cat ) )
// for each picture, we have to check all the categories it belongs
// to. Indeed if a picture belongs to category_1 and category_2 and that
// category_2 is not restricted to the user, he can have the picture as
// favorite.
$query = 'SELECT DISTINCT(category_id) as category_id';
$query.= ' FROM '.PREFIX_TABLE.'image_category';
$query.= ' WHERE image_id = '.$row['image_id'];
$query.= ';';
$picture_result = mysql_query( $query );
$picture_cat = array();
while ( $picture_row = mysql_fetch_array( $picture_result ) )
{
array_push( $picture_cat, $picture_row['category_id'] );
}
if ( count( array_diff( $picture_cat, $restricted_cat ) ) > 0 )
{
$query = 'DELETE FROM '.PREFIX_TABLE.'favorites';
$query.= ' WHERE image_id = '.$row['image_id'];
@ -262,4 +289,113 @@ function check_favorites( $user_id )
}
}
}
// update_category updates calculated informations about a category :
// date_last and nb_images
function update_category( $id = 'all' )
{
if ( $id == 'all' )
{
$query = 'SELECT id';
$query.= ' FROM '.PREFIX_TABLE.'categories';
$query.= ';';
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
{
// recursive call
update_category( $row['id'] );
}
}
else if ( is_numeric( $id ) )
{
// updating the number of pictures
$query = 'SELECT COUNT(*) as nb_images';
$query.= ' FROM '.PREFIX_TABLE.'image_category';
$query.= ' WHERE category_id = '.$id;
$query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
$query = 'UPDATE '.PREFIX_TABLE.'categories';
$query.= ' SET nb_images = '.$row['nb_images'];
$query.= ' WHERE id = '.$id;
$query.= ';';
mysql_query( $query );
// updating the date_last
$query = 'SELECT date_available';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
$query.= ' WHERE category_id = '.$id;
$query.= ' ORDER BY date_available DESC';
$query.= ' LIMIT 0,1';
$query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
$query = 'UPDATE '.PREFIX_TABLE.'categories';
$query.= " SET date_last = '".$row['date_available']."'";
$query.= ' WHERE id = '.$id;
$query.= ';';
mysql_query( $query );
}
}
function check_date_format( $date )
{
// date arrives at this format : DD/MM/YYYY
list($day,$month,$year) = explode( '/', $date );
return checkdate ( $month, $day, $year );
}
function date_convert( $date )
{
// date arrives at this format : DD/MM/YYYY
// It must be transformed in YYYY-MM-DD
list($day,$month,$year) = explode( '/', $date );
return $year.'-'.$month.'-'.$day;
}
function date_convert_back( $date )
{
// date arrives at this format : YYYY-MM-DD
// It must be transformed in DD/MM/YYYY
if ( $date != '' )
{
list($year,$month,$day) = explode( '-', $date );
return $day.'/'.$month.'/'.$year;
}
else
{
return '';
}
}
// get_keywords returns an array with relevant keywords found in the string
// given in argument. Keywords must be separated by comma in this string.
// keywords must :
// - be longer or equal to 3 characters
// - not contain ', " or blank characters
// - unique in the string ("test,test" -> "test")
function get_keywords( $keywords_string )
{
$keywords = array();
$candidates = explode( ',', $keywords_string );
foreach ( $candidates as $candidate ) {
if ( strlen($candidate) >= 3 and !preg_match( '/(\'|"|\s)/', $candidate ) )
array_push( $keywords, $candidate );
}
return array_unique( $keywords );
}
function display_categories( $categories, $indent )
{
global $vtp,$sub;
foreach ( $categories as $category ) {
$vtp->addSession( $sub, 'associate_cat' );
$vtp->setVar( $sub, 'associate_cat.value', $category['id'] );
$content = $indent.'- '.$category['name'];
$vtp->setVar( $sub, 'associate_cat.content', $content );
$vtp->closeSession( $sub, 'associate_cat' );
display_categories( $category['subcats'], $indent.str_repeat(' ',3) );
}
}
?>

View file

@ -19,64 +19,15 @@
include_once( './include/isadmin.inc.php' );
include_once( '../template/'.$user['template'].'/htmlfunctions.inc.php' );
//------------------------------------------------------------------- functions
function check_date_format( $date )
{
// date arrives at this format : DD/MM/YYYY
list($day,$month,$year) = explode( '/', $date );
return checkdate ( $month, $day, $year );
}
function date_convert( $date )
{
// date arrives at this format : DD/MM/YYYY
// It must be transformed in YYYY-MM-DD
list($day,$month,$year) = explode( '/', $date );
return $year.'-'.$month.'-'.$day;
}
function date_convert_back( $date )
{
// date arrives at this format : YYYY-MM-DD
// It must be transformed in DD/MM/YYYY
if ( $date != '' )
{
list($year,$month,$day) = explode( '-', $date );
return $day.'/'.$month.'/'.$year;
}
else
{
return '';
}
}
// get_keywords returns an array with relevant keywords found in the string
// given in argument. Keywords must be separated by comma in this string.
// keywords must :
// - be longer or equal to 3 characters
// - not contain ', " or blank characters
// - unique in the string ("test,test" -> "test")
function get_keywords( $keywords_string )
{
$keywords = array();
$candidates = explode( ',', $keywords_string );
foreach ( $candidates as $candidate ) {
if ( strlen($candidate) >= 3 and !preg_match( '/(\'|"|\s)/', $candidate ) )
array_push( $keywords, $candidate );
}
return array_unique( $keywords );
}
//-------------------------------------------------------------- initialization
check_cat_id( $_GET['cat_id'] );
if ( isset( $page['cat'] ) )
{
//--------------------------------------------------- update individual options
$query = 'SELECT id,file';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE cat_id = '.$page['cat'];
$query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
$query.= ' WHERE category_id = '.$page['cat'];
$query.= ';';
$result = mysql_query( $query );
$i = 1;
@ -121,53 +72,77 @@ if ( isset( $page['cat'] ) )
$query.= 'NULL';
else
{
$query.= '"';
$query.= "'";
foreach ( $keywords_array as $i => $keyword ) {
if ( $i > 0 ) $query.= ',';
$query.= $keyword;
}
$query.= '"';
$query.= "'";
}
$query.= ' WHERE id = '.$row['id'];
$query.= ';';
mysql_query( $query );
}
// add link to another category
if ( $_POST['check-'.$row['id']] == 1 )
{
$query = 'INSERT INTO '.PREFIX_TABLE.'image_category';
$query.= ' (image_id,category_id) VALUES';
$query.= ' ('.$row['id'].','.$_POST['associate'].')';
$query.= ';';
mysql_query( $query );
}
}
update_category( $_POST['associate'] );
//------------------------------------------------------ update general options
if ( $_POST['use_common_author'] == 1 )
{
$query = 'UPDATE '.PREFIX_TABLE.'images';
if ( $_POST['author_cat'] == '' )
$query = 'SELECT image_id';
$query.= ' FROM '.PREFIX_TABLE.'image_category';
$query.= ' WHERE category_id = '.$page['cat'];
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
{
$query.= ' SET author = NULL';
$query = 'UPDATE '.PREFIX_TABLE.'images';
if ( $_POST['author_cat'] == '' )
{
$query.= ' SET author = NULL';
}
else
{
$query.= ' SET author = ';
$query.= "'".htmlentities( $_POST['author_cat'], ENT_QUOTES )."'";
}
$query.= ' WHERE id = '.$row['image_id'];
$query.= ';';
mysql_query( $query );
}
else
{
$query.= ' SET author = ';
$query.= "'".htmlentities( $_POST['author_cat'], ENT_QUOTES )."'";
}
$query.= ' WHERE cat_id = '.$page['cat'];
$query.= ';';
mysql_query( $query );
}
if ( $_POST['use_common_date_creation'] == 1 )
{
if ( check_date_format( $_POST['date_creation_cat'] ) )
{
$date = date_convert( $_POST['date_creation_cat'] );
$query = 'UPDATE '.PREFIX_TABLE.'images';
if ( $_POST['date_creation_cat'] == '' )
$query = 'SELECT image_id';
$query.= ' FROM '.PREFIX_TABLE.'image_category';
$query.= ' WHERE category_id = '.$page['cat'];
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
{
$query.= ' SET date_creation = NULL';
$query = 'UPDATE '.PREFIX_TABLE.'images';
if ( $_POST['date_creation_cat'] == '' )
{
$query.= ' SET date_creation = NULL';
}
else
{
$query.= " SET date_creation = '".$date."'";
}
$query.= ' WHERE id = '.$row['image_id'];
$query.= ';';
mysql_query( $query );
}
else
{
$query.= " SET date_creation = '".$date."'";
}
$query.= ' WHERE cat_id = '.$page['cat'];
$query.= ';';
mysql_query( $query );
}
else
{
@ -178,7 +153,8 @@ if ( isset( $page['cat'] ) )
{
$query = 'SELECT id,keywords';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE cat_id = '.$page['cat'];
$query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
$query.= ' WHERE category_id = '.$page['cat'];
$query.= ';';
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
@ -241,11 +217,9 @@ if ( isset( $page['cat'] ) )
floor( $_GET['num'] / $page['nb_image_page'] ) * $page['nb_image_page'];
}
// retrieving category information
$page['plain_structure'] = get_plain_structure();
$result = get_cat_info( $page['cat'] );
$cat['local_dir'] = $result['local_dir'];
$cat['dir'] = $result['dir'];
$cat['name'] = $result['name'];
$cat['site_id'] = $result['site_id'];
$cat['nb_images'] = $result['nb_images'];
//----------------------------------------------------- template initialization
$sub = $vtp->Open('../template/'.$user['template'].'/admin/infos_image.vtp');
@ -254,8 +228,9 @@ if ( isset( $page['cat'] ) )
'infoimage_title','infoimage_comment',
'infoimage_creation_date','keywords',
'infoimage_addtoall','infoimage_removefromall',
'infoimage_keyword_separation' );
'infoimage_keyword_separation','infoimage_associate' );
templatize_array( $tpl, 'lang', $sub );
$vtp->setGlobalVar( $sub, 'user_template', $user['template'] );
//------------------------------------------------------------------------ form
$url = './admin.php?page=infos_images&cat_id='.$page['cat'];
$url.= '&start='.$page['start'];
@ -266,9 +241,13 @@ if ( isset( $page['cat'] ) )
$cat_name = get_cat_display_name( $cat['name'], ' - ', 'font-style:italic;');
$vtp->setVar( $sub, 'cat_name', $cat_name );
$array_cat_directories = array();
$query = 'SELECT id,file,comment,author,tn_ext,name,date_creation,keywords';
$query.= ',storage_category_id,category_id';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE cat_id = '.$page['cat'];
$query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
$query.= ' WHERE category_id = '.$page['cat'];
$query.= $conf['order_by'];
$query.= ' LIMIT '.$page['start'].','.$page['nb_image_page'];
$query.= ';';
@ -287,13 +266,15 @@ if ( isset( $page['cat'] ) )
$file = get_filename_wo_extension( $row['file'] );
$vtp->setVar( $sub, 'picture.default_name', $file );
// creating url to thumbnail
if ( $cat['site_id'] == 1 )
{
$thumbnail_url = '../galleries/'.$cat['local_dir'].'/';
}
else
if ( $array_cat_directories[$row['storage_category_id']] == '' )
{
$thumbnail_url = $cat['dir'];
$array_cat_directories[$row['storage_category_id']] =
get_complete_dir( $row['storage_category_id'] );
}
$thumbnail_url = $array_cat_directories[$row['storage_category_id']];
if ( preg_match( '/^\.\/galleries/', $thumbnail_url ) )
{
$thumbnail_url = '.'.$thumbnail_url;
}
$thumbnail_url.= 'thumbnail/';
$thumbnail_url.= $conf['prefix_thumbnail'].$file.".".$row['tn_ext'];
@ -302,6 +283,8 @@ if ( isset( $page['cat'] ) )
$vtp->setVar( $sub, 'picture.url', add_session_id( $url ) );
$vtp->closeSession( $sub, 'picture' );
}
$structure = create_structure( '', array() );
display_categories( $structure, ' ' );
}
//----------------------------------------------------------- sending html code
$vtp->Parse( $handle , 'sub', $sub );

270
admin/picture_modify.php Normal file
View file

@ -0,0 +1,270 @@
<?php
/***************************************************************************
* picture_modify.php *
* ------------------ *
* application : PhpWebGallery 1.3 <http://phpwebgallery.net> *
* author : Pierrick LE GALL <pierrick@z0rglub.com> *
* *
* $Id$
* *
***************************************************************************/
/***************************************************************************
* *
* 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; *
* *
***************************************************************************/
include_once( './include/isadmin.inc.php' );
//----------------------------------------- categories structure initialization
$page['plain_structure'] = get_plain_structure();
//--------------------------------------------------------- update informations
$errors = array();
// first, we verify whether there is a mistake on the given creation date
if ( isset( $_POST['creation_date'] ) and $_POST['creation_date'] != '' )
{
if ( !check_date_format( $_POST['creation_date'] ) )
array_push( $errors, $lang['err_date'] );
}
if ( isset( $_POST['submit'] ) )
{
$query = 'UPDATE '.PREFIX_TABLE.'images';
$query.= ' SET name = ';
if ( $_POST['name'] == '' )
$query.= 'NULL';
else
$query.= "'".htmlentities( $_POST['name'], ENT_QUOTES )."'";
$query.= ', author = ';
if ( $_POST['author'] == '' )
$query.= 'NULL';
else
$query.= "'".htmlentities($_POST['author'],ENT_QUOTES)."'";
$query.= ', comment = ';
if ( $_POST['comment'] == '' )
$query.= 'NULL';
else
$query.= "'".htmlentities($_POST['comment'],ENT_QUOTES)."'";
$query.= ', date_creation = ';
if ( check_date_format( $_POST['creation_date'] ) )
$query.= "'".date_convert( $_POST['creation_date'] )."'";
else if ( $_POST['creation_date'] == '' )
$query.= 'NULL';
$query.= ', keywords = ';
$keywords_array = get_keywords( $_POST['keywords'] );
if ( count( $keywords_array ) == 0 )
$query.= 'NULL';
else
{
$query.= "'";
foreach ( $keywords_array as $i => $keyword ) {
if ( $i > 0 ) $query.= ',';
$query.= $keyword;
}
$query.= "'";
}
$query.= ' WHERE id = '.$_GET['image_id'];
$query.= ';';
mysql_query( $query );
// associate with a new category ?
if ( $_POST['associate'] != '-1' )
{
$query = 'INSERT INTO '.PREFIX_TABLE.'image_category';
$query.= ' (category_id,image_id) VALUES ';
$query.= '('.$_POST['associate'].','.$_GET['image_id'].')';
$query.= ';';
mysql_query( $query);
update_category( $_POST['associate'] );
}
// dissociate any category ?
// retrieving all the linked categories
$query = 'SELECT DISTINCT(category_id) as category_id';
$query.= ' FROM '.PREFIX_TABLE.'image_category';
$query.= ' WHERE image_id = '.$_GET['image_id'];
$query.= ';';
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
{
if ( $_POST['dissociate-'.$row['category_id']] == 1 )
{
$query = 'DELETE FROM '.PREFIX_TABLE.'image_category';
$query.= ' WHERE image_id = '.$_GET['image_id'];
$query.= ' AND category_id = '.$row['category_id'];
$query.= ';';
mysql_query( $query );
update_category( $row['category_id'] );
}
}
}
//----------------------------------------------------- template initialization
$sub = $vtp->Open(
'../template/'.$user['template'].'/admin/picture_modify.vtp' );
$tpl = array( 'submit','errors_title','picmod_update','picmod_back',
'default','file','size','filesize','registration_date',
'author','creation_date','keywords','comment', 'upload_name',
'dissociate','categories','infoimage_associate',
'cat_image_info' );
templatize_array( $tpl, 'lang', $sub );
$vtp->setGlobalVar( $sub, 'user_template', $user['template'] );
//-------------------------------------------------------------- errors display
if ( count( $errors ) != 0 )
{
$vtp->addSession( $sub, 'errors' );
foreach ( $errors as $error ) {
$vtp->addSession( $sub, 'li' );
$vtp->setVar( $sub, 'li.content', $error );
$vtp->closeSession( $sub, 'li' );
}
$vtp->closeSession( $sub, 'errors' );
}
//-------------------------------------------- displaying informations and form
$action = './admin.php?'.$_SERVER['QUERY_STRING'];
$vtp->setVar( $sub, 'form_action', $action );
// retrieving direct information about picture
$query = 'SELECT file,date_available,date_creation,tn_ext,name,filesize';
$query.= ',width,height,author,comment,keywords,storage_category_id';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE id = '.$_GET['image_id'];
$query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
// picture title
if ( $row['name'] == '' )
{
$title = str_replace( '_',' ',get_filename_wo_extension($row['file']) );
}
else
{
$title = $row['name'];
}
$vtp->setVar( $sub, 'title', $title );
$vtp->setVar( $sub, 'f_file', $row['file'] );
$vtp->setVar( $sub, 'f_size', $row['width'].' * '.$row['height'] );
$vtp->setVar( $sub, 'f_filesize', $row['filesize'].' KB' );
$vtp->setVar( $sub, 'f_registration_date',format_date($row['date_available']));
$default_name = str_replace( '_',' ',get_filename_wo_extension($row['file']) );
$vtp->setVar( $sub, 'default_name', $default_name );
// if this form is displayed after an unsucceeded submit, we have to display
// the values filled by the user (wright or wrong).
if ( count( $errors ) > 0 )
{
$name = $_POST['name'];
$author = $_POST['author'];
$creation_date = $_POST['creation_date'];
$keywords = $_POST['keywords'];
$comment = $_POST['comment'];
}
else
{
$name = $row['name'];
$author = $row['author'];
$creation_date = date_convert_back( $row['date_creation'] );
$keywords = $row['keywords'];
$comment = $row['comment'];
}
$vtp->setVar( $sub, 'f_name', $name );
$vtp->setVar( $sub, 'f_author', $author );
$vtp->setVar( $sub, 'f_creation_date', $creation_date );
$vtp->setVar( $sub, 'f_keywords', $keywords );
$vtp->setVar( $sub, 'f_comment', $comment );
// retrieving directory where picture is stored (for displaying the
// thumbnail)
$thumbnail_url = get_complete_dir( $row['storage_category_id'] );
$result = get_cat_info( $row['storage_category_id'] );
$cat_name = get_cat_display_name( $result['name'], ' &gt; ', '' );
$vtp->setVar( $sub, 'dir', $cat_name );
if ( $result['site_id'] == 1 ) $thumbnail_url = '.'.$thumbnail_url;
$file_wo_ext = get_filename_wo_extension( $row['file'] );
$thumbnail_url.= '/thumbnail/';
$thumbnail_url.= $conf['prefix_thumbnail'].$file_wo_ext.'.'.$row['tn_ext'];
$vtp->setVar( $sub, 'thumbnail_url', $thumbnail_url );
// storage category is linked by default
$vtp->addSession( $sub, 'linked_category' );
$vtp->setVar( $sub, 'linked_category.name', $cat_name );
$url = '../picture.php?image_id='.$_GET['image_id'];
$url.= '&amp;cat='.$row['storage_category_id'];
$vtp->setVar( $sub, 'linked_category.url',add_session_id( $url));
$url = './admin.php?page=infos_images&amp;cat_id='.$row['storage_category_id'];
$vtp->setVar( $sub, 'linked_category.infos_images_link',add_session_id( $url));
if ( $result['status'] == 'private' )
{
$private_string = '<span style="color:red;font-weight:bold;">';
$private_string.= $lang['private'].'</span>';
$vtp->setVar( $sub, 'linked_category.private', $private_string );
}
if ( !$result['visible'] )
{
$invisible_string = '<span style="color:red;">';
$invisible_string.= $lang['cat_invisible'].'</span>';
$vtp->setVar( $sub, 'linked_category.invisible', $invisible_string );
}
$vtp->closeSession( $sub, 'linked_category' );
// retrieving all the linked categories
$query = 'SELECT DISTINCT(category_id) as category_id,status,visible';
$query.= ' FROM '.PREFIX_TABLE.'image_category';
$query.= ','.PREFIX_TABLE.'categories';
$query.= ' WHERE image_id = '.$_GET['image_id'];
$query.= ' AND category_id != '.$row['storage_category_id'];
$query.= ' AND category_id = id';
$query.= ';';
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
{
$vtp->addSession( $sub, 'linked_category' );
$vtp->addSession( $sub, 'checkbox' );
$vtp->setVar( $sub, 'checkbox.id', $row['category_id'] );
$vtp->closeSession( $sub, 'checkbox' );
$cat_infos = get_cat_info( $row['category_id'] );
$cat_name = get_cat_display_name( $cat_infos['name'], ' &gt; ', '' );
$vtp->setVar( $sub, 'linked_category.name', $cat_name );
$url = '../picture.php?image_id='.$_GET['image_id'];
$url.= '&amp;cat='.$row['category_id'];
$vtp->setVar( $sub, 'linked_category.url',add_session_id( $url));
$url = './admin.php?page=infos_images&amp;cat_id='.$row['category_id'];
$vtp->setVar( $sub, 'linked_category.infos_images_link',
add_session_id( $url));
if ( $row['status'] == 'private' )
{
$private_string = '<span style="color:red;font-weight:bold;">';
$private_string.= $lang['private'].'</span>';
$vtp->setVar( $sub, 'linked_category.private', $private_string );
}
if ( !get_boolean( $row['visible'] ) )
{
$invisible_string = '<span style="color:red;">';
$invisible_string.= $lang['cat_invisible'].'</span>';
$vtp->setVar( $sub, 'linked_category.invisible', $invisible_string );
}
$vtp->closeSession( $sub, 'linked_category' );
}
// if there are linked category other than the storage category, we show
// propose the dissociate text
if ( mysql_num_rows( $result ) > 0 )
{
$vtp->addSession( $sub, 'dissociate' );
$vtp->closeSession( $sub, 'dissociate' );
}
// associate to another category ?
$vtp->addSession( $sub, 'associate_cat' );
$vtp->setVar( $sub, 'associate_cat.value', '-1' );
$vtp->setVar( $sub, 'associate_cat.content', '' );
$vtp->closeSession( $sub, 'associate_cat' );
$structure = create_structure( '', array() );
display_categories( $structure, '&nbsp;' );
//----------------------------------------------------------- sending html code
$vtp->Parse( $handle , 'sub', $sub );
?>

View file

@ -30,24 +30,24 @@ function insert_local_category( $cat_id )
if ( is_numeric( $cat_id ) )
{
$cat_directory.= '/'.get_local_dir( $cat_id );
$result = get_cat_info( $cat_id );
$cat_directory.= '/'.$result['local_dir'];
// 1. display the category name to update
$src = '../template/'.$user['template'].'/admin/images/puce.gif';
$output = '<img src="'.$src.'" alt="&gt;" />';
$output.= '<span style="font-weight:bold;">'.$result['name'][0].'</span>';
$output.= ' [ '.$result['last_dir'].' ]';
$output.= ' [ '.$result['dir'].' ]';
$output.= '<div class="retrait">';
// 2. we search pictures of the category only if the update is for all
// or a cat_id is specified
if ( isset( $page['cat'] ) or $_GET['update'] == 'all' )
{
$output.= insert_local_image( $cat_directory, $cat_id );
update_cat_info( $cat_id );
update_category( $cat_id );
}
}
// 3. we have to remove the categories of the database not present anymore
$query = 'SELECT id';
$query.= ' FROM '.PREFIX_TABLE.'categories';
@ -65,17 +65,10 @@ function insert_local_category( $cat_id )
while ( $row = mysql_fetch_array( $result ) )
{
// retrieving the directory
$rep = '../galleries';
$resultat = get_cat_info( $row['id'] );
$rep.= '/'.$resultat['local_dir'];
$rep = '../galleries/'.get_local_dir( $row['id'] );
// is the directory present ?
if ( !is_dir( $rep ) )
{
delete_category( $row['id'] );
}
if ( !is_dir( $rep ) ) delete_category( $row['id'] );
}
// 4. retrieving the sub-directories
$sub_rep = array();
$i = 0;
@ -93,7 +86,6 @@ function insert_local_category( $cat_id )
}
}
}
for ( $i = 0; $i < sizeof( $sub_rep ); $i++ )
{
// 5. Is the category already existing ? we create a subcat if not
@ -119,14 +111,8 @@ function insert_local_category( $cat_id )
$query = 'INSERT INTO '.PREFIX_TABLE.'categories';
$query.= ' (dir,site_id,id_uppercat) VALUES';
$query.= " ('".$sub_rep[$i]."','".$site_id."'";
if ( !is_numeric( $cat_id ) )
{
$query.= ',NULL';
}
else
{
$query.= ",'".$cat_id."'";
}
if ( !is_numeric( $cat_id ) ) $query.= ',NULL';
else $query.= ",'".$cat_id."'";
$query.= ');';
mysql_query( $query );
$category_id = mysql_insert_id();
@ -158,7 +144,7 @@ function insert_local_image( $rep, $category_id )
// - don't have the associated thumbnail available anymore
$query = 'SELECT id,file,tn_ext';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE cat_id = '.$category_id;
$query.= ' WHERE storage_category_id = '.$category_id;
$query.= ';';
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
@ -199,7 +185,7 @@ function insert_local_image( $rep, $category_id )
// is the picture waiting for validation by an administrator ?
$query = 'SELECT id,validated,infos';
$query.= ' FROM '.PREFIX_TABLE.'waiting';
$query.= ' WHERE cat_id = '.$category_id;
$query.= ' WHERE category_id = '.$category_id;
$query.= " AND file = '".$file."'";
$query.= ';';
$result = mysql_query( $query );
@ -211,7 +197,7 @@ function insert_local_image( $rep, $category_id )
// is the picture already in the database ?
$query = 'SELECT id';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE cat_id = '.$category_id;
$query.= ' WHERE storage_category_id = '.$category_id;
$query.= " AND file = '".$file."'";
$query.= ';';
$result = mysql_query( $query );
@ -266,7 +252,8 @@ function insert_local_image( $rep, $category_id )
// inserting the pictures found in the directory
foreach ( $pictures as $picture ) {
$query = 'INSERT INTO '.PREFIX_TABLE.'images';
$query.= ' (file,cat_id,date_available,tn_ext,filesize,width,height';
$query.= ' (file,storage_category_id,date_available,tn_ext';
$query.= ',filesize,width,height';
$query.= ',name,author,comment,date_creation)';
$query.= ' VALUES ';
$query.= "('".$picture['file']."','".$category_id."'";
@ -285,7 +272,20 @@ function insert_local_image( $rep, $category_id )
$query.= ');';
mysql_query( $query );
$count_new++;
// retrieving the id of newly inserted picture
$query = 'SELECT id';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE storage_category_id = '.$category_id;
$query.= " AND file = '".$picture['file']."'";
$query.= ';';
list( $image_id ) = mysql_fetch_array( mysql_query( $query ) );
// adding the link between this picture and its storage category
$query = 'INSERT INTO '.PREFIX_TABLE.'image_category';
$query.= ' (image_id,category_id) VALUES ';
$query.= ' ('.$image_id.','.$category_id.')';
$query.= ';';
mysql_query( $query );
$output.= $picture['file'];
$output.= ' <span style="font-weight:bold;">';
$output.= $lang['update_research_added'].'</span>';
@ -294,35 +294,6 @@ function insert_local_image( $rep, $category_id )
}
return $output;
}
// The function "update_cat_info" updates the information about the last
// online image and the number of images in the category
function update_cat_info( $category_id )
{
$query = 'SELECT date_available';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE cat_id = '.$category_id;
$query.= ' ORDER BY date_available DESC';
$query.= ' LIMIT 0,1';
$query.= ';';
$result = mysql_query( $query );
$row = mysql_fetch_array( $result );
$date_last = $row['date_available'];
$query = 'SELECT COUNT(*) as nb_images';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE cat_id = '.$category_id;
$result = mysql_query( $query );
$row = mysql_fetch_array( $result );
$nb_images = $row['nb_images'];
$query = 'UPDATE '.PREFIX_TABLE.'categories';
$query.= " SET date_last = '".$date_last."'";
$query.= ', nb_images = '.$nb_images;
$query.= ' where id = '.$category_id;
$query.= ';';
mysql_query( $query );
}
// remote_images verifies if a file named "listing.xml" is present is the
// admin directory. If it is the case, creation of a remote picture storage
@ -341,16 +312,16 @@ function remote_images()
$vtp->setVar( $sub, 'remote_update.url', $url );
// 2. is the site already existing ?
$query = 'select id';
$query.= ' from '.PREFIX_TABLE.'sites';
$query.= " where galleries_url = '".$url."'";
$query = 'SELECT id';
$query.= ' FROM '.PREFIX_TABLE.'sites';
$query.= " WHERE galleries_url = '".$url."'";
$query.= ';';
$result = mysql_query( $query );
if ( mysql_num_rows($result ) == 0 )
{
// we have to register this site in the database
$query = 'insert into '.PREFIX_TABLE.'sites';
$query.= " (galleries_url) values ('".$url."')";
$query = 'INSERT INTO '.PREFIX_TABLE.'sites';
$query.= " (galleries_url) VALUES ('".$url."')";
$query.= ';';
mysql_query( $query );
$site_id = mysql_insert_id();
@ -390,25 +361,25 @@ function insert_remote_category( $xml_dir, $site_id, $id_uppercat, $level )
$output.= '<span style="font-weight:bold;">'.$name.'</span>';
$output.= '<div class="retrait">';
$query = 'select id';
$query.= ' from '.PREFIX_TABLE.'categories';
$query.= ' where site_id = '.$site_id;
$query.= " and dir = '".$name."'";
$query = 'SELECT id';
$query.= ' FROM '.PREFIX_TABLE.'categories';
$query.= ' WHERE site_id = '.$site_id;
$query.= " AND dir = '".$name."'";
if ( $id_uppercat == 'NULL' )
{
$query.= ' and id_uppercat is NULL';
$query.= ' AND id_uppercat IS NULL';
}
else
{
$query.= ' and id_uppercat = '.$id_uppercat;
$query.= ' AND id_uppercat = '.$id_uppercat;
}
$query.= ';';
$result = mysql_query( $query );
if ( mysql_num_rows( $result ) == 0 )
{
// we have to create the category
$query = 'insert into '.PREFIX_TABLE.'categories';
$query.= " (dir,site_id,id_uppercat) values ('".$name."',".$site_id;
$query = 'INSERT INTO '.PREFIX_TABLE.'categories';
$query.= " (dir,site_id,id_uppercat) VALUES ('".$name."',".$site_id;
if ( !is_numeric( $id_uppercat ) )
{
$query.= ',NULL';
@ -428,23 +399,23 @@ function insert_remote_category( $xml_dir, $site_id, $id_uppercat, $level )
$category_id = $row['id'];
}
$output.= insert_remote_image( $list_dirs[$i], $category_id );
update_cat_info( $category_id );
update_category( $category_id );
$output.= insert_remote_category( $list_dirs[$i], $site_id,
$category_id, $level+1 );
$output.= '</div>';
}
// we have to remove the categories of the database not present in the xml
// file (ie deleted from the picture storage server)
$query = 'select dir,id';
$query.= ' from '.PREFIX_TABLE.'categories';
$query.= ' where site_id = '.$site_id;
$query = 'SELECT dir,id';
$query.= ' FROM '.PREFIX_TABLE.'categories';
$query.= ' WHERE site_id = '.$site_id;
if ( !is_numeric( $id_uppercat ) )
{
$query.= ' and id_uppercat is NULL';
$query.= ' AND id_uppercat IS NULL';
}
else
{
$query.= ' and id_uppercat = '.$id_uppercat;
$query.= ' AND id_uppercat = '.$id_uppercat;
}
$query.= ';';
$result = mysql_query( $query );
@ -484,18 +455,19 @@ function insert_remote_image( $xml_dir, $category_id )
$pictures[$j] = $file;
// is the picture already existing in the database ?
$query = 'select id,tn_ext';
$query.= ' from '.PREFIX_TABLE.'images';
$query.= ' where cat_id = '.$category_id;
$query.= " and file = '".$file."'";
$query = 'SELECT id,tn_ext';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE storage_category_id = '.$category_id;
$query.= " AND file = '".$file."'";
$query.= ';';
$result = mysql_query( $query );
$query = '';
if ( mysql_num_rows( $result ) == 0 )
{
$query = 'insert into '.PREFIX_TABLE.'images';
$query.= ' (file,cat_id,date_available,tn_ext,filesize,width,height)';
$query.= ' values (';
$query = 'INSERT INTO '.PREFIX_TABLE.'images';
$query.= ' (file,storage_category_id,date_available,tn_ext';
$query.= ',filesize,width,height)';
$query.= ' VALUES (';
$query.= "'".$file."'";
$query.= ",'".$category_id."'";
$query.= ",'".$date."'";
@ -505,6 +477,19 @@ function insert_remote_image( $xml_dir, $category_id )
$query.= ",'".$height."'";
$query.= ')';
$query.= ';';
// retrieving the id of newly inserted picture
$query = 'SELECT id';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE storage_category_id = '.$category_id;
$query.= " AND file = '".$file."'";
$query.= ';';
list( $image_id ) = mysql_fetch_array( mysql_query( $query ) );
// adding the link between this picture and its storage category
$query = 'INSERT INTO '.PREFIX_TABLE.'image_category';
$query.= ' (image_id,category_id) VALUES ';
$query.= ' ('.$image_id.','.$category_id.')';
$query.= ';';
mysql_query( $query );
$output.= $file;
$output.= ' <span style="font-weight:bold;">';
@ -519,11 +504,11 @@ function insert_remote_image( $xml_dir, $category_id )
$row = mysql_fetch_array( $result );
if ( $row['tn_ext'] != $tn_ext )
{
$query = 'update '.PREFIX_TABLE.'images';
$query.= ' set';
$query = 'UPDATE '.PREFIX_TABLE.'images';
$query.= ' SET';
$query.= " tn_ext = '".$tn_ext."'";
$query.= ' where cat_id = '.$category_id;
$query.= " and file = '".$file."'";
$query.= ' WHERE storage_category_id = '.$category_id;
$query.= " AND file = '".$file."'";
$query.= ';';
}
}
@ -535,9 +520,9 @@ function insert_remote_image( $xml_dir, $category_id )
}
// we have to remove the pictures of the database not present in the xml file
// (ie deleted from the picture storage server)
$query = 'select id,file';
$query.= ' from '.PREFIX_TABLE.'images';
$query.= ' where cat_id = '.$category_id;
$query = 'SELECT id,file';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE storage_category_id = '.$category_id;
$query.= ';';
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
@ -557,6 +542,8 @@ $tpl = array( 'update_default_title', 'update_only_cat', 'update_all',
'remote_site', 'update_part_research' );
templatize_array( $tpl, 'lang', $sub );
$vtp->setGlobalVar( $sub, 'user_template', $user['template'] );
//-------------------------------------------------------- categories structure
$page['plain_structure'] = get_plain_structure();
//-------------------------------------------- introduction : choices of update
// Display choice if "update" var is not specified
check_cat_id( $_GET['update'] );

View file

@ -20,7 +20,7 @@ include_once( './include/isadmin.inc.php' );
//--------------------------------------------------------------------- updates
if ( isset( $_POST['submit'] ) )
{
$query = 'SELECT id,cat_id,file,tn_ext';
$query = 'SELECT id,storage_category_id,file,tn_ext';
$query.= ' FROM '.PREFIX_TABLE.'waiting';
$query.= " WHERE validated = 'false'";
$query.= ';';
@ -39,6 +39,8 @@ if ( isset( $_POST['submit'] ) )
$query.= ' WHERE id = '.$row['id'];
$query.= ';';
mysql_query( $query );
// linking logically the picture to its storage category
$query = 'INSERT INTO';
}
else
{
@ -49,14 +51,14 @@ if ( isset( $_POST['submit'] ) )
$query.= ';';
mysql_query( $query );
// deletion of the associated files
$cat = get_cat_info( $row['cat_id'] );
unlink( '.'.$cat['dir'].$row['file'] );
$dir = get_complete_dir( $row['storage_category_id'] );
unlink( '.'.$dir.$row['file'] );
if ( $row['tn_ext'] != '' )
{
$thumbnail = $conf['prefix_thumbnail'];
$thumbnail.= get_filename_wo_extension( $row['file'] );
$thumbnail.= '.'.$row['tn_ext'];
$url = '.'.$cat['dir'].'thumbnail/'.$thumbnail;
$url = '.'.$dir.'thumbnail/'.$thumbnail;
unlink( $url );
}
}
@ -70,10 +72,11 @@ $tpl = array( 'category','date','author','thumbnail','file','delete',
templatize_array( $tpl, 'lang', $sub );
//---------------------------------------------------------------- form display
$cat_names = array();
$query = 'SELECT id,cat_id,file,username,mail_address,date,tn_ext';
$query = 'SELECT id,storage_category_id,file,username,mail_address';
$query.= ',date,tn_ext';
$query.= ' FROM '.PREFIX_TABLE.'waiting';
$query.= " WHERE validated = 'false'";
$query.= ' ORDER BY cat_id';
$query.= ' ORDER BY storage_category_id';
$query.= ';';
$result = mysql_query( $query );
$i = 0;
@ -85,26 +88,24 @@ while ( $row = mysql_fetch_array( $result ) )
{
$vtp->setVar( $sub, 'picture.class', 'row2' );
}
if ( !isset( $cat_names[$row['cat_id']] ) )
if ( !isset( $cat_names[$row['storage_category_id']] ) )
{
$cat = get_cat_info( $row['cat_id'] );
$cat_names[$row['cat_id']] = array();
$cat_names[$row['cat_id']]['dir'] = '.'.$cat['dir'];
$cat_names[$row['cat_id']]['display_name'] =
$cat = get_cat_info( $row['storage_category_id'] );
$cat_names[$row['storage_category_id']] = array();
$cat_names[$row['storage_category_id']]['dir'] =
'.'.get_complete_dir( $row['storage_category_id'] );
$cat_names[$row['storage_category_id']]['display_name'] =
get_cat_display_name( $cat['name'], ' &gt; ', 'font-weight:bold;' );
}
// category name
$vtp->setVar( $sub, 'picture.cat_name',
$cat_names[$row['cat_id']]['display_name'] );
$cat_names[$row['storage_category_id']]['display_name'] );
// date displayed like this (in English ) :
// Sunday 15 June 2003 21:29
$date = $lang['day'][date( 'w', $row['date'] )]; // Sunday
$date.= date( ' j ', $row['date'] ); // 15
$date.= $lang['month'][date( 'n', $row['date'] )]; // June
$date.= date( ' Y G:i', $row['date'] ); // 2003 21:29
$date = format_date( $row['date'], 'unix', true );
$vtp->setVar( $sub, 'picture.date', $date );
// file preview link
$url = $cat_names[$row['cat_id']]['dir'].$row['file'];
$url = $cat_names[$row['storage_category_id']]['dir'].$row['file'];
$vtp->setVar( $sub, 'picture.preview_url', $url );
// file name
$vtp->setVar( $sub, 'picture.file', $row['file'] );
@ -115,7 +116,8 @@ while ( $row = mysql_fetch_array( $result ) )
$thumbnail = $conf['prefix_thumbnail'];
$thumbnail.= get_filename_wo_extension( $row['file'] );
$thumbnail.= '.'.$row['tn_ext'];
$url = $cat_names[$row['cat_id']]['dir'].'thumbnail/'.$thumbnail;
$url = $cat_names[$row['storage_category_id']]['dir'];
$url.= 'thumbnail/'.$thumbnail;
$vtp->setVar( $sub, 'thumbnail.preview_url', $url );
$vtp->setVar( $sub, 'thumbnail.file', $thumbnail );
$vtp->closeSession( $sub, 'thumbnail' );

View file

@ -231,22 +231,16 @@ else
//------------------------------------------------------------------ thumbnails
if ( isset( $page['cat'] ) and $page['cat_nb_images'] != 0 )
{
if ( is_numeric( $page['cat'] ) )
{
$cat_directory = $page['cat_dir'];
}
else if ( $page['cat'] == 'search' or $page['cat'] == 'fav' )
{
$array_cat_directories = array();
}
$array_cat_directories = array();
$query = 'SELECT id,file,date_available,tn_ext,name,filesize,cat_id';
$query = 'SELECT id,file,date_available,tn_ext,name,filesize';
$query.= ',storage_category_id,category_id';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
$query.= $page['where'];
$query.= $conf['order_by'];
$query.= ' LIMIT '.$page['start'].','.$page['nb_image_page'];
$query.= ';';
echo $query;
$result = mysql_query( $query );
$vtp->addSession( $handle, 'thumbnails' );
@ -257,25 +251,18 @@ if ( isset( $page['cat'] ) and $page['cat_nb_images'] != 0 )
$line_number = 1;
while ( $row = mysql_fetch_array( $result ) )
{
if ( !is_numeric( $page['cat'] ) )
if ( $array_cat_directories[$row['storage_category_id']] == '' )
{
if ( $array_cat_directories[$row['cat_id']] == '' )
{
$cat_result = get_cat_info( $row['cat_id'] );
$array_cat_directories[$row['cat_id']] = $cat_result['dir'];
}
$cat_directory = $array_cat_directories[$row['cat_id']];
$array_cat_directories[$row['storage_category_id']] =
get_complete_dir( $row['storage_category_id'] );
}
$cat_directory = $array_cat_directories[$row['storage_category_id']];
$file = get_filename_wo_extension( $row['file'] );
// name of the picture
if ( $row['name'] != '' )
{
$name = $row['name'];
}
else
{
$name = str_replace( '_', ' ', $file );
}
if ( $row['name'] != '' ) $name = $row['name'];
else $name = str_replace( '_', ' ', $file );
if ( $page['cat'] == 'search' )
{
$name = replace_search( $name, $_GET['search'] );
@ -358,16 +345,16 @@ elseif ( ( isset( $page['cat'] )
$cell_number = 1;
$i = 0;
foreach ( $subcats as $subcat_id => $non_empty_id ) {
$subcat_infos = get_cat_info( $subcat_id );
$non_empty_infos = get_cat_info( $non_empty_id );
$subcat_infos = get_cat_info( $subcat_id );
$name ='[ <span style="font-weight:bold;">';
$name.= $subcat_infos['name'][0];
$name.= '</span> ]';
$query = 'SELECT file,tn_ext';
$query = 'SELECT file,tn_ext,storage_category_id';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE cat_id = '.$non_empty_id;
$query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
$query.= ' WHERE category_id = '.$non_empty_id;
$query.= ' ORDER BY RAND()';
$query.= ' LIMIT 0,1';
$query.= ';';
@ -377,7 +364,7 @@ elseif ( ( isset( $page['cat'] )
$file = get_filename_wo_extension( $image_row['file'] );
// creating links for thumbnail and associated category
$thumbnail_link = $non_empty_infos['dir'];
$thumbnail_link = get_complete_dir( $image_row['storage_category_id'] );
$thumbnail_link.= 'thumbnail/'.$conf['prefix_thumbnail'];
$thumbnail_link.= $file.'.'.$image_row['tn_ext'];

View file

@ -349,4 +349,30 @@ function templatize_array( $array, $global_array_name, $handle )
$vtp->setGlobalVar( $handle, $value, ${$global_array_name}[$value] );
}
}
function format_date( $date, $type = 'us', $show_time = false )
{
global $lang;
switch ( $type )
{
case 'us' :
list( $year,$month,$day ) = explode( '-', $date );
$unixdate = mktime(0,0,0,$month,$day,$year);
break;
case 'unix' :
$unixdate = $date;
break;
}
$formated_date = $lang['day'][date( "w", $unixdate )];
$formated_date.= date( " j ", $unixdate );
$formated_date.= $lang['month'][date( "n", $unixdate )];
$formated_date.= date( ' Y', $unixdate );
if ( $show_time )
{
$formated_date.= date( ' G:i', $unixdate );
}
return $formated_date;
}
?>

View file

@ -94,7 +94,7 @@ function check_cat_id( $cat )
function get_plain_structure()
{
$infos = array( 'name','id','date_last','nb_images','dir','id_uppercat',
'rank');
'rank','site_id');
$query = 'SELECT ';
foreach ( $infos as $i => $info ) {
@ -270,7 +270,7 @@ function count_images( $categories )
// variables :
// $cat['comment']
// $cat['dir']
// $cat['last_dir']
// $cat['dir']
// $cat['name'] is an array :
// - $cat['name'][0] is the lowest cat name
// and
@ -280,11 +280,12 @@ function count_images( $categories )
// $cat['site_id']
function get_cat_info( $id )
{
global $page;
$cat = array();
$cat['name'] = array();
$query = 'SELECT nb_images,id_uppercat,comment,site_id,galleries_url,dir';
$query.= ',date_last,uploadable';
$query.= ',date_last,uploadable,status,visible';
$query.= ' FROM '.PREFIX_TABLE.'categories AS a';
$query.= ', '.PREFIX_TABLE.'sites AS b';
$query.= ' WHERE a.id = '.$id;
@ -294,42 +295,64 @@ function get_cat_info( $id )
$cat['id_uppercat'] = $row['id_uppercat'];
$cat['comment'] = nl2br( $row['comment'] );
$cat['nb_images'] = $row['nb_images'];
$cat['last_dir'] = $row['dir'];
$cat['dir'] = $row['dir'];
$cat['date_last'] = $row['date_last'];
$cat['uploadable'] = get_boolean( $row['uploadable'] );
$galleries_url = $row['galleries_url'];
$cat['status'] = $row['status'];
$cat['visible'] = get_boolean( $row['visible'] );
$cat['dir'] = "";
$i = 0;
$is_root = false;
$row['id_uppercat'] = $id;
while ( !$is_root )
$cat['name'] = array();
array_push( $cat['name'], $page['plain_structure'][$id]['name'] );
while ( $page['plain_structure'][$id]['id_uppercat'] != '' )
{
$query = 'SELECT name,dir,id_uppercat';
$query.= ' FROM '.PREFIX_TABLE.'categories';
$query.= ' WHERE id = '.$row['id_uppercat'].';';
$row = mysql_fetch_array( mysql_query( $query ) );
$cat['dir'] = $row['dir'].'/'.$cat['dir'];
if ( $row['name'] == "" )
{
$cat['name'][$i] = str_replace( "_", " ", $row['dir'] );
}
else
{
$cat['name'][$i] = $row['name'];
}
if ( $row['id_uppercat'] == "" )
{
$is_root = true;
}
$i++;
$id = $page['plain_structure'][$id]['id_uppercat'];
array_push( $cat['name'], $page['plain_structure'][$id]['name'] );
}
$cat['local_dir'] = substr( $cat['dir'], 0 , strlen( $cat['dir'] ) - 1 );
$cat['dir'] = $galleries_url.$cat['dir'];
return $cat;
}
// get_complete_dir returns the concatenation of get_site_url and
// get_local_dir
// Example : "pets > rex > 1_year_old" is on the the same site as the
// PhpWebGallery files and this category has 22 for identifier
// get_complete_dir(22) returns "./galleries/pets/rex/1_year_old/"
function get_complete_dir( $category_id )
{
return get_site_url( $category_id ).get_local_dir( $category_id );
}
// get_local_dir returns an array with complete path without the site url
// Example : "pets > rex > 1_year_old" is on the the same site as the
// PhpWebGallery files and this category has 22 for identifier
// get_local_dir(22) returns "pets/rex/1_year_old/"
function get_local_dir( $category_id )
{
global $page;
// creating the local path : "root_cat/sub_cat/sub_sub_cat/"
$dir = $page['plain_structure'][$category_id]['dir'].'/';
while ( $page['plain_structure'][$category_id]['id_uppercat'] != '' )
{
$category_id = $page['plain_structure'][$category_id]['id_uppercat'];
$dir = $page['plain_structure'][$category_id]['dir'].'/'.$dir;
}
return $dir;
}
// retrieving the site url : "http://domain.com/gallery/" or
// simply "./galleries/"
function get_site_url( $category_id )
{
global $page;
$query = 'SELECT galleries_url';
$query.= ' FROM '.PREFIX_TABLE.'sites';
$query.= ' WHERE id = '.$page['plain_structure'][$category_id]['site_id'];
$query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
return $row['galleries_url'];
}
// The function get_cat_display_name returns a string containing the list
// of upper categories to the root category from the lowest category shown
// example : "anniversaires - fete mere 2002 - animaux - erika"
@ -401,7 +424,7 @@ function initialize_category( $calling_page = 'category' )
$page['cat_site_id'] = $result['site_id'];
$page['cat_uploadable'] = $result['uploadable'];
$page['title'] = get_cat_display_name( $page['cat_name'], ' - ', '' );
$page['where'] = ' WHERE cat_id = '.$page['cat'];
$page['where'] = ' WHERE category_id = '.$page['cat'];
}
else
{
@ -411,7 +434,7 @@ function initialize_category( $calling_page = 'category' )
// we must not show pictures of a forbidden category
$restricted_cats = get_all_restrictions( $user['id'],$user['status'] );
foreach ( $restricted_cats as $restricted_cat ) {
$where_append.= ' AND cat_id != '.$restricted_cat;
$where_append.= ' AND category_id != '.$restricted_cat;
}
}
// search result
@ -499,7 +522,7 @@ function initialize_category( $calling_page = 'category' )
else if ( $page['cat'] == 'most_visited' )
{
$page['title'] = $conf['top_number'].' '.$lang['most_visited_cat'];
$page['where'] = ' WHERE cat_id != -1'.$where_append;
$page['where'] = ' WHERE category_id != -1'.$where_append;
$conf['order_by'] = ' ORDER BY hit DESC, file ASC';
$page['cat_nb_images'] = $conf['top_number'];
if ( $page['start'] + $user['nb_image_page'] >= $conf['top_number'] )

View file

@ -29,6 +29,8 @@ $lang['IP'] = 'IP';
$lang['close'] = 'fermer';
$lang['open'] = 'ouvrir';
$lang['keywords'] = 'mots-clefs';
$lang['errors_title'] = 'Erreurs';
$lang['default'] = 'défaut';
// end version 1.3
// page diapo
@ -264,6 +266,7 @@ if ( $isadmin )
$lang['title_cat_perm'] = 'Modifier les permissions pour la catégorie';
$lang['title_group_perm'] = 'Modifier les permissions pour le groupe';
$lang['title_comments'] = 'Commentaires des visiteurs';
$lang['title_picmod'] = 'Modifier les informations d\'une image';
// end version 1.3
$lang['title_categories'] = 'Gestion des catégories';
$lang['title_edit_cat'] = 'Editer une catégorie';
@ -511,6 +514,7 @@ if ( $isadmin )
$lang['infoimage_keyword_separation'] = '(séparer avec des ",")';
$lang['infoimage_addtoall'] = 'ajouter à tous';
$lang['infoimage_removefromall'] = 'retirer à tous';
$lang['infoimage_associate'] = 'Associer à la catégorie';
// end version 1.3
$lang['infoimage_general'] = 'Options générale pour la catégorie';
$lang['infoimage_useforall'] = 'utiliser pour toutes les images ?';

View file

@ -23,6 +23,7 @@ include_once( './include/init.inc.php' );
//-------------------------------------------------- access authorization check
check_cat_id( $_GET['cat'] );
check_login_authorization();
$page['plain_structure'] = get_plain_structure();
if ( isset( $page['cat'] ) and is_numeric( $page['cat'] ) )
{
check_restrictions( $page['cat'] );
@ -38,8 +39,10 @@ initialize_category( 'picture' );
$cat_directory = $page['cat_dir']; // by default
//------------------------------------- main picture information initialization
$query = 'SELECT id,date_available,comment,hit,keywords';
$query.= ',author,name,file,date_creation,filesize,width,height,cat_id';
$query.= ',author,name,file,date_creation,filesize,width,height';
$query.= ',storage_category_id,category_id';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
$query.= $page['where'];
$query.= ' AND id = '.$_GET['image_id'];
$query.= $conf['order_by'];
@ -57,11 +60,13 @@ $page['date_creation'] = $row['date_creation'];
$page['filesize'] = $row['filesize'];
$page['width'] = $row['width'];
$page['height'] = $row['height'];
$page['cat_id'] = $row['cat_id'];
$page['category_id'] = $row['category_id'];
$page['keywords'] = $row['keywords'];
$page['storage_category_id'] = $row['storage_category_id'];
// retrieving the number of the picture in its category (in order)
$query = 'SELECT id';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
$query.= $page['where'];
$query.= $conf['order_by'];
$query.= ';';
@ -123,6 +128,7 @@ if ( isset( $_GET['add_fav'] ) )
}
$query = 'SELECT id';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
$query.= $page['where'];
$query.= $conf['order_by'];
$query.= ' LIMIT '.$page['num'].',1';
@ -205,8 +211,9 @@ else
if ( $page['num'] >= 1 )
{
$prev = $page['num'] - 1;
$query = 'SELECT id,name,file,tn_ext,cat_id';
$query = 'SELECT id,name,file,tn_ext,storage_category_id';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
$query.= $page['where'];
$query.= $conf['order_by'];
$query.= ' LIMIT '.$prev.',1';
@ -214,20 +221,17 @@ if ( $page['num'] >= 1 )
$result = mysql_query( $query );
$row = mysql_fetch_array( $result );
if ( !is_numeric( $page['cat'] ) )
if ( $array_cat_directories[$row['storage_category_id']] == '' )
{
if ( $array_cat_directories[$row['cat_id']] == '' )
{
$cat_result = get_cat_info( $row['cat_id'] );
$array_cat_directories[$row['cat_id']] = $cat_result['dir'];
}
$cat_directory = $array_cat_directories[$row['cat_id']];
$array_cat_directories[$row['storage_category_id']] =
get_complete_dir( $row['storage_category_id'] );
}
$file = substr ( $row['file'], 0, strrpos ( $row['file'], '.' ) );
$cat_directory = $array_cat_directories[$row['storage_category_id']];
$file = substr( $row['file'], 0, strrpos ( $row['file'], '.' ) );
$lien_thumbnail = $cat_directory.'/thumbnail/';
$lien_thumbnail.= $conf['prefix_thumbnail'].$file.".".$row['tn_ext'];
$prev_title = $lang['previous_image'].' : ';
$alt_thumbnaill = '';
if ( $row['name'] != '' ) $alt_thumbnail = $row['name'];
@ -261,14 +265,16 @@ if ( is_numeric( $page['cat'] ) )
}
else
{
$cat_result = get_cat_info( $page['cat_id'] );
if ( $array_cat_directories[$page['cat_id']] == "" )
{
$array_cat_directories[$page['cat_id']] = $cat_result['dir'];
}
$cat_directory = $array_cat_directories[$page['cat_id']];
$intitule_cat = $page['title'];
}
if ( $array_cat_directories[$page['storage_category_id']] == '' )
{
$array_cat_directories[$page['storage_category_id']] =
get_complete_dir( $page['storage_category_id'] );
}
$cat_directory = $array_cat_directories[$page['storage_category_id']];
$n = $page['num'] + 1;
$intitule_titre = replace_space( $intitule_cat." - " ).$n.'/'.
$intitule_titre.= $page['cat_nb_images']."<br />";
@ -347,9 +353,8 @@ if ( $page['date_creation'] != "" )
{
$vtp->addSession( $handle, 'info_line' );
$vtp->setVar( $handle, 'info_line.name', $lang['creation_date'].' : ' );
list( $year,$month,$day ) = explode( '-', $page['date_creation'] );
$vtp->setVar( $handle, 'info_line.content',
$day.'/'.$month.'/'.$year );
format_date( $page['date_creation'] ) );
$vtp->closeSession( $handle, 'info_line' );
}
// date of availability
@ -357,7 +362,7 @@ $vtp->addSession( $handle, 'info_line' );
$vtp->setVar( $handle, 'info_line.name', $lang['registration_date'].' : ' );
list( $year,$month,$day ) = explode( '-', $page['date_available'] );
$vtp->setVar( $handle, 'info_line.content',
$day.'/'.$month.'/'.$year );
format_date( $page['date_available'] ) );
$vtp->closeSession( $handle, 'info_line' );
// size in pixels
$vtp->addSession( $handle, 'info_line' );
@ -455,34 +460,31 @@ if ( $page['cat'] == 'fav' )
if ( $user['status'] == "admin" and is_numeric( $page['cat'] ) )
{
$vtp->addSession( $handle, 'modification' );
$url = './admin/admin.php?page=infos_images&amp;cat_id='.$page['cat'];
$url.= '&amp;num='.$page['num'];
$vtp->setVar( $handle, 'modification.link',
add_session_id( $url )."#".$page['id'] );
$url = './admin/admin.php?page=picture_modify&amp;cat_id='.$page['cat'];
$url.= '&amp;image_id='.$page['id'];
$vtp->setVar( $handle, 'modification.link', add_session_id( $url ) );
$vtp->setVar( $handle, 'modification.name', $lang['link_info_image'] );
}
//---------------------------------------------- next picture thumbnail display
if ( $page['num'] < $page['cat_nb_images']-1 )
{
$next = $page['num'] + 1;
$query = 'SELECT id,name,file,tn_ext,cat_id';
$query = 'SELECT id,name,file,tn_ext,storage_category_id';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
$query.= $page['where'];
$query.= $conf['order_by'];
$query.= ' LIMIT '.$next.',1';
$query.= ';';
$result = mysql_query( $query );
$row = mysql_fetch_array( $result );
if ( !is_numeric( $page['cat'] ) )
if ( $array_cat_directories[$row['storage_category_id']] == '' )
{
if ( $array_cat_directories[$row['cat_id']] == "" )
{
$cat_result = get_cat_info( $row['cat_id'] );
$array_cat_directories[$row['cat_id']] = $cat_result['dir'];
}
$cat_directory = $array_cat_directories[$row['cat_id']];
$array_cat_directories[$row['storage_category_id']] =
get_complete_dir( $row['storage_category_id'] );
}
$cat_directory = $array_cat_directories[$row['storage_category_id']];
$file = substr ( $row['file'], 0, strrpos ( $row['file'], ".") );
$lien_thumbnail = $cat_directory.'thumbnail/';
@ -629,11 +631,8 @@ if ( $conf['show_comments'] )
{
$vtp->addSession( $handle, 'comment' );
$vtp->setVar( $handle, 'comment.author', $row['author'] );
$displayed_date = $lang['day'][date( "w", $row['date'] )];
$displayed_date.= date( " j ", $row['date'] );
$displayed_date.= $lang['month'][date( "n", $row['date'] )];
$displayed_date.= date( ' Y G:i', $row['date'] );
$vtp->setVar( $handle, 'comment.date', $displayed_date );
$vtp->setVar( $handle, 'comment.date',
format_date( $row['date'], 'unix', true ) );
$vtp->setVar( $handle, 'comment.content', nl2br( $row['content'] ) );
if ( $user['status'] == 'admin' )
{

View file

@ -1,6 +1,6 @@
<!--VTP_errors-->
<div class="errors">
<div class="errors_title">Erreurs</div>
<div class="errors_title">{#errors_title}</div>
<ul>
<!--VTP_li-->
<li>{#li}</li>

View file

@ -42,12 +42,13 @@
</table>
<table width="100%">
<tr>
<th colspan="6">{#infoimage_detailed}</th>
<th colspan="7">{#infoimage_detailed}</th>
</tr>
<tr>
<td colspan="6" align="center">{#navigation_bar}</td>
<td colspan="7" align="center">{#navigation_bar}</td>
</tr>
<tr>
<td style="width:0px;">&nbsp;</td>
<td class="row2" style="text-align:center;">{#thumbnail}</td>
<td class="row2" style="text-align:center;">{#infoimage_title}</td>
<td class="row2" style="text-align:center;">{#author}</td>
@ -57,6 +58,11 @@
</tr>
<!--VTP_picture-->
<tr>
<td style="width:0px;">
<div style="margin-left:2px;margin-right:2px;">
<input type="checkbox" name="check-{#id}" value="1" />
</div>
</td>
<td style="text-align:center;"><a name="{#link}" href="{#url}"><img src="{#thumbnail_url}" alt="" class="miniature" title="{#filename}" /></td>
<td style="text-align:center;">{#default_name}<br /><input type="text" name="name-{#id}" value="{#name}" maxlength="255"/></td>
<td style="text-align:center;"><input type="text" name="author-{#id}" value="{#author}" maxlength="255"/></td>
@ -65,6 +71,17 @@
<td style="text-align:center;"><input type="text" name="keywords-{#id}" value="{#keywords}" maxlength="255" /></td>
</tr>
<!--/VTP_picture-->
<tr>
<td colspan="6">
<img src="../template/{#user_template}/admin/images/arrow_up.gif" alt="&lt;" />
{#infoimage_associate}
<select name="associate">
<!--VTP_associate_cat-->
<option value="{#value}">{#content}</option>
<!--/VTP_associate_cat-->
</select>
</td>
</tr>
<tr>
<td colspan="6" style="text-align:center;">
<input type="submit" value="{#submit}" name="submit" />

View file

@ -0,0 +1,101 @@
<!--VTP_errors-->
<div class="errors">
<div class="errors_title">{#errors_title}</div>
<ul>
<!--VTP_li-->
<li>{#content}</li>
<!--/VTP_li-->
</ul>
</div>
<!--/VTP_errors-->
<!--VTP_confirmation-->
<div class="info">
{#picmod_update} [ <a href="{#url}">{#picmod_back}</a> ]
</div>
<!--/VTP_confirmation-->
<form method="post" action="{#form_action}">
<table style="width:100%;">
<tr><th colspan="2">{#title} [ {#dir} &gt; {#f_file} ]</th></tr>
<tr>
<td colspan="2"><div style="margin-bottom:0px">&nbsp;</div></td>
</tr>
<tr valign="top">
<td style="width:1px;"><img src="{#thumbnail_url}" alt="" class="miniature" /></td>
<td>
<table>
<tr>
<td>{#upload_name} :</td>
<td><input type="text" name="name" value="{#f_name}" /> [ {#default} : {#default_name} ]</td>
</tr>
<tr>
<td>{#file} :</td>
<td>{#f_file}</td>
</tr>
<tr>
<td>{#size} :</td>
<td>{#f_size}</td>
</tr>
<tr>
<td>{#filesize} :</td>
<td>{#f_filesize}</td>
</tr>
<tr>
<td>{#registration_date} :</td>
<td>{#f_registration_date}</td>
</tr>
<tr>
<td>{#author} :</td>
<td><input type="text" name="author" value="{#f_author}" /></td>
</tr>
<tr>
<td>{#creation_date} :</td>
<td><input type="text" name="creation_date" value="{#f_creation_date}" /></td>
</tr>
<tr>
<td>{#keywords} :</td>
<td><input type="text" name="keywords" value="{#f_keywords}" size="50" /></td>
</tr>
<tr>
<td>{#comment} :</td>
<td><textarea name="comment" rows="5" cols="50" style="overflow:auto">{#f_comment}</textarea></td>
</tr>
<tr>
<td valign="top">{#categories} :</td>
<td>
<table>
<!--VTP_linked_category-->
<tr>
<td><!--VTP_checkbox--><input type="checkbox" name="dissociate-{#id}" value="1" /><!--/VTP_checkbox--><a href="{#url}">{#name}</a> [ <a href="{#infos_images_link}">{#cat_image_info}</a> ] {#private} {#invisible}
</tr>
<!--/VTP_linked_category-->
<!--VTP_dissociate-->
<tr>
<td colspan="2"><img src="../template/{#user_template}/admin/images/arrow_up.gif" alt="&lt;" /> {#dissociate}</td>
</tr>
<!--/VTP_dissociate-->
<tr><td colspan="2">&nbsp;</td></tr>
<tr>
<td>{#infoimage_associate}
<select name="associate">
<!--VTP_associate_cat-->
<option value="{#value}">{#content}</option>
<!--/VTP_associate_cat-->
</select>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2"><div style="margin-bottom:0px">&nbsp;</div></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="submit" value="{#submit}">
</td>
</tr>
</table>
</form>

View file

@ -205,8 +205,9 @@ if ( isset( $_POST['submit'] ) and !isset( $_GET['waiting_id'] ) )
if ( sizeof( $error ) == 0 )
{
$query = 'insert into '.PREFIX_TABLE.'waiting';
$query.= ' (cat_id,file,username,mail_address,date,infos) values';
$query.= " (".$page['cat'].",'".$_FILES['picture']['name']."'";
$query.= ' (storage_category_id,file,username,mail_address,date,infos)';
$query.= ' values ';
$query.= '('.$page['cat'].",'".$_FILES['picture']['name']."'";
$query.= ",'".htmlspecialchars( $_POST['username'], ENT_QUOTES)."'";
$query.= ",'".$_POST['mail_address']."',".time().",'".$xml_infos."')";
$query.= ';';