{$var}', '/\{\$([\?\!\|@^~])(\w+)\}/', "mu_HttpVariables"); # (:cookie [name] [value] [args]:) Markup('cookie', '>if', '/\(:cookie\s+(.*?)\s*:\)/i', "mu_HttpVariablesCookie"); # (:session [name] [value] [args]:) Markup('session', '>if', '/\(:session\s+(.*?)\s*:\)/i', "mu_HttpVariablesSession"); function mu_HttpVariables($m) { extract($GLOBALS['MarkupToHTML']); return HttpVariables($pagename, $m[1], $m[2]); } function mu_HttpVariablesCookie($m) { extract($GLOBALS['MarkupToHTML']); return HttpVariablesCookie($pagename, ParseArgs($m[1])); } function mu_HttpVariablesSession($m) { extract($GLOBALS['MarkupToHTML']); return HttpVariablesSession($pagename, ParseArgs($m[1])); } function HttpVariablesCookie($pagename, $args) { $name = $args['name'] ?? null; $val = $args['value'] ?? null; $exp = $args['expires'] ?? null; $path = $args['path'] ?? null; $domain = $args['domain'] ?? null; $sec = $args['secure'] ?? null; $http = $args['httponly'] ?? null; $sargs = $args['']; foreach ($sargs as $arg) { switch ($arg) { case 'secure': $sec = true; break; case 'httponly': $http = true; break; default: if (!$name) $name = $arg; else if (!$val) $val = $arg; break; } } if (!$name) return; if (!$val) $val = null; if (!$exp) $exp = 0; else $exp = strtotime($exp); if (!$path) $path = ''; if (!$domain) $domain = ''; if (!$sec) $sec = false; if (!$http) $http = false; setcookie($name, $val, $exp, $path, $domain, $sec, $http); return; } function HttpVariablesSession($pagename, $args) { $name = $args['name']; $val = $args['value']; $sargs = $args['']; foreach ($sargs as $arg) { if (!$name) $name = $arg; else if (!$val) $val = $arg; } if (!$name) return; session_start(); $_SESSION[$name] = $val; } function HttpVariables($pagename, $type, $var) { global $Charset; switch ($type) { case '?': $val = $_GET[$var] ?? null; break; case '|': $val = $_POST[$var] ?? null; break; case '!': $val = $_REQUEST[$var] ?? null; break; case '@': $val = $_COOKIE[$var] ?? null; break; case '^': $val = $_GET[$var] ?? $_COOKIE[$var] ?? $_SESSION[$var] ?? null; break; case '~': session_start(); $val = $_SESSION[$var] ?? null; break; } if (isset($val)) return htmlentities(stripmagic($val), ENT_COMPAT, $Charset); return ""; }