diff --git a/module/user/control.php b/module/user/control.php index 12d491b19e..0aeef0a243 100755 --- a/module/user/control.php +++ b/module/user/control.php @@ -1158,4 +1158,34 @@ class user extends control ob_end_clean(); echo (string)$rand; } + + /** + * Ajax print templates. + * + * @param string $type + * @param string $link + * @access public + * @return void + */ + public function ajaxPrintTemplates(string $type, string $link = '') + { + $this->view->link = $link; + $this->view->type = $type; + $this->view->templates = $this->user->getUserTemplates($type); + $this->display(); + } + + /** + * Save current template. + * + * @param string $type + * @access public + * @return string + */ + public function ajaxSaveOldTemplate(string $type) + { + $this->user->saveOldUserTemplate($type); + if(dao::isError()) echo js::error(dao::getError(), $full = false); + return print($this->fetch('user', 'ajaxPrintTemplates', "type=$type")); + } } diff --git a/module/user/model.php b/module/user/model.php index 8546a94a00..613c3b0b25 100644 --- a/module/user/model.php +++ b/module/user/model.php @@ -2811,6 +2811,27 @@ class userModel extends model return !dao::isError(); } + /** + * Save old user template. + * + * @param string $type + * @access public + * @return void + */ + public function saveOldUserTemplate(string $type) + { + $template = fixer::input('post') + ->setDefault('account', $this->app->user->account) + ->setDefault('type', $type) + ->stripTags('content', $this->config->allowedTags) + ->get(); + + $condition = "`type`='$type' and account='{$this->app->user->account}'"; + $this->dao->insert(TABLE_USERTPL)->data($template)->batchCheck('title, content', 'notempty')->check('title', 'unique', $condition)->exec(); + if(!dao::isError()) $this->loadModel('score')->create('bug', 'saveTplModal', $this->dao->lastInsertID()); + } + + /** * 获取当前用户可以查看的模板列表。 * Get user templates. diff --git a/module/user/view/ajaxprinttemplates.html.php b/module/user/view/ajaxprinttemplates.html.php index ef2583bc52..565bf64279 100644 --- a/module/user/view/ajaxprinttemplates.html.php +++ b/module/user/view/ajaxprinttemplates.html.php @@ -121,7 +121,7 @@ $(function() var content = editor[''].html(); var isPublic = ($publicBox.size() > 0 && $publicBox.prop('checked')) ? $publicBox.val() : 0; if(!title || !content) return; - saveTemplateLink = createLink('user', 'ajaxSaveTemplate', "type=$type"));?>; + saveTemplateLink = createLink('user', 'ajaxSaveOldTemplate', "type=$type"));?>; $.post(saveTemplateLink, {title:title, content:content, public:isPublic}, function(data) { $('#tplBox').html(data);