HEX
Server: Apache/2.4.6 (CentOS) PHP/5.6.39
System: Linux izj6c6ukj0hyugxsgmuxz3z 3.10.0-514.6.2.el7.x86_64 #1 SMP Thu Feb 23 03:04:39 UTC 2017 x86_64
User: root (0)
PHP: 5.6.39
Disabled: NONE
Upload Files
File: /web/data/www.tbbprovision.com/lib/class/f.class.php
<?php
use Dm\Request\V20151123 as Dm;      	//阿里云邮件服务器设置
class f{
	public static function echor($v){
		if(!$v){return false;}
		echo "<pre>";
		print_r($v);
		echo "</pre>";
	}
	//判断用户是否使用代理
    public static function is_proxy(){
        return (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) ? true : false;
    }

	/**
	 *	获取post参数
	 *	数组形式返回
	 */
	public static function get_post_parame(){
		return $_POST;
	}

    /**
     *	获取GET值
     */
    public static function get($key='',$trim=0,$char=' '){
        if(!$key) return '';
        $key="['".str_replace('.',"']['",$key)."'];";
        if($trim){
            return trim(@eval('return $_GET'.$key),$char);
        }
        return @eval('return $_GET'.$key);
    }

    /**
     *	获取GET值
     */
    public static function post($key='',$trim=0,$char=' '){
        if(!$key) return '';
        $key="['".str_replace('.',"']['",$key)."'];";
        if($trim){
            return trim(@eval('return $_POST'.$key),$char);
        }
        return @eval('return $_POST'.$key);
    }

	/**
	*	获取SESSION 的值
	*/
	public static function get_session($key=''){
		if(!$key) return '';
		$key="['".str_replace('.',"']['",$key)."'];";
		return @eval('return $_SESSION'.$key);
	}
	
	/**
	*	设置cookie 的值
	*	默认有限时间为1周
	*/
	public static function set_cookie($key='',$val='',$effective_time=604800){
		$effective_time = WEB_TIME + $effective_time;
		if(!$key) return '';
		@setcookie(md5($key),$val,$effective_time);
	}
	
	/**
	*	获取SESSION 的值
	*/
	public static function get_cookie($key=''){
		if(!$key) return '';
		$key="['".str_replace('.',"']['",md5($key))."'];";
		return eval('return $_COOKIE'.$key);
	}
	
	/**
	*	设置SESSION 的值
	*/
	public static function set_session($key='',$val=''){
		if(!$key) return '';
		$key="['".str_replace('.',"']['",$key)."']";
		@eval('return $_SESSION'.$key.'=$val;');
	}
	
	/**
	*	密码
	*/
	public static function password($password){	//密码加密
		$password=md5($password);
		$password=substr($password, 0, 5).substr($password, 10, 20).substr($password, -5).'frame';
		return md5($password.$password);
	}
	
	/**
	*	获取IP地址
	*/
	public static function get_ip(){	//浏览者IP
		/*if($_SERVER['HTTP_X_FORWARDED_FOR']){
			$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
		}elseif($_SERVER['HTTP_CLIENT_IP']){
			$ip=$_SERVER['HTTP_CLIENT_IP'];
		}else{
		}*/
        $ip=$_SERVER['REMOTE_ADDR'];
		return preg_match('/^[\d]([\d\.]){5,13}[\d]$/', $ip)?$ip:'';
	}
	
	/**
	*	将IP地址转为实际地址
	*/
	public static function ip($ip=''){	//IP地址转换为地理地址
		$iploca=new ip;
		@$iploca->init();
		@$iploca->getiplocation($ip);
		$area=array();
		$area['country']=str_replace(array('未知', 'CZ88.NET'), '', $iploca->get('country'));
		//$area['area']=str_replace(array('未知', 'CZ88.NET'), '', $iploca->get('area'));
		$area['country']=='' && $area['country']='未知';
		//$area['area']=='' && $area['area']='未知';
		return str::iconver(implode($area), 'GBK', 'UTF-8');
	}
    /**
     *	将IP地址转为实际国家
     */
    public static function ip2contry($ip=''){	//IP地址转换为地理地址
        $iploca=new ip;
        @$iploca->init();
        @$iploca->getiplocation($ip);
        $area=array();
        $area['country']=str_replace(array('未知', 'CZ88.NET'), '', $iploca->get('country'));
        //$area['area']=str_replace(array('未知', 'CZ88.NET'), '', $iploca->get('area'));
//        $area['country']=='' && $area['country']='未知';
        //$area['area']=='' && $area['area']='未知';
        return str::iconver(implode($area), 'GBK', 'UTF-8');
    }
	
