/** * 发布一篇文章 * * @param array $article 文件内容 * @param int $publish 是否真正发布(如果为否,则仅为预览,输出至Buffer中) * * @return array */ public static function article(array $article, $publish = true) { \Model\User::validateAuth($article['uid']); $path = sprintf('article/%u.html', $article['id']); $message = sprintf('update article %u [%s]', $article['id'], date('Y-m-d H:i:s')); $blog = Blog::show(); $category = Category::show($article['category_id']); $now = time(); $publish_time = date('Y-m-d H:i:s', $now); $tpl_vars = array('blog' => $blog, 'category' => $category, 'article' => $article, 'publish' => $publish, 'publish_date' => date('Y-m-d', $now)); $smarty = \Comm\Smarty::init(); if ($publish) { $content = $smarty->render('tpl:article', $tpl_vars); $result = self::publishUserRespos($path, $content, $message); //发布成功,更新发布时间与发布状态 try { Article::update($article, ['state' => 1, 'publish_time' => $publish_time]); } catch (\Exception $e) { } } else { $result = $smarty->display('tpl:article', $tpl_vars); } return $result; }
/** * 删除一个模板 * * @param int $id 主键ID * @param string $uid 用户UID * * @return \int */ public static function delete($id, $uid = false) { $uid || ($uid = \Model\User::validateAuth($uid)); return self::db()->wAnd(['id' => $id, 'user_id' => $uid])->delete(true); }
/** * 检查指定权限用户有无操作权限 * * @param int $tpl_id 模板ID * @param int $uid 当前登录用户UID * * @return array TPL-Main数据 */ public static function validateAuth($tpl_id, $uid = false) { $uid || ($uid = \Model\User::validateLogin()); $tpl_main = Main::show($tpl_id); $validate_uid = isset($tpl_main['user_id']) ? $tpl_main['user_id'] : 0; \Model\User::validateAuth($validate_uid, $uid); return $tpl_main; }