• php常用的函数


    <?php
        //地图转换
        function Convert_BD09_To_GCJ02($lat,$lng){
            $x_pi = 3.14159265358979324 * 3000.0 / 180.0;
            $x = $lng - 0.0065;
            $y = $lat - 0.006;
            $z = sqrt($x * $x + $y * $y) - 0.00002 * sin($y * $x_pi);
            $theta = atan2($y, $x) - 0.000003 * cos($x * $x_pi);
            $lng = $z * cos($theta);
            $lat = $z * sin($theta);
            return array('lng'=>$lng,'lat'=>$lat);
        }
    
        function Convert_GCJ02_To_BD09($lat,$lng){
                $x_pi = 3.14159265358979324 * 3000.0 / 180.0;
                $x = $lng;
                $y = $lat;
                $z =sqrt($x * $x + $y * $y) + 0.00002 * sin($y * $x_pi);
                $theta = atan2($y, $x) + 0.000003 * cos($x * $x_pi);
                $lng = $z * cos($theta) + 0.0065;
                $lat = $z * sin($theta) + 0.006;
                return array('lng'=>$lng,'lat'=>$lat);
        }
        //日志
        function logg($data){
            $fp = fopen('./log.txt','a');
            if(is_array($data)){
                $data = json_encode($data);
            }
            fwrite($fp,$data);
            fclose($fp);    
        }
    
        public function clear_html($array) 
         {
                if (!is_array($array))
                    return trim(htmlspecialchars($array, ENT_QUOTES));
                foreach ($array as $key => $value) {
                    if (is_array($value)) {
                        $this->clear_html($value);
                    } else {
                        $array[$key] = trim(htmlspecialchars($value, ENT_QUOTES));
                    }
                }
                return $array;
            }
    
         public function dexit($data = '') 
         {
            if (is_array($data)) {
                echo json_encode($data);
            } else {
                echo $data;
            }
            exit();
         }
    
     
        //二维数组转一维数组
        public function arr2_arr1($arrdata,$v)
        {
            $arrs = array();
            foreach ($arrdata as $key => $value) {
                $arrs[] = $value[$v];
            }
            return $arrs;
        }
        //生成php随机数
         public function randomkey($length)   
        {   
           $pattern = '1234567890abcdefghijklmnopqrstuvwxyz   
                       ABCDEFGHIJKLOMNOPQRSTUVWXYZ';  
            for($i=0;$i<$length;$i++)   
            {   
                $key .= $pattern{mt_rand(0,35)};    //生成php随机数   
            }   
            return $key;   
        }
        
        
        //打印
        public function dump($var, $echo = true, $label = null, $strict = true)
    {
        $label = ($label === null) ? '' : rtrim($label) . ' ';
        if (!$strict) {
            if (ini_get('html_errors')) {
                $output = print_r($var, true);
                $output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
            } else {
                $output = $label . print_r($var, true);
            }
        } else {
            ob_start();
            var_dump($var);
            $output = ob_get_clean();
            if (!extension_loaded('xdebug')) {
                $output = preg_replace("/]=>
    (s+)/m", '] => ', $output);
                $output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
            }
        }
        if ($echo) {
            echo($output);
            return null;
        } else
            return $output;
    }
    
     //无限极分类
          function GetTree($arr,$pid,$step){
            global $tree;
            foreach($arr as $key=>$val) {
                if($val['auth_pid'] == $pid) {
                    $flg = str_repeat('└―',$step);
                    $val['name'] = $flg.$val['name'];
                    $tree[] = $val;
                    GetTree($arr , $val['id'] ,$step+1);
                }
            }
            return $tree;
       }
        
    
    /**
     * 公共方法
     */
     
    
    /**
     * 去除多余的转义字符
     */
    function doStripslashes(){
        if(get_magic_quotes_gpc()){
            $_GET = stripslashesDeep($_GET);
            $_POST = stripslashesDeep($_POST);
            $_COOKIE = stripslashesDeep($_COOKIE);
            $_REQUEST = stripslashesDeep($_REQUEST);
        }
    }
    
    /**
     * 递归去除转义字符
     */
    function stripslashesDeep($value){
        $value = is_array($value) ? array_map('stripslashesDeep', $value) : stripslashes($value);
        return $value;
    }
    
    /**
     * URL重定向
     * @param string $url 重定向的URL地址
     * @param integer $time 重定向的等待时间(秒)
     * @param string $msg 重定向前的提示信息
     * @return void
     */
    function redirect($url, $time=0, $msg=''){
        //多行URL地址支持
        $url        = str_replace(array("
    ", "
    "), '', $url);
        if (empty($msg))
            $msg    = "系统将在{$time}秒之后自动跳转到{$url}!";
        if (!headers_sent()){
            // redirect
            if (0 === $time) {
                header('Location: ' . $url);
            } else {
                header("refresh:{$time};url={$url}");
                echo($msg);
            }
            exit();
        } else {
            $str    = "<meta http-equiv='Refresh' content='{$time};URL={$url}'>";
            if ($time != 0)
                $str .= $msg;
            exit($str);
        }
    }
    
    /**
     * 得到网站的网址
     */
    function getWebUrl() {
        $phpself = isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : '';
        if(preg_match("/^.*//", $phpself, $matches)){
            return 'http://' . $_SERVER['HTTP_HOST'] . $matches[0];
        }else{
            return '';
        }
    }
    /**
     * 得到网址的顶级域名
     */
    function getUrlTopDomain($url){
        $domain_array = parse_url($url);
        $host = strtolower($domain_array['host']);
        $two_suffix = array('.com.cn','.gov.cn','.net.cn','.org.cn','.ac.cn');
        foreach($two_suffix as $key=>$value){
            preg_match('#(.*?)'.$value.'$#',$host,$match_arr);
            if(!empty($match_arr)){
                $match_array = $match_arr;
                break;
            }
        }
        $host_arr = explode('.',$host);
        if(!empty($match_array)){
            $host_arr_last1 = array_pop($host_arr);
            $host_arr_last2 = array_pop($host_arr);
            $host_arr_last3 = array_pop($host_arr);
            
            return $host_arr_last3.'.'.$host_arr_last2.'.'.$host_arr_last1;
        }else{
            $host_arr_last1 = array_pop($host_arr);
            $host_arr_last2 = array_pop($host_arr);
            return $host_arr_last2.'.'.$host_arr_last1;
        }
    }
    /**
     * 得到网址的域名
     */
    function getUrlDomain($url){
        $domain_array = parse_url($url);
        $host = strtolower($domain_array['host']);
        return $host;
    }
    
    /**
     * 快速文件数据读取和保存 针对简单类型数据 字符串、数组
     * @param string $name 缓存名称
     * @param mixed $value 缓存值
     * @param string $path 缓存路径
     * @return mixed
     */
    function F($name, $value='', $path = DATA_PATH){
        static $_cache  = array();
        $filename       = $path . $name . '.php';
        if ('' !== $value) {
            if (is_null($value)) {
                // 删除缓存
                return false !== strpos($name,'*')?array_map("unlink", glob($filename)):unlink($filename);
            } else {
                // 缓存数据
                $dir            =   dirname($filename);
                // 目录不存在则创建
                if (!is_dir($dir))
                    mkdir($dir,0755,true);
                $_cache[$name]  =   $value;
                return file_put_contents($filename, strip_whitespace("<?php	return " . var_export($value, true) . ";?>"));
            }
        }
        if (isset($_cache[$name]))
            return $_cache[$name];
        // 获取缓存数据
        if (is_file($filename)) {
            $value          =   include $filename;
            $_cache[$name]  =   $value;
        } else {
            $value          =   false;
        }
        return $value;
    }
    
    /**
     * 快速哈希文件数据读取和保存 针对简单类型数据 字符串、数组
     * @param string $name 缓存名称
     * @param mixed $value 缓存值
     * @param mixed $level 缓存的目录数
     * @param string $path 缓存路径
     * @return mixed
     */
    function S($name, $value='',$time=0,$level=2,$path=CACHE_PATH){
        static $_scache  = array();
        $name = md5($name);
        $haxi_dir = '';
        for($i=0;$i<$level;$i++){
            $haxi_dir .= $name[$i].'/';
        }
        $filename = $path . $haxi_dir . $name . '.php';
        
        if ('' !== $value) {
            if (is_null($value)){
                // 删除缓存
                return false !== strpos($name,'*') ? array_map("unlink",glob($filename)) : unlink($filename);
            } else {
                // 缓存数据
                $dir  =  dirname($filename);
                
                // 目录不存在则创建
                if (!is_dir($dir))
                    mkdir($dir,0755,true);
                
                $save_file['content'] = $value;
                if($time > 0){
                    $save_file['expire_time'] = $_SERVER['REQUEST_TIME'] + $time;
                }
                $_scache[$name]  =   $value;
                return file_put_contents($filename, strip_whitespace("<?php	return " . var_export($save_file, true) . ";?>"));
            }
        }
        if (isset($_scache[$name]))
            return $_scache[$name];
        // 获取缓存数据
        if (is_file($filename)) {
            $value          =   include $filename;
            if(!empty($value['expire_time']) && $value['expire_time']<$_SERVER['REQUEST_TIME']){
                strpos($name,'*') ? array_map("unlink",glob($filename)) : unlink($filename);
                 $return = false;
            }
            $return = $value['content'];
            $_scache[$name]  =   $return;
        } else {
            $return = false;
        }
        return $return;
    }
    
    /**
     * 去除代码中的空白和注释
     * @param string $content 代码内容
     * @return string
     */
    function strip_whitespace($content){
        $stripStr   = '';
        //分析php源码
        $tokens     = token_get_all($content);
        $last_space = false;
        for ($i = 0, $j = count($tokens); $i < $j; $i++) {
            if (is_string($tokens[$i])) {
                $last_space = false;
                $stripStr  .= $tokens[$i];
            } else {
                switch ($tokens[$i][0]) {
                    //过滤各种PHP注释
                    case T_COMMENT:
                    case T_DOC_COMMENT:
                        break;
                    //过滤空格
                    case T_WHITESPACE:
                        if (!$last_space) {
                            $stripStr  .= ' ';
                            $last_space = true;
                        }
                        break;
                    case T_START_HEREDOC:
                        $stripStr .= "<<<THINK
    ";
                        break;
                    case T_END_HEREDOC:
                        $stripStr .= "THINK;
    ";
                        for($k = $i+1; $k < $j; $k++) {
                            if(is_string($tokens[$k]) && $tokens[$k] == ';') {
                                $i = $k;
                                break;
                            } else if($tokens[$k][0] == T_CLOSE_TAG) {
                                break;
                            }
                        }
                        break;
                    default:
                        $last_space = false;
                        $stripStr  .= $tokens[$i][1];
                }
            }
        }
        return $stripStr;
    }
    
    /**
     * 自动加载
     */
    function __autoload($class){
        if(file_exists(PIGCMS_PATH.'library/controller/'.GROUP_NAME.'/'.$class.'.php')){
            require_once(PIGCMS_PATH.'library/controller/'.GROUP_NAME.'/'.$class.'.php');
            return;
        }else if(file_exists(PIGCMS_PATH.'library/controller/'.$class.'.php')) {
            require_once(PIGCMS_PATH.'library/controller/'.$class.'.php');
            return;
        }else if(file_exists(PIGCMS_PATH.'library/model/'.$class.'.php')){
            require_once(PIGCMS_PATH.'library/model/'.$class.'.php');
            return;
        }else if(file_exists(PIGCMS_PATH.'library/class/'.$class.'.class.php')){
            require_once(PIGCMS_PATH.'library/class/'.$class.'.class.php');
            return;
        }else if(file_exists(PIGCMS_PATH.'source/class/'.$class.'.class.php')){
            require_once(PIGCMS_PATH.'source/class/'.$class.'.class.php');
            return;
        }
    
        $class = strtolower($class);
        if(file_exists(PIGCMS_PATH.'library/controller/'.GROUP_NAME.'/'.$class.'.php')){
            require_once(PIGCMS_PATH.'library/controller/'.GROUP_NAME.'/'.$class.'.php');
        }else if(file_exists(PIGCMS_PATH.'library/controller/'.$class.'.php')) {
            require_once(PIGCMS_PATH.'library/controller/'.$class.'.php');
        }else if(file_exists(PIGCMS_PATH.'library/model/'.$class.'.php')){
            require_once(PIGCMS_PATH.'library/model/'.$class.'.php');
        }else if(file_exists(PIGCMS_PATH.'library/class/'.$class.'.class.php')){
            require_once(PIGCMS_PATH.'library/class/'.$class.'.class.php');
        }else if(file_exists(PIGCMS_PATH.'source/class/'.$class.'.class.php')){
    
            require_once(PIGCMS_PATH.'source/class/'.$class.'.class.php');
        }else{
            pigcms_tips($class . ' 类不存在。','none');
        }
    }
    
    /**
     * 加载文件
     *
     */
    function import($file){
        $file_arr = explode('.',$file);
        $file_arr_count = count($file_arr);
        if(class_exists($file_arr[$file_arr_count-1],false)) return false;
        switch($file_arr_count){
            case 1:
                if(substr($file_arr[0],0,1) == '@'){
                    $load_file = PIGCMS_PATH.'library/class/'.substr($file_arr[0],1).'.class.php';
                }else{
                    $load_file = PIGCMS_PATH.'source/class/'.$file_arr[0].'.class.php';
                }
                break;
            case 2:
                if(substr($file_arr[0],0,1) == '@'){
                    $load_file = PIGCMS_PATH.'library/'.substr($file_arr[0],1).'/'.$file_arr[1].'.class.php';
                }else{
                    $load_file = PIGCMS_PATH.'source/'.$file_arr[0].'/'.$file_arr[1].'.class.php';
                }
                break;
            case 3:
                $load_file = PIGCMS_PATH.$file_arr[0].'/'.$file_arr[1].'/'.$file_arr[2].'.class.php';
                break;
            default:
                $file_data = '';
                foreach($file_arr as $val){
                    if($file_data == ''){
                        $file_data = $val;
                    }else{
                        $file_data .= '/'.$val;
                    }
                }
                $load_file = PIGCMS_PATH.$file_data.'.class.php';
        }
        require_file($load_file);
    }
    
    /**
     * 调用数据库类
     */
    function D($table='',$other=array()){
        static $db_list;
        import('source.class.mysql');
        if(empty($other)){
            if (!empty($table) && isset($db_list[$table])) {
                return $db_list[$table];
            }
            $db = new mysql();
    
            if($table){
                $db_list[$table] = $db;
                $db->table($table);
            }
        }else{
            $db = new mysql($other);
            $db->table($table);
        }
    
    
        return $db;
    }
    
    /**
     * 引入并使用控制器的方法
     */
    function R($group,$mode,$action){
        $mode = strtolower($mode);
        $mode_file = PIGCMS_PATH.'library/controller/'.$group.'/'.$mode.'_controller.php';
        if(file_exists($mode_file)){
            $mode_name = $mode.'_controller';
            require($mode_file);
            if(!class_exists($mode_name)){
                pigcms_tips($mode_name.' 类不存在。','none');
            }
            $mode_obj = new $mode_name;
            if(!method_exists($mode_obj,$action)){
                if(method_exists($mode_obj,'_empty')){
                    $action = '_empty';
                }else{
                    pigcms_tips($action.' 方法不存在。','none');
                }
            }
            $mode_obj->$action();
        }else if(file_exists(TPL_PATH.'/'.ACTION_NAME.'.php')){
            display();
        }else{
            if(DEBUG){
                pigcms_tips($mode_file.' 控制器文件不存在。','none');
            }else{
                pigcms_tips($group.'分组 控制器 '.$mode.' 文件不存在。','none');
            }
        }
    }
    /**
     * 获得系统参数
     */
    function option($name=null,$value=null){
        global $_G;
         // 无参数时获取所有
        if(empty($name)){
            return $_G;
        }
        // 优先执行设置获取或赋值
        if(is_string($name)){
            if (!strpos($name,'.')) {
                $name = strtolower($name);
                if (is_null($value))
                    return isset($_G[$name]) ? $_G[$name] : null;
                $_G[$name] = $value;
                return;
            }
            // 二维数组设置和获取支持
            $name = explode('.', $name);
            $name[0]   =  strtolower($name[0]);
            if (is_null($value))
                return isset($_G[$name[0]][$name[1]]) ? $_G[$name[0]][$name[1]] : null;
            $_G[$name[0]][$name[1]] = $value;
            return;
        }
        return null; // 避免非法参数
    }
    /**
     * 引入并实例化MODEL类
     */
    function M($model){
        $lower_model = strtolower($model);
        $model_file = PIGCMS_PATH.'library/model/'.$lower_model.'_model.php';
        if(file_exists($model_file)){
            $model_name = $lower_model.'_model';
            if(!class_exists($model_name,false)){
                require($model_file);
                if(!class_exists($model_name)){
                    pigcms_tips($model_name.' 类不存在。','none');
                }
            }
            $model_obj = new $model_name($model);
            return $model_obj;
        }else{
              $model_file = PIGCMS_PATH.'source/plugins/bonus/model/'.$lower_model.'_model.php';
              if (file_exists($model_file)) {
                    $model_name = $lower_model.'_model';
                    if(!class_exists($model_name,false)){
                        require($model_file);
                        if(!class_exists($model_name)){
                            pigcms_tips($model_name.' 类不存在。','none');
                        }
                    }
            $model_obj = new $model_name($model);
            return $model_obj;
              }else{
    
                 pigcms_tips($model_file.' 文件不存在。','none');
              }
        }
    }
    
    function datetime($unix_time){
        return date('Y-m-d H:i:s',$unix_time);
    }
    
    
    function W($model){
        $lower_model = strtolower($model);//source/plugins/bonus/model/bonus_model.php'
        $model_file = PIGCMS_PATH.'source/plugins/bonus/model/'.$lower_model.'_model.php';
        if(file_exists($model_file)){
            $model_name = $lower_model.'_model';
            if(!class_exists($model_name,false)){
                require($model_file);
                if(!class_exists($model_name)){
                    pigcms_tips($model_name.' 类不存在。','none');
                }
            }
            $model_obj = new $model_name($model);
            return $model_obj;
        }else{
            pigcms_tips($model_file.' 文件不存在。','none');
        }
    }
    /**
     * 浏览器友好的变量输出
     * @param mixed $var 变量
     * @param boolean $echo 是否输出 默认为True 如果为false 则返回输出字符串
     * @param string $label 标签 默认为空
     * @param boolean $strict 是否严谨 默认为true
     * @return void|string
     */
    function dump($var, $echo=true, $label=null, $strict=true) {
        $label = ($label === null) ? '' : rtrim($label) . ' ';
        if (!$strict) {
            if (ini_get('html_errors')) {
                $output = print_r($var, true);
                $output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
            } else {
                $output = $label . print_r($var, true);
            }
        } else {
            ob_start();
            var_dump($var);
            $output = ob_get_clean();
            if (!extension_loaded('xdebug')) {
                $output = preg_replace('/]=>
    (s+)/m', '] => ', $output);
                $output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
            }
        }
        if ($echo) {
            echo($output);
            return null;
        }else
            return $output;
    }
    
    /**
     * 引入模板显示模板
     */
    /*function display($tpl=''){
        global $_G;
        $now_group = GROUP_NAME;
        $now_module = MODULE_NAME;
        $now_action = ACTION_NAME;
        $now_theme = $_G['config']['theme_'.$now_group.'_group'];
    
    
        if(empty($now_theme)) $now_theme = 'default';
        if(empty($tpl)){
            $tpl_file = $now_group.'/'.$now_theme.'/'.$now_module.'/'.$now_action.'.php';
        }else{
            $tpl_arr = explode(':',$tpl);
            $tpl_arr_count = count($tpl_arr);
            switch($tpl_arr_count){
                case 1:
                    if($now_group == 'wap' && option('config.is_diy_template')){
    
                        if(file_exists(TPL_PATH.$now_group.'/'.$now_theme.'/theme/'.$tpl_arr[$tpl_arr_count-1].'.php')){
                            if(USE_FRAMEWORK){
                                $tpl_file = $now_group.'/'.$now_theme.'/'.$now_module.'/'.'/theme/'.$tpl_arr[$tpl_arr_count-1].'.php';
                            }else{
                                $tpl_file = $now_group.'/'.$now_theme.'/theme/'.$tpl_arr[$tpl_arr_count-1].'.php';
                            }
                        }else{
    
                            if(USE_FRAMEWORK){
                                $tpl_file = (strpos($tpl_arr[0],'/')===false) ? $now_group.'/'.$now_theme.'/'.$now_module.'/'.$tpl_arr[0].'.php' : $tpl_arr[0];
                            }else{
                                $tpl_file = (strpos($tpl_arr[0],'/')===false) ? $now_group.'/'.$now_theme.'/'.$tpl_arr[0].'.php' : $tpl_arr[0];
                            }
    
                        }
    
                    }else{
    
                        if(USE_FRAMEWORK){
                            $tpl_file = (strpos($tpl_arr[0],'/')===false) ? $now_group.'/'.$now_theme.'/'.$now_module.'/'.$tpl_arr[0].'.php' : $tpl_arr[0];
                        }else{
                            $tpl_file = (strpos($tpl_arr[0],'/')===false) ? $now_group.'/'.$now_theme.'/'.$tpl_arr[0].'.php' : $tpl_arr[0];
                        }
    
                    }
    
                    break;
                case 2:
                    $tpl_file = $now_group.'/'.$now_theme.'/'.$tpl_arr[0].'/'.$tpl_arr[1].'.php';
                    break;
                case 3:
                    $tpl_file = $tpl_arr[0].'/'.$_G['config']['theme_'.$tpl_arr[0].'_group'].'/'.$tpl_arr[1].'/'.$tpl_arr[2].'.php';
                    break;
                default:
                    pigcms_tips('参数过多,无法实例化模板!');
            }
            if($tpl_arr_count == 1){
                
            }else if($tpl_arr_count == 2){
                
            }else if($tpl_arr_count == 3){
                
            }
        }
    
        if(file_exists(TPL_PATH.$tpl_file)){
            return TPL_PATH.$tpl_file;
        }else{
            if(DEBUG){
                pigcms_tips('模板文件 template/'.$tpl_file.' 文件不存在。','none');
            }else{
                pigcms_tips('模板文件 不存在!');
            }
        }
    }*/
    function plu_url($m,$c)
    {
            global $_G;
        
            $return_url = $_G['config']['site_url'].'/';
           $return_url.=  "./plugin.php?plugin=site&p=user&m=$m&c=$c";
          echo $return_url;
    
    }
    function disp($m,$c)
    {
        $tpl_file ='./source/plugins/bonus/view/'.$m.'/'.$c.'.php';
        return $tpl_file;
    }
    
    function disps($do,$m,$c)
    {
        $tpl_file ='./source/plugins/'.$do.'/view/'.$m.'/'.$c.'.php';
        return $tpl_file;
    }
    
    function display($tpl=''){
        global $_G;
        $now_group = GROUP_NAME;
        $now_module = MODULE_NAME;
        $now_action = ACTION_NAME;
        $now_theme = $_G['config']['theme_'.$now_group.'_group'];
    
    
        if(empty($now_theme)) $now_theme = 'default';
        if(empty($tpl)){
            $tpl_file = $now_group.'/'.$now_theme.'/'.$now_module.'/'.$now_action.'.php';
        }else{
            $tpl_arr = explode(':',$tpl);
            $tpl_arr_count = count($tpl_arr);
            switch($tpl_arr_count){
                case 1:
                    if($now_group == 'wap' && option('config.is_diy_template')){
    
                        if(file_exists(TPL_PATH.$now_group.'/'.$now_theme.'/theme/'.$tpl_arr[$tpl_arr_count-1].'.php')){
                            if(USE_FRAMEWORK){
                                $tpl_file = $now_group.'/'.$now_theme.'/'.$now_module.'/'.'/theme/'.$tpl_arr[$tpl_arr_count-1].'.php';
                            }else{
                                $tpl_file = $now_group.'/'.$now_theme.'/theme/'.$tpl_arr[$tpl_arr_count-1].'.php';
                            }
                        }else{
    
                            if(USE_FRAMEWORK){
                                $tpl_file = (strpos($tpl_arr[0],'/')===false) ? $now_group.'/'.$now_theme.'/'.$now_module.'/'.$tpl_arr[0].'.php' : $tpl_arr[0];
                            }else{
                                $tpl_file = (strpos($tpl_arr[0],'/')===false) ? $now_group.'/'.$now_theme.'/'.$tpl_arr[0].'.php' : $tpl_arr[0];
                            }
    
                        }
    
                    }else{
    
                        if(USE_FRAMEWORK){
                            $tpl_file = (strpos($tpl_arr[0],'/')===false) ? $now_group.'/'.$now_theme.'/'.$now_module.'/'.$tpl_arr[0].'.php' : $tpl_arr[0];
                        }else{
                            $tpl_file = (strpos($tpl_arr[0],'/')===false) ? $now_group.'/'.$now_theme.'/'.$tpl_arr[0].'.php' : $tpl_arr[0];
                        }
    
                    }
    
                    break;
                case 2:
                    $tpl_file = $now_group.'/'.$now_theme.'/'.$tpl_arr[0].'/'.$tpl_arr[1].'.php';
                    break;
                case 3:
                    $tpl_file = $tpl_arr[0].'/'.$_G['config']['theme_'.$tpl_arr[0].'_group'].'/'.$tpl_arr[1].'/'.$tpl_arr[2].'.php';
                    break;
                default:
                  $tpl_file ='./source/plugins/'.$tpl_arr[2].'/view/'.$tpl_arr[4].'/'.$tpl_arr[5].'.php';
                  //echo $tpl_file;die;
                  //$tpl_file ='./source/plugins/bonus/view/'.$tpl_arr[4].'/'.$tpl_arr[5].'.php';
                
            }
            if($tpl_arr_count == 1){
                
            }else if($tpl_arr_count == 2){
                
            }else if($tpl_arr_count == 3){
                
            }
        }
        //var_dump(TPL_PATH.$tpl_file);die;
        if(file_exists(TPL_PATH.$tpl_file)){
            return TPL_PATH.$tpl_file;
        }else{
            if(DEBUG){
                pigcms_tips('模板文件 template/'.$tpl_file.' 文件不存在。','none');
            }else{
                return $tpl_file;
                pigcms_tips('模板文件 不存在!');
            }
        }
    }
    
    /**
     * 生成URL
     */
    function url($url='',$param=array(),$showDomain=false){
        global $_G;
        if($showDomain){
            $return_url = $_G['config']['site_url'].'/';
        }else{
            $return_url = getWebUrl();
        }
        $url_arr = explode(':',$url);
        
        $url_arr_count = count($url_arr);
        switch($url_arr_count){
            case 1:
                $return_url .= ltrim($_SERVER['SCRIPT_NAME'],'/').'?c='.MODULE_NAME.'&a='.$url_arr[0];
                break;
            case 2:
                $return_url .= ltrim($_SERVER['SCRIPT_NAME'],'/').'?c='.$url_arr[0].'&a='.$url_arr[1];
                break;
            case 3:
                $return_url .= $url_arr[0].'.php'.'?c='.$url_arr[1].'&a='.$url_arr[2];
                break;
            case 4:
                pigcms_tips('参数过多,只允许接收3个参数!');
        }
        if($param){
            $return_url .= '&'.http_build_query($param);
        }
        return $return_url;
    }
    function urls($u)
    {
        //var_dump($u);
        
        $a ="index.php?c=category&a=index&id=$u";
    return $a;
    }
    //将url转换成静态url  
    function url_rewrite($file,$params = array (),$html = "",$rewrite = true) {    
         if ($rewrite) {
            if(strpos($file,':')){
                $file     = substr($file, 0, strpos($file, ':'));
                //echo $file;die;
                $url = option('config.site_url').'/index.php?c=' . $file;
            }else{
                $url = ($file == 'index') ? '' : '/index.php?c=' . $file;  
            }
             $url .='&index&id=';
            if (!empty ($html)) {  
                 //$url .= '.' . $html;  
            }
    
            if (!empty ($params) && is_array($params)) {  
                $url .= implode('/', $params);  
            }
    
            if($file == 'goods' || $file == 'store'){
                //$url .= '.' . 'html'; 
            }
    
            /*foreach ($params as $key => $value) {  index.php?c=goods&a=index&id=$1
                $url .= '/'.$key.'/'.$value;
            }*/
    
         } else {
            $url     = url($file,$params);
        }
        //echo $url;die;
        return $url;
    }
    //将url转换成静态url  
    function url_rewrites($file,$params = array (),$html = "",$rewrite = true) {    
         if ($rewrite) {
            if(strpos($file,':')){
                $file     = substr($file, 0, strpos($file, ':'));
                $url = option('config.site_url').'/' . $file;
            }else{
                $url = ($file == 'index') ? '' : '/' . $file;  
            }
    
            if (!empty ($html)) {  
                 $url .= '.' . $html;  
            }
    
            if (!empty ($params) && is_array($params)) {  
                $url .= '/' . implode('/', $params);  
            }
    
            if($file == 'goods' || $file == 'store'){
                $url .= '.' . 'html'; 
            }
    
            /*foreach ($params as $key => $value) {
                $url .= '/'.$key.'/'.$value;
            }*/
    
         } else {
            $url     = url($file,$params);
        }
        return $url;
    }
    
    /**
     * 生成URL并输出
     */
    function dourl($url='',$param=array(),$showDomain=false){
        echo url($url,$param,$showDomain);
    }
    
    /**
     * 得到字符串的一部分
     */
    function msubstr($str, $start=0, $length,$suffix=true,$charset="utf-8"){
        if(function_exists("mb_substr")){
            if ($suffix && strlen($str)>$length)
                return mb_substr($str, $start, $length, $charset)."...";
            else
                return mb_substr($str, $start, $length, $charset);
        }
        elseif(function_exists('iconv_substr')) {
            if ($suffix && strlen($str)>$length)
                return iconv_substr($str,$start,$length,$charset)."...";
            else
                return iconv_substr($str,$start,$length,$charset);
        }
        $re['utf-8']   = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/";
        $re['gb2312'] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/";
        $re['gbk']    = "/[x01-x7f]|[x81-xfe][x40-xfe]/";
        $re['big5']   = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/";
        preg_match_all($re[$charset], $str, $match);
        $slice = join("",array_slice($match[0], $start, $length));
        if($suffix) return $slice."";
        return $slice;
    }
    
    /**
     * 得到字符串的utf8格式
     */
    function get_utf8($word){ 
        if (preg_match("/^([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}$/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){2,}/",$word) == true){ 
            return $word; 
        }else{ 
            return iconv('gbk','utf-8',$word); 
        } 
    }
    
    /**
     * JSON返回
     *
     * param err_code 返回的错误编码
     * param err_msg  返回的错误信息
     * param err_dom  返回的DOM标识
     */
    function clear_html($array) 
    
         {
    
                if (!is_array($array))
    
                    return trim(htmlspecialchars($array, ENT_QUOTES));
    
                foreach ($array as $key => $value) {
    
                    if (is_array($value)) {
    
                        $this->clear_html($value);
    
                    } else {
    
                        $array[$key] = trim(htmlspecialchars($value, ENT_QUOTES));
    
                    }
    
                }
    
                return $array;
    
         }
    
    
    
    function dexit($data = '') 
    
        {
    
                if (is_array($data)) {
    
                    echo json_encode($data);
    
                } else {
    
                    echo $data;
    
                }
    
                exit();
    
        }
    
    
    function json_return($err_code,$err_msg='',$err_dom=''){
        $json_arr['err_code'] = $err_code;
        if($err_msg) $json_arr['err_msg'] = $err_msg;
        if($err_dom) $json_arr['err_dom'] = $err_dom;
        if(!headers_sent()) header('Content-type:application/json');
        exit(json_encode($json_arr));
    }
     
     
    /**
     * 检测插件是否存在
     *
     * @param string $plugin 插件名称
     * @param string $attr 参数
     */
    /*function check_plugin($plugin){
        if (is_string($plugin) && file_exists(PIGCMS_PATH.'source/plugins/'.$plugin.'/'.$plugin.'.php')){
            return true;
        }else{
            return false;
        }
    }*/
    function check_plugin($plugin){
        if (is_string($plugin) && file_exists(PIGCMS_PATH.'source/plugins/'.$plugin.'.php')){
            return true;
        }else{
            return false;
        }
    }
    
    /**
     * 得到插件的url
     *
     * @param string $plugin 插件名称
     * @param string $attr 参数 
     */
    function url_plugin($plugin,$attr=''){
        global $_G;
        if(!defined('IS_MOBILE')){
            $site_url = $_G['config']['site_url'];
        }else{
            $site_url = $_G['config']['mobile_site_url'];
        }
        if(!empty($attr)){
            return $site_url.'/index.php?plugin='.$plugin.'&'.$attr;
        }else{
            return $site_url.'/index.php?plugin='.$plugin;
        }
    }
    
    /**
     * 得到文件的大小
     */
    function getSize($size){
        $kb = 1024;
        $mb = 1024*$kb;
        $gb = 1024*$mb;
        $tb = 1024*$gb;
        if($size<$kb){ 
            return $size." B";
        }else if($size<$mb){ 
            return round($size/$kb,2)." KB";
        }else if($size<$gb){ 
            return round($size/$mb,2)." MB";
        }else if($size<$tb){ 
            return round($size/$gb,2)." GB";
        }else{ 
            return round($size/$tb,2)." TB";
        }
    }
    
    /**
     * 判断是否手机访问
     */
    function is_mobile(){
        if(preg_match('/(iphone|ipad|ipod|android)/i', strtolower($_SERVER['HTTP_USER_AGENT']))){
            return true;
        }else{
            return false;
        }
    }
    /**
     * 判断是否微信访问
     */
    function is_weixin(){
        if(strpos($_SERVER['HTTP_USER_AGENT'],'MicroMessenger') !== false){
            return true;
        }else{
            return false;
        }
    }
    /**
     * 得到附件的网址
     * is_remote,是否是远程,否时直接用本地图片
     */
    function getAttachmentUrl($fileUrl, $is_remote = true){
    
        if(empty($fileUrl)){
            return '';
        }else{
            // 如果已经是完整url地址,则不做处理
            if (strstr($fileUrl, 'http://') !== false) {
                return $fileUrl;
            }
    
            $attachment_upload_type = option('config.attachment_upload_type');
            $url = option('config.site_url') . '/upload/';
            if ($attachment_upload_type == '1' && $is_remote) {
                $url = 'http://' . option('config.attachment_up_domainname') . '/';
            }
    
            return $url . $fileUrl;
        }
    }
    /**
     * 得到附件相对应网站目录的文件地址
     */
    function getAttachmentFilePath($fileUrl){
        return PIGCMS_PATH.'upload/'.$fileUrl;
    }
    
    /**
     * 获取客户端IP地址
     * @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字
     * @return mixed
     */
    function get_client_ip($type = 0) {
        $type       =  $type ? 1 : 0;
        static $ip  =   NULL;
        if ($ip !== NULL) return $ip[$type];
        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'];
        }
        // IP地址合法验证
        $long = sprintf("%u",ip2long($ip));
        $ip   = $long ? array($ip, $long) : array('0.0.0.0', 0);
        return $ip[$type];
    }
    
    
    /**
     * 等比例绽放图片大小
     */
     function drawImg($from,$w=100,$h=100,$newfile){
    
        $info = getimagesize($from);
    
        switch ($info[2]){
            case 1:
                $im = imagecreatefromgif($from);
                break;
    
            case 2:
                $im = imagecreatefromjpeg($from);
                break;
    
            case 3:
                $im = imagecreatefrompng($from);
                break;
    
            default:
                exit('不支持的图像格式');
                break;
        }
    
        $temp = pathinfo($from);
        $name = $temp["basename"];//文件名
        $dir = $temp["dirname"];//文件所在的文件夹
        $extension = $temp["extension"];//文件扩展名
        $width = $info[0];//获取图片宽度
        $height = $info[1];//获取图片高度
        $per1 = round($width/$height,2);//计算原图长宽比
        $per2 = round($w/$h,2);//计算缩略图长宽比
    
        //计算缩放比例
        if($per1>$per2||$per1==$per2) {
            //原图长宽比大于或者等于缩略图长宽比,则按照宽度优先
            $per=$w/$width;
        }
    
        if($per1<$per2) {
            //原图长宽比小于缩略图长宽比,则按照高度优先
            $per=$h/$height;
        }
        $temp_w = intval($width*$per);//计算原图缩放后的宽度
        $temp_h = intval($height*$per);//计算原图缩放后的高度
        $dst_im = imagecreatetruecolor($temp_w, $temp_h);
    
        //调整大小
        imagecopyresized($dst_im, $im, 0, 0, 0, 0, $temp_w, $temp_h, $width, $height);
        //输出缩小后的图像
        //exit($newfile);
    
        imagejpeg($dst_im,$dir.'/'.$newfile);
        imagedestroy($dst_im);
        imagedestroy($im);
    }
    
    /**
     * 获取图片不包含域名,如果未使用远程存储,将upload目录一并去掉
     */
    function getAttachment($file) {
        if (empty($file)) {
            return;
        }
    
        $search = trim(option('config.site_url'), '/') . '/upload/';
        $attachment_upload_type = option('config.attachment_upload_type');
        if ($attachment_upload_type == '1') {
            $search = trim('http://' . option('config.attachment_up_domainname'), '/') . '/';
        }
    
        $file = trim(str_replace($search, '', $file), '/');
        return $file;
    }
    
    
    //im聊天相关
    /**
     *   加密串
     */
    function get_encrypt_key($array,$app_key){
        $new_arr = array();
        ksort($array);
        foreach($array as $key=>$value){
            $new_arr[] = $key.'='.$value;
        }
        $new_arr[] = 'app_key='.$app_key;
    
        $string = implode('&',$new_arr);
        return md5($string);
    }
    
    /**
     * CURL POST
     *
     * param url 抓取的URL
     * param data post的数组
     */
    function curl_post($url,$data){
        $ch = curl_init();
        $headers[] = "Accept-Charset: utf-8";
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $result = curl_exec($ch);
    
        //关闭curl
        curl_close($ch);
        
        return $result;
    }
    /**
     * 微信API CURL POST
     *
     * param url 抓取的URL
     * param data post的数组
     */
    function api_curl_post($url,$data){
        $result = curl_post($url,$data);
    
        $result_arr = json_decode($result,true);
        return $result_arr;
    }
    
    /**
     * JSON返回
     *
     * param err_code 返回的错误编码
     * param err_msg  返回的错误信息
     * param err_dom  返回的DOM标识
     */
    function error_json_return($err_code,$err_msg){
        $json_arr['err_code'] = $err_code;
        $json_arr['err_msg'] = $err_msg;
        exit(json_encode($json_arr));
    }
    function ok_json_return($json_arr){
        $json_arr['err_code'] = 0;
        exit(json_encode($json_arr));
    }
    function ok_jsonp_return($json_arr){
        $json_arr['err_code'] = 0;
        exit($_GET['callback'].'('.json_encode($json_arr).')');
    }
    //获取im聊天url
    function getImUrl($userId,$storeId){
        $is_service     = D('Service')->where("status = 1 AND openid != '' AND store_id=$storeId")->find();
        
        if(!empty($is_service) && $_SESSION['wap_user']['app_id'] == 0){
            $key = get_encrypt_key(array('app_id'=>option('config.im_appid'),'openid'=>$userId),option('config.im_appkey'));
            $url = IM_SERVER_PATH.'?app_id='.option('config.im_appid').'&openid='.$userId.'&key='.$key.'#serviceList_'.$storeId;
        }else{
            $store = D('Store')->where("status = 1 AND store_id = '" . $storeId . "'")->find();
            $user_tmp = $_SESSION['wap_user'];
            
            /*if (empty($_SESSION['wap_user'])) {
                $user_tmp = D('User')->where("uid = '" . $store['uid'] . "'")->find();
            }*/
            
            if ($user_tmp['app_id'] == 1 && !empty($store['open_service']) && !empty($store['source_site_url']) && !empty($store['token'])) {
                $url = $store['source_site_url'] . '/index.php?g=Wap&m=Service&a=index&token=' . $store['token'] . '&wecha_id=';
            } else if ($user_tmp['app_id'] == 2 && !empty($store['open_service'])) {
                $url = $store['source_site_url'] . '/wap.php?c=Weidian&a=getImUrl&token='.$store['token'].'&wecha_id='.$_SESSION['wap_user']['third_id'];
            } else {
                $url     = '';
            }
        }
        
        return $url;
    }
    
    /**
     * 根据时间,返回状态
     * 当前时间在两个时间内:正在进行,当前时间大于开始时间:未开始,当前时间大于结束时间:已结束
     */
    function getTimeType($start_time, $end_time) {
        if (empty($start_time) && empty($end_time)) {
            return '';
        }
    
        // 时间修正
        if ($start_time > $end_time) {
            $tmp = $end_time;
            $end_time = $start_time;
            $start_time = $tmp;
        }
    
        $time = time();
        if ($time >= $start_time && $time <= $end_time) {
            return '正在进行';
        } else if ($time < $start_time) {
            return '未开始';
        } else if ($time > $end_time) {
            return '已结束';
        }
    
        return '';
    }
    
    /**
     * 根据满减/送信息,返回格式化字条串
     */
    function getRewardStr($reward) {
        global $config;
    
        $str = '' . $reward['money'];
    
        if ($reward['cash']) {
            $str .= ',减' . $reward['cash'] . '';
        }
    
        if ($reward['postage']) {
            $str .= ',免邮费';
        }
    
        if ($reward['score']) {
            $str .= ',送' . $reward['score'] . '积分';
        }
    
        if ($reward['coupon']) {
            $str .= ',送优惠券';
    
            $url = '';
            if (GROUP_NAME != 'wap') {
                $url = url('coupon:index', array('id' => $reward['coupon']['id']));
            } else {
                $url = $config['wap_site_url'] . '/coupon_detail.php?id=' . $reward['coupon']['id'];
            }
            $str .= '<a href="' . $url . '" target="_blank">' . $reward['coupon']['name'] . '</a>';
        }
    
        if ($reward['present']) {
            $str .= ',赠送产品:';
            foreach ($reward['present'] as $product) {
                $url = '';
                if (GROUP_NAME != 'wap') {
                    $url = url_rewrite('goods:index', array('id' => $product['product_id']));
                } else {
                    $url = $config['wap_site_url'] . '/good.php?id=' .  $product['product_id'];
                }
                $str .= '<a href="' . $url . '" target="_blank">' . $product['name'] . '</a> ';
            }
        }
    
        return $str;
    }
    
    
    
    //对象转换为数组
    function object_array($array) {
        if(is_object($array)) {
            $array = (array)$array;
        } if(is_array($array)) {
            foreach($array as $key=>$value) {
                $array[$key] = object_array($value);
            }
        }
        return $array;
    }
    
    
    //获取用户当前登录位置
    function show_distance(){
    
        if($_COOKIE['Web_user']) {
            $array = object_array(json_decode($_COOKIE['Web_user']));
            $array['status'] = true;
        } else {
            $array = array('status'=>false);
        }
        return $array;
    }
    
    // 隐藏评论人信息
    function anonymous($str, $len1 = 2, $len2 = 1) {
        if (mb_strlen($str, 'utf-8') < 4) {
            $return_str = mb_substr($str, 0, 1, 'utf-8');
            $return_str .= '**';
        } else {
            $return_str = mb_substr($str, 0, $len1, 'utf-8');
            $return_str .= '**';
            $return_str .= mb_substr($str, -1 * $len2, $len2, 'utf-8');
        }
        return $return_str;
    }
    
    
    /**
     * @desc 获取querystring
     * @param $url
     * @return array|string
     */
    function convertUrlQuery($url) {
        $arr = parse_url($url);
        $query = $arr['query'];
        if (!empty($query)) {
            $queryParts = explode('&', $query);
    
            $params = array();
            foreach ($queryParts as $param) {
                $item = explode('=', $param);
                $params[$item[0]] = $item[1];
            }
        } else {
            $params = '';
        }
        return $params;
    }
    
    
    
    
    /**
     *计算某个经纬度的周围某段距离的正方形的四个点
     *
     *@param lng float 经度
     *@param lat float 纬度
     *@param distance float 该点所在圆的半径,该圆与此正方形内切,默认值为0.5千米
     *@return array 正方形的四个点的经纬度坐标
    */
    function returnSquarePoint($lng, $lat,$distance = 0.5){
        define(EARTH_RADIUS, 6371);//地球半径,平均半径为6371km
        $dlng =  2 * asin(sin($distance / (2 * EARTH_RADIUS)) / cos(deg2rad($lat)));
        $dlng = rad2deg($dlng);
    
        $dlat = $distance/EARTH_RADIUS;
        $dlat = rad2deg($dlat);
    
        return array(
                'left-top'=>array('lat'=>$lat + $dlat,'lng'=>$lng-$dlng),
                'right-top'=>array('lat'=>$lat + $dlat, 'lng'=>$lng + $dlng),
                'left-bottom'=>array('lat'=>$lat - $dlat, 'lng'=>$lng - $dlng),
                'right-bottom'=>array('lat'=>$lat - $dlat, 'lng'=>$lng + $dlng)
        );
    }
    
        function arr2_arr1($arrdata,$v)
        {
            $arrs = array();
            foreach ($arrdata as $key => $value) {
                $arrs[] = $value[$v];
            }
            return $arrs;
        }
    
        function dangqiangIp()
        {
    
            $ip = "Unknown";
    
            if (isset($_SERVER["HTTP_X_REAL_IP"]) && !empty($_SERVER["HTTP_X_REAL_IP"])) {
                $ip = $_SERVER["HTTP_X_REAL_IP"];
            }
            elseif (isset($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]) && !empty($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])) {
                $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
            }
            elseif (isset($HTTP_SERVER_VARS["HTTP_CLIENT_IP"]) && !empty($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])) {
                $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
            }
            elseif (isset($HTTP_SERVER_VARS["REMOTE_ADDR"]) && !empty($HTTP_SERVER_VARS["REMOTE_ADDR"])) {
                $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
            }
            elseif (getenv("HTTP_X_FORWARDED_FOR")) {
                $ip = getenv("HTTP_X_FORWARDED_FOR");
            }
            elseif (getenv("HTTP_CLIENT_IP")) {
                $ip = getenv("HTTP_CLIENT_IP");
            }
            elseif (getenv("REMOTE_ADDR")) {
                $ip = getenv("REMOTE_ADDR");
            }
            return $ip;
        }
    ?>
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        
    </body>
    </html>
    <script type="text/javascript">
        
        $.ajax({
                            type:'get',
                            url:'/merchants.php?m=User&c=index&a=delmen&id='+ids,
                            dataType:"JSON",
                            success:function(ret){
                                //alert(ret.error);
                                    if(ret.error== 2){
                                             swal({
                                                  title: "公众号菜单!",
                                                  text: ret.msg,
                                                  type: "success"
                                                 }, function () {
                                                window.location.reload();
                                                });
                                          
                                    }else{
                                        swal({
                                                  title: "公众号菜单!",
                                                  text: ret.msg,
                                                  type: "error"
                                                 }, function () {
                                                window.location.reload();
                                                });
                                    }
                            }
                        });
    //========================
        $.get('?m=User&c=cashier&a=restore',{orderid:c.attr('data-id')},function(re){
                                if(re.status == 0){
                                    swal("错误", "还原失败 :)", "error");
                                }else{
                                    swal("成功", "还原成功 :)", "success");
                                    c.parents('tr').remove();
                                    b('.footable').footable();
                                }
                            },'json');
                        });
    
     //=================================
    </script>
    
    <script>
        $(function(){
          $('#submit').click(function() {
              var postData={
                geetest_challenge: $('.geetest_challenge').val(),
                geetest_validate: $('.geetest_validate').val(),
                geetest_seccode: $('.geetest_seccode').val()
            }            
            postData.username = $("input[name='username']").val();
            postData.password = $("input[name='password']").val();
            postData.type = $("input[name='type']:checked").val();
    
          console.log(postData);//success
          $.post('merchants.php?m=Index&c=index&a=signin_test', postData, function(ret){
              console.log(ret.msg);
                if (ret.error == 0){
                   window.location.href=ret.msg;
                    //window.location.href="/merchants.php?m=User&c=souye&a=souye"; 
                   //swal("成功", ret.msg, "success");
                 }else if(ret.error == 1){               
                   swal("失败", ret.msg, "error");               
               }else{
                   window.location.href=ret.msg;
               }
            },'json');
          
          });
        });
      </script>
  • 相关阅读:
    C#进阶之路——10.C# 接口
    C#进阶之路——9.C# 抽象类
    C#进阶之路——8.C# 继承
    C#进阶之路——7.ASP.NET常用控件
    C#进阶之路——6.C#字符与字符串
    C#进阶之路——5.C#数组与集合
    C#进阶之路——4.C#类属性和方法
    C#进阶之路——3.C#应用程序编译与执行
    mongodb
    Mycat配置文件详解
  • 原文地址:https://www.cnblogs.com/lujiang/p/7281071.html
Copyright © 2020-2023  润新知