- Deletion of obsolete functions in the administrative part

- Repair of virtual category management


git-svn-id: http://piwigo.org/svn/trunk@496 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
gweltas
2004-08-25 22:25:58 +00:00
parent c8fb7c2e36
commit 11c2e58053
8 changed files with 46 additions and 184 deletions
-158
View File
@@ -554,164 +554,6 @@ function display_categories( $categories, $indent,
}
}
/**
* Complete plain structure of the gallery
*
* Returns the plain structure (one level array) of the gallery. In the
* returned array, each element is an array with jeys 'id' and
* 'id_uppercat'. The function also fills the array $page['subcats'] which
* associate (category_id => array of sub-categories id).
*
* @param bool $use_name
* @return array
*/
function get_plain_structure( $use_name = false )
{
global $page;
$plain_structure = array();
$query = 'SELECT id,id_uppercat';
if ( $use_name ) $query.= ',name';
$query.= ' FROM '.CATEGORIES_TABLE;
$query.= ' ORDER BY id_uppercat ASC, rank ASC';
$query.= ';';
$subcats = array();
$id_uppercat = 'NULL';
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
{
$plain_structure[$row['id']]['id'] = $row['id'];
if ( !isset( $row['id_uppercat'] ) ) $row['id_uppercat'] = 'NULL';
$plain_structure[$row['id']]['id_uppercat'] = $row['id_uppercat'];
if ( $use_name ) $plain_structure[$row['id']]['name'] = $row['name'];
// subcats list
if ( $row['id_uppercat'] != $id_uppercat )
{
$page['subcats'][$id_uppercat] = $subcats;
$subcats = array();
$id_uppercat = $row['id_uppercat'];
}
array_push( $subcats, $row['id'] );
}
mysql_free_result( $result );
$page['subcats'][$id_uppercat] = $subcats;
return $plain_structure;
}
/**
* get N levels array representing structure under the given category
*
* create_structure returns the N levels array representing structure under
* the given gategory id. It also updates the
* $page['plain_structure'][id]['all_subcats_id'] and
* $page['plain_structure'][id]['direct_subcats_ids'] for each sub category.
*
* @param int $id_uppercat
* @return array
*/
function create_structure( $id_uppercat )
{
global $page;
$structure = array();
$ids = get_subcats_ids( $id_uppercat );
foreach ( $ids as $id ) {
$category = $page['plain_structure'][$id];
$category['subcats'] = create_structure( $id );
$page['plain_structure'][$id]['all_subcats_ids'] =
get_all_subcats_ids( $id );
$page['plain_structure'][$id]['direct_subcats_ids'] =
get_subcats_ids( $id );
array_push( $structure, $category );
}
return $structure;
}
/**
* returns direct sub-categories ids
*
* Returns an array containing all the direct sub-categories ids of the
* given category. It uses the $page['subcats'] global array.
*
* @param int $id_uppercat
* @return array
*/
function get_subcats_ids( $id_uppercat )
{
global $page;
if ( $id_uppercat == '' ) $id_uppercat = 'NULL';
if ( isset( $page['subcats'][$id_uppercat] ) )
return $page['subcats'][$id_uppercat];
else
return array();
}
/**
* returns all sub-categories ids, not only direct ones
*
* Returns an array containing all the sub-categories ids of the given
* category, not only direct ones. This function is recursive.
*
* @param int $category_id
* @return array
*/
function get_all_subcats_ids( $category_id )
{
$ids = array();
$subcats = get_subcats_ids( $category_id );
$ids = array_merge( $ids, $subcats );
foreach ( $subcats as $subcat ) {
// recursive call
$sub_subcats = get_all_subcats_ids( $subcat );
$ids = array_merge( $ids, $sub_subcats );
}
return array_unique( $ids );
}
/**
* updates the column categories.uppercats
*
* @param int $category_id
* @return void
*/
function update_uppercats( $category_id )
{
global $page;
$final_id = $category_id;
$uppercats = array();
array_push( $uppercats, $category_id );
$uppercat = $page['plain_structure'][$category_id]['id_uppercat'];
while ( $uppercat != 'NULL' )
{
array_push( $uppercats, $uppercat );
$category_id = $page['plain_structure'][$category_id]['id_uppercat'];
$uppercat = $page['plain_structure'][$category_id]['id_uppercat'];
}
$string_uppercats = implode( ',', array_reverse( $uppercats ) );
$query = 'UPDATE '.CATEGORIES_TABLE;
$query.= ' SET uppercats = '."'".$string_uppercats."'";
$query.= ' WHERE id = '.$final_id;
$query.= ';';
mysql_query( $query );
}
/**
* returns an array with the ids of the restricted categories for the user
*