for virtual category to picture association, if the number of categories is

more than $conf['max_LOV_categories'], we only show a text box asking parent
category id


git-svn-id: http://piwigo.org/svn/branches/release-1_3@258 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
z0rglub
2004-01-03 21:36:59 +00:00
parent 02f153125b
commit fa92671b15
2 changed files with 244 additions and 146 deletions
+53 -9
View File
@@ -18,8 +18,6 @@
***************************************************************************/
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
@@ -106,14 +104,35 @@ if ( isset( $_POST['submit'] ) )
mysql_query( $query );
}
}
$associate_or_dissociate = false;
// associate with a new category ?
if ( $_POST['associate'] != '-1' )
if ( $_POST['associate'] != '-1' and $_POST['associate'] != '' )
{
// does the uppercat id exists in the database ?
if ( !is_numeric( $_POST['associate'] ) )
{
array_push( $errors, $lang['cat_unknown_id'] );
}
else
{
$query = 'SELECT id';
$query.= ' FROM '.PREFIX_TABLE.'categories';
$query.= ' WHERE id = '.$_POST['associate'];
$query.= ';';
if ( mysql_num_rows( mysql_query( $query ) ) == 0 )
array_push( $errors, $lang['cat_unknown_id'] );
}
}
if ( $_POST['associate'] != '-1'
and $_POST['associate'] != ''
and count( $errors ) == 0 )
{
$query = 'INSERT INTO '.PREFIX_TABLE.'image_category';
$query.= ' (category_id,image_id) VALUES ';
$query.= '('.$_POST['associate'].','.$_GET['image_id'].')';
$query.= ';';
mysql_query( $query);
$associate_or_dissociate = true;
update_category( $_POST['associate'] );
}
// dissociate any category ?
@@ -132,9 +151,14 @@ if ( isset( $_POST['submit'] ) )
$query.= ' AND category_id = '.$row['category_id'];
$query.= ';';
mysql_query( $query );
$associate_or_dissociate = true;
update_category( $row['category_id'] );
}
}
if ( $associate_or_dissociate )
{
synchronize_all_users();
}
}
//----------------------------------------------------- template initialization
$sub = $vtp->Open(
@@ -306,12 +330,32 @@ if ( mysql_num_rows( $result ) > 0 )
$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, ' ' );
//
// We only show a List Of Values if the number of categories is less than
// $conf['max_LOV_categories']
$query = 'SELECT COUNT(id) AS nb_total_categories';
$query.= ' FROM '.PREFIX_TABLE.'categories';
$query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
if ( $row['nb_total_categories'] < $conf['max_LOV_categories'] )
{
$vtp->addSession( $sub, 'associate_LOV' );
$vtp->addSession( $sub, 'associate_cat' );
$vtp->setVar( $sub, 'associate_cat.value', '-1' );
$vtp->setVar( $sub, 'associate_cat.content', '' );
$vtp->closeSession( $sub, 'associate_cat' );
$page['plain_structure'] = get_plain_structure( true );
$structure = create_structure( '', array() );
display_categories( $structure, '&nbsp;' );
$vtp->closeSession( $sub, 'associate_LOV' );
}
// else, we only display a small text field, we suppose the administrator
// knows the id of its category
else
{
$vtp->addSession( $sub, 'associate_text' );
$vtp->closeSession( $sub, 'associate_text' );
}
//----------------------------------------------------------- sending html code
$vtp->Parse( $handle , 'sub', $sub );
?>