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 @@
-