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='<', $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 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;
}
}
?>