diff options
author | z0rglub <z0rglub@piwigo.org> | 2004-03-31 20:43:09 +0000 |
---|---|---|
committer | z0rglub <z0rglub@piwigo.org> | 2004-03-31 20:43:09 +0000 |
commit | a0033b8b56fdf9489981c52b6edaaeb3ecdb1e7e (patch) | |
tree | c2152cd57002a92c6a58752b95a9511bff1ace38 | |
parent | ff1e280227a2d7b3359d227dbfe6d1878c4589c3 (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.php | 5 | ||||
-rw-r--r-- | identification.php | 5 | ||||
-rw-r--r-- | include/functions.inc.php | 28 | ||||
-rw-r--r-- | include/page_header.php | 47 | ||||
-rw-r--r-- | include/user.inc.php | 5 | ||||
-rw-r--r-- | index.php | 5 | ||||
-rw-r--r-- | install.php | 5 | ||||
-rw-r--r-- | picture.php | 12 | ||||
-rw-r--r-- | profile.php | 5 | ||||
-rw-r--r-- | register.php | 5 | ||||
-rw-r--r-- | search.php | 5 |
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.'&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; @@ -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('&', '&', $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'].'&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 |