	/**
	*	将IP地址转为实际地址,以国家,和地区数组返回
	*/
	public static function ip2area($ip){	//IP地址转换为地理地址
		if(!$ip){return;}
		$iploca=new ip;
		@$iploca->init();
		@$iploca->getiplocation($ip);
		$area=array();
		$area['country']=str_replace(array('未知', 'CZ88.NET'), '', $iploca->get('country'));
		$area['area']=str_replace(array('未知', 'CZ88.NET'), '', $iploca->get('area'));
		$area['country']=='' && $area['country']='未知';
		$area['area']=='' && $area['area']='未知';
		return $area;
	}

	/**
	*	格式化文件大小 
	*/
	public static function file_size_format($size){
		$size_unit=array('B','KB','MB','GB','TB');
		for($i=0;$i<count($size_unit);$i++){
			if($size>=pow(2,10*$i)-1){
				$size_unit_str=(ceil($size/pow(2,10*$i)*100)/100).' '.$size_unit[$i];
			}
		}
		return $size_unit_str;
	}

    public static function editor($name,$id,$content='')
    {
        $html = '';
        $html .= '<script type="text/plain" id="Ued_'.$id.'" name="'.$name.'" style="width:100%;">'.htmlspecialchars_decode(trim($content)).'</script>';
        $html .= '<div id="Ues_'.$id.'" class="ued_hide"></div>';
        $html .= "<script type='text/javascript'>";
        $html .= 'var Ued_ = UE.getEditor("Ued_'.$id.'", {scaleEnabled:true,initialFrameHeight:250});';
        $html .= "</script>";
        return $html;
	}

	
	/*
	 * 更新数据库多语言版本操作
	 * 参数:(表名(string),执行条件(string),字段(array))
	 * 输出:null
	 */
	public static function database_language_operation($table, $where, $input_field){
		global $manage_config;
		@extract($_POST, EXTR_PREFIX_ALL, 'p');
		$column_ary=db::get_table_fields($table, 1); //获取数据表的所有字段名称
		$data=array();
		foreach($manage_config['manage_lang'] as $k=>$v){
			foreach($input_field as $k2=>$v2){
				$field_name=$v2.'_'.$k;
				$data[$field_name]=${'p_'.$field_name};
				if(!in_array($field_name, $column_ary)){
					$f='TEXT';
					db::query("alter table {$table} add {$field_name} {$f} after {$v2}_cn");
				}
			}
		}
		db::update($table, $where, $data);
	}
	
