Issue 0000639: Force selected page on index.php

When page index.php is called without defined section, redirect to a page selected  by random on a user list.

git-svn-id: http://piwigo.org/svn/trunk@1788 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
rub 2007-02-07 23:08:04 +00:00
parent 3c8775b252
commit 5631a3fc54
7 changed files with 45 additions and 7 deletions

View file

@ -212,6 +212,19 @@ $conf['show_version'] = true;
// page.
$conf['links'] = array();
// random_index_redirect: list of 'internal' links to use when no section is defined on index.php.
// An example is the best than a long explanation :
//
// for each link is associated a php condition
// '' condition is equivalent to 'return true;'
// $conf['random_index_redirect'] = array(
// PHPWG_ROOT_PATH.'index.php?/best_rated' => 'return true;',
// PHPWG_ROOT_PATH.'index.php?/recent_pics' => 'return $user[\'is_the_guest\'];',
// PHPWG_ROOT_PATH.'random.php' => '',
// PHPWG_ROOT_PATH.'index.php?/categories' => '',
// );
$conf['random_index_redirect'] = array();
// List of notes to display on all header page
// example $conf['header_notes'] = array('Test', 'Hello');
$conf['header_notes'] = array();

View file

@ -312,7 +312,7 @@ function make_section_in_url($params)
if (!isset($params['section']))
{
$params['section'] = 'categories';
$params['section'] = 'none';
}
switch($params['section'])
@ -398,6 +398,10 @@ function make_section_in_url($params)
break;
}
case 'none' :
{
break;
}
default :
{
$section_string.= '/'.$params['section'];

View file

@ -43,7 +43,7 @@ $template->assign_vars(
'USERNAME' => $user['username'],
'MENU_CATEGORIES_CONTENT' => get_categories_menu(),
'F_IDENTIFY' => get_root_url().'identification.php',
'U_HOME' => make_index_url(),
'U_CATEGORIES' => make_index_url(array('section' => 'categories')),
'U_REGISTER' => get_root_url().'register.php',
'U_LOST_PASSWORD' => get_root_url().'password.php',
'U_LOGOUT' => get_root_url().'?act=logout',

View file

@ -51,8 +51,6 @@
// 'action' => 'fill_caddie'
// );
$page['section'] = 'categories';
// some ISPs set PATH_INFO to empty string or to SCRIPT_FILENAME while in the
// default apache implementation it is not set
if ( $conf['question_mark_in_urls']==false and
@ -268,6 +266,29 @@ else if ('list' == $tokens[$next_token])
}
$next_token++;
}
else
{
if (!empty($conf['random_index_redirect']))
{
$random_index_redirect = array();
foreach ($conf['random_index_redirect'] as $random_url => $random_url_condition)
{
if (empty($random_url_condition) or eval($random_url_condition))
{
$random_index_redirect[] = $random_url;
}
}
}
if (!empty($random_index_redirect))
{
redirect($random_index_redirect[mt_rand(0, count($random_index_redirect)-1)]);
}
else
{
$page['section'] = 'categories';
}
}
$i = $next_token;

View file

@ -53,7 +53,7 @@ if (!defined('PHPWG_ROOT_PATH'))
make_index_url(), // for redirect
$userdata );
$template->assign_var('U_RETURN', make_index_url() );
$template->assign_var('U_HOME', make_index_url() );
// +-----------------------------------------------------------------------+
// | errors display |

View file

@ -29,7 +29,7 @@
<a href="{stop_filter.URL}" title="{lang:stop_filter_hint}"><img src="{pwg_root}{themeconf:icon_dir}/stop_filter.png" class="button" alt="{lang:stop_filter_hint}"></a>
<!-- END stop_filter -->
<dl id="mbCategories">
<dt><a href="{U_HOME}">{lang:Categories}</a></dt>
<dt><a href="{U_CATEGORIES}">{lang:Categories}</a></dt>
<dd>
{MENU_CATEGORIES_CONTENT}
<p class="totalImages">{NB_PICTURE} {lang:total}</p>

View file

@ -12,7 +12,7 @@
<div class="titrePage">
<ul class="categoryActions">
<li><a href="{U_RETURN}" title="{lang:return to homepage}"><img src="{themeconf:icon_dir}/home.png" class="button" alt="{lang:home}"/></a></li>
<li><a href="{U_HOME}" title="{lang:return to homepage}"><img src="{themeconf:icon_dir}/home.png" class="button" alt="{lang:home}"/></a></li>
</ul>
<h2>{lang:Profile}</h2>
</div>