star7th 7 年之前
父节点
当前提交
46f587be25

+ 4 - 75
server/Application/Api/Controller/ItemController.class.php

@@ -414,85 +414,14 @@ class ItemController extends BaseController {
         $page_content = I("page_content");
         $s_number = I("s_number") ? I("s_number") : 99;
 
-        $ret = D("ItemToken")->getTokenByKey($api_key);
-        if ($ret && $ret['api_token'] == $api_token) {
-            $item_id = $ret['item_id'] ;
-            D("ItemToken")->setLastTime($item_id);
-        }else{
+        $item_id = D("ItemToken")->check($api_key , $api_token);
+        if (!$item_id) {
+            //没验证通过
             $this->sendError(10306);
             return false;
         }
 
-        //如果传送了二级目录
-        if ($cat_name) {
-            $cat_name_array = D("Catalog")->where(" item_id = '$item_id' and level = 2 and cat_name = '%s' ",array($cat_name))->find();
-            //如果不存在则新建
-            if (!$cat_name_array) {
-                $add_data = array(
-                    "cat_name" => $cat_name, 
-                    "item_id" => $item_id, 
-                    "addtime" => time(),
-                    "level" => 2 
-                    );
-                D("Catalog")->add($add_data);
-                $cat_name_array = D("Catalog")->where(" item_id = '$item_id' and level = 2 and cat_name = '%s' ",array($cat_name))->find();
-            }
-        }
-
-        //如果传送了三级目录
-        if ($cat_name_sub) {
-            $cat_name_sub_array = D("Catalog")->where(" item_id = '$item_id' and level = 3 and cat_name = '%s'  and parent_cat_id = '%s' ",array($cat_name_sub,$cat_name_array['cat_id']))->find();
-            //如果不存在则新建
-            if (!$cat_name_sub_array) {
-                $add_data = array(
-                    "cat_name" => $cat_name_sub, 
-                    "item_id" => $item_id, 
-                    "parent_cat_id" => $cat_name_array['cat_id'], 
-                    "addtime" => time(),
-                    "level" => 3 
-                    );
-                D("Catalog")->add($add_data);
-                $cat_name_sub_array = D("Catalog")->where(" item_id = '$item_id' and level = 3 and cat_name = '%s' and parent_cat_id = '%s' ",array($cat_name_sub,$cat_name_array['cat_id']))->find();
-            }
-        }
-
-        //目录id
-        $cat_id = 0 ;
-        if ($cat_name_array && $cat_name_array['cat_id'] > 0 ) {
-            $cat_id = $cat_name_array['cat_id'] ;
-        }
-
-        if ($cat_name_sub_array && $cat_name_sub_array['cat_id'] > 0 ) {
-            $cat_id = $cat_name_sub_array['cat_id'] ;
-        }
-
-        if ($page_content) {
-            $page_array = D("Page")->where(" item_id = '$item_id'  and cat_id = '$cat_id'  and page_title ='%s' ",array($page_title))->find();
-            //如果不存在则新建
-            if (!$page_array) {
-                $add_data = array(
-                    "author_username" => "from_api", 
-                    "item_id" => $item_id, 
-                    "cat_id" => $cat_id, 
-                    "page_title" => $page_title, 
-                    "page_content" => $page_content, 
-                    "s_number" => $s_number, 
-                    "addtime" => time(),
-                    );
-                $page_id = D("Page")->add($add_data);
-            }else{
-                $page_id = $page_array['page_id'] ;
-                $update_data = array(
-                    "author_username" => "from_api", 
-                    "item_id" => $item_id, 
-                    "cat_id" => $cat_id, 
-                    "page_title" => $page_title, 
-                    "page_content" => $page_content, 
-                    "s_number" => $s_number, 
-                    );
-                D("Page")->where(" page_id = '$page_id' ")->save($update_data);
-            }
-        }
+        $page_id = D("Page")->update_by_content($item_id,$page_title,$page_content,$cat_name,$cat_name_sub,$s_number);
 
         if ($page_id) {
             $ret = D("Page")->where(" page_id = '$page_id' ")->find();

+ 14 - 0
server/Application/Api/Model/ItemTokenModel.class.php

@@ -38,4 +38,18 @@ class ItemTokenModel extends BaseModel {
 	public function setLastTime($item_id){
 		return $this->where("item_id='$item_id'")->save(array("last_check_time"=>time()));
 	}
+
+	//检查token。如果检测通过则返回item_id
+	public function check($api_key , $api_token){
+        $ret = $this->getTokenByKey($api_key);
+        if ($ret && $ret['api_token'] == $api_token) {
+            $item_id = $ret['item_id'] ;
+            $this->setLastTime($item_id);
+            return $item_id ;
+        }else{
+            return false;
+        }
+	}
+
+	
 }

+ 87 - 0
server/Application/Api/Model/PageModel.class.php

@@ -0,0 +1,87 @@
+<?php
+namespace Api\Model;
+use Api\Model\BaseModel;
+/**
+ * 
+ * @author star7th      
+ */
+class PageModel extends BaseModel {
+
+    //根据内容更新页面
+    public function update_by_content($item_id,$page_title,$page_content,$cat_name,$cat_name_sub,$s_number = 99){
+        //如果传送了二级目录
+        if ($cat_name) {
+            $cat_name_array = D("Catalog")->where(" item_id = '$item_id' and level = 2 and cat_name = '%s' ",array($cat_name))->find();
+            //如果不存在则新建
+            if (!$cat_name_array) {
+                $add_data = array(
+                    "cat_name" => $cat_name, 
+                    "item_id" => $item_id, 
+                    "addtime" => time(),
+                    "level" => 2 
+                    );
+                D("Catalog")->add($add_data);
+                $cat_name_array = D("Catalog")->where(" item_id = '$item_id' and level = 2 and cat_name = '%s' ",array($cat_name))->find();
+            }
+        }
+
+        //如果传送了三级目录
+        if ($cat_name_sub) {
+            $cat_name_sub_array = D("Catalog")->where(" item_id = '$item_id' and level = 3 and cat_name = '%s'  and parent_cat_id = '%s' ",array($cat_name_sub,$cat_name_array['cat_id']))->find();
+            //如果不存在则新建
+            if (!$cat_name_sub_array) {
+                $add_data = array(
+                    "cat_name" => $cat_name_sub, 
+                    "item_id" => $item_id, 
+                    "parent_cat_id" => $cat_name_array['cat_id'], 
+                    "addtime" => time(),
+                    "level" => 3 
+                    );
+                D("Catalog")->add($add_data);
+                $cat_name_sub_array = D("Catalog")->where(" item_id = '$item_id' and level = 3 and cat_name = '%s' and parent_cat_id = '%s' ",array($cat_name_sub,$cat_name_array['cat_id']))->find();
+            }
+        }
+
+        //目录id
+        $cat_id = 0 ;
+        if ($cat_name_array && $cat_name_array['cat_id'] > 0 ) {
+            $cat_id = $cat_name_array['cat_id'] ;
+        }
+
+        if ($cat_name_sub_array && $cat_name_sub_array['cat_id'] > 0 ) {
+            $cat_id = $cat_name_sub_array['cat_id'] ;
+        }
+
+        if ($page_content) {
+            $page_array = D("Page")->where(" item_id = '$item_id'  and cat_id = '$cat_id'  and page_title ='%s' ",array($page_title))->find();
+            //如果不存在则新建
+            if (!$page_array) {
+                $add_data = array(
+                    "author_username" => "update_by_content", 
+                    "item_id" => $item_id, 
+                    "cat_id" => $cat_id, 
+                    "page_title" => $page_title, 
+                    "page_content" => $page_content, 
+                    "s_number" => $s_number, 
+                    "addtime" => time(),
+                    );
+                $page_id = D("Page")->add($add_data);
+            }else{
+                $page_id = $page_array['page_id'] ;
+                $update_data = array(
+                    "author_username" => "update_by_content", 
+                    "item_id" => $item_id, 
+                    "cat_id" => $cat_id, 
+                    "page_title" => $page_title, 
+                    "page_content" => $page_content, 
+                    "s_number" => $s_number, 
+                    );
+                D("Page")->where(" page_id = '$page_id' ")->save($update_data);
+            }
+        }
+
+        return $page_id ;
+    }
+
+	
+}