	/**
	*	分页函数
	*/
	public static function turn_page($row_count, $page, $total_pages, $query_string, $pre_page='上一页', $next_page='下一页', $base_page=3, $link_ext_str=''){	//翻页
        if(!$row_count){return;}

        $i_start=$page-$base_page>0?$page-$base_page:1;
        $i_end=$page+$base_page>=$total_pages?$total_pages:$page+$base_page;
        ($total_pages-$page)<$base_page && $i_start=$i_start-($base_page-($total_pages-$page));
        $page<=$base_page && $i_end=$i_end+($base_page-$page+1);
        $i_start<1 && $i_start=1;
        $i_end>=$total_pages && $i_end=$total_pages;

        $turn_page_str='<ul class="pagination">';
        $pre=$page-1>0?$page-1:1;
        $turn_page_str.=($page<=1)?"<li class='disabled'><a>首页</a></li>":"<li><a href='{$query_string}1{$link_ext_str}' class='page_button'>首页</a></li>";
        $turn_page_str.=($page<=1)?"<li class='disabled'><a>$pre_page</a></li>":"<li><a href='{$query_string}{$pre}{$link_ext_str}' class='page_button'>$pre_page</a></li>";

        for($i=$i_start; $i<=$i_end; $i++){
            $turn_page_str.=$page!=$i?"<li><a href='{$query_string}{$i}{$link_ext_str}' class='page_item'>$i</a></li>":"<li class='active'><a>$i</a></li>";
        }

        $i_end<$total_pages && $turn_page_str.="<li><a >...</a></li><li><a href='{$query_string}{$total_pages}{$link_ext_str}' class='page_item'>$total_pages</a></li>";

        $next=$page+1>$total_pages?$total_pages:$page+1;
        if($page+1>$total_pages){
            $turn_page_str.="<li class='disabled'><a class='page_noclick'>$next_page</a></li>";
        }else{
            $page>=$total_pages && $page--;
            $turn_page_str.="<li><a href='{$query_string}{$next}{$link_ext_str}' class='page_button'>$next_page</a></li>";
        }
        if($page+1>$total_pages){
            $turn_page_str.="<li class='disabled'><a class='page_noclick'>尾页</a></li>";
        }else{
            $turn_page_str.="<li><a href='{$query_string}{$total_pages}{$link_ext_str}' class='page_button'>尾页</a></li>";
        }

        return $turn_page_str.'</ul>';
	}

    /**
     *	分页函数
     */
    public static function turn_page_pro($row_count, $page, $total_pages, $query_string, $pre_page='&lt;', $next_page='&gt;', $base_page=3, $link_ext_str=''){	//翻页
        if(!$row_count){return;}

        $i_start=$page-$base_page>0?$page-$base_page:1;
        $i_end=$page+$base_page>=$total_pages?$total_pages:$page+$base_page;
        ($total_pages-$page)<$base_page && $i_start=$i_start-($base_page-($total_pages-$page));
        $page<=$base_page && $i_end=$i_end+($base_page-$page+1);
        $i_start<1 && $i_start=1;
        $i_end>=$total_pages && $i_end=$total_pages;

        $turn_page_str='<ul class="pagination">';
        $pre=$page-1>0?$page-1:1;
//        $turn_page_str.=($page<=1)?"<li class='disabled'><a>&lt;</a></li>":"<li><a href='{$query_string}1{$link_ext_str}' class='page_button'>首页</a></li>";
        $turn_page_str.=($page<=1)?"<li class='disabled'><a>$pre_page</a></li>":"<li><a href='{$query_string}{$pre}{$link_ext_str}' class='page_button '>$pre_page</a></li>";

        for($i=$i_start; $i<=$i_end; $i++){
            $turn_page_str.=$page!=$i?"<li><a href='{$query_string}{$i}{$link_ext_str}' class='page_item'>$i</a></li>":"<li class='active'><a>$i</a></li>";
        }

        $i_end<$total_pages && $turn_page_str.="<li><a >...</a></li><li><a href='{$query_string}{$total_pages}{$link_ext_str}' class='page_item'>$total_pages</a></li>";

        $next=$page+1>$total_pages?$total_pages:$page+1;
        if($page+1>$total_pages){
            $turn_page_str.="<li class='disabled'><a class='page_noclick'>$next_page</a></li>";
        }else{
            $page>=$total_pages && $page--;
            $turn_page_str.="<li><a href='{$query_string}{$next}{$link_ext_str}' class='page_button pro-loading-btn'>$next_page</a></li>";
        }


        return $turn_page_str.'</ul>';
    }
	
