load->model('Orders_model'); $OrderDetailText = ''; foreach ($fields as $key => $value) { if ((strtolower($key) == 'date_start' || strtolower($key) == 'rdate' || strtolower($key) == 'starting_date' || strtolower($key) == 'youlun_date' || strtolower($key) == 'Arrive_date' || strtolower($key) == 'Depart_date' || strtolower($key) == 'date_end') && !empty($value)) { $value = date('M/d/Y', strtotime($value)); } if (is_array($value)) { $value = implode(',', $value); } switch ($key) { case 'adultsNumber': $OrderDetailText .= 'Adults' . ':' . $value . "\n"; break; case 'ChildrenNumber': $OrderDetailText .= 'Youths' . ':' . $value . "\n"; break; case 'BabiesNumber': $OrderDetailText .= 'Children' . ':' . $value . "\n"; break; case 'cli_tourdays': $OrderDetailText .= 'Trip Length' . ':' . $value . "\n"; break; case 'Date_Start': $OrderDetailText .= 'Date of Arrival' . ':' . $value . "\n"; break; case 'daysFlexible': $OrderDetailText .= 'Days Flexible' . ':' . $value . "\n"; break; case 'flexible_date': $OrderDetailText .= 'Days Flexible' . ':' . $value . "\n"; break; case 'hotel': $OrderDetailText .= 'Hotel' . ':' . $value . "\n"; break; case 'guiding': $OrderDetailText .= 'Guiding' . ':' . $value . "\n"; break; case 'city': $OrderDetailText .= 'Expected cities' . ':' . $value . "\n"; break; case 'additionalrequirements': $OrderDetailText .= 'Additional request' . ':' . $value . "\n"; break; case 'realname': $OrderDetailText .= 'Name' . ':' . $value . "\n"; break; case 'realname': $OrderDetailText .= 'Name' . ':' . $value . "\n"; break; case 'gender': if ($value == 100001) { $OrderDetailText .= 'Gender' . ':' . 'Man' . "\n"; } else { $OrderDetailText .= 'Gender' . ':' . 'Woman' . "\n"; } break; case 'email': $OrderDetailText .= 'Email' . ':' . $value . "\n"; break; case 'PhoneNo': $OrderDetailText .= 'Telephone' . ':' . $value . "\n"; break; case 'seriousBooking': $OrderDetailText .= 'Serious Booking' . ':' . $value . "\n"; break; default: if (!empty($value)) { $OrderDetailText .= $key . ':' . $value . "\n"; } } } if (isset($_SERVER['HTTP_REFERER'])) { $OrderDetailText .= 'Inquiry page:' . $_SERVER['HTTP_REFERER']; } switch (check_device()) { case 'mobile': $OrderDetailText = 'Device:mobile' . "\n" . $OrderDetailText; break; case 'tablet': $OrderDetailText = 'Device:tablet' . "\n" . $OrderDetailText; break; default: $OrderDetailText = 'Device:computer' . "\n" . $OrderDetailText; } return $OrderDetailText; } function GetChineseFieldName($name) { $name = strtolower($name); $name_arr = array( 'realname' => '客人姓名', 'email' => '电子邮箱', 'isfrom' => '订单', 'gender' => '性别', '100001' => '男', '100002' => '女', '100003' => '女', 'title' => '性别', 'nationality' => '国籍', 'destinationcode2' => 'destinationcode2', 'email2' => '备用邮箱', 'otheremail' => '备用邮箱', 'phoneno' => '电话号码', 'phone' => '电话号码', 'additionalrequirements' => '更多需求', 'promocode' => '优惠码', 'newsletter' => '是否预定newsletter', 'cli_no' => '线路代号', 'cli_tourtitle' => '线路名称', 'cli_tourdays' => '线路时长', 'cli_price' => '线路价格', 'guidelanguage' => '导游语种', 'otherguidelanguage' => '备用导游语种', 'tourspecial' => '选中的城市', 'sc' => '选中的城市', 'tourspecial2' => '选择的景点', 'sc2' => '选择的景点', 'flexiblecheck' => '是否是固定行程日期', 'flexiblecheckselect' => '是否是固定行程日期', 'flexible_date_month' => '大致的月份', 'flexible_date_year' => '大致的年份', 'staying_days' => '旅行天数', 'preferredtransport' => '交通方式', 'otherpreferredtransport' => '备选交通方式', 'breakfast' => '早餐选择', 'lunch' => '午餐选择', 'dinner' => '晚餐选择', 'hotelclass' => '酒店星级', 'numberofrooms' => '酒店房间数', 'roomrequirement' => '房间要求', 'roomrequirementselect' => '房间要求', 'starting_date' => '开始时间', 'ending_date' => '结束时间', 'adultenum' => '成人数', 'adultsnumber' => '成人数', 'childnum' => '小孩数', 'childrennumber' => '小孩数', 'babynum' => '婴儿数', 'babiesnumber' => '婴儿数', 'cli_grade' => '线路星级', '7001' => '四星', '7002' => '五星', '7003' => '三星', 'subject' => '订单主题', 'cli_sn' => '线路编号', 'season' => '淡旺季(1旺季2淡季)', 'aperson' => '旅客人数', 'guidestyle' => '导游', 'adult_num' => '成人数', 'child_num' => '儿童数', 'baby_num' => '婴儿数', 'twin_num' => '无效字段', 'share_num' => '无效字段', 'national' => '国籍', 'other_request' => '其他请求', 'shipname' => '游船', 'rdate' => '发船日期', 'days' => '天数', 'ship_sn' => '游船SN', 'room' => '房型', 'no_ajax' => '传值类型(外联不用管这项)', 'cm_number' => '团队类型', 'cm_city' => '目的地', 'sections' => '子项目', 'cm_hotelstar' => '酒店等级', 'cm_guidelang' => '导游语种', 'cm_traffic' => '交通工具', 'cm_guidetime' => '导游服务', 'date_start' => '出发时间', 'Date_Start' => '出发时间', 'date_end' => '结束时间', 'from_guang_jiao_hui' => '广交会订单', 'price' => '预算/价格/等级', 'youlun_name' => '游轮订单-游轮', 'youlun_date' => '游轮订单-出发日期', 'youlun_gangkou' => '游轮订单-港口城市', 'youlun_num' => '游轮订单-人数', 'flexible' => '日期是否可变更', 'post_url' => '订单来源/着陆页', 'q_url' => '订单来源/着陆页', 'allnumber' => '人数', 'passport_text' => '护照', 'birth_text' => '出生日期', 'bloodstyle' => '血型', 'tshirt' => 'T恤尺寸', 'malasong' => '马拉松', 'malasong_else' => '马拉松其他需求', 'malasong_exp' => '马拉松参赛经验', 'guide_old' => '客人年纪', 'OoPdest' => '火车发站-到站', 'OoPDepartureTime' => '火车出发日期', 'business_guide' => '是否需要导游', 'business_attraction' => '景点', 'business_attraction_else' => '其他感兴趣的景点', 'business_request' => '其他需求', 'business_date' => '出发日期', 'business_guidelang' => '导游语种', 'tbgp_date' => '固定发团日期', 'sex_text' => '性别'); if (isset($name_arr[$name])) { return $name_arr[$name]; } else { return $name; } } //来源终端 tablet mobile desktop function check_device() { if (isset($_SERVER['HTTP_USER_AGENT'])) { $ua = $_SERVER['HTTP_USER_AGENT']; } else { $ua = ''; } ## This credit must stay intact (Unless you have a deal with @lukasmig or frimerlukas@gmail.com ## Made by Lukas Frimer Tholander from Made In Osted Webdesign. ## Price will be $2 $iphone = strstr(strtolower($ua), 'mobile'); //Search for 'mobile' in user-agent (iPhone have that) $android = strstr(strtolower($ua), 'android'); //Search for 'android' in user-agent $windowsPhone = strstr(strtolower($ua), 'phone'); //Search for 'phone' in user-agent (Windows Phone uses that) if (!function_exists('androidTablet')) { function androidTablet($ua) { //Find out if it is a tablet if (strstr(strtolower($ua), 'android')) { //Search for android in user-agent if (!strstr(strtolower($ua), 'mobile')) { //If there is no ''mobile' in user-agent (Android have that on their phones, but not tablets) return true; } } } } $androidTablet = androidTablet($ua); //Do androidTablet function $ipad = strstr(strtolower($ua), 'ipad'); //Search for iPad in user-agent if ($androidTablet || $ipad) { //If it's a tablet (iPad / Android) return 'tablet'; } elseif ($iphone && !$ipad || $android && !$androidTablet || $windowsPhone) { //If it's a phone and NOT a tablet return 'mobile'; } else { //If it's not a mobile device return 'desktop'; } } //使用正则匹配出价格标签,返回一个价格数组 function price_pregmatch($content) { $price_array = array(); $temp_array = array(); $result = false; //#ah-1,lx,25,2016-01-23# preg_match_all('^#[a-zA-Z0-9,-]+#^', $content, $temp_array); foreach ($temp_array[0] as $item) { $placeholder = $item; $item = str_replace('#', '', $item); $price_array = explode(',', $item); $cli_no = !empty($price_array[0]) ? $price_array[0] : false; //线路代号 if (empty($cli_no)) { continue; //没有设置线路代号则进入下一条 } $cli_grade = !empty($price_array[1]) ? $price_array[1] : false; //标准7001、豪华7002、经济7003 switch ($cli_grade) { case 'st': $cli_grade = '7001'; break; case 'lx': $cli_grade = '7002'; break; case 'ec': $cli_grade = '7003'; break; default :$cli_grade = false; } $person_size = !empty($price_array[2]) ? $price_array[2] : false; //人等1,2-5,6-9,10 $price_date = !empty($price_array[3]) ? $price_array[3] : false; //价格时间 $result[] = (object) array('placeholder' => $placeholder, 'cli_no' => $cli_no, 'cli_grade' => $cli_grade, 'person_size' => $person_size, 'price_date' => $price_date); } return $result; } function GET_HTTP($url, $data = '', $method = 'GET') { $curl = curl_init(); // 启动一个CURL会话 curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在 curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器 curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转 curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer if ($method == 'POST' && !empty($data)) { curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求 curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包 } curl_setopt($curl, CURLOPT_TIMEOUT, 45); // 设置超时限制防止死循环 curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回 $tmpInfo = curl_exec($curl); // 执行操作 $errno = curl_errno($curl); if ($errno !== 0) { return false; $error_message = $errno . ' ' . curl_error($curl); //记录错误日志 log_message('error', "train/get_http curl {$error_message}"); } curl_close($curl); //关闭CURL会话 return $tmpInfo; //返回数据 }