- refactoring page['category'] before 1.7 release
page['category'] is not an id anymore, but an associative array of category info all of page['cat_xxx'] or page['uppercats'] merged into one simplifies calls to make_index_url give plugins a clean start for page variables for version 1.7 git-svn-id: http://piwigo.org/svn/trunk@1861 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
bfb4b15d2f
commit
47512ce6a6
20 changed files with 128 additions and 172 deletions
|
@ -2,10 +2,9 @@
|
|||
// +-----------------------------------------------------------------------+
|
||||
// | PhpWebGallery - a PHP based picture gallery |
|
||||
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
|
||||
// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
|
||||
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | branch : BSF (Best So Far)
|
||||
// | file : $RCSfile$
|
||||
// | file : $Id$
|
||||
// | last update : $Date$
|
||||
// | last modifier : $Author$
|
||||
// | revision : $Revision$
|
||||
|
@ -172,10 +171,8 @@ if (isset($_GET['parent_id']))
|
|||
{
|
||||
$navigation.= $conf['level_separator'];
|
||||
|
||||
$current_category = get_cat_info($_GET['parent_id']);
|
||||
|
||||
$navigation.= get_cat_display_name(
|
||||
$current_category['name'],
|
||||
$navigation.= get_cat_display_name_from_id(
|
||||
$_GET['parent_id'],
|
||||
$base_url.'&parent_id=',
|
||||
false
|
||||
);
|
||||
|
@ -277,8 +274,7 @@ foreach ($categories as $category)
|
|||
|
||||
'U_JUMPTO' => make_index_url(
|
||||
array(
|
||||
'category' => $category['id'],
|
||||
'cat_name' => $category['name'],
|
||||
'category' => $category
|
||||
)
|
||||
),
|
||||
|
||||
|
|
|
@ -2,10 +2,9 @@
|
|||
// +-----------------------------------------------------------------------+
|
||||
// | PhpWebGallery - a PHP based picture gallery |
|
||||
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
|
||||
// | Copyright (C) 2003-2006 PhpWebGallery Team - http://phpwebgallery.net |
|
||||
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | branch : BSF (Best So Far)
|
||||
// | file : $RCSfile$
|
||||
// | file : $Id$
|
||||
// | last update : $Date$
|
||||
// | last modifier : $Author$
|
||||
// | revision : $Revision$
|
||||
|
@ -279,8 +278,7 @@ $template->assign_vars(
|
|||
|
||||
'U_JUMPTO' => make_index_url(
|
||||
array(
|
||||
'category' => $category['id'],
|
||||
'cat_name' => $category['name'],
|
||||
'category' => $category
|
||||
)
|
||||
),
|
||||
|
||||
|
|
|
@ -2,10 +2,9 @@
|
|||
// +-----------------------------------------------------------------------+
|
||||
// | PhpWebGallery - a PHP based picture gallery |
|
||||
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
|
||||
// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
|
||||
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | branch : BSF (Best So Far)
|
||||
// | file : $RCSfile$
|
||||
// | file : $Id$
|
||||
// | last update : $Date$
|
||||
// | last modifier : $Author$
|
||||
// | revision : $Revision$
|
||||
|
@ -109,10 +108,9 @@ DELETE
|
|||
|
||||
if (is_numeric($_GET['cat']))
|
||||
{
|
||||
$cat_infos = get_cat_info($_GET['cat']);
|
||||
$page['title'] =
|
||||
get_cat_display_name(
|
||||
$cat_infos['name'],
|
||||
get_cat_display_name_from_id(
|
||||
$_GET['cat'],
|
||||
PHPWG_ROOT_PATH.'admin.php?page=cat_modify&cat_id=',
|
||||
false
|
||||
);
|
||||
|
|
|
@ -253,8 +253,8 @@ $template->assign_vars(
|
|||
'TAG_SELECTION' => $tag_selection,
|
||||
|
||||
'DESCRIPTION' =>
|
||||
isset($_POST['description']) ?
|
||||
stripslashes($_POST['description']) : @$row['comment'],
|
||||
htmlspecialchars( isset($_POST['description']) ?
|
||||
stripslashes($_POST['description']) : @$row['comment'] ),
|
||||
|
||||
'F_ACTION' =>
|
||||
PHPWG_ROOT_PATH.'admin.php'
|
||||
|
@ -347,7 +347,7 @@ if (isset($_GET['cat_id'])
|
|||
array(
|
||||
'image_id' => $_GET['image_id'],
|
||||
'image_file' => $image_file,
|
||||
'category' => $_GET['cat_id'],
|
||||
'category' => $cache['cat_names'][ $_GET['cat_id'] ],
|
||||
)
|
||||
);
|
||||
}
|
||||
|
@ -359,7 +359,7 @@ else
|
|||
array(
|
||||
'image_id' => $_GET['image_id'],
|
||||
'image_file' => $image_file,
|
||||
'category' => $category,
|
||||
'category' => $cache['cat_names'][ $category ],
|
||||
)
|
||||
);
|
||||
break;
|
||||
|
|
|
@ -2,10 +2,9 @@
|
|||
// +-----------------------------------------------------------------------+
|
||||
// | PhpWebGallery - a PHP based picture gallery |
|
||||
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
|
||||
// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
|
||||
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | branch : BSF (Best So Far)
|
||||
// | file : $RCSfile$
|
||||
// | file : $Id$
|
||||
// | last update : $Date$
|
||||
// | last modifier : $Author$
|
||||
// | revision : $Revision$
|
||||
|
@ -161,7 +160,7 @@ while ( $row = mysql_fetch_array( $result ) )
|
|||
$cat_names[$row['storage_category_id']]['dir'] =
|
||||
PHPWG_ROOT_PATH.get_complete_dir( $row['storage_category_id'] );
|
||||
$cat_names[$row['storage_category_id']]['display_name'] =
|
||||
get_cat_display_name($cat['name']);
|
||||
get_cat_display_name($cat['upper_names']);
|
||||
}
|
||||
$preview_url = PHPWG_ROOT_PATH.$cat_names[$row['storage_category_id']]['dir'].$row['file'];
|
||||
$class='row1';
|
||||
|
|
|
@ -38,10 +38,11 @@ if ( isset($_GET['cat']) )
|
|||
if ( is_numeric($_GET['cat']) )
|
||||
{
|
||||
$url_params['section'] = 'categories';
|
||||
$url_params['category'] = $_GET['cat'];
|
||||
$result = get_cat_info($url_params['category']);
|
||||
$result = get_cat_info( $_GET['cat'] );
|
||||
if ( !empty($result) )
|
||||
$url_params['cat_name'] = $result['name'];
|
||||
{
|
||||
$url_params['category'] = $result;
|
||||
}
|
||||
}
|
||||
elseif ( in_array($_GET['cat'],
|
||||
array('best_rated','most_visited','recent_pics','recent_cats')
|
||||
|
|
|
@ -205,7 +205,7 @@ $template->assign_block_vars(
|
|||
));
|
||||
|
||||
$query = '
|
||||
SELECT id,name,uppercats,global_rank
|
||||
SELECT id, name, uppercats, global_rank
|
||||
FROM '.CATEGORIES_TABLE.'
|
||||
'.get_sql_condition_FandF
|
||||
(
|
||||
|
@ -398,8 +398,7 @@ SELECT id, name, uppercats
|
|||
// link to the full size picture
|
||||
$url = make_picture_url(
|
||||
array(
|
||||
'category' => $comment['category_id'],
|
||||
'cat_name' => $categories[ $comment['category_id']] ['name'],
|
||||
'category' => $categories[ $comment['category_id'] ],
|
||||
'image_id' => $comment['image_id'],
|
||||
'image_file' => $elements[$comment['image_id']]['file'],
|
||||
)
|
||||
|
|
|
@ -35,7 +35,7 @@ if ($page['section']=='recent_cats')
|
|||
// $user['forbidden_categories'] including with USER_CACHE_CATEGORIES_TABLE
|
||||
$query = '
|
||||
SELECT
|
||||
id,name, representative_picture_id, comment, nb_images, uppercats,
|
||||
id, name, representative_picture_id, comment, nb_images, uppercats,
|
||||
date_last, max_date_last, count_images, count_categories, global_rank
|
||||
FROM '.CATEGORIES_TABLE.' INNER JOIN '.USER_CACHE_CATEGORIES_TABLE.'
|
||||
ON id = cat_id and user_id = '.$user['id'].'
|
||||
|
@ -57,12 +57,12 @@ else
|
|||
// $user['forbidden_categories'] including with USER_CACHE_CATEGORIES_TABLE
|
||||
$query = '
|
||||
SELECT
|
||||
id,name, representative_picture_id, comment, nb_images,
|
||||
id, name, representative_picture_id, comment, nb_images,
|
||||
date_last, max_date_last, count_images, count_categories
|
||||
FROM '.CATEGORIES_TABLE.' INNER JOIN '.USER_CACHE_CATEGORIES_TABLE.'
|
||||
ON id = cat_id and user_id = '.$user['id'].'
|
||||
WHERE id_uppercat '.
|
||||
(!isset($page['category']) ? 'is NULL' : '= '.$page['category']).'
|
||||
(!isset($page['category']) ? 'is NULL' : '= '.$page['category']['id']).'
|
||||
'.get_sql_condition_FandF
|
||||
(
|
||||
array
|
||||
|
@ -206,8 +206,7 @@ if (count($categories) > 0)
|
|||
|
||||
'URL' => make_index_url(
|
||||
array(
|
||||
'category' => $category['id'],
|
||||
'cat_name' => $category['name'],
|
||||
'category' => $category
|
||||
)
|
||||
),
|
||||
'CAPTION_NB_IMAGES' => get_display_images_count
|
||||
|
@ -258,8 +257,7 @@ if (count($categories) > 0)
|
|||
|
||||
'U_IMG_LINK' => make_index_url(
|
||||
array(
|
||||
'category' => $category['id'],
|
||||
'cat_name' => $category['name'],
|
||||
'category' => $category
|
||||
)
|
||||
),
|
||||
'CLASS' => 'thumbCat',
|
||||
|
|
|
@ -157,7 +157,7 @@ foreach ($pictures as $row)
|
|||
|
||||
if ($user['show_nb_comments']
|
||||
and isset($page['category'])
|
||||
and $page['cat_commentable'])
|
||||
and $page['category']['commentable'])
|
||||
{
|
||||
$query = '
|
||||
SELECT COUNT(*) AS nb_comments
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
|
||||
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | branch : BSF (Best So Far)
|
||||
// | file : $Id$
|
||||
// | last update : $Date$
|
||||
// | last modifier : $Author$
|
||||
|
@ -482,7 +481,7 @@ INSERT INTO '.HISTORY_TABLE.'
|
|||
'.$user['id'].',
|
||||
\''.$_SERVER['REMOTE_ADDR'].'\',
|
||||
'.(isset($page['section']) ? "'".$page['section']."'" : 'NULL').',
|
||||
'.(isset($page['category']) ? $page['category'] : 'NULL').',
|
||||
'.(isset($page['category']) ? $page['category']['id'] : 'NULL').',
|
||||
'.(isset($image_id) ? $image_id : 'NULL').',
|
||||
'.(isset($image_id) ? "'".$image_type."'" : 'NULL').',
|
||||
'.(isset($tags_string) ? "'".$tags_string."'" : 'NULL').'
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
<?php
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | PhpWebGallery - a PHP based picture gallery |
|
||||
// | Copyright (C) 2003-2006 PhpWebGallery Team - http://phpwebgallery.net |
|
||||
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | branch : BSF (Best So Far)
|
||||
// | file : $RCSfile$
|
||||
// | file : $Id$
|
||||
// | last update : $Date$
|
||||
// | last modifier : $Author$
|
||||
// | revision : $Revision$
|
||||
|
@ -34,17 +33,16 @@ function initialize_calendar()
|
|||
//------------------ initialize the condition on items to take into account ---
|
||||
$inner_sql = ' FROM ' . IMAGES_TABLE;
|
||||
|
||||
if ($page['section']=='categories' or
|
||||
( isset($page['category']) and is_numeric($page['category']) ) )
|
||||
if ($page['section']=='categories')
|
||||
{ // we will regenerate the items by including subcats elements
|
||||
$page['items'] = array();
|
||||
$inner_sql .= '
|
||||
INNER JOIN '.IMAGE_CATEGORY_TABLE.' ON id = image_id';
|
||||
|
||||
if (isset($page['category']) and is_numeric($page['category']))
|
||||
if ( isset($page['category']) )
|
||||
{
|
||||
$sub_ids = array_diff(
|
||||
get_subcat_ids(array($page['category'])),
|
||||
get_subcat_ids(array($page['category']['id'])),
|
||||
explode(',', $user['forbidden_categories'])
|
||||
);
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ WHERE
|
|||
(id_uppercat is NULL';
|
||||
if (isset($page['category']))
|
||||
{
|
||||
$query.= ' OR id_uppercat IN ('.$page['uppercats'].')';
|
||||
$query.= ' OR id_uppercat IN ('.$page['category']['uppercats'].')';
|
||||
}
|
||||
$query.= ')';
|
||||
}
|
||||
|
@ -111,7 +111,7 @@ WHERE
|
|||
update_cats_with_filtered_data($cats);
|
||||
}
|
||||
|
||||
return get_html_menu_category($cats);
|
||||
return get_html_menu_category($cats, @$page['category'] );
|
||||
}
|
||||
|
||||
|
||||
|
@ -134,62 +134,48 @@ WHERE
|
|||
*/
|
||||
function get_cat_info( $id )
|
||||
{
|
||||
$infos = array('nb_images','id_uppercat','comment','site_id'
|
||||
,'dir','date_last','uploadable','status','visible'
|
||||
,'representative_picture_id','uppercats','commentable'
|
||||
,'image_order');
|
||||
|
||||
$query = '
|
||||
SELECT '.implode(',', $infos).'
|
||||
SELECT *
|
||||
FROM '.CATEGORIES_TABLE.'
|
||||
WHERE id = '.$id.'
|
||||
;';
|
||||
$row = mysql_fetch_array(pwg_query($query));
|
||||
if (empty($row))
|
||||
$cat = mysql_fetch_assoc(pwg_query($query));
|
||||
if (empty($cat))
|
||||
return null;
|
||||
|
||||
$cat = array();
|
||||
foreach ($infos as $info)
|
||||
foreach ($cat as $k => $v)
|
||||
{
|
||||
if (isset($row[$info]))
|
||||
{
|
||||
$cat[$info] = $row[$info];
|
||||
}
|
||||
else
|
||||
{
|
||||
$cat[$info] = '';
|
||||
}
|
||||
// If the field is true or false, the variable is transformed into a
|
||||
// boolean value.
|
||||
if ($cat[$info] == 'true' or $cat[$info] == 'false')
|
||||
if ($cat[$k] == 'true' or $cat[$k] == 'false')
|
||||
{
|
||||
$cat[$info] = get_boolean( $cat[$info] );
|
||||
$cat[$k] = get_boolean( $cat[$k] );
|
||||
}
|
||||
}
|
||||
global $conf;
|
||||
if ( !( $conf['allow_html_descriptions'] and
|
||||
preg_match('/<(div|br|img|script).*>/i', $cat['comment']) ) )
|
||||
{
|
||||
$cat['comment'] = nl2br($cat['comment']);
|
||||
$cat['comment'] = nl2br(@$cat['comment']);
|
||||
}
|
||||
|
||||
$names = array();
|
||||
$query = '
|
||||
SELECT name,id
|
||||
SELECT id, name
|
||||
FROM '.CATEGORIES_TABLE.'
|
||||
WHERE id IN ('.$cat['uppercats'].')
|
||||
;';
|
||||
$result = pwg_query($query);
|
||||
while($row = mysql_fetch_array($result))
|
||||
while($row = mysql_fetch_assoc($result))
|
||||
{
|
||||
$names[$row['id']] = $row['name'];
|
||||
$names[$row['id']] = $row;
|
||||
}
|
||||
|
||||
// category names must be in the same order than uppercats list
|
||||
$cat['name'] = array();
|
||||
$cat['upper_names'] = array();
|
||||
foreach (explode(',', $cat['uppercats']) as $cat_id)
|
||||
{
|
||||
$cat['name'][$cat_id] = $names[$cat_id];
|
||||
$cat['upper_names'][$cat_id] = $names[$cat_id];
|
||||
}
|
||||
|
||||
return $cat;
|
||||
|
@ -345,6 +331,11 @@ SELECT DISTINCT(id)
|
|||
WHERE ';
|
||||
foreach ($ids as $num => $category_id)
|
||||
{
|
||||
is_numeric($category_id)
|
||||
or trigger_error(
|
||||
'get_subcat_ids expecting numeric, not '.gettype($category_id),
|
||||
E_USER_WARNING
|
||||
);
|
||||
if ($num > 0)
|
||||
{
|
||||
$query.= '
|
||||
|
|
|
@ -235,7 +235,7 @@ function create_navigation_bar(
|
|||
*
|
||||
* categories string returned contains categories as given in the input
|
||||
* array $cat_informations. $cat_informations array must be an association
|
||||
* of {category_id => category_name}. If url input parameter is null,
|
||||
* of {category_id => array( id, name) }. If url input parameter is null,
|
||||
* returns only the categories name without links.
|
||||
*
|
||||
* @param array cat_informations
|
||||
|
@ -251,8 +251,11 @@ function get_cat_display_name($cat_informations,
|
|||
|
||||
$output = '';
|
||||
$is_first = true;
|
||||
foreach ($cat_informations as $id => $name)
|
||||
foreach ($cat_informations as $id => $cat)
|
||||
{
|
||||
is_array($cat) or trigger_error(
|
||||
'get_cat_display_name wrong type for cat '.$id, E_USER_WARNING
|
||||
);
|
||||
if ($is_first)
|
||||
{
|
||||
$is_first = false;
|
||||
|
@ -264,24 +267,23 @@ function get_cat_display_name($cat_informations,
|
|||
|
||||
if ( !isset($url) )
|
||||
{
|
||||
$output.= $name;
|
||||
$output.= $cat['name'];
|
||||
}
|
||||
elseif ($url == '')
|
||||
{
|
||||
$output.= '<a href="'
|
||||
.make_index_url(
|
||||
array(
|
||||
'category'=>$id,
|
||||
'cat_name'=>$name
|
||||
'category' => $cat,
|
||||
)
|
||||
)
|
||||
.'">';
|
||||
$output.= $name.'</a>';
|
||||
$output.= $cat['name'].'</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$output.= '<a href="'.PHPWG_ROOT_PATH.$url.$id.'">';
|
||||
$output.= $name.'</a>';
|
||||
$output.= $cat['name'].'</a>';
|
||||
}
|
||||
}
|
||||
if ($replace_space)
|
||||
|
@ -311,18 +313,18 @@ function get_cat_display_name_cache($uppercats,
|
|||
$url = '',
|
||||
$replace_space = true)
|
||||
{
|
||||
global $cat_names, $conf;
|
||||
global $cache, $conf;
|
||||
|
||||
if (!isset($cat_names))
|
||||
if (!isset($cache['cat_names']))
|
||||
{
|
||||
$query = '
|
||||
SELECT id,name
|
||||
SELECT id, name
|
||||
FROM '.CATEGORIES_TABLE.'
|
||||
;';
|
||||
$result = pwg_query($query);
|
||||
while ($row = mysql_fetch_array($result))
|
||||
while ($row = mysql_fetch_assoc($result))
|
||||
{
|
||||
$cat_names[$row['id']] = $row['name'];
|
||||
$cache['cat_names'][$row['id']] = $row;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -330,7 +332,7 @@ SELECT id,name
|
|||
$is_first = true;
|
||||
foreach (explode(',', $uppercats) as $category_id)
|
||||
{
|
||||
$name = $cat_names[$category_id];
|
||||
$cat = $cache['cat_names'][$category_id];
|
||||
|
||||
if ($is_first)
|
||||
{
|
||||
|
@ -343,7 +345,7 @@ SELECT id,name
|
|||
|
||||
if ( !isset($url) )
|
||||
{
|
||||
$output.= $name;
|
||||
$output.= $cat['name'];
|
||||
}
|
||||
elseif ($url == '')
|
||||
{
|
||||
|
@ -351,16 +353,15 @@ SELECT id,name
|
|||
<a href="'
|
||||
.make_index_url(
|
||||
array(
|
||||
'category'=>$category_id,
|
||||
'cat_name'=>$name
|
||||
'category' => $cat,
|
||||
)
|
||||
)
|
||||
.'">'.$name.'</a>';
|
||||
.'">'.$cat['name'].'</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$output.= '
|
||||
<a href="'.PHPWG_ROOT_PATH.$url.$category_id.'">'.$name.'</a>';
|
||||
<a href="'.PHPWG_ROOT_PATH.$url.$category_id.'">'.$cat['name'].'</a>';
|
||||
}
|
||||
}
|
||||
if ($replace_space)
|
||||
|
@ -384,21 +385,14 @@ SELECT id,name
|
|||
* @param array categories
|
||||
* @return string
|
||||
*/
|
||||
function get_html_menu_category($categories)
|
||||
function get_html_menu_category($categories, $selected_category)
|
||||
{
|
||||
global $page, $lang;
|
||||
global $lang;
|
||||
|
||||
$ref_level = 0;
|
||||
$level = 0;
|
||||
$menu = '';
|
||||
|
||||
// $page_cat value remains 0 for special sections
|
||||
$page_cat = 0;
|
||||
if (isset($page['category']))
|
||||
{
|
||||
$page_cat = $page['category'];
|
||||
}
|
||||
|
||||
foreach ($categories as $category)
|
||||
{
|
||||
$level = substr_count($category['global_rank'], '.') + 1;
|
||||
|
@ -419,7 +413,7 @@ function get_html_menu_category($categories)
|
|||
$ref_level = $level;
|
||||
|
||||
$menu.= "\n\n".'<li';
|
||||
if ($category['id'] == $page_cat)
|
||||
if ($category['id'] == @$selected_category['id'])
|
||||
{
|
||||
$menu.= ' class="selected"';
|
||||
}
|
||||
|
@ -427,14 +421,13 @@ function get_html_menu_category($categories)
|
|||
|
||||
$url = make_index_url(
|
||||
array(
|
||||
'category'=>$category['id'],
|
||||
'cat_name'=>$category['name']
|
||||
'category' => $category
|
||||
)
|
||||
);
|
||||
|
||||
$menu.= "\n".'<a href="'.$url.'"';
|
||||
if ($page_cat != 0
|
||||
and $category['id'] == $page['cat_id_uppercat'])
|
||||
if ($selected_category!=null
|
||||
and $category['id'] == $selected_category['id_uppercat'])
|
||||
{
|
||||
$menu.= ' rel="up"';
|
||||
}
|
||||
|
@ -509,7 +502,7 @@ function get_cat_display_name_from_id($cat_id,
|
|||
$replace_space = true)
|
||||
{
|
||||
$cat_info = get_cat_info($cat_id);
|
||||
return get_cat_display_name($cat_info['name'], $url, $replace_space);
|
||||
return get_cat_display_name($cat_info['upper_names'], $url, $replace_space);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
// | PhpWebGallery - a PHP based picture gallery |
|
||||
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | branch : BSF (Best So Far)
|
||||
// | file : $Id$
|
||||
// | last update : $Date$
|
||||
// | last modifier : $Author$
|
||||
|
@ -133,9 +132,11 @@ function make_index_url($params = array())
|
|||
* build an index URL with current page parameters, but with redefinitions
|
||||
* and removes.
|
||||
*
|
||||
* duplicate_index_url(array('category' => 12), array('start')) will create
|
||||
* an index URL on the current section (categories), but on a redefined
|
||||
* category and without the start URL parameter.
|
||||
* duplicate_index_url( array(
|
||||
* 'category' => array('id'=>12, 'name'=>'toto'),
|
||||
* array('start')
|
||||
* ) will create an index URL on the current section (categories), but on
|
||||
* a redefined category and without the start URL parameter.
|
||||
*
|
||||
* @param array redefined keys
|
||||
* @param array removed keys
|
||||
|
@ -325,19 +326,20 @@ function make_section_in_url($params)
|
|||
}
|
||||
else
|
||||
{
|
||||
$section_string.= '/category/'.$params['category'];
|
||||
if ($conf['category_url_style']=='id-name' and isset($params['cat_name']) )
|
||||
is_array($params['category']) or trigger_error(
|
||||
'make_section_in_url wrong type for category', E_USER_WARNING
|
||||
);
|
||||
is_numeric($params['category']['id']) or trigger_error(
|
||||
'make_section_in_url category id not numeric', E_USER_WARNING
|
||||
);
|
||||
isset($params['category']['name']) or trigger_error(
|
||||
'make_section_in_url category name not set', E_USER_WARNING
|
||||
);
|
||||
|
||||
$section_string.= '/category/'.$params['category']['id'];
|
||||
if ( $conf['category_url_style']=='id-name' )
|
||||
{
|
||||
if ( is_string($params['cat_name']) )
|
||||
{
|
||||
$section_string.= '-'.str2url($params['cat_name']);
|
||||
}
|
||||
elseif ( is_array( $params['cat_name'] ) and
|
||||
isset( $params['cat_name'][$params['category']] ) )
|
||||
{
|
||||
$section_string.= '-'
|
||||
.str2url($params['cat_name'][$params['category']]);
|
||||
}
|
||||
$section_string.= '-'.str2url($params['category']['name']);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
|
||||
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | branch : BSF (Best So Far)
|
||||
// | file : $Id$
|
||||
// | last update : $Date$
|
||||
// | last modifier : $Author$
|
||||
|
@ -333,9 +332,9 @@ $template->assign_block_vars(
|
|||
)
|
||||
);
|
||||
|
||||
if (isset($page['category']) and $page['cat_uploadable'] )
|
||||
if (isset($page['category']) and $page['category']['uploadable'] )
|
||||
{ // upload a picture in the category
|
||||
$url = get_root_url().'upload.php?cat='.$page['category'];
|
||||
$url = get_root_url().'upload.php?cat='.$page['category']['id'];
|
||||
$template->assign_block_vars(
|
||||
'upload',
|
||||
array(
|
||||
|
|
|
@ -34,15 +34,14 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// "index.php?/category/12-foo/start-24&action=fill_caddie" or
|
||||
// "index.php/category/12-foo/start-24&action=fill_caddie"
|
||||
// "index.php?/category/12-foo/start-24" or
|
||||
// "index.php/category/12-foo/start-24"
|
||||
// must return :
|
||||
//
|
||||
// array(
|
||||
// 'section' => 'categories',
|
||||
// 'category' => 12,
|
||||
// 'category' => array('id'=>12, ...),
|
||||
// 'start' => 24
|
||||
// 'action' => 'fill_caddie'
|
||||
// );
|
||||
|
||||
$page['items'] = array();
|
||||
|
@ -87,7 +86,7 @@ if (script_basename() == 'picture') // basename without file extention
|
|||
{// url compatibility with versions below 1.6
|
||||
$url = make_picture_url( array(
|
||||
'section' => 'categories',
|
||||
'category' => $_GET['cat'],
|
||||
'category' => get_cat_info($_GET['cat']),
|
||||
'image_id' => $_GET['image_id']
|
||||
) );
|
||||
redirect($url);
|
||||
|
@ -360,15 +359,9 @@ if ('categories' == $page['section'])
|
|||
$page,
|
||||
array(
|
||||
'comment' => $result['comment'],
|
||||
'cat_dir' => $result['dir'],
|
||||
'cat_name' => $result['name'],
|
||||
'cat_site_id' => $result['site_id'],
|
||||
'cat_uploadable' => $result['uploadable'],
|
||||
'cat_commentable' => $result['commentable'],
|
||||
'cat_id_uppercat' => $result['id_uppercat'],
|
||||
'uppercats' => $result['uppercats'],
|
||||
'category' => $result,
|
||||
'title' =>
|
||||
get_cat_display_name($result['name'], '', false),
|
||||
get_cat_display_name($result['upper_names'], '', false),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
@ -395,7 +388,7 @@ if ('categories' == $page['section'])
|
|||
{// flat categories mode
|
||||
if ( isset($page['category']) )
|
||||
{
|
||||
$subcat_ids = get_subcat_ids( array($page['category']) );
|
||||
$subcat_ids = get_subcat_ids( array($page['category']['id']) );
|
||||
$where_sql = 'category_id IN ('.implode(',',$subcat_ids).')';
|
||||
}
|
||||
else
|
||||
|
@ -405,7 +398,7 @@ if ('categories' == $page['section'])
|
|||
}
|
||||
else
|
||||
{// Normal mode
|
||||
$where_sql = 'category_id = '.$page['category'];
|
||||
$where_sql = 'category_id = '.$page['category']['id'];
|
||||
}
|
||||
|
||||
// Main query
|
||||
|
|
|
@ -386,14 +386,12 @@ LIMIT '.$params['per_page']*$params['page'].','.$params['per_page'];
|
|||
{
|
||||
$url = make_index_url(
|
||||
array(
|
||||
'category' => $cat_id,
|
||||
'cat_name' => $cats[$cat_id]['name'],
|
||||
'category' => $cats[$cat_id],
|
||||
)
|
||||
);
|
||||
$page_url = make_picture_url(
|
||||
array(
|
||||
'category' => $cat_id,
|
||||
'cat_name' => $cats[$cat_id]['name'],
|
||||
'category' => $cats[$cat_id],
|
||||
'image_id' => $row['id'],
|
||||
'image_file' => $row['file'],
|
||||
)
|
||||
|
@ -484,8 +482,7 @@ ORDER BY global_rank';
|
|||
{
|
||||
$row['url'] = make_index_url(
|
||||
array(
|
||||
'category' => $row['id'],
|
||||
'cat_name' => $row['name'],
|
||||
'category' => $row
|
||||
)
|
||||
);
|
||||
foreach( array('id','nb_images','total_nb_images','nb_categories') as $key)
|
||||
|
@ -599,7 +596,7 @@ LIMIT 1;';
|
|||
|
||||
//-------------------------------------------------------- related categories
|
||||
$query = '
|
||||
SELECT id,name,uppercats,global_rank,commentable
|
||||
SELECT id, name, uppercats, global_rank, commentable
|
||||
FROM '.IMAGE_CATEGORY_TABLE.'
|
||||
INNER JOIN '.CATEGORIES_TABLE.' ON category_id = id
|
||||
WHERE image_id = '.$image_row['id'].'
|
||||
|
@ -617,8 +614,7 @@ SELECT id,name,uppercats,global_rank,commentable
|
|||
unset($row['commentable']);
|
||||
$row['url'] = make_index_url(
|
||||
array(
|
||||
'category' => $row['id'],
|
||||
'cat_name' => $row['name'],
|
||||
'category' => $row
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -626,8 +622,7 @@ SELECT id,name,uppercats,global_rank,commentable
|
|||
array(
|
||||
'image_id' => $image_row['id'],
|
||||
'image_file' => $image_row['file'],
|
||||
'category' => $row['id'],
|
||||
'cat_name' => $row['name'],
|
||||
'category' => $row
|
||||
)
|
||||
);
|
||||
$row['id']=(int)$row['id'];
|
||||
|
|
|
@ -65,7 +65,7 @@ if (!isset($page['start']))
|
|||
// access authorization check
|
||||
if (isset($page['category']))
|
||||
{
|
||||
check_restrictions($page['category']);
|
||||
check_restrictions($page['category']['id']);
|
||||
}
|
||||
|
||||
if ( count($page['items']) > $user['nb_image_page'])
|
||||
|
@ -193,7 +193,7 @@ if (isset($page['category']) and is_admin())
|
|||
array(
|
||||
'URL' =>
|
||||
get_root_url().'admin.php?page=cat_modify'
|
||||
.'&cat_id='.$page['category']
|
||||
.'&cat_id='.$page['category']['id']
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ check_status(ACCESS_GUEST);
|
|||
// access authorization check
|
||||
if (isset($page['category']))
|
||||
{
|
||||
check_restrictions($page['category']);
|
||||
check_restrictions($page['category']['id']);
|
||||
}
|
||||
|
||||
// if this image_id doesn't correspond to this category, an error message is
|
||||
|
@ -199,7 +199,7 @@ DELETE FROM '.FAVORITES_TABLE.'
|
|||
$query = '
|
||||
UPDATE '.CATEGORIES_TABLE.'
|
||||
SET representative_picture_id = '.$page['image_id'].'
|
||||
WHERE id = '.$page['category'].'
|
||||
WHERE id = '.$page['category']['id'].'
|
||||
;';
|
||||
pwg_query($query);
|
||||
}
|
||||
|
@ -420,7 +420,7 @@ if (!empty($picture['current']['width']))
|
|||
|
||||
$url_admin =
|
||||
get_root_url().'admin.php?page=picture_modify'
|
||||
.'&cat_id='.(isset($page['category']) ? $page['category'] : '')
|
||||
.'&cat_id='.(isset($page['category']) ? $page['category']['id'] : '')
|
||||
.'&image_id='.$page['image_id']
|
||||
;
|
||||
|
||||
|
|
17
upload.php
17
upload.php
|
@ -132,13 +132,10 @@ if (is_numeric($_GET['cat']))
|
|||
if (isset($page['category']))
|
||||
{
|
||||
check_restrictions( $page['category'] );
|
||||
$result = get_cat_info( $page['category'] );
|
||||
$page['cat_dir'] = get_complete_dir( $page['category'] );
|
||||
$page['cat_site_id'] = $result['site_id'];
|
||||
$page['cat_name'] = $result['name'];
|
||||
$page['cat_uploadable'] = $result['uploadable'];
|
||||
$category = get_cat_info( $page['category'] );
|
||||
$category['cat_dir'] = get_complete_dir( $page['category'] );
|
||||
|
||||
if (url_is_remote($page['cat_dir']) or !$page['cat_uploadable'])
|
||||
if (url_is_remote($category['cat_dir']) or !$category['uploadable'])
|
||||
{
|
||||
die('Fatal: you take a wrong way, bye bye');
|
||||
}
|
||||
|
@ -154,7 +151,7 @@ if ( isset( $_GET['waiting_id'] ) )
|
|||
// verfying fields
|
||||
if ( isset( $_POST['submit'] ) and !isset( $_GET['waiting_id'] ) )
|
||||
{
|
||||
$path = $page['cat_dir'].$_FILES['picture']['name'];
|
||||
$path = $category['cat_dir'].$_FILES['picture']['name'];
|
||||
if ( @is_file( $path ) )
|
||||
{
|
||||
array_push( $error, l10n('upload_file_exists') );
|
||||
|
@ -241,7 +238,7 @@ if ( isset( $_POST['submit'] ) and isset( $_GET['waiting_id'] ) )
|
|||
$file = substr ( $row['file'], 0, strrpos ( $row['file'], ".") );
|
||||
$extension = get_extension( $_FILES['picture']['name'] );
|
||||
|
||||
if (($path = mkget_thumbnail_dir($page['cat_dir'], $error)) != false)
|
||||
if (($path = mkget_thumbnail_dir($category['cat_dir'], $error)) != false)
|
||||
{
|
||||
$path.= '/'.$conf['prefix_thumbnail'].$file.'.'.$extension;
|
||||
$result = validate_upload( $path, $conf['upload_maxfilesize'],
|
||||
|
@ -285,7 +282,7 @@ if ( isset( $page['waiting_id'] ) )
|
|||
else
|
||||
{
|
||||
$advise_title = l10n('upload_advise');
|
||||
$advise_title.= get_cat_display_name($page['cat_name']);
|
||||
$advise_title.= get_cat_display_name($category['upper_names']);
|
||||
}
|
||||
|
||||
$template->assign_vars(
|
||||
|
@ -302,7 +299,7 @@ $template->assign_vars(
|
|||
|
||||
'F_ACTION' => $u_form,
|
||||
|
||||
'U_RETURN' => make_index_url(array('category' => $page['category'])),
|
||||
'U_RETURN' => make_index_url(array('category' => $category)),
|
||||
)
|
||||
);
|
||||
|
||||
|
|
Loading…
Reference in a new issue