diff options
author | plegall <plg@piwigo.org> | 2006-03-15 22:44:35 +0000 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2006-03-15 22:44:35 +0000 |
commit | 114ae324452ac88fe7b672338cba931d838ee2a4 (patch) | |
tree | 2ccc8e920a04fae1f97732f6490fa7c67594c05e /admin | |
parent | 88e3b36e2f805404e0bfd56d865e317495e9c973 (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 '')
-rw-r--r-- | admin.php | 2 | ||||
-rw-r--r-- | admin/cat_list.php | 17 | ||||
-rw-r--r-- | admin/cat_modify.php | 69 | ||||
-rw-r--r-- | admin/include/functions.php | 79 | ||||
-rw-r--r-- | admin/picture_modify.php | 24 |
5 files changed, 115 insertions, 76 deletions
@@ -95,7 +95,7 @@ $template->assign_vars( 'U_THUMBNAILS'=> $link_start.'thumbnail', 'U_USERS'=> $link_start.'user_list', 'U_GROUPS'=> $link_start.'group_list', - 'U_RETURN'=> PHPWG_ROOT_PATH.'category.php', + 'U_RETURN'=> make_index_url(), 'U_ADMIN'=> PHPWG_ROOT_PATH.'admin.php', 'L_ADMIN' => $lang['admin'], 'L_ADMIN_HINT' => $lang['hint_admin'] 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.'&parent_id='.$category['id'], - 'U_EDIT'=>$base_url.'cat_modify&cat_id='.$category['id'] + 'U_JUMPTO' => make_index_url( + array( + 'category' => $category['id'], + ) + ), + + 'U_CHILDREN' => $cat_list_url.'&parent_id='.$category['id'], + 'U_EDIT' => $base_url.'cat_modify&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.= '&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.'&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.'&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.= '&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; } } |