diff --git a/application/third_party/pagespeed/controllers/index.php b/application/third_party/pagespeed/controllers/index.php index 6a2b3c8a..9e1fef6f 100644 --- a/application/third_party/pagespeed/controllers/index.php +++ b/application/third_party/pagespeed/controllers/index.php @@ -16,40 +16,59 @@ class Index extends CI_Controller { //自动抓取分数和排名 public function auto($sitecode = 'cht') { - + $this->run('/', 'cht'); } public function run($psd_URL, $psd_SiteCode) { - $psd_URL = urlencode(trim($psd_URL)); - if (empty($psd_URL)) { + if (empty($psd_URL) || empty($psd_SiteCode)) { + return false; + } + $sites = $this->config->item('site'); + if (empty($sites[$psd_SiteCode])) { return false; } - $desktop_url = "https://www.googleapis.com/pagespeedonline/v2/runPagespeed?strategy=desktop&locale=zh_CN&url=$psd_URL"; - $mobile_url = "https://www.googleapis.com/pagespeedonline/v2/runPagespeed?strategy=mobile&locale=zh_CN&url=$psd_URL"; + $site_url = rtrim($sites[$psd_SiteCode]['site_url'], '/'); //删除/,因为URL已经含有了 + $run_URL = urlencode(trim($site_url . $psd_URL)); + $pagespeed_data = $this->PageSpeedData_model->detail($psd_URL, $psd_SiteCode); + $PageSpeedData = new StdClass; + $desktop_url = "https://www.googleapis.com/pagespeedonline/v2/runPagespeed?strategy=desktop&locale=zh_CN&url=$run_URL"; + $desktop_url = "http://pagespeed.mycht.cn/pagespeedonline/v2/runPagespeed?strategy=desktop&locale=zh_CN&url=$run_URL"; + $mobile_url = "https://www.googleapis.com/pagespeedonline/v2/runPagespeed?strategy=mobile&locale=zh_CN&url=$run_URL"; + $mobile_url = "http://pagespeed.mycht.cn/pagespeedonline/v2/runPagespeed?strategy=mobile&locale=zh_CN&url=$run_URL"; + //echo $desktop_url;die(); $desktop_data = GET_HTTP($desktop_url); - if (!empty($desktop_data)) { - + $mobile_data = GET_HTTP($mobile_url); + if (empty($desktop_data) || empty($mobile_data)) { + return false; + } + $desktop_object = json_decode($desktop_data); + $mobile_object = json_decode($mobile_data); + if (!empty($desktop_object->error) || !empty($mobile_object->error)) { + return false; } - $mobile_data = GET_HTTP($mobile_url); - if (!empty($mobile_data)) { - + if (!$desktop_object->responseCode == '200' || !$mobile_object->responseCode == '200') { + echo 'ERROR:' . $desktop_object->responseCode . ' ' . $mobile_object->responseCode; + return FALSE; } - $PageSpeedData = new StdClass; - $PageSpeedData->psd_DesktopScore = ''; - $PageSpeedData->psd_MobileScore = ''; - $PageSpeedData->psd_DesktopData = ''; - $PageSpeedData->psd_MobileData = ''; - $PageSpeedData->psd_URL = ''; - $PageSpeedData->psd_Datetime = ''; - $PageSpeedData->psd_SiteCode = ''; - $pagespeed_data = $this->PageSpeedData_model->detail($psd_URL, $psd_SiteCode); + + $PageSpeedData->psd_DesktopScore = $desktop_object->ruleGroups->SPEED->score; + $PageSpeedData->psd_MobileScore = $mobile_object->ruleGroups->SPEED->score; + $PageSpeedData->psd_DesktopData = $desktop_data; + $PageSpeedData->psd_MobileData = $mobile_data; + $PageSpeedData->psd_URL = $psd_URL; + $PageSpeedData->psd_Datetime = date('Y-m-d H:i:s', time()); + $PageSpeedData->psd_SiteCode = $psd_SiteCode; + $PageSpeedData->psd_ErrorCount = 0; + if (empty($pagespeed_data)) { $psd_id = $this->PageSpeedData_model->add('PageSpeedData', $PageSpeedData); } else { - $psd_id = $this->PageSpeedData_model->update('PageSpeedData', $PageSpeedData); + $where = array('psd_id' => $pagespeed_data->psd_id); + $this->PageSpeedData_model->update('PageSpeedData', $PageSpeedData, $where); } + echo $run_URL . '
'; } } diff --git a/application/third_party/pagespeed/models/PageSpeedData_model.php b/application/third_party/pagespeed/models/PageSpeedData_model.php index cf5e98fc..d31f9449 100644 --- a/application/third_party/pagespeed/models/PageSpeedData_model.php +++ b/application/third_party/pagespeed/models/PageSpeedData_model.php @@ -15,11 +15,11 @@ class PageSpeedData_model extends CI_Model { public function init() { $this->topnum = false; $this->where = false; - $this->orderby = ' ORDER BY ps_Datetime ASC '; + $this->orderby = ' ORDER BY psd_Datetime ASC '; } public function detail($psd_URL, $psd_SiteCode) { - $this->init; + $this->init(); $this->topnum = 1; $this->where = ' AND psd.psd_URL=' . $this->INFO->escape($psd_URL); $this->where = ' AND psd.psd_SiteCode=' . $this->INFO->escape($psd_SiteCode); @@ -34,6 +34,10 @@ class PageSpeedData_model extends CI_Model { } } + public function update($table, $data, $where) { + $this->INFO->update($table, $data, $where); + } + public function get_list() { $this->topnum ? $sql = "SELECT TOP " . $this->topnum : $sql = "SELECT "; $sql .= " @@ -44,7 +48,8 @@ class PageSpeedData_model extends CI_Model { psd.psd_MobileData, psd.psd_URL, psd.psd_Datetime, - psd.psd_SiteCode + psd.psd_SiteCode, + psd.psd_ErrorCount FROM PageSpeedData psd WHERE 1 = 1 diff --git a/author/views/signup.php b/author/views/signup.php deleted file mode 100644 index 1047d9eb..00000000 --- a/author/views/signup.php +++ /dev/null @@ -1,215 +0,0 @@ - - - -
-
- - - -
- - Sign Up For China Highlights Online Writers Platform -
-
- -
- - -
-
- - \ No newline at end of file