Ejemplo n.º 1
0
 /**
  * 创建一个模板
  * 
  * @param int    $alias_id 关联模板ID
  * @param string $name     模板名称
  * @param int    $user_id  用户UID(默认为当前用户UID)
  * @param string $pic      模板图片
  * 
  * @throws \Exception\Msg
  * 
  * @return int
  */
 public static function create($alias_id, $name, $uid = '', $pic = '')
 {
     $uid || ($uid = \Model\User::validateLogin());
     //判断名称是否为空
     if (!$name) {
         throw new \Exception\Msg('请输入新模板名称');
     }
     //获取旧模板数据
     if ($alias_id) {
         $data = self::show($alias_id);
         if (empty($data)) {
             throw new \Exception\Msg('源主题不存在');
         }
         //已经有alias_id的,并且当前模板没数据,使用原来的,避免产生过多的链
         if ($data['alias_id']) {
             $resource = Resource::showByTpl($data['id']);
             $resource || ($alias_id = $data['alias_id']);
         }
     }
     $total_number = self::countUserTpl($uid);
     if ($total_number >= self::TOTAL_LIMIT) {
         throw new \Exception\Msg(sprintf(_('主题总数不能超过%s个'), $total_number));
     }
     $db = self::db();
     if ($db->wAnd(['user_id' => $uid, 'name' => $name])->fetchRow()) {
         throw new \Exception\Msg(sprintf(_('主题名称已存在:%s'), $name));
     }
     $db->insert(array('alias_id' => $alias_id, 'name' => $name, 'user_id' => $uid, 'pic' => $pic));
     $id = $db->lastId();
     return $id;
 }
Ejemplo n.º 2
0
 /**
  * 删除一个模板资源
  * 
  * @param int $id
  * @throws \Exception\Msg
  * 
  * @return \boolean
  */
 public static function destroy($id)
 {
     $uid = \Model\User::validateLogin();
     $resource = self::show($id);
     if (!$resource) {
         throw new \Exception\Msg('指定模板不存在');
     }
     self::validateAuth($resource['tpl_id'], $uid);
     return parent::destory($id);
 }