/** * 创建一个模板 * * @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; }
/** * 删除一个模板资源 * * @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); }