aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorplegall <plg@piwigo.org>2006-03-15 22:44:35 +0000
committerplegall <plg@piwigo.org>2006-03-15 22:44:35 +0000
commit114ae324452ac88fe7b672338cba931d838ee2a4 (patch)
tree2ccc8e920a04fae1f97732f6490fa7c67594c05e /admin
parent88e3b36e2f805404e0bfd56d865e317495e9c973 (diff)
new: cleaner URL. Instead of category.php?cat=search&search=123&start=42,
you now have category.php?/search/123/start-42. Functions make_index_url and make_picture_url build these new URLs. Functions duplicate_picture_url and duplicate_index_url provide shortcuts to URL creation. The current main page page is still category.php but this can be modified easily in make_index_url function. In this first version, no backward compatibility. Calendar definition in URL must be discussed with rvelices. improvement: picture.php redesigned. First actions like "set as representative" or "delete a comment" which all lead to a redirection. Then the page (the big mess) and includes of new sub pages to manage specific parts of the page (metadata, user comments, rates). new: with the cleaner URL comes a new terminology. $page['cat'] doesn't exist anymore. $page['section'] is among 'categories', 'tags' (TODO), 'list', 'most_seen'... And sub parameters are set : $page['category'] if $page['section'] is "categories". See URL analyse in include/section_init.inc.php for details. git-svn-id: http://piwigo.org/svn/trunk@1082 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'admin')
-rw-r--r--admin/cat_list.php17
-rw-r--r--admin/cat_modify.php69
-rw-r--r--admin/include/functions.php79
-rw-r--r--admin/picture_modify.php24
4 files changed, 114 insertions, 75 deletions
diff --git a/admin/cat_list.php b/admin/cat_list.php
index 4abc5b069..510f5e284 100644
--- a/admin/cat_list.php
+++ b/admin/cat_list.php
@@ -269,13 +269,18 @@ foreach ($categories as $category)
$template->assign_block_vars(
'category',
array(
- 'NAME'=>$category['name'],
- 'ID'=>$category['id'],
- 'RANK'=>$category['rank']*10,
+ 'NAME' => $category['name'],
+ 'ID' => $category['id'],
+ 'RANK' => $category['rank']*10,
- 'U_JUMPTO'=>PHPWG_ROOT_PATH.'category.php?cat='.$category['id'],
- 'U_CHILDREN'=>$cat_list_url.'&amp;parent_id='.$category['id'],
- 'U_EDIT'=>$base_url.'cat_modify&amp;cat_id='.$category['id']
+ 'U_JUMPTO' => make_index_url(
+ array(
+ 'category' => $category['id'],
+ )
+ ),
+
+ 'U_CHILDREN' => $cat_list_url.'&amp;parent_id='.$category['id'],
+ 'U_EDIT' => $base_url.'cat_modify&amp;cat_id='.$category['id'],
)
);
diff --git a/admin/cat_modify.php b/admin/cat_modify.php
index d1aad58c0..cfff0d31f 100644
--- a/admin/cat_modify.php
+++ b/admin/cat_modify.php
@@ -269,37 +269,44 @@ if (!empty($category['id_uppercat']))
$self_url.= '&amp;parent_id='.$category['id_uppercat'];
}
-$template->assign_vars(array(
- 'CATEGORIES_NAV'=>$navigation,
- 'CAT_NAME'=>$category['name'],
- 'CAT_COMMENT'=>$category['comment'],
-
- $status=>'checked="checked"',
- $lock=>'checked="checked"',
- $commentable=>'checked="checked"',
- $uploadable=>'checked="checked"',
-
- 'L_EDIT_NAME'=>$lang['name'],
- 'L_STORAGE'=>$lang['storage'],
- 'L_REMOTE_SITE'=>$lang['remote_site'],
- 'L_EDIT_COMMENT'=>$lang['description'],
- 'L_EDIT_STATUS'=>$lang['conf_access'],
- 'L_STATUS_PUBLIC'=>$lang['public'],
- 'L_STATUS_PRIVATE'=>$lang['private'],
- 'L_EDIT_LOCK'=>$lang['lock'],
- 'L_EDIT_UPLOADABLE'=>$lang['editcat_uploadable'],
- 'L_EDIT_COMMENTABLE'=>$lang['comments'],
- 'L_YES'=>$lang['yes'],
- 'L_NO'=>$lang['no'],
- 'L_SUBMIT'=>$lang['submit'],
- 'L_SET_RANDOM_REPRESENTANT'=>$lang['cat_representant'],
-
- 'U_JUMPTO'=>PHPWG_ROOT_PATH.'category.php?cat='.$category['id'],
- 'U_CHILDREN'=>$cat_list_url.'&amp;parent_id='.$category['id'],
- 'U_HELP' => PHPWG_ROOT_PATH.'/popuphelp.php?page=cat_modify',
-
- 'F_ACTION'=>$form_action
- ));
+$template->assign_vars(
+ array(
+ 'CATEGORIES_NAV' => $navigation,
+ 'CAT_NAME' => $category['name'],
+ 'CAT_COMMENT' => $category['comment'],
+
+ $status => 'checked="checked"',
+ $lock => 'checked="checked"',
+ $commentable => 'checked="checked"',
+ $uploadable => 'checked="checked"',
+
+ 'L_EDIT_NAME' => $lang['name'],
+ 'L_STORAGE' => $lang['storage'],
+ 'L_REMOTE_SITE' => $lang['remote_site'],
+ 'L_EDIT_COMMENT' => $lang['description'],
+ 'L_EDIT_STATUS' => $lang['conf_access'],
+ 'L_STATUS_PUBLIC' => $lang['public'],
+ 'L_STATUS_PRIVATE' => $lang['private'],
+ 'L_EDIT_LOCK' => $lang['lock'],
+ 'L_EDIT_UPLOADABLE' => $lang['editcat_uploadable'],
+ 'L_EDIT_COMMENTABLE' => $lang['comments'],
+ 'L_YES' => $lang['yes'],
+ 'L_NO' => $lang['no'],
+ 'L_SUBMIT' => $lang['submit'],
+ 'L_SET_RANDOM_REPRESENTANT'=>$lang['cat_representant'],
+
+ 'U_JUMPTO' => make_index_url(
+ array(
+ 'category' => $category['id'],
+ )
+ ),
+
+ 'U_CHILDREN' => $cat_list_url.'&amp;parent_id='.$category['id'],
+ 'U_HELP' => PHPWG_ROOT_PATH.'/popuphelp.php?page=cat_modify',
+
+ 'F_ACTION' => $form_action,
+ )
+ );
if ('private' == $category['status'])
diff --git a/admin/include/functions.php b/admin/include/functions.php
index 9a748ef44..076c69fb4 100644
--- a/admin/include/functions.php
+++ b/admin/include/functions.php
@@ -780,14 +780,22 @@ PRIMARY KEY ('.implode(',', $dbfields['primary']).')
// update of images table by joining with temporary table
$query = '
UPDATE '.$tablename.' AS t1, '.$temporary_tablename.' AS t2
- SET '.implode("\n , ",
- array_map(
- create_function('$s', 'return "t1.$s = t2.$s";')
- , $dbfields['update'])).'
- WHERE '.implode("\n AND ",
- array_map(
- create_function('$s', 'return "t1.$s = t2.$s";')
- , $dbfields['primary'])).'
+ SET '.
+ implode(
+ "\n , ",
+ array_map(
+ create_function('$s', 'return "t1.$s = t2.$s";'),
+ $dbfields['update']
+ )
+ ).'
+ WHERE '.
+ implode(
+ "\n AND ",
+ array_map(
+ create_function('$s', 'return "t1.$s = t2.$s";'),
+ $dbfields['primary']
+ )
+ ).'
;';
pwg_query($query);
$query = '
@@ -840,17 +848,27 @@ SELECT id,uppercats
$datas = array();
foreach ($uppercats_array as $id => $uppercats)
{
- $data = array();
- $data['id'] = $id;
- $global_rank = preg_replace('/(\d+)/e',
- "\$ranks_array['$1']",
- str_replace(',', '.', $uppercats));
- $data['global_rank'] = $global_rank;
- array_push($datas, $data);
+ array_push(
+ $datas,
+ array(
+ 'id' => $id,
+ 'global_rank' => preg_replace(
+ '/(\d+)/e',
+ "\$ranks_array['$1']",
+ str_replace(',', '.', $uppercats)
+ ),
+ )
+ );
}
- $fields = array('primary' => array('id'), 'update' => array('global_rank'));
- mass_updates(CATEGORIES_TABLE, $fields, $datas);
+ mass_updates(
+ CATEGORIES_TABLE,
+ array(
+ 'primary' => array('id'),
+ 'update' => array('global_rank')
+ ),
+ $datas
+ );
}
/**
@@ -1253,26 +1271,25 @@ SELECT user_id
// users present in user related tables must be present in the base user
// table
- $tables =
- array(
- USER_MAIL_NOTIFICATION_TABLE,
- USER_FEED_TABLE,
- USER_INFOS_TABLE,
- USER_ACCESS_TABLE,
- USER_CACHE_TABLE,
- USER_GROUP_TABLE
- );
+ $tables = array(
+ USER_MAIL_NOTIFICATION_TABLE,
+ USER_FEED_TABLE,
+ USER_INFOS_TABLE,
+ USER_ACCESS_TABLE,
+ USER_CACHE_TABLE,
+ USER_GROUP_TABLE
+ );
+
foreach ($tables as $table)
{
$query = '
SELECT user_id
FROM '.$table.'
;';
- $to_delete =
- array_diff(
- array_from_query($query, 'user_id'),
- $base_users
- );
+ $to_delete = array_diff(
+ array_from_query($query, 'user_id'),
+ $base_users
+ );
if (count($to_delete) > 0)
{
diff --git a/admin/picture_modify.php b/admin/picture_modify.php
index 9e165b96b..0e20f9290 100644
--- a/admin/picture_modify.php
+++ b/admin/picture_modify.php
@@ -333,31 +333,41 @@ while ($row = mysql_fetch_array($result))
// 3. if URL category not available or reachable, use the first reachable
// linked category
// 4. if no category reachable, no jumpto link
-$base_url_img = PHPWG_ROOT_PATH.'picture.php';
-$base_url_img.= '?image_id='.$_GET['image_id'];
-$base_url_img.= '&amp;cat=';
-unset($url_img);
$query = '
SELECT category_id
FROM '.IMAGE_CATEGORY_TABLE.'
WHERE image_id = '.$_GET['image_id'].'
;';
+
$authorizeds = array_diff(
array_from_query($query, 'category_id'),
- explode(',', calculate_permissions($user['id'], $user['status']))
+ explode(
+ ',',
+ calculate_permissions($user['id'], $user['status'])
+ )
);
if (isset($_GET['cat_id'])
and in_array($_GET['cat_id'], $authorizeds))
{
- $url_img = $base_url_img.$_GET['cat_id'];
+ $url_img = make_picture_URL(
+ array(
+ 'image_id' => $_GET['image_id'],
+ 'category' => $_GET['cat_id'],
+ )
+ );
}
else
{
foreach ($authorizeds as $category)
{
- $url_img = $base_url_img.$category;
+ $url_img = make_picture_URL(
+ array(
+ 'image_id' => $_GET['image_id'],
+ 'category' => $category,
+ )
+ );
break;
}
}