mirror of
https://gitee.com/apiadmin/ApiAdmin.git
synced 2025-04-06 03:58:00 +08:00
128 lines
3.8 KiB
PHP
128 lines
3.8 KiB
PHP
<?php
|
|
// +----------------------------------------------------------------------
|
|
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
|
|
// +----------------------------------------------------------------------
|
|
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
|
|
// +----------------------------------------------------------------------
|
|
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
|
// +----------------------------------------------------------------------
|
|
// | Author: 流年 <liu21st@gmail.com>
|
|
// +----------------------------------------------------------------------
|
|
|
|
/**
|
|
* 判断是否是系统管理员
|
|
* @param mixed $uid
|
|
* @return bool
|
|
*/
|
|
function isAdministrator( $uid = '' ){
|
|
$uid = empty($uid) ? session('uid') : $uid;
|
|
if( is_array(config('USER_ADMINISTRATOR')) ){
|
|
if( is_array( $uid ) ){
|
|
$m = array_intersect( config('USER_ADMINISTRATOR'), $uid );
|
|
if( count($m) ){
|
|
return TRUE;
|
|
}
|
|
}else{
|
|
if( in_array( $uid, config('USER_ADMINISTRATOR') ) ){
|
|
return TRUE;
|
|
}
|
|
}
|
|
}else{
|
|
if( is_array( $uid ) ){
|
|
if( in_array(config('USER_ADMINISTRATOR'),$uid) ){
|
|
return TRUE;
|
|
}
|
|
}else{
|
|
if( $uid == config('USER_ADMINISTRATOR')){
|
|
return TRUE;
|
|
}
|
|
}
|
|
}
|
|
return FALSE;
|
|
}
|
|
|
|
/**
|
|
* CURL post数据
|
|
* @param $url
|
|
* @param $data
|
|
* @param array $urlParam
|
|
* @param array $header
|
|
* @return mixed
|
|
*/
|
|
function curlPost( $url, $data, $urlParam = [], $header = [] ){
|
|
$ch = curl_init();
|
|
if( !empty($urlParam) ){
|
|
$url = $url.'?'.http_build_query($urlParam);
|
|
}
|
|
curl_setopt($ch, CURLOPT_POST, 1);
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
|
|
|
|
if( !empty($header) ){
|
|
$headerStrArr = [];
|
|
foreach ($header as $key => $value){
|
|
$headerStrArr[] = "$key: $value";
|
|
}
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, $headerStrArr);
|
|
}
|
|
curl_setopt($ch, CURLOPT_URL, $url);
|
|
curl_setopt($ch, CURLOPT_HEADER, 0);
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
|
curl_setopt($ch, CURLOPT_URL, $url);
|
|
$return = curl_exec($ch);
|
|
curl_close($ch);
|
|
return $return;
|
|
}
|
|
|
|
/**
|
|
* 把返回的数据集转换成Tree
|
|
* @param $list
|
|
* @param string $pk
|
|
* @param string $pid
|
|
* @param string $child
|
|
* @param string $root
|
|
* @return array
|
|
*/
|
|
function listToTree($list, $pk='id', $pid = 'fid', $child = '_child', $root = '0') {
|
|
$tree = [];
|
|
if(is_array($list)) {
|
|
$refer = [];
|
|
foreach ($list as $key => $data) {
|
|
$refer[$data[$pk]] = &$list[$key];
|
|
}
|
|
foreach ($list as $key => $data) {
|
|
$parentId = $data[$pid];
|
|
if ($root == $parentId) {
|
|
$tree[] = &$list[$key];
|
|
}else{
|
|
if (isset($refer[$parentId])) {
|
|
$parent = &$refer[$parentId];
|
|
$parent[$child][] = &$list[$key];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return $tree;
|
|
}
|
|
|
|
function formatTree($list, $lv = 0, $title = 'name'){
|
|
$formatTree = [];
|
|
foreach($list as $key => $val){
|
|
$title_prefix = '';
|
|
for( $i=0;$i<$lv;$i++ ){
|
|
$title_prefix .= "|---";
|
|
}
|
|
$val['lv'] = $lv;
|
|
$val['namePrefix'] = $lv == 0 ? '' : $title_prefix;
|
|
$val['showName'] = $lv == 0 ? $val[$title] : $title_prefix.$val[$title];
|
|
if(!array_key_exists('_child', $val)){
|
|
array_push($formatTree, $val);
|
|
}else{
|
|
$child = $val['_child'];
|
|
unset($val['_child']);
|
|
array_push($formatTree, $val);
|
|
$middle = formatTree($child, $lv+1, $title); //进行下一层递归
|
|
$formatTree = array_merge($formatTree, $middle);
|
|
}
|
|
}
|
|
return $formatTree;
|
|
} |