OSDN Git Service

sync the original code
[nucleus-jp/nucleus-jp-ancient.git] / utf8 / nucleus / libs / vars4.0.6.php
1 <?php\r
2 \r
3 /*\r
4  * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)\r
5  * Copyright (C) 2002-2005 The Nucleus Group\r
6  *\r
7  * This program is free software; you can redistribute it and/or\r
8  * modify it under the terms of the GNU General Public License\r
9  * as published by the Free Software Foundation; either version 2\r
10  * of the License, or (at your option) any later version.\r
11  * (see nucleus/documentation/index.html#license for more info)\r
12  */\r
13 /**\r
14  * @license http://nucleuscms.org/license.txt GNU General Public License\r
15  * @copyright Copyright (C) 2002-2005 The Nucleus Group\r
16  * @version $Id: vars4.0.6.php,v 1.6 2005-08-13 07:33:02 kimitake Exp $\r
17  * $NucleusJP: vars4.0.6.php,v 1.5 2005/03/12 06:19:05 kimitake Exp $\r
18  */\r
19   \r
20 /**\r
21   * The purpose of the functions below is to avoid declaring HTTP_ vars to be global\r
22   * everywhere, plus to offer support for php versions before 4.1.0, that do not\r
23   * have the _GET etc vars\r
24   */\r
25 function getVar($name) {\r
26         global $HTTP_GET_VARS;\r
27         return undoMagic($HTTP_GET_VARS[$name]);\r
28 }\r
29 \r
30 function postVar($name) {\r
31         global $HTTP_POST_VARS;\r
32         return undoMagic($HTTP_POST_VARS[$name]);\r
33 }\r
34 \r
35 function cookieVar($name) {     \r
36         global $HTTP_COOKIE_VARS;\r
37         return undoMagic($HTTP_COOKIE_VARS[$name]);\r
38 }\r
39 \r
40 // request: either POST or GET\r
41 function requestVar($name) {\r
42         return (postVar($name)) ? postVar($name) : getVar($name);\r
43 }\r
44 \r
45 function serverVar($name) {\r
46         global $HTTP_SERVER_VARS;\r
47         return $HTTP_SERVER_VARS[$name];\r
48 }\r
49 \r
50 // removes magic quotes if that option is enabled\r
51 function undoMagic($data) {\r
52         return get_magic_quotes_gpc() ? stripslashes_array($data) : $data;\r
53 }\r
54 \r
55 function stripslashes_array($data) {\r
56         return is_array($data) ? array_map('stripslashes', $data) : stripslashes($data);\r
57 }\r
58 \r
59 // integer array from request\r
60 function requestIntArray($name) {\r
61         global $HTTP_POST_VARS;\r
62         return $HTTP_POST_VARS[$name];  \r
63 }\r
64 \r
65 // array from request. Be sure to call undoMagic on the strings inside\r
66 function requestArray($name) {\r
67         global $HTTP_POST_VARS;\r
68         return $HTTP_POST_VARS[$name];  \r
69 }\r
70 \r
71 \r
72 // add all the variables from the request as hidden input field\r
73 // @see globalfunctions.php#passVar\r
74 function passRequestVars() {\r
75         global $HTTP_POST_VARS, $HTTP_GET_VARS;\r
76         foreach ($HTTP_POST_VARS as $key => $value) {\r
77                 if (($key == 'action') && ($value != requestVar('nextaction')))\r
78                         $key = 'nextaction';\r
79                 // a nextaction of 'showlogin' makes no sense\r
80                 if (($key == 'nextaction') && ($value == 'showlogin'))\r
81                         continue;\r
82                 if (($key != 'login') && ($key != 'password'))\r
83                         passVar($key, $value);\r
84         }\r
85         foreach ($HTTP_GET_VARS as $key => $value) {\r
86                 if (($key == 'action') && ($value != requestVar('nextaction')))\r
87                         $key = 'nextaction';\r
88                 // a nextaction of 'showlogin' makes no sense\r
89                 if (($key == 'nextaction') && ($value == 'showlogin'))\r
90                         continue;\r
91                 if (($key != 'login') && ($key != 'password'))\r
92                         passVar($key, $value);\r
93         }\r
94 }\r
95 \r
96 function postFileInfo($name) {\r
97         global $HTTP_POST_FILES;\r
98         return $HTTP_POST_FILES[$name];\r
99 }\r
100 \r
101 function setOldAction($value) {\r
102         global $HTTP_POST_VARS;\r
103         $HTTP_POST_VARS['oldaction'] = $value;  \r
104 }\r
105 \r
106 ?>\r