审查视图

api/portal/controller/UserArticlesController.php 3.3 KB
1  
潘浩文 authored
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
<?php
// +----------------------------------------------------------------------
// | bronet [ 以客户为中心 以奋斗者为本 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013-2017 http://www.bronet.cn All rights reserved.
// +----------------------------------------------------------------------
namespace api\portal\controller;

use cmf\controller\RestUserBaseController;
use api\portal\logic\PortalPostModel;

class UserArticlesController extends RestUserBaseController
{
	protected $postModel;

	public function __construct(PortalPostModel $postModel)
	{
		parent::__construct();
		$this->postModel = $postModel;
	}

	/**
	 * 显示资源列表
	 */
	public function index()
	{
		$params     =   $this->request->get();
		$userId     =   $this->getUserId();
		$datas      =   $this->postModel->getUserArticles($userId,$params);
		$this->success('请求成功!', $datas);
	}

	/**
	 * 保存新建的资源
	 */
	public function save()
	{
		$datas             =   $this->request->post();
		$datas['user_id']  =   $this->getUserId();
		$result            =   $this->validate($datas, 'Articles.article');
		if ($result !== true) {
			$this->error($result);
		}
		if (empty($datas['published_time'])) {
			$datas['published_time'] = time();
		}
		$this->postModel->addArticle($datas);
		$this->success('添加成功!');
	}

	/**
	 * 显示指定的资源
	 *
	 * @param  int $id
	 */
	public function read($id)
	{
		if (empty($id)) {
			$this->error('无效的文章id');
		}
		$params         =   $this->request->get();
		$params['id']   =   $id;
		$userId         =   $this->getUserId();
		$datas          =   $this->postModel->getUserArticles($userId,$params);
		$this->success('请求成功!', $datas);
	}

	/**
	 * 保存更新的资源
	 *
	 * @param  int $id
	 */
	public function update($id)
	{
		$data              =   $this->request->put();
		$result            =   $this->validate($data, 'Articles.article');
		if ($result !== true) {
			$this->error($result);
		}
		if (empty($id)) {
			$this->error('无效的文章id');
		}
		$result = $this->postModel->editArticle($data,$id,$this->getUserId());
		if ($result === false) {
			$this->error('编辑失败!');
		} else {
			$this->success('编辑成功!');
		}
	}

	/**
	 * 删除指定资源
	 *
	 * @param  int $id
	 */
	public function delete($id)
	{
		if (empty($id)) {
			$this->error('无效的文章id');
		}
		$result = $this->postModel->deleteArticle($id,$this->getUserId());
		if ($result == -1) {
			$this->error('文章已删除');
		}
		if ($result) {
			$this->success('删除成功!');
		} else {
			$this->error('删除失败!');
		}
	}
	/**
	 * 批量删除文章
	 */
	public function deletes()
	{
		$ids     =  $this->request->post('ids/a');
		if (empty($ids)) {
			$this->error('文章id不能为空');
		}
		$result  =  $this->postModel->deleteArticle($ids,$this->getUserId());
		if ($result == -1) {
			$this->error('文章已删除');
		}
		if ($result) {
			$this->success('删除成功!');
		} else {
			$this->error('删除失败!');
		}
	}

	/**
	 * 我的文章列表
	 */
	public function my()
	{
		$params = $this->request->get();
		$userId = $this->getUserId();
		$data   = $this->postModel->getUserArticles($userId, $params);
		$this->success('请求成功!', $data);
	}
}