- 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

View file

@ -38,8 +38,9 @@ $navigation=$lang['gallery_index'];
//--------------------------------------------------- virtual categories
if ( isset( $_GET['delete'] ) && is_numeric( $_GET['delete'] ) )
{
delete_category( $_GET['delete'] );
synchronize_all_users();
$to_delete_categories = array();
array_push($to_delete_categories,$_GET['delete']);
delete_categories( $to_delete_categories );
}
elseif ( isset( $_POST['submit'] ) )
{
@ -49,14 +50,32 @@ elseif ( isset( $_POST['submit'] ) )
if ( !count( $errors ))
{
// we have then to add the virtual category
$parent_id = !empty($_GET['parent_id'])?$_GET['parent_id']:'NULL';
$parent_id = !empty($_GET['parent_id'])?$_GET['parent_id']:'NULL';
// As we don't create a virtual category every day, let's do (far) too much queries
if ($parent_id!='NULL')
{
$query = 'SELECT uppercats FROM '.CATEGORIES_TABLE;
$query.= ' WHERE id="'.$parent_id.'";';
$parent_uppercats = array_pop(mysql_fetch_array( mysql_query( $query )));
}
// we have then to add the virtual category
$query = 'INSERT INTO '.CATEGORIES_TABLE;
$query.= ' (name,id_uppercat,rank) VALUES ';
$query.= " ('".$_POST['virtual_name']."',".$parent_id.",".$_POST['rank'].")";
$query.= ';';
mysql_query( $query );
synchronize_all_users();
$query.= " ('".$_POST['virtual_name']."',".$parent_id.",".$_POST['rank'].");";
mysql_query( $query );
// And last we update the uppercats
$query = 'SELECT MAX(id) FROM '.CATEGORIES_TABLE.';';
$my_id = array_pop(mysql_fetch_array( mysql_query( $query )));
$query = 'UPDATE '.CATEGORIES_TABLE.' SET uppercats = "';
if (!empty($parent_uppercats))
{
$query.= $parent_uppercats.',';
}
$query.= $my_id;
$query.= '" WHERE id = '.$my_id.';';
mysql_query( $query );
}
}
@ -223,12 +242,12 @@ while (list ($id,$category) = each($categories))
if ($category['visible'] == 'false')
{
$category_image = '<img src="'.PHPWG_ROOT_PATH.'template/'.$user['template'].'/admin/images/icon_folder_lock.gif"
width="46" height="25" alt="'.$lang['cat_private'].'" title="'.$lang['cat_private'].'"/>';
alt="'.$lang['cat_private'].'" title="'.$lang['cat_private'].'"/>';
}
elseif (empty($category['dir']))
{
$category_image = '<img src="'.PHPWG_ROOT_PATH.'template/'.$user['template'].'/admin/images/icon_folder_link.gif"
width="46" height="25" alt="'.$lang['cat_virtual'].'" title="'.$lang['cat_virtual'].'"/>';
alt="'.$lang['cat_virtual'].'" title="'.$lang['cat_virtual'].'"/>';
}
else
{

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
*

View file

@ -25,8 +25,11 @@
// | USA. |
// +-----------------------------------------------------------------------+
include_once( './admin/include/isadmin.inc.php' );
include_once( './template/'.$user['template'].'/htmlfunctions.inc.php' );
if( !defined("PHPWG_ROOT_PATH") )
{
die ("Hacking attempt!");
}
include_once( PHPWG_ROOT_PATH.'admin/include/isadmin.inc.php' );
//-------------------------------------------------------------- initialization
$page['nb_image_page'] = 5;

View file

@ -413,7 +413,7 @@ function notify( $type, $infos = '' )
while ( $row = mysql_fetch_array( $result ) )
{
$to = $row['mail_address'];
include( PHPWG_ROOT_PATH.'language/'.$row['language'].'.php' );
include( PHPWG_ROOT_PATH.'language/'.$row['language'].'/common.lang.php' );
$content = $lang['mail_hello']."\n\n";
switch ( $type )
{

View file

@ -607,7 +607,7 @@ SELECT COUNT(DISTINCT(id)) AS nb_total_images
// pictures within the short period
else if ( $page['cat'] == 'recent_pics' )
{
$page['title'] = $lang['recent_pics_cat_title'];
$page['title'] = $lang['recent_pics_cat'];
// We must find the date corresponding to :
// today - $conf['periode_courte']
$date = time() - 60*60*24*$user['recent_period'];
@ -625,7 +625,7 @@ SELECT COUNT(DISTINCT(id)) AS nb_total_images
// categories containing recent pictures
else if ( $page['cat'] == 'recent_cats' )
{
$page['title'] = $lang['recent_cats_cat_title'];
$page['title'] = $lang['recent_cats_cat'];
$page['cat_nb_images'] = 0;
}
// most visited pictures

View file

@ -251,7 +251,7 @@ function get_html_menu_category($category)
<ul class="menu">';
foreach ($category['subcats'] as $subcat)
{
$menu.= get_html_menu_category($subcat, &$menu);
$menu.= get_html_menu_category($subcat);
}
$menu.= '
</ul>';

View file

@ -63,6 +63,9 @@ $lang['new'] = 'New';
$lang['identification'] = 'Identification';
//Calendar
$lang['calendar'] = 'calendar';
$lang['calendar_hint'] = 'displays each day with pictures, month per month';
$lang['calendar_picture_hint'] = 'displays pictures added on ';
$lang['month'][1] = 'January';
$lang['month'][2] = 'February';
$lang['month'][3] = 'March';
@ -207,12 +210,10 @@ $lang['most_visited_cat_hint'] = 'displays most visited pictures';
$lang['most_visited_cat'] = 'most visited';
$lang['best_rated_cat_hint'] = 'displays pictures best rated';
$lang['best_rated_cat'] = 'best rated';
$lang['recent_pics_cat_hint'] = 'displays most recent pictures';
$lang['recent_pics_cat'] = 'recent pictures';
$lang['recent_pics_cat_title'] = 'Recent pictures';
$lang['recent_cats_cat_hint'] = 'displays recently updated categories';
$lang['recent_cats_cat'] = 'updated categories';
$lang['recent_cats_cat_title'] = 'Recently updated categories';
$lang['recent_pics_cat_hint'] = 'Displays most recent pictures';
$lang['recent_pics_cat'] = 'Last pictures';
$lang['recent_cats_cat_hint'] = 'Displays recently updated categories';
$lang['recent_cats_cat'] = 'Last categories';
$lang['visited'] = 'visited';
$lang['times'] = 'times';
$lang['customize_theme'] = 'interface theme';
@ -255,9 +256,6 @@ $lang['hint_comments'] = 'See last users comments';
$lang['menu_login'] = 'login';
$lang['update_wrong_dirname'] = 'The name of directories and files must be composed of letters, figures, "-", "_" or "."';
$lang['hello'] = 'Hello';
$lang['calendar'] = 'calendar';
$lang['calendar_hint'] = 'displays each day with pictures, month per month';
$lang['calendar_picture_hint'] = 'displays pictures added on ';
// search
$lang['search_wrong_date'] = ' : this date is not valid';

View file

@ -723,7 +723,7 @@ if ( !$user['is_the_guest'] )
$url.='&amp;add_fav=1';
if ( $page['cat'] == 'search' )
{
$url.= '&amp;search='.$_GET['search'].'&amp;mode='.$_GET['mode'];
$url.= '&amp;search='.$_GET['search'];
}
$template->assign_block_vars('favorite', array(
'FAVORITE_IMG' => PHPWG_ROOT_PATH.'template/'.$user['template'].'/theme/favorite.gif',