aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorz0rglub <z0rglub@piwigo.org>2004-03-31 20:43:09 +0000
committerz0rglub <z0rglub@piwigo.org>2004-03-31 20:43:09 +0000
commita0033b8b56fdf9489981c52b6edaaeb3ecdb1e7e (patch)
treec2152cd57002a92c6a58752b95a9511bff1ace38
parentff1e280227a2d7b3359d227dbfe6d1878c4589c3 (diff)
redirections modification : use of a HTML refresh page instead of header PHP
function. The purpose is to avoid redirections failure when extra characters are found in included PHP files. git-svn-id: http://piwigo.org/svn/trunk@405 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r--category.php5
-rw-r--r--identification.php5
-rw-r--r--include/functions.inc.php28
-rw-r--r--include/page_header.php47
-rw-r--r--include/user.inc.php5
-rw-r--r--index.php5
-rw-r--r--install.php5
-rw-r--r--picture.php12
-rw-r--r--profile.php5
-rw-r--r--register.php5
-rw-r--r--search.php5
11 files changed, 58 insertions, 69 deletions
diff --git a/category.php b/category.php
index 02384fbc8..558615b0c 100644
--- a/category.php
+++ b/category.php
@@ -36,10 +36,7 @@ if ( isset( $_GET['act'] )
// cookie deletion if exists
setcookie( 'id', '', 0, cookie_path() );
$url = 'category.php';
- header( 'Request-URI: '.$url );
- header( 'Content-Location: '.$url );
- header( 'Location: '.$url );
- exit();
+ redirect( $url );
}
//-------------------------------------------------- access authorization check
if ( isset( $_GET['cat'] ) ) check_cat_id( $_GET['cat'] );
diff --git a/identification.php b/identification.php
index 719bed407..5d2a0eb46 100644
--- a/identification.php
+++ b/identification.php
@@ -42,10 +42,7 @@ if ( isset( $_POST['login'] ) )
{
$session_id = session_create( $_POST['username'] );
$url = 'category.php?id='.$session_id;
- header( 'Request-URI: '.$url );
- header( 'Content-Location: '.$url );
- header( 'Location: '.$url );
- exit();
+ redirect( $url );
}
else
{
diff --git a/include/functions.inc.php b/include/functions.inc.php
index 4cf4a2337..bef133253 100644
--- a/include/functions.inc.php
+++ b/include/functions.inc.php
@@ -24,6 +24,7 @@
// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
// | USA. |
// +-----------------------------------------------------------------------+
+
include_once( PHPWG_ROOT_PATH .'include/functions_user.inc.php' );
include_once( PHPWG_ROOT_PATH .'include/functions_session.inc.php' );
include_once( PHPWG_ROOT_PATH .'include/functions_category.inc.php' );
@@ -462,4 +463,31 @@ function pwg_debug( $string )
$debug.= "\n";
}
+/**
+ * Redirects to the given URL
+ *
+ * Note : once this function called, the execution doesn't go further
+ * (presence of an exit() instruction.
+ *
+ * @param string $url
+ * @return void
+ */
+function redirect( $url )
+{
+ global $user, $template, $lang_info, $conf, $lang, $t2;
+
+ // $refresh, $url_link and $title are required for creating an automated
+ // refresh page in header.tpl
+ $refresh = 5;
+ $url_link = $url;
+ $title = 'redirection';
+ include( PHPWG_ROOT_PATH.'include/page_header.php' );
+
+ $template->set_filenames( array( 'redirect' => 'redirect.tpl' ) );
+ $template->pparse('redirect');
+
+ include( PHPWG_ROOT_PATH.'include/page_tail.php' );
+
+ exit();
+}
?> \ No newline at end of file
diff --git a/include/page_header.php b/include/page_header.php
index 08572804d..405648d0d 100644
--- a/include/page_header.php
+++ b/include/page_header.php
@@ -30,40 +30,29 @@
//
$template->set_filenames(array('header'=>'header.tpl'));
-$css = PHPWG_ROOT_PATH.'template/'.$user['template'].'/'.$user['template'].'.css';
-$template->assign_vars(array(
- 'CONTENT_ENCODING' => $lang_info['charset'],
- 'PAGE_TITLE' => $title,
- 'LANG'=>$lang_info['code'],
- 'DIR'=>$lang_info['direction'],
-
- 'T_STYLE' => $css
- ));
+$css = PHPWG_ROOT_PATH.'template/'.$user['template'];
+$css.= '/'.$user['template'].'.css';
+
+$template->assign_vars(
+ array(
+ 'CONTENT_ENCODING' => $lang_info['charset'],
+ 'PAGE_TITLE' => $title,
+ 'LANG'=>$lang_info['code'],
+ 'DIR'=>$lang_info['direction'],
+
+ 'T_STYLE' => $css
+ ));
// refresh
-if ( isset( $refresh ) && $refresh >0 && isset($url_link))
+if ( isset( $refresh ) and $refresh > 0 and isset( $url_link ) )
{
- $url = $url_link.'&amp;slideshow='.$refresh;
- $template->assign_vars(array(
- 'REFRESH_TIME' => $refresh,
- 'U_REFRESH' => add_session_id( $url )
- ));
+ $template->assign_vars(
+ array(
+ 'REFRESH_TIME' => $refresh,
+ 'U_REFRESH' => add_session_id( $url_link )
+ ));
$template->assign_block_vars('refresh', array());
}
-// Work around for "current" Apache 2 + PHP module which seems to not
-// cope with private cache control setting
-if (!empty( $_SERVER['SERVER_SOFTWARE'] )
- and strstr( $_SERVER['SERVER_SOFTWARE'], 'Apache/2'))
-{
- header( 'Cache-Control: no-cache, pre-check=0, post-check=0, max-age=0' );
-}
-else
-{
- header( 'Cache-Control: private, pre-check=0, post-check=0, max-age=0' );
-}
-header( 'Expires: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT' );
-header( 'Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT' );
-
$template->pparse('header');
?>
diff --git a/include/user.inc.php b/include/user.inc.php
index e4cad9346..a02c50785 100644
--- a/include/user.inc.php
+++ b/include/user.inc.php
@@ -45,10 +45,7 @@ if ( !$conf['authorize_cookies'] and isset( $_COOKIE['id'] ) )
{
setcookie( 'id', '', 0, cookie_path() );
$url = 'category.php';
- header( 'Request-URI: '.$url );
- header( 'Content-Location: '.$url );
- header( 'Location: '.$url );
- exit();
+ redirect( $url );
}
$user['has_cookie'] = false;
diff --git a/index.php b/index.php
index e932fe6f9..f59fd9f8b 100644
--- a/index.php
+++ b/index.php
@@ -36,8 +36,5 @@ if ( $conf['access'] == 'restricted' )
else $url = 'category';
// redirection
$url.= '.php';
-header( 'Request-URI: '.$url );
-header( 'Content-Location: '.$url );
-header( 'Location: '.$url );
-exit();
+redirect( $url );
?>
diff --git a/install.php b/install.php
index 25d121972..924ce8ffa 100644
--- a/install.php
+++ b/install.php
@@ -180,9 +180,8 @@ if (@file_exists($config_file))
// Is phpBB already installed? Yes? Redirect to the index
if (defined("PHPWG_INSTALLED"))
-{
- header( 'Location: index.php' );
- exit;
+{
+ die( 'PhpWebGallery is already installed' );
}
include(PHPWG_ROOT_PATH . 'include/constants.php');
diff --git a/picture.php b/picture.php
index 5b97f5c5f..07b72167e 100644
--- a/picture.php
+++ b/picture.php
@@ -180,10 +180,7 @@ if ( isset( $_GET['add_fav'] ) )
// there is no favorite picture anymore we redirect the user to the
// category page
$url = add_session_id( $url_home );
- header( 'Request-URI: '.$url );
- header( 'Content-Location: '.$url );
- header( 'Location: '.$url );
- exit();
+ redirect( $url );
}
else if ( $prev < 0 )
{
@@ -195,10 +192,7 @@ if ( isset( $_GET['add_fav'] ) )
$url = str_replace('&amp;', '&', $picture['prev']['url'] );
$url = add_session_id( $url, true);
}
- header( 'Request-URI: '.$url );
- header( 'Content-Location: '.$url );
- header( 'Location: '.$url );
- exit();
+ redirect( $url );
}
}
@@ -296,7 +290,7 @@ $refresh = 0;
if ( isset( $_GET['slideshow'] ) and $next )
{
$refresh= $_GET['slideshow'];
- $url_link = $picture['next']['url'];
+ $url_link = $picture['next']['url'].'&amp;slideshow='.$refresh;
}
$title_img = $picture['current']['name'];
diff --git a/profile.php b/profile.php
index 064101732..4682129ce 100644
--- a/profile.php
+++ b/profile.php
@@ -120,10 +120,7 @@ if ( isset( $_POST['submit'] ) )
// redirection
$url = 'category.php';
if ( !isset($_POST['create_cookie']) ) $url = add_session_id( $url,true );
- header( 'Request-URI: '.$url );
- header( 'Content-Location: '.$url );
- header( 'Location: '.$url );
- exit();
+ redirect( $url );
}
}
//----------------------------------------------------- template initialization
diff --git a/register.php b/register.php
index bfd2e5ef7..f6cb263c9 100644
--- a/register.php
+++ b/register.php
@@ -44,10 +44,7 @@ if ( isset( $_POST['submit'] ) )
{
$session_id = session_create( $_POST['login'] );
$url = 'category.php?id='.$session_id;
- header( 'Request-URI: '.$url );
- header( 'Content-Location: '.$url );
- header( 'Location: '.$url );
- exit();
+ redirect( $url );
}
}
diff --git a/search.php b/search.php
index 85df38202..b0770c0fd 100644
--- a/search.php
+++ b/search.php
@@ -55,10 +55,7 @@ if ( isset( $_POST['search'] ) )
{
$url = 'category.php?cat=search&search='.$search.'&mode='.$_POST['mode'];
$url = add_session_id( $url, true );
- header( 'Request-URI: '.$url );
- header( 'Content-Location: '.$url );
- header( 'Location: '.$url );
- exit();
+ redirect( $url );
}
}
//----------------------------------------------------- template initialization