Пример #1
0
 /**
  * 发布一篇文章
  * 
  * @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;
 }
Пример #2
0
 /**
  * 删除一个模板
  * 
  * @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);
 }
Пример #3
0
 /**
  * 检查指定权限用户有无操作权限
  * 
  * @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;
 }