public function settagsAction() { $blogId = intval($_POST["this_key"]); $blogTagsModel = new Admin_Model_BlogTag(); if ($blogId) { if (is_array($_POST["tags"])) { $blogTagsModel->removeID($blogId); foreach ($_POST["tags"] as $v) { $blogTagsModel->save(array('bt_blog_id' => $blogId, 'bt_tag_id' => $v)); } } else { $jsonReturn['error'] = true; $jsonReturn['msg'] = array('1' => array('label' => 'Теги', 'error' => 'Ошибка в тегах, должен быть массив')); $this->putJSON($jsonReturn); } $jsonReturn['error'] = false; $jsonReturn['msg'] = 'Теги для блога установлены'; $jsonReturn['form'] = false; } else { $jsonReturn['error'] = true; $jsonReturn['msg'] = array('1' => array('label' => 'BlogID', 'error' => 'Ошибка')); } $this->putJSON($jsonReturn); }
protected function tagsGUI() { $this->tabs['tags'] = 'Теги'; $tagsOptions = ''; $tagsInputs = ''; $tags = K_TreeQuery::crt('/blogtags/')->type('blogtag')->go(); $blogTagsMode = new Admin_Model_BlogTag(); $blogTags = $blogTagsMode->fetchAssoc('bt_tag_id', K_Db_Select::create()->where(array('bt_blog_id' => $this->nodeData['tree_id']))); $blogTagsIds = array_keys($blogTags); foreach ($tags as $v) { $tagsOptions .= '<option value="' . $v['tree_id'] . '" >' . ($v['name'] ? htmlspecialchars($v['name']) : 'Нет названия') . '</option>'; if (in_array($v['tree_id'], $blogTagsIds)) { $tagsInputs .= '<input style="display:none" name="tags[]" value="' . $v['tree_id'] . '">'; $tagsSelOptions .= '<option value="' . $v['tree_id'] . '" >' . ($v['name'] ? htmlspecialchars($v['name']) : 'Нет названия') . '</option>'; } } return <<<HTML <div class="b-padded mainForm"> <div id="flash-msg-nNote" class="nNote hideit" style="display: none;"><p></p></div> <form action="/admin/blogs/settags/" class="ajax-form" method="post"> <div class="rowElem noborder admin-form-row"> <label> Добавить новый тег: </label> <div class="formRight"> <input type="text" name="new-teg" id="add-new-tag-name" /> </div> <div class="fix"></div> <input type="button" value="Добавить" id="add-new-tag" class="b-button greyishBtn submitForm"> </div> <div class="fix"></div> <table class="sel-tags-table" > <tr> <td> <select class="blog-tags" id="sel-tags-start" multiple="on"> {$tagsOptions} </select> </td> <td> <select name="tags[]" id="sel-tags" class="tags-select" multiple="on"> {$tagsSelOptions} </select> </td> <tr> </table> <div id="sel-tags-int"> {$tagsInputs} </div> <input type="hidden" name="this_key" value="{$this->nodeData['tree_id']}" /> <input type="submit" value="Сохранить теги" id="save_button" class="b-button greyishBtn submitForm"> </form> </div> HTML; }