@@ -94,7 +94,7 @@ discard block |
||
| 94 | 94 | } |
| 95 | 95 | /** |
| 96 | 96 | * session管理函数 |
| 97 | - * @param string|array $name session名称 如果为数组则表示进行session设置 |
|
| 97 | + * @param string $name session名称 如果为数组则表示进行session设置 |
|
| 98 | 98 | * @param mixed $value session值 |
| 99 | 99 | * @return mixed |
| 100 | 100 | */ |
@@ -407,6 +407,11 @@ discard block |
||
| 407 | 407 | $value .= ' '; |
| 408 | 408 | } |
| 409 | 409 | } |
| 410 | +/** |
|
| 411 | + * @param string $name |
|
| 412 | + * |
|
| 413 | + * @return string|null |
|
| 414 | + */ |
|
| 410 | 415 | function config($name=null,$value=null,$default=null){ |
| 411 | 416 | $config=\puck\Conf::load(); |
| 412 | 417 | if ($name===null){ |
@@ -70,15 +70,10 @@ |
||
| 70 | 70 | |
| 71 | 71 | |
| 72 | 72 | /** |
| 73 | - |
|
| 74 | 73 | * 数据签名认证 |
| 75 | - |
|
| 76 | 74 | * @param array $data 被认证的数据 |
| 77 | - |
|
| 78 | 75 | * @return string 签名 |
| 79 | - |
|
| 80 | 76 | * @author 麦当苗儿 <[email protected]> |
| 81 | - |
|
| 82 | 77 | */ |
| 83 | 78 | function data_auth_sign($data) { |
| 84 | 79 | //数据类型检测 |
@@ -35,18 +35,18 @@ discard block |
||
| 35 | 35 | return $ip[$type]; |
| 36 | 36 | } |
| 37 | 37 | //2为直接输出数组 |
| 38 | -function show_json(array $arr,$type=2) |
|
| 38 | +function show_json(array $arr, $type=2) |
|
| 39 | 39 | { |
| 40 | 40 | |
| 41 | - if(isset($arr['status']) && $type==2){ |
|
| 41 | + if (isset($arr['status']) && $type == 2) { |
|
| 42 | 42 | $ret=$arr; |
| 43 | 43 | } |
| 44 | - else{ |
|
| 45 | - $ret['status'] = $type; |
|
| 46 | - $ret['data'] = $arr; |
|
| 44 | + else { |
|
| 45 | + $ret['status']=$type; |
|
| 46 | + $ret['data']=$arr; |
|
| 47 | 47 | } |
| 48 | 48 | |
| 49 | - $obj = json_encode($ret); |
|
| 49 | + $obj=json_encode($ret); |
|
| 50 | 50 | header('Content-Type: application/json'); |
| 51 | 51 | echo $obj; |
| 52 | 52 | exit(); |
@@ -54,14 +54,14 @@ discard block |
||
| 54 | 54 | |
| 55 | 55 | function success($arr) |
| 56 | 56 | { |
| 57 | - show_json($arr,1); |
|
| 57 | + show_json($arr, 1); |
|
| 58 | 58 | } |
| 59 | 59 | |
| 60 | 60 | function error($arr) |
| 61 | 61 | { |
| 62 | - show_json($arr,0); |
|
| 62 | + show_json($arr, 0); |
|
| 63 | 63 | } |
| 64 | -function not_found($str='page not found,that is all we know!'){ |
|
| 64 | +function not_found($str='page not found,that is all we know!') { |
|
| 65 | 65 | header('HTTP/1.1 404 Not Found'); |
| 66 | 66 | header("status: 404 Not Found"); |
| 67 | 67 | exit($str); |
@@ -82,13 +82,13 @@ discard block |
||
| 82 | 82 | function data_auth_sign($data) { |
| 83 | 83 | //数据类型检测 |
| 84 | 84 | |
| 85 | - if(!is_array($data)){ |
|
| 85 | + if (!is_array($data)) { |
|
| 86 | 86 | |
| 87 | - $data = (array)$data; |
|
| 87 | + $data=(array) $data; |
|
| 88 | 88 | } |
| 89 | 89 | ksort($data); //排序 |
| 90 | - $code = http_build_query($data); //url编码并生成query字符串 |
|
| 91 | - $sign = sha1($code); //生成签名 |
|
| 90 | + $code=http_build_query($data); //url编码并生成query字符串 |
|
| 91 | + $sign=sha1($code); //生成签名 |
|
| 92 | 92 | return $sign; |
| 93 | 93 | } |
| 94 | 94 | /** |
@@ -97,7 +97,7 @@ discard block |
||
| 97 | 97 | * @param mixed $value session值 |
| 98 | 98 | * @return mixed |
| 99 | 99 | */ |
| 100 | -function session($name = '', $value = '') { |
|
| 100 | +function session($name='', $value='') { |
|
| 101 | 101 | if (is_array($name)) { |
| 102 | 102 | |
| 103 | 103 | if (isset($name['id'])) { |
@@ -149,16 +149,16 @@ discard block |
||
| 149 | 149 | session_start(); |
| 150 | 150 | } elseif ('[destroy]' == $name) { |
| 151 | 151 | // 销毁session |
| 152 | - $_SESSION = array(); |
|
| 152 | + $_SESSION=array(); |
|
| 153 | 153 | session_unset(); |
| 154 | 154 | session_destroy(); |
| 155 | 155 | } elseif ('[regenerate]' == $name) { |
| 156 | 156 | // 重新生成id |
| 157 | 157 | session_regenerate_id(); |
| 158 | 158 | } |
| 159 | - }else { |
|
| 159 | + } else { |
|
| 160 | 160 | if (strpos($name, '.')) { |
| 161 | - list($name1, $name2) = explode('.', $name); |
|
| 161 | + list($name1, $name2)=explode('.', $name); |
|
| 162 | 162 | return isset($_SESSION[$name1][$name2]) ? $_SESSION[$name1][$name2] : null; |
| 163 | 163 | } else { |
| 164 | 164 | return isset($_SESSION[$name]) ? $_SESSION[$name] : null; |
@@ -167,7 +167,7 @@ discard block |
||
| 167 | 167 | } elseif (is_null($value)) { |
| 168 | 168 | // 删除session |
| 169 | 169 | if (strpos($name, '.')) { |
| 170 | - list($name1, $name2) = explode('.', $name); |
|
| 170 | + list($name1, $name2)=explode('.', $name); |
|
| 171 | 171 | unset($_SESSION[$name1][$name2]); |
| 172 | 172 | } else { |
| 173 | 173 | unset($_SESSION[$name]); |
@@ -175,30 +175,30 @@ discard block |
||
| 175 | 175 | } else { |
| 176 | 176 | // 设置session |
| 177 | 177 | if (strpos($name, '.')) { |
| 178 | - list($name1, $name2) = explode('.', $name); |
|
| 179 | - $_SESSION[$name1][$name2] = $value; |
|
| 178 | + list($name1, $name2)=explode('.', $name); |
|
| 179 | + $_SESSION[$name1][$name2]=$value; |
|
| 180 | 180 | } else { |
| 181 | - $_SESSION[$name] = $value; |
|
| 181 | + $_SESSION[$name]=$value; |
|
| 182 | 182 | } |
| 183 | 183 | } |
| 184 | 184 | return null; |
| 185 | 185 | } |
| 186 | 186 | |
| 187 | 187 | |
| 188 | -function admin_is_login(){ |
|
| 189 | - $user = session('admin_user_auth'); |
|
| 188 | +function admin_is_login() { |
|
| 189 | + $user=session('admin_user_auth'); |
|
| 190 | 190 | if (empty($user)) { |
| 191 | 191 | return 0; |
| 192 | 192 | } else { |
| 193 | 193 | $auth_sign=session('admin_user_auth_sign'); |
| 194 | - if(data_auth_sign($user)!=$auth_sign){ |
|
| 194 | + if (data_auth_sign($user) != $auth_sign) { |
|
| 195 | 195 | return 0; |
| 196 | 196 | } |
| 197 | 197 | return $user['uid']; |
| 198 | 198 | } |
| 199 | 199 | } |
| 200 | -function json($str){ |
|
| 201 | - $obj = json_encode($str,JSON_UNESCAPED_UNICODE); |
|
| 200 | +function json($str) { |
|
| 201 | + $obj=json_encode($str, JSON_UNESCAPED_UNICODE); |
|
| 202 | 202 | header('Content-Type: application/json'); |
| 203 | 203 | echo $obj; |
| 204 | 204 | } |
@@ -210,20 +210,20 @@ discard block |
||
| 210 | 210 | * @param integer $flags htmlspecialchars flags |
| 211 | 211 | * @return void|string |
| 212 | 212 | */ |
| 213 | -function dump($var, $echo = true, $label = null, $flags = ENT_SUBSTITUTE) |
|
| 213 | +function dump($var, $echo=true, $label=null, $flags=ENT_SUBSTITUTE) |
|
| 214 | 214 | { |
| 215 | - $label = (null === $label) ? '' : rtrim($label) . ':'; |
|
| 215 | + $label=(null === $label) ? '' : rtrim($label).':'; |
|
| 216 | 216 | ob_start(); |
| 217 | 217 | var_dump($var); |
| 218 | - $output = ob_get_clean(); |
|
| 219 | - $output = preg_replace('/\]\=\>\n(\s+)/m', '] => ', $output); |
|
| 218 | + $output=ob_get_clean(); |
|
| 219 | + $output=preg_replace('/\]\=\>\n(\s+)/m', '] => ', $output); |
|
| 220 | 220 | if (IS_CLI) { |
| 221 | - $output = PHP_EOL . $label . $output . PHP_EOL; |
|
| 221 | + $output=PHP_EOL.$label.$output.PHP_EOL; |
|
| 222 | 222 | } else { |
| 223 | 223 | if (!extension_loaded('xdebug')) { |
| 224 | - $output = htmlspecialchars($output, $flags); |
|
| 224 | + $output=htmlspecialchars($output, $flags); |
|
| 225 | 225 | } |
| 226 | - $output = '<pre>' . $label . $output . '</pre>'; |
|
| 226 | + $output='<pre>'.$label.$output.'</pre>'; |
|
| 227 | 227 | } |
| 228 | 228 | if ($echo) { |
| 229 | 229 | echo($output); |
@@ -248,99 +248,99 @@ discard block |
||
| 248 | 248 | * @param mixed $datas 要获取的额外数据源 |
| 249 | 249 | * @return mixed |
| 250 | 250 | */ |
| 251 | -function I($name, $default = '', $filter = null, $datas = null) |
|
| 251 | +function I($name, $default='', $filter=null, $datas=null) |
|
| 252 | 252 | { |
| 253 | - static $_PUT = null; |
|
| 253 | + static $_PUT=null; |
|
| 254 | 254 | if (strpos($name, '/')) { |
| 255 | 255 | // 指定修饰符 |
| 256 | - list($name, $type) = explode('/', $name, 2); |
|
| 257 | - } else{ |
|
| 256 | + list($name, $type)=explode('/', $name, 2); |
|
| 257 | + } else { |
|
| 258 | 258 | // 默认强制转换为字符串 |
| 259 | - $type = 's'; |
|
| 259 | + $type='s'; |
|
| 260 | 260 | } |
| 261 | 261 | if (strpos($name, '.')) { |
| 262 | 262 | // 指定参数来源 |
| 263 | - list($method, $name) = explode('.', $name, 2); |
|
| 263 | + list($method, $name)=explode('.', $name, 2); |
|
| 264 | 264 | } else { |
| 265 | 265 | // 默认为自动判断 |
| 266 | - $method = 'param'; |
|
| 266 | + $method='param'; |
|
| 267 | 267 | } |
| 268 | 268 | switch (strtolower($method)) { |
| 269 | 269 | case 'get': |
| 270 | - $input = &$_GET; |
|
| 270 | + $input=&$_GET; |
|
| 271 | 271 | break; |
| 272 | 272 | case 'post': |
| 273 | - $input = &$_POST; |
|
| 273 | + $input=&$_POST; |
|
| 274 | 274 | break; |
| 275 | 275 | case 'put': |
| 276 | 276 | if (is_null($_PUT)) { |
| 277 | 277 | parse_str(file_get_contents('php://input'), $_PUT); |
| 278 | 278 | } |
| 279 | - $input = $_PUT; |
|
| 279 | + $input=$_PUT; |
|
| 280 | 280 | break; |
| 281 | 281 | case 'param': |
| 282 | 282 | switch ($_SERVER['REQUEST_METHOD']) { |
| 283 | 283 | case 'POST': |
| 284 | - $input = $_POST; |
|
| 284 | + $input=$_POST; |
|
| 285 | 285 | break; |
| 286 | 286 | case 'PUT': |
| 287 | 287 | if (is_null($_PUT)) { |
| 288 | 288 | parse_str(file_get_contents('php://input'), $_PUT); |
| 289 | 289 | } |
| 290 | - $input = $_PUT; |
|
| 290 | + $input=$_PUT; |
|
| 291 | 291 | break; |
| 292 | 292 | default: |
| 293 | - $input = $_GET; |
|
| 293 | + $input=$_GET; |
|
| 294 | 294 | } |
| 295 | 295 | break; |
| 296 | 296 | case 'path': |
| 297 | - $input = array(); |
|
| 297 | + $input=array(); |
|
| 298 | 298 | if (!empty($_SERVER['PATH_INFO'])) { |
| 299 | - $depr = C('URL_PATHINFO_DEPR'); |
|
| 300 | - $input = explode($depr, trim($_SERVER['PATH_INFO'], $depr)); |
|
| 299 | + $depr=C('URL_PATHINFO_DEPR'); |
|
| 300 | + $input=explode($depr, trim($_SERVER['PATH_INFO'], $depr)); |
|
| 301 | 301 | } |
| 302 | 302 | break; |
| 303 | 303 | case 'request': |
| 304 | - $input = &$_REQUEST; |
|
| 304 | + $input=&$_REQUEST; |
|
| 305 | 305 | break; |
| 306 | 306 | case 'session': |
| 307 | - $input = &$_SESSION; |
|
| 307 | + $input=&$_SESSION; |
|
| 308 | 308 | break; |
| 309 | 309 | case 'cookie': |
| 310 | - $input = &$_COOKIE; |
|
| 310 | + $input=&$_COOKIE; |
|
| 311 | 311 | break; |
| 312 | 312 | case 'server': |
| 313 | - $input = &$_SERVER; |
|
| 313 | + $input=&$_SERVER; |
|
| 314 | 314 | break; |
| 315 | 315 | case 'globals': |
| 316 | - $input = &$GLOBALS; |
|
| 316 | + $input=&$GLOBALS; |
|
| 317 | 317 | break; |
| 318 | 318 | case 'data': |
| 319 | - $input = &$datas; |
|
| 319 | + $input=&$datas; |
|
| 320 | 320 | break; |
| 321 | 321 | default: |
| 322 | 322 | return null; |
| 323 | 323 | } |
| 324 | 324 | if ('' == $name) { |
| 325 | 325 | // 获取全部变量 |
| 326 | - $data = $input; |
|
| 327 | - $filters = isset($filter) ? $filter : 'htmlspecialchars'; |
|
| 326 | + $data=$input; |
|
| 327 | + $filters=isset($filter) ? $filter : 'htmlspecialchars'; |
|
| 328 | 328 | if ($filters) { |
| 329 | 329 | if (is_string($filters)) { |
| 330 | - $filters = explode(',', $filters); |
|
| 330 | + $filters=explode(',', $filters); |
|
| 331 | 331 | } |
| 332 | - else if (is_array($filters)){ |
|
| 332 | + else if (is_array($filters)) { |
|
| 333 | 333 | foreach ($filters as $filter) { |
| 334 | - $data = array_map_recursive($filter, $data); // 参数过滤 |
|
| 334 | + $data=array_map_recursive($filter, $data); // 参数过滤 |
|
| 335 | 335 | } |
| 336 | - }else{ |
|
| 336 | + } else { |
|
| 337 | 337 | throw new \RuntimeException('$filters must be an array or string.'); |
| 338 | 338 | } |
| 339 | 339 | } |
| 340 | 340 | } elseif (isset($input[$name])) { |
| 341 | 341 | // 取值操作 |
| 342 | - $data = $input[$name]; |
|
| 343 | - $filters = isset($filter) ? $filter : 'htmlspecialchars'; |
|
| 342 | + $data=$input[$name]; |
|
| 343 | + $filters=isset($filter) ? $filter : 'htmlspecialchars'; |
|
| 344 | 344 | if ($filters) { |
| 345 | 345 | if (is_string($filters)) { |
| 346 | 346 | if (0 === strpos($filters, '/')) { |
@@ -349,19 +349,19 @@ discard block |
||
| 349 | 349 | return isset($default) ? $default : null; |
| 350 | 350 | } |
| 351 | 351 | } else { |
| 352 | - $filters = explode(',', $filters); |
|
| 352 | + $filters=explode(',', $filters); |
|
| 353 | 353 | } |
| 354 | 354 | } elseif (is_int($filters)) { |
| 355 | - $filters = array($filters); |
|
| 355 | + $filters=array($filters); |
|
| 356 | 356 | } |
| 357 | 357 | |
| 358 | 358 | if (is_array($filters)) { |
| 359 | 359 | foreach ($filters as $filter) { |
| 360 | - $filter = trim($filter); |
|
| 360 | + $filter=trim($filter); |
|
| 361 | 361 | if (function_exists($filter)) { |
| 362 | - $data = is_array($data) ? array_map_recursive($filter, $data) : $filter($data); // 参数过滤 |
|
| 362 | + $data=is_array($data) ? array_map_recursive($filter, $data) : $filter($data); // 参数过滤 |
|
| 363 | 363 | } else { |
| 364 | - $data = filter_var($data, is_int($filter) ? $filter : filter_id($filter)); |
|
| 364 | + $data=filter_var($data, is_int($filter) ? $filter : filter_id($filter)); |
|
| 365 | 365 | if (false === $data) { |
| 366 | 366 | return isset($default) ? $default : null; |
| 367 | 367 | } |
@@ -372,34 +372,34 @@ discard block |
||
| 372 | 372 | if (!empty($type)) { |
| 373 | 373 | switch (strtolower($type)) { |
| 374 | 374 | case 'a': // 数组 |
| 375 | - $data = (array) $data; |
|
| 375 | + $data=(array) $data; |
|
| 376 | 376 | break; |
| 377 | 377 | case 'd': // 数字 |
| 378 | - $data = (int) $data; |
|
| 378 | + $data=(int) $data; |
|
| 379 | 379 | break; |
| 380 | 380 | case 'f': // 浮点 |
| 381 | - $data = (float) $data; |
|
| 381 | + $data=(float) $data; |
|
| 382 | 382 | break; |
| 383 | 383 | case 'b': // 布尔 |
| 384 | - $data = (boolean) $data; |
|
| 384 | + $data=(boolean) $data; |
|
| 385 | 385 | break; |
| 386 | 386 | case 's':// 字符串 |
| 387 | 387 | default: |
| 388 | - $data = (string) $data; |
|
| 388 | + $data=(string) $data; |
|
| 389 | 389 | } |
| 390 | 390 | } |
| 391 | 391 | } else { |
| 392 | 392 | // 变量默认值 |
| 393 | - $data = isset($default) ? $default : null; |
|
| 393 | + $data=isset($default) ? $default : null; |
|
| 394 | 394 | } |
| 395 | 395 | is_array($data) && array_walk_recursive($data, 'think_filter'); |
| 396 | 396 | return $data; |
| 397 | 397 | } |
| 398 | 398 | function array_map_recursive($filter, $data) |
| 399 | 399 | { |
| 400 | - $result = array(); |
|
| 400 | + $result=array(); |
|
| 401 | 401 | foreach ($data as $key => $val) { |
| 402 | - $result[$key] = is_array($val) |
|
| 402 | + $result[$key]=is_array($val) |
|
| 403 | 403 | ? array_map_recursive($filter, $val) |
| 404 | 404 | : call_user_func($filter, $val); |
| 405 | 405 | } |
@@ -411,18 +411,18 @@ discard block |
||
| 411 | 411 | |
| 412 | 412 | // 过滤查询特殊字符 |
| 413 | 413 | if (preg_match('/^(EXP|NEQ|GT|EGT|LT|ELT|OR|XOR|LIKE|NOTLIKE|NOT BETWEEN|NOTBETWEEN|BETWEEN|NOTIN|NOT IN|IN)$/i', $value)) { |
| 414 | - $value .= ' '; |
|
| 414 | + $value.=' '; |
|
| 415 | 415 | } |
| 416 | 416 | } |
| 417 | -function config($name=null,$value=null,$default=null){ |
|
| 417 | +function config($name=null, $value=null, $default=null) { |
|
| 418 | 418 | $config=\puck\Conf::load(); |
| 419 | - if ($name===null){ |
|
| 419 | + if ($name === null) { |
|
| 420 | 420 | return $config->all(); |
| 421 | 421 | } |
| 422 | - if ($value===null){ |
|
| 423 | - return $config->get($name,$default); |
|
| 422 | + if ($value === null) { |
|
| 423 | + return $config->get($name, $default); |
|
| 424 | 424 | } |
| 425 | - $config->set($name,$value); |
|
| 425 | + $config->set($name, $value); |
|
| 426 | 426 | } |
| 427 | 427 | /** |
| 428 | 428 | * 字符串命名风格转换 |
@@ -431,9 +431,9 @@ discard block |
||
| 431 | 431 | * @param integer $type 转换类型 |
| 432 | 432 | * @return string |
| 433 | 433 | */ |
| 434 | -function parse_name($name, $type = 0) { |
|
| 434 | +function parse_name($name, $type=0) { |
|
| 435 | 435 | if ($type) { |
| 436 | - return ucfirst(preg_replace_callback('/_([a-zA-Z])/', function ($match) {return strtoupper($match[1]);}, $name)); |
|
| 436 | + return ucfirst(preg_replace_callback('/_([a-zA-Z])/', function($match) {return strtoupper($match[1]); }, $name)); |
|
| 437 | 437 | } else { |
| 438 | 438 | return strtolower(trim(preg_replace("/[A-Z]/", "_\\0", $name), "_")); |
| 439 | 439 | } |
@@ -40,8 +40,7 @@ discard block |
||
| 40 | 40 | |
| 41 | 41 | if(isset($arr['status']) && $type==2){ |
| 42 | 42 | $ret=$arr; |
| 43 | - } |
|
| 44 | - else{ |
|
| 43 | + } else{ |
|
| 45 | 44 | $ret['status'] = $type; |
| 46 | 45 | $ret['data'] = $arr; |
| 47 | 46 | } |
@@ -156,7 +155,7 @@ discard block |
||
| 156 | 155 | // 重新生成id |
| 157 | 156 | session_regenerate_id(); |
| 158 | 157 | } |
| 159 | - }else { |
|
| 158 | + } else { |
|
| 160 | 159 | if (strpos($name, '.')) { |
| 161 | 160 | list($name1, $name2) = explode('.', $name); |
| 162 | 161 | return isset($_SESSION[$name1][$name2]) ? $_SESSION[$name1][$name2] : null; |
@@ -328,12 +327,11 @@ discard block |
||
| 328 | 327 | if ($filters) { |
| 329 | 328 | if (is_string($filters)) { |
| 330 | 329 | $filters = explode(',', $filters); |
| 331 | - } |
|
| 332 | - else if (is_array($filters)){ |
|
| 330 | + } else if (is_array($filters)){ |
|
| 333 | 331 | foreach ($filters as $filter) { |
| 334 | 332 | $data = array_map_recursive($filter, $data); // 参数过滤 |
| 335 | 333 | } |
| 336 | - }else{ |
|
| 334 | + } else{ |
|
| 337 | 335 | throw new \RuntimeException('$filters must be an array or string.'); |
| 338 | 336 | } |
| 339 | 337 | } |