<?php
// 应用公共文件

//后台字符加密
function pass_encrypt($pass){
	return md5(md5('Z').'H'.$pass.'X');
}

//是否ajax操作
function IS_AJAX($ajax){
	if($ajax==false){ echo '错误代码:001';exit; }
}

//判断某个字符是否存在数组之中
function inarray($id,$arr){
	if($arr){
        if (in_array($id, $arr)){
            return 1;
        }else{
            return 0;
        }
    }
}

//定义下标F()使用
function xiabiao($str){
	for($i=0;$i<11;$i++){
		$n[$i]=isset($str[$i])?$str[$i]:'';
	}
	return $n;
}

//获取env 设置
function TQ($name,$t=0){
	$val=env('APP_'.$name.'');
	if($t==true){
		$val=$val?true:false;	
	}
	return $val;
}

//获取单个字段值
function tq_value($id,$field,$table){
	$value=\app\admin\model\Common::tq_value($id,$field,$table);
	return $value;
}

//系统字典 label表
function Label($field,$pid,$limit=9999){
	$map[] = ['field','=',$field];
	if(strlen($pid)==0){
	$map[] = ['pid','<>',0];
	}else{
	$map[] = ['pid','=',$pid];
	}
	$map[] = ['is_effect','=',1];
	$list=\app\common\model\Label::where($map)->order('sort asc')->limit($limit)->select();
	return $list;
}

//删除空格
function trimall($str){
    $qian=array(" ","　","\t","\n","\r");
    $hou=array("","","","","");
    return str_replace($qian,$hou,$str); 
}

//获取字段注释form模块
function field_name($field,$table){
	$value=\app\admin\model\form::field($field,$table);
    return $value; 
}

//上传类需求
function generateName(){
   // 不带目录
   // 示例：topic/文件名.jpg
   // return mt_rand(100, 999);

   // 带目录
   // 示例：topic/20200501/文件名.jpg
   return date('Ymd') . '/' . mt_rand(100, 999);
}

//cata栏目节点
function cate_list($cate,$joinStr = '┝',$pid=0,$level=0){
	$arr = array();
	foreach($cate as $k => $v){
		if($v['pid'] == $pid) {
			$kong='';
			for($i=0;$i<$level;$i++){
				$kong.='　';	
			}
			$joinStr =$level==0 ? '':''.$kong.'┝ '; //判断是否是第一级分类
			$v['level'] = $level + 1;
			$v['catename'] =$joinStr.$v['catename'];
			$arr[] = $v;
			unset($cate[$k]); //删除该节点，减少递归的消耗
			$arr = array_merge($arr, cate_list($cate, $joinStr, $v['id'], $level + 1));
		}
	}
	return $arr;
}


//label栏目节点
function label_list($label,$joinStr = '┝',$pid=0,$level=0){
	$arr = array();
	foreach($label as $k => $v){
		if($v['pid'] == $pid) {
			$kong='';
			for($i=0;$i<$level;$i++){
				$kong.='　';	
			}
			$joinStr =$level==0 ? '':''.$kong.'┝ '; //判断是否是第一级分类
			$v['level'] = $level + 1;
			$v['name'] =$joinStr.$v['name'];
			$arr[] = $v;
			unset($label[$k]); //删除该节点，减少递归的消耗
			$arr = array_merge($arr, label_list($label, $joinStr, $v['id'], $level + 1));
		}
	}
	return $arr;
}

//获取IP
function getRealIP(){
    $forwarded = request()->header("x-forwarded-for");
    if($forwarded){
        $ip = explode(',',$forwarded)[0];
    }else{
        $ip = request()->ip();
    }
    return $ip;
}