81 lines
2.1 KiB
PHP
Executable File
81 lines
2.1 KiB
PHP
Executable File
<?php
|
|
// +----------------------------------------------------------------------
|
|
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
|
// +----------------------------------------------------------------------
|
|
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
|
// +----------------------------------------------------------------------
|
|
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
|
// +----------------------------------------------------------------------
|
|
// 应用公共文件
|
|
use think\facade\Session;
|
|
|
|
define("SENTCMS_VERSION", '4.0.20200217');
|
|
|
|
/**
|
|
*
|
|
*/
|
|
function is_login() {
|
|
$user = Session::get('userInfo');
|
|
return $user['uid'];
|
|
}
|
|
|
|
function is_administrator() {
|
|
return true;
|
|
}
|
|
|
|
function hook() {}
|
|
|
|
/**
|
|
* 获取客户端IP地址
|
|
* @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字
|
|
* @param boolean $adv 是否进行高级模式获取(有可能被伪装)
|
|
* @return mixed
|
|
*/
|
|
function get_client_ip($type = 0, $adv = false) {
|
|
$type = $type ? 1 : 0;
|
|
static $ip = NULL;
|
|
if ($ip !== NULL) {
|
|
return $ip[$type];
|
|
}
|
|
|
|
if ($adv) {
|
|
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
|
|
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
|
|
$pos = array_search('unknown', $arr);
|
|
if (false !== $pos) {
|
|
unset($arr[$pos]);
|
|
}
|
|
|
|
$ip = trim($arr[0]);
|
|
} elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
|
|
$ip = $_SERVER['HTTP_CLIENT_IP'];
|
|
} elseif (isset($_SERVER['REMOTE_ADDR'])) {
|
|
$ip = $_SERVER['REMOTE_ADDR'];
|
|
}
|
|
} elseif (isset($_SERVER['REMOTE_ADDR'])) {
|
|
$ip = $_SERVER['REMOTE_ADDR'];
|
|
}
|
|
// IP地址合法验证
|
|
$long = sprintf("%u", ip2long($ip));
|
|
$ip = $long ? array($ip, $long) : array('0.0.0.0', 0);
|
|
return $ip[$type];
|
|
}
|
|
|
|
function avatar($uid, $size = 'middle') {
|
|
return request()->root(true) . '/static/common/images/default_avatar_' . $size . '.jpg';
|
|
}
|
|
|
|
// 分析枚举类型配置值 格式 a:名称1,b:名称2
|
|
function parse_config_attr($string) {
|
|
$array = preg_split('/[,;\r\n]+/', trim($string, ",;\r\n"));
|
|
if (strpos($string, ':')) {
|
|
$value = array();
|
|
foreach ($array as $val) {
|
|
list($k, $v) = explode(':', $val);
|
|
$value[$k] = $v;
|
|
}
|
|
} else {
|
|
$value = $array;
|
|
}
|
|
return $value;
|
|
} |