<?php
|
|
namespace Api\Model;
|
|
use Api\Model\BaseModel;
|
|
/**
|
|
*
|
|
* @author star7th
|
|
*/
|
|
class PageModel extends BaseModel {
|
|
|
|
protected $cat_name_id = array();
|
|
|
|
//根据内容更新页面
|
|
//其中cat_name参数特别说明下,传递各格式如 '二级目录/三级目录/四级目录'
|
|
public function update_by_content($item_id,$page_title,$page_content,$cat_name='',$s_number = 99){
|
|
$item_id = intval($item_id);
|
|
if (!$item_id) {
|
|
return false;
|
|
}
|
|
|
|
if ($this->cat_name_id && isset($this->cat_name_id[$cat_name])) {
|
|
$cat_id = $this->cat_name_id[$cat_name] ;
|
|
$cat_name = '' ; //如果已经有缓存了则设置为空
|
|
}else{
|
|
$cat_id = 0 ;
|
|
}
|
|
|
|
$catalog_array = explode('/', $cat_name);
|
|
$cat_name = $catalog_array[0] ;
|
|
$cat_name_sub = !empty($catalog_array[1])? $catalog_array[1] : '';
|
|
$cat_name_sub_sub = !empty($catalog_array[2])? $catalog_array[2] : '';
|
|
|
|
|
|
//如果传送了二级目录
|
|
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();
|
|
}
|
|
}
|
|
|
|
//如果传送了四级目录
|
|
if ($cat_name_sub_sub) {
|
|
$cat_name_sub_sub_array = D("Catalog")->where(" item_id = '$item_id' and level = 4 and cat_name = '%s' and parent_cat_id = '%s' ",array($cat_name_sub_sub,$cat_name_sub_array['cat_id']))->find();
|
|
//如果不存在则新建
|
|
if (!$cat_name_sub_sub_array) {
|
|
$add_data = array(
|
|
"cat_name" => $cat_name_sub_sub,
|
|
"item_id" => $item_id,
|
|
"parent_cat_id" => $cat_name_sub_array['cat_id'],
|
|
"addtime" => time(),
|
|
"level" => 4
|
|
);
|
|
D("Catalog")->add($add_data);
|
|
$cat_name_sub_sub_array = D("Catalog")->where(" item_id = '$item_id' and level = 4 and cat_name = '%s' and parent_cat_id = '%s' ",array($cat_name_sub_sub,$cat_name_sub_array['cat_id']))->find();
|
|
}
|
|
}
|
|
|
|
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 ($cat_name_sub_sub_array && $cat_name_sub_sub_array['cat_id'] > 0 ) {
|
|
$cat_id = $cat_name_sub_sub_array['cat_id'] ;
|
|
}
|
|
|
|
$this->cat_name_id[$cat_name] = $cat_id ;
|
|
|
|
if ($page_content) {
|
|
$page_array = D("Page")->where(" item_id = '$item_id' and is_del = 0 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 ;
|
|
}
|
|
|
|
//软删除页面
|
|
public function softDeletePage($page_id){
|
|
//放入回收站
|
|
$login_user = session('login_user');
|
|
$page = D("Page")->field("item_id,page_title")->where(" page_id = '$page_id' ")->find() ;
|
|
D("Recycle")->add(array(
|
|
"item_id" =>$page['item_id'],
|
|
"page_id" =>$page_id,
|
|
"page_title" =>$page['page_title'],
|
|
"del_by_uid" =>$login_user['uid'],
|
|
"del_by_username" =>$login_user['username'],
|
|
"del_time" =>time()
|
|
));
|
|
$ret = M("Page")->where(" page_id = '$page_id' ")->save(array("is_del"=>1 ,"addtime"=>time()));
|
|
return $ret;
|
|
}
|
|
|
|
//删除页面
|
|
public function deletePage($page_id){
|
|
$ret = M("Page")->where(" page_id = '$page_id' ")->delete();
|
|
return $ret;
|
|
}
|
|
|
|
public function deleteFile($file_id){
|
|
return D("Attachment")->deleteFile($file_id) ;
|
|
}
|
|
|
|
}
|