diff --git a/application/config/config.php b/application/config/config.php index 013dc95b..df5cd0d1 100644 --- a/application/config/config.php +++ b/application/config/config.php @@ -364,7 +364,7 @@ $config['proxy_ips'] = ''; //各站信息组和人员权限分配 $config['site'] = array( 'cht' => array('site_code' => 'cht', 'site_id' => 14, 'site_lgc' => '1', 'site_url' => 'https://www.chinahighlights.com', 'site_image_url' => '//images.chinahighlights.com', 'site_authors' => array('zzy', 'spt', 'yl', 'gavin', 'sw', 'zl', 'wbl', 'yqw', 'lf', 'zhm', 'pkl'), 'site_user' => ',ycc,lmr, zyh,J,shw,B,zzy,WJJ,Tony,pcf,zxy,wst,wz,v,S,yyg,yxd,wj,sw,yl,hx,spt,wmr,zl,syt,gavin,zm,htc,yqw,bhn,lmj,wbl,yqw,LYY,zhm,'), - 'gm' => array('site_code' => 'gm', 'site_id' => 22, 'site_lgc' => '4', 'site_url' => 'http://www.chinarundreisen.com', 'site_image_url' => '//bilder.chinarundreisen.com', 'site_authors' => array('DX', 'X', 'K', 'Lan', 'lmr', 'zyh', 'ZYHL', 'TDJ'), 'site_user' => ',ycc,lmr,B,zyh,DX,X,K,htc,zm,bhn,Lan,Tony,zyh,J,v,ZYHL,TDJ,LYY,shw,'), + 'gm' => array('site_code' => 'gm', 'site_id' => 22, 'site_lgc' => '4', 'site_url' => 'https://www.chinarundreisen.com', 'site_image_url' => '//bilder.chinarundreisen.com', 'site_authors' => array('DX', 'X', 'K', 'Lan', 'lmr', 'zyh', 'ZYHL', 'TDJ'), 'site_user' => ',ycc,lmr,B,zyh,DX,X,K,htc,zm,bhn,Lan,Tony,zyh,J,v,ZYHL,TDJ,LYY,shw,'), 'vc' => array('site_code' => 'vc', 'site_id' => 30, 'site_lgc' => '5', 'site_url' => 'https://www.voyageschine.com', 'site_image_url' => '//images.voyageschine.com', 'site_authors' => array('JE', 'kq', 'lya', 'lyz', 'zyh'), 'site_user' => ',ycc,lmr, zyh,JE,htc,kq,lya,bhn,Tony,zyh,B,J,lyz,LYY,'), 'jp' => array('site_code' => 'jp', 'site_id' => 88, 'site_lgc' => '3', 'site_url' => 'https://www.arachina.com', 'site_image_url' => '//images.arachina.com', 'site_authors' => array('hql', 'LLM', 'SHX', 'lmr', 'zyh', 'zb'), 'site_user' => ',ycc,lmr, zyh,hql,LLM,SHX,htc,zpl,Tony,zyh,J,B,zb,LYY,'), 'vac' => array('site_code' => 'vac', 'site_id' => 95, 'site_lgc' => '6', 'site_url' => 'https://www.viaje-a-china.com', 'site_image_url' => '//imagenes.viaje-a-china.com', 'site_authors' => array('I', 'cyt', 'lmr', 'zyh', 'LLM'), 'site_user' => ',ycc,lmr, zyh,I,cyt,htc,bhn,Tony,zyh,B,J,LLM,LYY,'), @@ -372,11 +372,11 @@ $config['site'] = array( 'ru' => array('site_code' => 'ru', 'site_id' => 102, 'site_lgc' => '7', 'site_url' => 'https://www.chinahighlights.ru', 'site_image_url' => '//images.chinahighlights.ru', 'site_authors' => array('xjj', 'zyy'), 'site_user' => ',ycc,lmr, zyh,xjj,htc,DX,zyy,bhn,Tony,zyh,B,J,LYY,'), 'wt' => array('site_code' => 'wt', 'site_id' => 172, 'site_lgc' => '2', 'site_url' => 'http://www.iiiyooo.com', 'site_image_url' => '', 'site_authors' => array('ylh', 'lfj', 'wx', 'lzh', 'shw', 'lx'), 'site_user' => ',ycc,lmr, zyh,ylh,lfj,wx,lzh,shw,lx,bhn,B,J,'), 'tbt' => array('site_code' => 'tbt', 'site_id' => 169, 'site_lgc' => '1', 'site_url' => 'http://www.tibettravel.info', 'site_image_url' => '/images', 'site_authors' => array('wj', 'sfx'), 'site_user' => ',ycc,wj,bhn,wx,lzh,lfj,hwt,thf,sfx,J,ZP,'), - 'sht' => array('site_code' => 'sht', 'site_id' => 96, 'site_lgc' => '1', 'site_url' => 'http://www.shanghaihighlights.com', 'site_image_url' => '//images.shanghaihighlights.com', 'site_authors' => array('vz', 'sfx'), 'site_user' => ',ycc,wj,bhn,wx,lzh,lfj,hwt,thf,vz,sfx,J,ZP,LYY,'), - 'yz' => array('site_code' => 'yz', 'site_id' => 89, 'site_lgc' => '1', 'site_url' => 'http://www.yangtzeriver.org', 'site_image_url' => '//images.yangtzeriver.org', 'site_authors' => array('wj', 'vi', 'sfx'), 'site_user' => ',ycc,wj,bhn,hwt,thf,vi,sfx,J,ZP,lyy,'), - 'gl' => array('site_code' => 'gl', 'site_id' => 90, 'site_lgc' => '1', 'site_url' => 'http://www.guilinchina.net', 'site_image_url' => '//images.guilinchina.net', 'site_authors' => array('vi', 'sfx'), 'site_user' => ',ycc,vi,bhn,hwt,thf,sfx,J,ZP,lyy,'), + 'sht' => array('site_code' => 'sht', 'site_id' => 96, 'site_lgc' => '1', 'site_url' => 'https://www.shanghaihighlights.com', 'site_image_url' => '//images.shanghaihighlights.com', 'site_authors' => array('vz', 'sfx'), 'site_user' => ',ycc,wj,bhn,wx,lzh,lfj,hwt,thf,vz,sfx,J,ZP,LYY,'), + 'yz' => array('site_code' => 'yz', 'site_id' => 89, 'site_lgc' => '1', 'site_url' => 'https://www.yangtzeriver.org', 'site_image_url' => '//images.yangtzeriver.org', 'site_authors' => array('wj', 'vi', 'sfx'), 'site_user' => ',ycc,wj,bhn,hwt,thf,vi,sfx,J,ZP,lyy,'), + 'gl' => array('site_code' => 'gl', 'site_id' => 90, 'site_lgc' => '1', 'site_url' => 'https://www.guilinchina.net', 'site_image_url' => '//images.guilinchina.net', 'site_authors' => array('vi', 'sfx'), 'site_user' => ',ycc,vi,bhn,hwt,thf,sfx,J,ZP,lyy,'), 'mbj' => array('site_code' => 'mbj', 'site_id' => 98, 'site_lgc' => '1', 'site_url' => 'http://www.mybeijingchina.com', 'site_image_url' => '//images.mybeijingchina.com', 'site_authors' => array('vz', 'sfx'), 'site_user' => ',ycc,vz,bhn,hwt,thf,sfx,J,ZP,'), - 'ct' => array('site_code' => 'ct', 'site_id' => 1000, 'site_lgc' => '104', 'site_url' => 'http://www.chinatravel.com', 'site_image_url' => '//images.chinatravel.com', 'site_authors' => array('ll', 'D'), 'site_user' => ',ycc,vz,bhn,J,wj,ll,D,ZP,lyy,'), + 'ct' => array('site_code' => 'ct', 'site_id' => 1000, 'site_lgc' => '104', 'site_url' => 'https://www.chinatravel.com', 'site_image_url' => '//images.chinatravel.com', 'site_authors' => array('ll', 'D'), 'site_user' => ',ycc,vz,bhn,J,wj,ll,D,ZP,lyy,'), 'dct' => array('site_code' => 'dct', 'site_id' => 99, 'site_lgc' => '1', 'site_url' => 'http://www.diychinatours.com', 'site_image_url' => '//images.chinahighlights.com', 'site_authors' => array('zzy', 'spt', 'yl', 'gavin'), 'site_user' => ',ycc,lmr, zyh,J,shw,B,zzy,WJJ,Tony,pcf,zxy,wst,wz,S,yyg,yxd,wj,sw,yl,hx,spt,wmr,syt,gavin,zm,htc,yqw,zl,sw,J,qqs,MGZ,'), 'cits' => array('site_code' => 'cits', 'site_id' => 10086, 'site_lgc' => '2', 'site_image_url' => '', 'site_url' => 'www.guilincits.com'), 'mct' => array('site_code' => 'mct', 'site_id' => 6, 'site_lgc' => '101', 'site_image_url' => '', 'site_url' => 'https://www.mychinatours.com', 'site_authors' => array('cj')), diff --git a/application/third_party/dingding_auth/controllers/index.php b/application/third_party/dingding_auth/controllers/index.php new file mode 100644 index 00000000..7b5798ad --- /dev/null +++ b/application/third_party/dingding_auth/controllers/index.php @@ -0,0 +1,110 @@ +curPageURL(); + $nonceStr = 'abcdefg&cits@123#'; + $timeStamp = time(); + $corpId = 'ding48bce8fd3957c96b'; + $secret = '4I_TlkOUtWQ60tUYX_447WXM5mNX41q_Q03xtZJgvBOzMPzGbNKZZz_Bsv-0B9I1'; + + //缓存accessToken。accessToken有效期为两小时,需要在失效前请求新的accessToken(注意:以下代码没有在失效前刷新缓存的accessToken)。 + $cookie_accessToken = 'Token_' . $agentId; + $accessToken = isset($_COOKIE[$cookie_accessToken]) ? $_COOKIE[$cookie_accessToken] : false; + if (empty($accessToken)) { + $response = GET_HTTP("https://oapi.dingtalk.com/gettoken?corpid=$corpId&corpsecret=$secret"); + if (empty($response)) { + log_message('error', "accessToken gethttp"); + return false; + } + $accessToken = json_decode($response)->access_token; + setcookie($cookie_accessToken, $accessToken, time() + 7140, '/'); + } + + $cookie_jsapi_ticket = 'Ticket_' . $agentId; + $jsapi_ticket = isset($_COOKIE[$cookie_jsapi_ticket]) ? $_COOKIE[$cookie_jsapi_ticket] : false; + if (empty($jsapi_ticket)) { + $response = GET_HTTP("https://oapi.dingtalk.com/get_jsapi_ticket?type=jsapi&access_token=$accessToken"); + if (empty($response)) { + log_message('error', "jsapi_ticket gethttp"); + return false; + } + $jsapi_ticket = json_decode($response)->ticket; + setcookie($cookie_jsapi_ticket, $jsapi_ticket, time() + 7140, '/'); + } + + $signature = sha1('jsapi_ticket=' . $jsapi_ticket . '&noncestr=' . $nonceStr . '×tamp=' . $timeStamp . '&url=' . $url); + + $config = array( + 'url' => $url, + 'nonceStr' => $nonceStr, + 'agentId' => $agentId, + 'timeStamp' => $timeStamp, + 'corpId' => $corpId, + 'signature' => $signature, + 'accessToken' => $accessToken, + ); + + $data['auth_config'] = json_encode($config); + $this->load->view('welcome', $data); + //print_r($data); + } + + public function curPageURL() { + $pageURL = 'http'; + + if (array_key_exists('HTTPS', $_SERVER) && $_SERVER["HTTPS"] == "on") { + $pageURL .= "s"; + } + $pageURL .= "://"; + + if ($_SERVER["SERVER_PORT"] != "80") { + $pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"]; + } else { + $pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]; + } + return $pageURL; + } + + //$agentId 应用ID,用来判断应该跳转到哪里去 + //$user_code 用户code,需要再次请求接口来获取用户详细信息 + public function authOnSuccess($agentId,$accessToken, $user_code) { + $response =GET_HTTP("https://oapi.dingtalk.com/user/getuserinfo?access_token=$accessToken&code=$user_code"); + if (empty($response)) { + log_message('error', "getuserinfo gethttp"); + return false; + } + $userid = json_decode($response)->userid; + $response =GET_HTTP("https://oapi.dingtalk.com/user/get?access_token=$accessToken&userid=$userid"); + if (empty($response)) { + log_message('error', "user gethttp"); + return false; + } + $response= json_decode($response); + if(!empty($response) && $response->errcode==0){ + $username= $response->name; + redirect("http://doc.mycht.cn/index.php?user/loginSubmit&name=$username&password=9Q7gJ3239aK_8LA"); + }else{ + print_r($response); + } + } + +} diff --git a/application/third_party/dingding_auth/views/welcome.php b/application/third_party/dingding_auth/views/welcome.php new file mode 100644 index 00000000..6ff0affc --- /dev/null +++ b/application/third_party/dingding_auth/views/welcome.php @@ -0,0 +1,82 @@ + + + + + + + 钉钉授权 + + + + + + + +
+

