}
+define('SQ_INORDER',0);
+define('SQ_GET',1);
+define('SQ_POST',2);
+define('SQ_SESSION',3);
+
+/**
+ * Search for the var $name in $_SESSION, $_POST, $_GET
+ * and set it in provided var.
+ * If $search is not provided, or == SQ_INORDER, it will search
+ * $_SESSION, then $_POST, then $_GET. Otherwise,
+ * use one of the defined constants to look for
+ * a var in one place specifically.
+ * Returns FALSE if variable is not found.
+ * Returns TRUE if it is.
+ */
+function sqgetGlobalVar($name, &$value, $search = SQ_INORDER) {
+ if ( !check_php_version(4,1) ) {
+ global $_SESSION, $_GET, $_POST;
+ }
+
+ switch ($search) {
+ /* we want the default case to be first here,
+ so that if a valid value isn't specified,
+ all three arrays will be searched. */
+ default:
+ case SQ_INORDER:
+ case SQ_SESSION:
+ if( isset($_SESSION[$name]) ) {
+ $value = $_SESSION[$name];
+ return TRUE;
+ } elseif ( $search == SQ_SESSION ) {
+ break;
+ }
+ case SQ_POST:
+ if( isset($_POST[$name]) ) {
+ $value = $_POST[$name];
+ return TRUE;
+ } elseif ( $search == SQ_POST ) {
+ break;
+ }
+ case SQ_GET:
+ if ( isset($_GET[$name]) ) {
+ $value = $_GET[$name];
+ return TRUE;
+ } elseif ( $search == SQ_GET ) {
+ break;
+ }
+ }
+ return FALSE;
+}
+
+
/**
* Search for the var $name in $_SESSION, $_POST, $_GET
* (in that order) and register it as a global var.
'Group7' => getPref($data_dir, $username, 'adm_Group7', 'on' ),
'Group8' => getPref($data_dir, $username, 'adm_Group8', 'on' ) );
-if ( isset( $_GET['switch'] ) ) {
- $switch = $_GET['switch'];
+/* look in $_GET array for 'switch' */
+if ( sqgetGlobalVar('switch', $switch, SQ_GET) ) {
if ( $colapse[$switch] == 'on' ) {
$colapse[$switch] = 'off';
} else {
echo "</td></tr>\n";
break;
case SMOPT_TYPE_INTEGER:
- if ( isset( $HTTP_POST_VARS[$e] ) ) {
- $v = intval( $HTTP_POST_VARS[$e] );
+ /* look for variable $e in POST, fill into $v */
+ if ( sqgetGlobalVar($e, $v, SQ_POST) ) {
+ $v = intval( $v );
$newcfg[$k] = $v;
}
echo "<tr><td>$name</td><td>".
echo "</td></tr>\n";
break;
case SMOPT_TYPE_NUMLIST:
- if ( isset( $HTTP_POST_VARS[$e] ) ) {
- $v = $HTTP_POST_VARS[$e];
+ if ( sqgetGlobalVar($e, $v, SQ_POST) ) {
$newcfg[$k] = $v;
}
echo "<tr><td>$name</td><td>";
echo "</td></tr>\n";
break;
case SMOPT_TYPE_STRLIST:
- if ( isset( $HTTP_POST_VARS[$e] ) ) {
- $v = '"' . $HTTP_POST_VARS[$e] . '"';
+ if ( sqgetGlobalVar($e, $v, SQ_POST) ) {
+ $v = '"' . $v . '"';
$newcfg[$k] = $v;
}
echo "<tr><td>$name</td><td>".
break;
case SMOPT_TYPE_TEXTAREA:
- if ( isset( $HTTP_POST_VARS[$e] ) ) {
- $v = '"' . $HTTP_POST_VARS[$e] . '"';
+ if ( sqgetGlobalVar($e, $v, SQ_POST) ) {
+ $v = '"' . $v . '"';
$newcfg[$k] = str_replace( "\n", '', $v );
}
echo "<tr><td valign=top>$name</td><td>".
echo "</td></tr>\n";
break;
case SMOPT_TYPE_STRING:
- if ( isset( $HTTP_POST_VARS[$e] ) ) {
- $v = '"' . $HTTP_POST_VARS[$e] . '"';
+ if ( sqgetGlobalVar($e, $v, SQ_POST) ) {
+ $v = '"' . $v . '"';
$newcfg[$k] = $v;
}
if ( $v == '""' && isset( $defcfg[$k]['default'] ) ) {
echo "</td></tr>\n";
break;
case SMOPT_TYPE_BOOLEAN:
- if ( isset( $HTTP_POST_VARS[$e] ) ) {
- $v = $HTTP_POST_VARS[$e];
+ if ( sqgetGlobalVar($e, $v, SQ_POST) ) {
$newcfg[$k] = $v;
} else {
$v = strtoupper( $v );
echo "</td></tr>\n";
break;
case SMOPT_TYPE_PATH:
- if ( isset( $HTTP_POST_VARS[$e] ) ) {
- $v = change_to_sm_path($HTTP_POST_VARS[$e]);
+ if ( sqgetGlobalVar($e, $v, SQ_POST) ) {
+ $v = change_to_sm_path($v);
$newcfg[$k] = $v;
}
if ( $v == "''" && isset( $defcfg[$k]['default'] ) ) {
while ( isset( $newcfg["\$theme[$i]['NAME']"] ) ) {
$k1 = "\$theme[$i]['NAME']";
$e1 = "theme_name_$i";
- if ( isset( $HTTP_POST_VARS[$e1] ) ) {
- $v1 = '"' . str_replace( '\"', '"', $HTTP_POST_VARS[$e1] ) . '"';
+ if ( sqgetGlobalVar($e, $v1, SQ_POST) ) {
+ $v1 = '"' . str_replace( '\"', '"', $v1 ) . '"';
$v1 = '"' . str_replace( '"', '\"', $v1 ) . '"';
$newcfg[$k1] = $v1;
} else {
}
$k2 = "\$theme[$i]['PATH']";
$e2 = "theme_path_$i";
- if ( isset( $HTTP_POST_VARS[$e2] ) ) {
- $v2 = change_to_sm_path($HTTP_POST_VARS[$e2]);
+ if ( sqgetGlobalVar($e, $v2, SQ_POST) ) {
+ $v2 = change_to_sm_path($v2);
$newcfg[$k2] = $v2;
} else {
$v2 = $newcfg[$k2];
/* Lets get the plugins that are active */
$plugins = array();
- if ( isset( $HTTP_POST_VARS['plg'] ) ) {
+ if ( sqgetGlobalVar('plg', $v, SQ_POST) ) {
foreach ( $op_plugin as $plg ) {
- if ( isset( $HTTP_POST_VARS["plgs_$plg"] ) &&
- $HTTP_POST_VARS["plgs_$plg"] == 'on' ) {
+ if ( sqgetGlobalVar("plgs_$plg", $v, SQ_POST) && $v == 'on' ) {
$plugins[] = $plg;
}
}