mirror of
https://github.com/Piwigo/Piwigo.git
synced 2025-04-28 12:19:57 +03:00
URL rewriting: capable of fully working with urls without ?
URL rewriting: works with image file instead of image id (change make_picture_url to generate urls with file name instead of image id) URL rewriting: completely works with category/best_rated and picture/best_rated/534 (change 'category.php?' to 'category' in make_index_url and 'picture.php?' to 'picture' in make_picture_url to see it) fix: picture category display in upper bar fix: function rate_picture variables and use of the new user type fix: caddie icon appears now on category page fix: admin element_set sql query was using storage_category_id column (column has moved to #image_categories) fix: replaced some old $_GET[xxx] with $page[xxx] fix: pictures have metadata url (use ? parameter - might change later) git-svn-id: http://piwigo.org/svn/trunk@1092 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
3609c224c7
commit
0971ce48d2
28 changed files with 373 additions and 310 deletions
|
@ -6,9 +6,9 @@
|
|||
// +-----------------------------------------------------------------------+
|
||||
// | branch : BSF (Best So Far)
|
||||
// | file : $RCSfile$
|
||||
// | last update : $Date: 2006-01-27 02:11:43 +0100 (ven, 27 jan 2006) $
|
||||
// | last modifier : $Author: rvelices $
|
||||
// | revision : $Revision: 1014 $
|
||||
// | last update : $Date$
|
||||
// | last modifier : $Author$
|
||||
// | revision : $Revision$
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | This program is free software; you can redistribute it and/or modify |
|
||||
// | it under the terms of the GNU General Public License as published by |
|
||||
|
@ -84,17 +84,35 @@ $tokens = explode(
|
|||
|
||||
$next_token = 0;
|
||||
if (basename($_SERVER['SCRIPT_NAME']) == 'picture.php')
|
||||
{
|
||||
|
||||
// the first token must be the numeric identifier of the picture
|
||||
preg_match('/(\d+)/', $tokens[$next_token], $matches);
|
||||
if (!isset($matches[1]))
|
||||
{ // the last token must be the identifier for the picture
|
||||
$token = array_pop($tokens);
|
||||
if ( is_numeric($token) )
|
||||
{
|
||||
die('Fatal: picture identifier is missing');
|
||||
$page['image_id'] = $token;
|
||||
}
|
||||
else
|
||||
{
|
||||
preg_match('/^(\d+-)?((.*)[_\.]html?)?$/', $token, $matches);
|
||||
if ( isset($matches[1]) and is_numeric($matches[1]) )
|
||||
{
|
||||
$page['image_id'] = $matches[1];
|
||||
if ( !empty($matches[3]) )
|
||||
{
|
||||
$page['image_file'] = $matches[3];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !empty($matches[3]) )
|
||||
{
|
||||
$page['image_file'] = $matches[3];
|
||||
}
|
||||
else
|
||||
{
|
||||
die('Fatal: picture identifier is missing');
|
||||
}
|
||||
}
|
||||
}
|
||||
$page['image_id'] = $matches[1];
|
||||
|
||||
$next_token++;
|
||||
}
|
||||
|
||||
if (0 === strpos($tokens[$next_token], 'cat'))
|
||||
|
@ -273,11 +291,11 @@ if ('categories' == $page['section'])
|
|||
'cat_id_uppercat' => $result['id_uppercat'],
|
||||
'uppercats' => $result['uppercats'],
|
||||
|
||||
'title' => get_cat_display_name($result['name'], '', false),
|
||||
'title' => get_cat_display_name($result['name'], null, false),
|
||||
)
|
||||
);
|
||||
|
||||
if (!isset($_GET['calendar']))
|
||||
if (!isset($page['chronology_field']))
|
||||
{
|
||||
$query = '
|
||||
SELECT image_id
|
||||
|
@ -321,7 +339,7 @@ else
|
|||
SELECT DISTINCT(id)
|
||||
FROM '.IMAGES_TABLE.'
|
||||
INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON id = ic.image_id
|
||||
WHERE '.get_sql_search_clause($_GET['search']).'
|
||||
WHERE '.get_sql_search_clause($page['search']).'
|
||||
AND '.$forbidden.'
|
||||
'.$conf['order_by'].'
|
||||
;';
|
||||
|
@ -489,4 +507,19 @@ if (isset($page['chronology_field']))
|
|||
initialize_calendar();
|
||||
}
|
||||
|
||||
if (basename($_SERVER['SCRIPT_NAME']) == 'picture.php'
|
||||
and !isset($page['image_id']) )
|
||||
{
|
||||
$query = '
|
||||
SELECT id,file
|
||||
FROM '.IMAGES_TABLE .'
|
||||
WHERE id IN ('.implode(',',$page['items']).')
|
||||
AND file LIKE "' . $page['image_file'] . '.%" ESCAPE "|"'
|
||||
;
|
||||
$result = pwg_query($query);
|
||||
if (mysql_num_rows($result)>0)
|
||||
{
|
||||
list($page['image_id'], $page['image_file']) = mysql_fetch_row($result);
|
||||
}
|
||||
}
|
||||
?>
|
Loading…
Add table
Add a link
Reference in a new issue