	/**
	*	分页函数
	*/
	public static function turn_page_web($row_count, $page, $total_pages, $query_string, $pre_page='上一页', $next_page='下一页', $base_page=3, $link_ext_str=''){	//翻页
        if(!$row_count || $total_pages<=1){return;}

        $i_start=$page-$base_page>0?$page-$base_page:1;
        $i_end=$page+$base_page>=$total_pages?$total_pages:$page+$base_page;
        ($total_pages-$page)<$base_page && $i_start=$i_start-($base_page-($total_pages-$page));
        $page<=$base_page && $i_end=$i_end+($base_page-$page+1);
        $i_start<1 && $i_start=1;
        $i_end>=$total_pages && $i_end=$total_pages;

        $turn_page_str='<ul class="pagination" style="position:relative;width:auto;">';
        $pre=$page-1>0?$page-1:1;
        /*$turn_page_str.=($page<=1)?"<span class='disabled first_page'>首页</span>":"<a class='first_page' href='{$query_string}1{$link_ext_str}'>首页</a>";*/
        $turn_page_str.=($page<=1)?"<li class='disabled'><span>$pre_page</span></li>":"<li><a href='{$query_string}{$pre}{$link_ext_str}'>$pre_page</a></li>";

        for($i=$i_start; $i<=$i_end; $i++){
            $turn_page_str.=$page!=$i?"<li><a href='{$query_string}{$i}{$link_ext_str}'>$i</a></li>":"<li class='active'><span>$i</span></li>";
        }

        $i_end<$total_pages && $turn_page_str.="<li class='disabled'><span>...</span></li><li><a href='{$query_string}{$total_pages}{$link_ext_str}'>$total_pages</a></li>";

        $next=$page+1>$total_pages?$total_pages:$page+1;
        if($page+1>$total_pages){
            $turn_page_str.="<li class='disabled'><span>$next_page</span></li>";
        }else{
            $page>=$total_pages && $page--;
            $turn_page_str.="<li><a href='{$query_string}{$next}{$link_ext_str}'>$next_page</a></li>";
        }
        /*if($page+1>$total_pages){
            $turn_page_str.="<span class='disabled last_page'>尾页</span>";
        }else{
            $turn_page_str.="<a href='{$query_string}{$total_pages}{$link_ext_str}' class='last_page'>尾页</a>";
        }*/

        return $turn_page_str.'</ul>';
	}
	
	/**
	*	获取url参数并且根据需要过滤
	*/
	public static function query_string($un=''){	//组织url参数	'a', 'b'
		!is_array($un) && $un=explode(',', str_replace(' ','',$un));//$un=array($un);
		
		if($_SERVER['QUERY_STRING']){
			$q=@explode('&', $_SERVER['QUERY_STRING']);
			$v='';
			for($i=0; $i<count($q); $i++){
				$t=@explode('=', $q[$i]);
				if(in_array($t[0], $un) || !$t[1]){continue;}
				$v.=$t[0].'='.$t[1].'&';
			}
			$v=substr($v, 0, -1);
			$v=='=' && $v='';
			return $v;
		}else{
			return '';
		}
	}

	
	/*
	*	url获取
	*/
	public static function get_url($row,$type=''){
		$url='';
		if(!$row || !$type){
			return $url;
		}
		//产品详情
		if($type=='pro_info'){
            $url .= "/?p/d/{$row['proid']}.html";
        }
		return $url;
	}

	public static function str_to_url($str){	//字符串转换成合法的url路径
		$url=strtolower(trim($str));
		$url=str_replace(array(' ', '/'), '-', $url);
		$url=str_replace(array('`','~','!','@','#','$','%','^','&','*','(',')','_','=','+','[','{',']','}',';',':','\'','"','\\','|','<',',','.','>','?',"\r","\n","\t"), '', $url);
		$url=preg_replace('/[^\x00-\x7F]+/', '', $url);	//去掉中文
		$url=preg_replace('/-{2,}/', '-', $url);
		!eregi('^[a-z0-9]', $url) && $url='';
		return $url;
	}
	