授权登录中,请稍候...

+
+ + diff --git a/application/third_party/htmlcompressor/controllers/index.php b/application/third_party/htmlcompressor/controllers/index.php index c2b57b76..c530f0ac 100644 --- a/application/third_party/htmlcompressor/controllers/index.php +++ b/application/third_party/htmlcompressor/controllers/index.php @@ -20,6 +20,7 @@ class Index extends CI_Controller { if (empty($htmlsource) || empty($websitehost)) { $this->output->set_status_header(500); echo 'error:htmlsource or websitehost is empty!'; + log_message('error', "htmlsource or websitehost is empty! " . $websitehost); return false; } //域名后面不能有/ @@ -45,6 +46,7 @@ class Index extends CI_Controller { if ($get_http_temp == false) { $this->output->set_status_header(404); echo 'CSS文件下载错误'; + log_message('error', "optimize CSS文件下载错误! " . $item); return FALSE; } $css_content.=$get_http_temp; @@ -87,6 +89,7 @@ class Index extends CI_Controller { if ($get_http_temp == false) { $this->output->set_status_header(404); echo 'JS文件下载错误'; + log_message('error', "optimize js文件下载错误! " . $item); return FALSE; } $js_scr_content.=$get_http_temp; diff --git a/application/third_party/train/controllers/index.php b/application/third_party/train/controllers/index.php index 04074e90..48d2673b 100644 --- a/application/third_party/train/controllers/index.php +++ b/application/third_party/train/controllers/index.php @@ -127,7 +127,7 @@ class Index extends CI_Controller{ $to_date=$this->input->post("to_date"); $examine=$this->input->post("examine"); $reback=array();//返回的数据 - $reback["from_date"]=$from_date; + $reback["from_date"]=$from_date; $reback["to_date"]=$to_date; $reback["examine"]=$examine; if(!empty($from_date) && !empty($to_date)){ diff --git a/application/third_party/train/controllers/search.php b/application/third_party/train/controllers/search.php index dee7bf9d..18109911 100644 --- a/application/third_party/train/controllers/search.php +++ b/application/third_party/train/controllers/search.php @@ -10,8 +10,11 @@ class search extends CI_Controller{ } //查询聚合余票接口,对返回的数据进行处理 - public function index($train_date,$fromStation,$toStation){ - $url = 'http://op.juhe.cn/trainTickets/ticketsAvailable?key='.JUHE_TRAIN_API_KEY.'&train_date='.$train_date.'&from_station='.$fromStation.'&to_station='.$toStation; + public function index($train_date=null,$fromStation=null,$toStation=null){ + if(!$train_date || !$fromStation || !$toStation){ + exit('传参错误!'); + }else{ + $url = 'http://op.juhe.cn/trainTickets/ticketsAvailable?key='.JUHE_TRAIN_API_KEY.'&train_date='.$train_date.'&from_station='.$fromStation.'&to_station='.$toStation; $back_data = $this->get_http($url); //print_r(json_decode($back_data)); $return_data = new stdClass(); @@ -100,6 +103,7 @@ class search extends CI_Controller{ } $return_data->data->map = (object)$obj; print_r(json_encode($return_data)); + } } //获取价格 @@ -108,12 +112,16 @@ class search extends CI_Controller{ toStationCode:终点站三字码 trainCode:车次号 */ - public function get_price($fromStationCode,$toStationCode,$trainCode){ - $return_data = $this->BIZ_train_model->get_price($fromStationCode,$toStationCode,$trainCode); - if(!empty($return_data)){ - print_r(json_decode($return_data->TPL_Price)); + public function get_price($fromStationCode=null,$toStationCode=null,$trainCode=null){ + if(!$fromStationCode || !$toStationCode || !$trainCode){ + exit('传参错误!'); }else{ - print_r('没有数据返回'); + $return_data = $this->BIZ_train_model->get_price($fromStationCode,$toStationCode,$trainCode); + if(!empty($return_data)){ + print_r(json_decode($return_data->TPL_Price)); + }else{ + print_r('没有数据返回'); + } } } diff --git a/application/third_party/tuniu/controllers/tuniu_train.php b/application/third_party/tuniu/controllers/tuniu_train.php index 1b54e761..1eb329e6 100644 --- a/application/third_party/tuniu/controllers/tuniu_train.php +++ b/application/third_party/tuniu/controllers/tuniu_train.php @@ -35,8 +35,11 @@ class Tuniu_train extends CI_Controller{ } //获取余票 - public function search($date,$fromStation,$toStation){ - $sign = $this->create_sign(); + public function search($date=null,$fromStation=null,$toStation=null){ + if(!$date || !$fromStation || !$toStation){ + exit('传参错误!'); + }else{ + $sign = $this->create_sign(); $url = TUNIU_URL.'/train/search'; $time = date('Y-m-d H:i:s',time()); $post_data = '{ @@ -135,6 +138,7 @@ class Tuniu_train extends CI_Controller{ } $return_data->data->map = (object)$obj; print_r(json_encode($return_data)); + } } //获取价格 @@ -143,9 +147,13 @@ class Tuniu_train extends CI_Controller{ toStationCode:终点站三字码 trainCode:车次 */ - public function get_price($fromStationCode,$toStationCode,$trainCode){ - $return_data = $this->tuniuprice_model->get_price($fromStationCode,$toStationCode,$trainCode); - print_r(json_decode($return_data->TPL_Price)); + public function get_price($fromStationCode=null,$toStationCode=null,$trainCode=null){ + if(!$fromStationCode || !$toStationCode || !$trainCode){ + exit('传参错误!'); + }else{ + $return_data = $this->tuniuprice_model->get_price($fromStationCode,$toStationCode,$trainCode); + print_r(json_decode($return_data->TPL_Price)); + } } //占座下单 @@ -282,6 +290,21 @@ class Tuniu_train extends CI_Controller{ print_r($back_data); } + //车站三字码查询 + public function telecodeQuery(){ + $sign = $this->create_sign(); + $url = TUNIU_URL.'/train/telecodeQuery'; + $time = date('Y-m-d H:i:s',time()); + $post_data = '{ + "apiKey": "'.TUNIU_KEY.'", + "sign": "'.$sign.'", + "timestamp": "'.$time.'", + "data": null + }'; + $back_data = post_tuniu($url,$post_data,$method = 'POST'); + print_r($back_data); + } + //身份验证 public function validate(){ //$name = $this->input->post('name');