mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-10-30 21:52:00 +01:00
Feature Issue ID 0000602: Redirect must be done by html or http
Redirect it's only done by the html method but must be done too with http method. Creation of two functions redirect_http and redirect_html. Function redirect calls one or other functions follow $conf or parameters. $conf value are true on BSF, in order to check modifications. Must be set to false on RC. git-svn-id: http://piwigo.org/svn/trunk@1649 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
1 parent
222afe2caa
commit
d54d1a5234
3 files changed
+54
-4
No files matched your search
@@ -240,6 +240,9 @@ $conf['check_upgrade_feed'] = true;
|
||||
// rate_items: available rates for a picture
|
||||
$conf['rate_items'] = array(0,1,2,3,4,5);
|
||||
|
||||
// Define default method to use ('http' or 'html' in order to do redirect)
|
||||
$conf['default_redirect_method'] = 'http';
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | metadata |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
@@ -600,7 +600,28 @@ function pwg_debug( $string )
|
||||
}
|
||||
|
||||
/**
|
||||
* Redirects to the given URL
|
||||
* Redirects to the given URL (HTTP method)
|
||||
*
|
||||
* Note : once this function called, the execution doesn't go further
|
||||
* (presence of an exit() instruction.
|
||||
*
|
||||
* @param string $url
|
||||
* @return void
|
||||
*/
|
||||
function redirect_http( $url )
|
||||
{
|
||||
if (ob_get_length () !== FALSE)
|
||||
{
|
||||
ob_clean();
|
||||
}
|
||||
header('Request-URI: '.$url);
|
||||
header('Content-Location: '.$url);
|
||||
header('Location: '.$url);
|
||||
exit();
|
||||
}
|
||||
|
||||
/**
|
||||
* Redirects to the given URL (HTML method)
|
||||
*
|
||||
* Note : once this function called, the execution doesn't go further
|
||||
* (presence of an exit() instruction.
|
||||
@@ -610,7 +631,7 @@ function pwg_debug( $string )
|
||||
* @param integer $refreh_time
|
||||
* @return void
|
||||
*/
|
||||
function redirect( $url , $msg = '', $refresh_time = 0)
|
||||
function redirect_html( $url , $msg = '', $refresh_time = 0)
|
||||
{
|
||||
global $user, $template, $lang_info, $conf, $lang, $t2, $page, $debug;
|
||||
|
||||
@@ -652,6 +673,32 @@ function redirect( $url , $msg = '', $refresh_time = 0)
|
||||
exit();
|
||||
}
|
||||
|
||||
/**
|
||||
* Redirects to the given URL (Switch to HTTP method or HTML method)
|
||||
*
|
||||
* Note : once this function called, the execution doesn't go further
|
||||
* (presence of an exit() instruction.
|
||||
*
|
||||
* @param string $url
|
||||
* @param string $title_msg
|
||||
* @param integer $refreh_time
|
||||
* @return void
|
||||
*/
|
||||
function redirect( $url , $msg = '', $refresh_time = 0)
|
||||
{
|
||||
global $conf;
|
||||
|
||||
// with RefeshTime <> 0, only html must be used
|
||||
if (($conf['default_redirect_method'] == 'http') and ($refresh_time == 0))
|
||||
{
|
||||
redirect_http($url);
|
||||
}
|
||||
else
|
||||
{
|
||||
redirect_html($url, $msg, $refresh_time);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* returns $_SERVER['QUERY_STRING'] whitout keys given in parameters
|
||||
*
|
||||
|
||||
@@ -609,7 +609,7 @@ function access_denied()
|
||||
else
|
||||
{
|
||||
set_status_header(401);
|
||||
redirect($login_url);
|
||||
redirect_html($login_url);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -623,7 +623,7 @@ function page_not_found($msg, $alternate_url=null)
|
||||
set_status_header(404);
|
||||
if ($alternate_url==null)
|
||||
$alternate_url = make_index_url();
|
||||
redirect( $alternate_url,
|
||||
redirect_html( $alternate_url,
|
||||
'<div style="text-align:left; margin-left:5em;margin-bottom:5em;">
|
||||
<h1 style="text-align:left; font-size:36px;">Page not found</h1><br/>'
|
||||
.$msg.'</div>',
|
||||
|
||||
Reference in new issue
Block a user