diff options
-rw-r--r-- | admin/permalinks.php | 2 | ||||
-rw-r--r-- | include/functions_url.inc.php | 4 | ||||
-rw-r--r-- | include/section_init.inc.php | 14 |
3 files changed, 17 insertions, 3 deletions
diff --git a/admin/permalinks.php b/admin/permalinks.php index d5aa99463..f82f88fd7 100644 --- a/admin/permalinks.php +++ b/admin/permalinks.php @@ -137,7 +137,7 @@ while ( $row=mysql_fetch_assoc($result) ) $categories[] = $row; } -if ( !count($sort_by) or $sort_by[0]='name') +if ( !count($sort_by) or $sort_by[0]=='name') { usort($categories, 'global_rank_compare'); } diff --git a/include/functions_url.inc.php b/include/functions_url.inc.php index 04e0b32d1..31696096f 100644 --- a/include/functions_url.inc.php +++ b/include/functions_url.inc.php @@ -246,6 +246,10 @@ function make_picture_url($params) default: $url .= $params['image_id']; } + if ( !isset($params['category'] ) ) + {// make urls shorter ... + unset( $params['flat'] ); + } $url .= make_section_in_url($params); $url = add_well_known_params_in_url($url, $params); return $url; diff --git a/include/section_init.inc.php b/include/section_init.inc.php index 9b16f937b..1d4f63723 100644 --- a/include/section_init.inc.php +++ b/include/section_init.inc.php @@ -140,6 +140,7 @@ if (0 === strpos(@$tokens[$next_token], 'categor')) { if ( strpos($tokens[$next_token], 'created-')!==0 and strpos($tokens[$next_token], 'posted-')!==0 + and strpos($tokens[$next_token], 'start-')!==0 and $tokens[$next_token] != 'flat') {// try a permalink $cat_id = get_cat_id_from_permalink($tokens[$next_token]); @@ -159,8 +160,16 @@ if (0 === strpos(@$tokens[$next_token], 'categor')) unset($cat_id); $next_token++; } + elseif ( script_basename()=='picture' ) + { //access a picture only by id, file or id-file without given section + $page['flat']=true; + } } } + elseif ( script_basename()=='picture' ) + { //access a picture only by id, file or id-file without given section + $page['flat']=true; + } } else if (0 === strpos(@$tokens[$next_token], 'tag')) { @@ -314,7 +323,8 @@ while (isset($tokens[$i])) } if ('categories' == $page['section'] and - 'flat' == $tokens[$i]) + 'flat' == $tokens[$i] and + !isset($page['chronology_field']) ) { // indicate a special list of images $page['flat'] = true; @@ -340,12 +350,12 @@ while (isset($tokens[$i])) } $page['chronology_date'] = $chronology_tokens; } + unset($page['flat']); } $i++; } - // $page['nb_image_page'] is the number of picture to display on this page // By default, it is the same as the $user['nb_image_page'] $page['nb_image_page'] = $user['nb_image_page']; |