r3203 bugfix for a broken process.php
authorDenis Yeldandi <dyeldandi@gmail.com>
Wed, 2 Dec 2009 11:33:29 +0000 (11:33 +0000)
committerDenis Yeldandi <dyeldandi@gmail.com>
Wed, 2 Dec 2009 11:33:29 +0000 (11:33 +0000)
inc/functions.php
index.php
process.php

index af32253..8bf01bf 100644 (file)
@@ -1099,6 +1099,36 @@ function redirectIfNecessary ()
                redirectUser ($pageno, $tmap[$pageno][$tabno]);
 }
 
+function prepareNavigation() {
+       global
+               $pageno,
+               $tabno;
+
+       $pageno = (isset ($_REQUEST['page'])) ? $_REQUEST['page'] : 'index';
+
+// Special handling of tab number to substitute the "last" index where applicable.
+// Always show explicitly requested tab, substitute the last used name in case
+// it is awailable, fall back to the default one.
+
+       if (isset ($_REQUEST['tab'])) {
+               $tabno = $_REQUEST['tab'];
+                       // check if we accidentaly got on a dynamic tab that shouldn't be shown for this object
+               if ( isset($trigger[$pageno][$tabno]) and !strlen($trigger[$pageno][$tabno] ()) ) {
+                       $tabno = 'default';
+                       $url = "index.php?page=$pageno&tab=$tabno&".urlizeGetParameters(array('page', 'tab'));
+                       header('Location: '.$url);
+                       exit();
+               }
+       } elseif (basename($_SERVER['PHP_SELF']) == 'index.php' and getConfigVar ('SHOW_LAST_TAB') == 'yes' and isset ($_SESSION['RTLT'][$pageno])) {
+               $tabno = $_SESSION['RTLT'][$pageno];
+               $url = "index.php?page=$pageno&tab=$tabno&".urlizeGetParameters(array('page', 'tab'));
+               header('Location: '.$url);
+               exit();
+       } else {
+               $tabno = 'default';
+       }
+}
+
 function fixContext ($target = NULL)
 {
        global
index 52063d0..1d9be9f 100644 (file)
--- a/index.php
+++ b/index.php
@@ -3,30 +3,7 @@ ob_start();
 try {
 require 'inc/interface.php';
 require 'inc/init.php';
-$pageno = (isset ($_REQUEST['page'])) ? $_REQUEST['page'] : 'index';
-// Special handling of tab number to substitute the "last" index where applicable.
-// Always show explicitly requested tab, substitute the last used name in case
-// it is awailable, fall back to the default one.
-
-if (isset ($_REQUEST['tab'])) {
-       $tabno = $_REQUEST['tab'];
-       // check if we accidentaly got on a dynamic tab that shouldn't be shown for this object
-       if ( isset($trigger[$pageno][$tabno]) and !strlen($trigger[$pageno][$tabno] ()) ) {
-               $tabno = 'default';
-               $url = "index.php?page=$pageno&tab=$tabno&".urlizeGetParameters(array('page', 'tab'));
-               header('Location: '.$url);
-               exit();
-       }
-} elseif (basename($_SERVER['PHP_SELF']) == 'index.php' and getConfigVar ('SHOW_LAST_TAB') == 'yes' and isset ($_SESSION['RTLT'][$pageno]))
-{
-       $tabno = $_SESSION['RTLT'][$pageno];
-       $url = "index.php?page=$pageno&tab=$tabno&".urlizeGetParameters(array('page', 'tab'));
-       header('Location: '.$url);
-       exit();
-}
-else
-       $tabno = 'default';
-
+prepareNavigation();
 // no ctx override is necessary
 redirectIfNecessary();
 fixContext();
index 4077ef3..ab38374 100644 (file)
@@ -6,13 +6,14 @@ require 'inc/ophandlers.php';
 require 'inc/init.php';
 assertStringArg ('op');
 $op = $_REQUEST['op'];
-
+prepareNavigation();
 // FIXME: find a better way to handle this error
 if ($op == 'addFile' && !isset($_FILES['file']['error'])) {
        throw new RuntimeException("File upload error, it's size probably exceeds upload_max_filesize directive in php.ini");
 }
 fixContext();
 
+
 if (!isset ($ophandler[$pageno][$tabno][$op]))
 {
        throw new RuntimeException("Invalid request in operation broker: page '${pageno}', tab '${tabno}', op '${op}'");