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
This commit is contained in:
plegall 2006-03-15 22:44:35 +00:00
commit 114ae32445
28 changed files with 1774 additions and 1245 deletions

View file

@ -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)
{