	/*获取网站根域名*/
	public static function get_domain($protocol=1){	//获取网站域名
		//return ($protocol==1?((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on')?'https://':'http://'):'').$_SERVER['HTTP_HOST'].($_SERVER['SERVER_PORT']!=80?':'.$_SERVER['SERVER_PORT']:'');
		return ($protocol==1?((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on')?'https://':'http://'):'').$_SERVER['HTTP_HOST'];
	}
	
	/*
	*	获取网站当前路径
	*/
	public static function get_domain_url($protocol=1){
		return ($protocol==1?((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on')?'https://':'http://'):'').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
	}
	
	/*
	*	seo函数
	*/
	public static function seo($row='',$field=''){	//前台页面输出标题标签
//        global $configs;
//        !isset($row['seo_title']) && $row['seo_title'] = $configs['seo_title'];
//        !isset($row['seo_keyword']) && $row['seo_keyword'] = $configs['seo_keyword'];
//        !isset($row['seo_description']) && $row['seo_description'] = $configs['seo_description'];
//        $seo_title = str::str_code($row['seo_title']);
//        $seo_keyword = str::str_code($row['seo_keyword']);
//        $seo_description = str::str_code($row['seo_description']);
//
//		if(!$seo_title && !$seo_keyword && !$seo_description){
//
//            $seo_title = str::str_code($configs['seo_title']);
//			$seo_keyword= str::str_code($configs['seo_keyword']);
//			$seo_description= str::str_code($configs['seo_description']);
//		}
        global $configs;
        if(isset($row['seo_title']) && $row['seo_title']){
            $seo_title = $row['seo_title'].' | ';
        }
        if(isset($row['seo_keyword']) && $row['seo_keyword']){
            $seo_keyword = $row['seo_keyword'].',';
        }
        if(isset($row['seo_description']) && $row['seo_description']){
            $seo_description = $row['seo_description'].',';
        }

        $seo_title = str::str_code($seo_title.$configs['seo_title']);
        $seo_keyword = str::str_code($seo_keyword.$configs['seo_keyword']);
        $seo_description = str::str_code($seo_description.$configs['seo_description']);
		return "<meta name=\"keywords\" content=\"$seo_keyword\" />\r\n<meta name=\"description\" content=\"$seo_description\" />\r\n<title>$seo_title</title>\r\n";
	}

    /**
     *  获取SEO信息
     */
    public static function get_seo_row($row,$field='')
    {
        $result = array();
        if(isset($row['seo_title']) && $row['seo_title']){
            $result['seo_title'] = $row['seo_title'];
        }elseif($field){
            $result['seo_title'] = $row[$field];
        }
        if(isset($row['seo_keyword']) && $row['seo_keyword']){
            $result['seo_keyword'] = $row['seo_keyword'];
        }elseif($field){
            $result['seo_keyword'] = $row[$field];
        }
        if(isset($row['seo_description']) && $row['seo_description']){
            $result['seo_description'] = $row['seo_description'];
        }elseif($field){
            $result['seo_description'] = $row[$field];
        }
        return $result;
    }
	

	
	/**
	 * 判断是否是合格的手机客户端
	 *
	 * @return boolean
	 */
	public static function is_mobile(){
		$user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);
		//手机版
		if(substr_count($_SERVER['REDIRECT_URL'],'android_version')>0){
			return false;
		}
		
		if(substr_count($_SERVER['HTTP_HOST'],'m.halobearing')>0){
			return true;
		}
		if (preg_match('/playstation/i', $user_agent) OR preg_match('/ipad/i', $user_agent) OR preg_match('/ucweb/i', $user_agent)){
			return false;
		}
		if (preg_match('/iemobile/i', $user_agent) OR preg_match('/mobile\ssafari/i', $user_agent) OR preg_match('/iphone\sos/i', $user_agent) OR preg_match('/android/i', $user_agent) OR preg_match('/symbian/i', $user_agent) OR preg_match('/series40/i', $user_agent)){
			return true;
		}
		return false;
	}

/*=================================以下函数均为新系统而写=====================================*/

    /**
     * 结束程序并且返回JSON格式数据
     * @param $msg
     * @param bool $is_success
     * @param int $result
     */
    public static function e_json($msg,$is_success=true,$result=1)
    {
        exit(str::json_data(array('response_content'=>$msg,'is_success'=>$is_success,'result'=>$result)));
	}

    /**
     * 将上传文件加入文件管理器中
     * @param string $source
     */
    public static function file_to_manage($source='',$from='文件上传'){
        global $model;
        if(!is_file(APP_PATH.$source)){
            return false;
        }
        $data['file_name'] = basename($source);
        $data['url'] = $source;
        $data['from'] = $from;
        $data['file_type'] = file::get_ext_name($source);
        $data['add_time'] = WEB_TIME;
    }

    /**
     * 日期格式化函数
     * @param int $time_stamp
     * @param string $format
     * @return false|string
     */
    public static function date($time_stamp=0,$format='Y-m-d H:i:s')
    {
        if(!$time_stamp) return '';
        return date($format,$time_stamp);
    }

    public static function iconv_price($price=0,$type=0)
    {
        if(!$type){
            return SYMBLE.((float)sprintf('%0.2f',$price));
        }elseif($type==1){
            return ((float)sprintf('%0.2f',$price));
        }else{
            return SYMBLE;
        }
    }

    public static function arrayChangeKey($arr,$key)
    {/*{{{*/
        $processedArr = array();
        if(is_array($arr) && !empty($arr)){
            foreach ($arr as $item)
            {
                $processedArr[$item[$key]] = $item;
            }
        }
        return $processedArr;
    }

    public static function statis_code()
    {
        global $model;
        $code_list = $model->table('statis_code')->where('is_close=0')->selectAll();
        foreach((array)$code_list as $k=>$v){
            echo htmlspecialchars_decode($v['code']);
        }
    }

    public static function keyword_color($str,$handle,$color='red')
    {
        return str_replace($handle,"<font style='color:{$color}'>{$handle}</font>",$str);
    }

    public static function sendmail($toEmail,$Msubject,$Mbody){
        $toEmail=@trim(implode(',',$toEmail),',');
        include_once APP_PATH.'/aliyun-php-sdk-core/Config.php';
        $iClientProfile = DefaultProfile::getProfile("cn-hangzhou", "Gwwd7BXoLduUXUrv", "u3bUliQz2Eq0B2XaqWm5jgvs73Bu5I");
        $client = new DefaultAcsClient($iClientProfile);
        $request = new Dm\SingleSendMailRequest();
        $request->setAccountName("notic@www.tbbbearing.com");
        $request->setFromAlias("TBBBearing");
        $request->setAddressType(1);
        $request->setTagName("TBBBearingSystemEmail");
        $request->setReplyToAddress("true");
        $request->setToAddress($toEmail);//262313204@qq.com,917877221@qq.com,937853602@qq.com,1830666314@qq.com
        $request->setSubject($Msubject);
        $request->setHtmlBody($Mbody);
        try {
            $response = $client->getAcsResponse($request);
            //print_r($response);
            return $response;
        }
        catch (ClientException  $e) {
            print_r($e->getErrorCode());
            print_r($e->getErrorMessage());
        }
        catch (ServerException  $e) {
            print_r($e->getErrorCode());
            print_r($e->getErrorMessage());
        }
    }

    /**
     *  获取优惠券状态
     *  parames $row    优惠券
     *  parames $result_type    返回值类型,0为数字型,1为返回字符串 2带标签的字符串
     *  return 1 已使用    2 未开始
     */
    public static function get_coupon_status($row=array(),$result_type=0)
    {
        if(!$row){
            return !$result_type ? false : (!$result_type==2 ? '优惠券不存在' : '<span class="label label-default">优惠券不存在</span>');
        }
        if($row['is_used']){
            return !$result_type ? 1 : (!$result_type==2 ? '已使用' : '<span class="label label-success">已使用</span>');
        }
        if($row['start_time']>WEB_TIME){
            return !$result_type ? 2 : (!$result_type==2 ? '未开始' : '<span class="label label-warning">未开始</span>');
        }
        if($row['end_time']<WEB_TIME){
            return !$result_type ? 3 : (!$result_type==2 ? '已过期' : '<span class="label label-danger">已过期</span>');
        }
        return !$result_type ? 4 : (!$result_type==2 ? '未使用' : '<span class="label label-primary">未使用</span>');
    }

    /**
     *  获取优惠券使用类型
     */
    public static function get_coupon_type($row=array(),$lang='cn')
    {
        $result = '';
        switch ($row['coupon_type']){
            case 1:
                $result = $lang=='cn'?"抵货款":"";
                break;
            case 2:
                $result = $lang=='cn'?"抵运费":"";
                break;
        }
        return $result;
    }
}
?>