public function indexAjaxActionAuth() { //$this->view->rendered = true; if (isset($_GET['moduleName']) && $_GET['moduleName'] != '' && isset($_GET['query']) && $_GET['query'] != '') { $suggestTags = Difra\Plugins\Tags::getInstance()->suggest($_GET['moduleName'], trim($_GET['query'])); if (!empty($suggestTags)) { $this->ajax->setResponse('query', addslashes(htmlspecialchars($_GET['query']))); $this->ajax->setResponse('suggestions', array_values($suggestTags)); return; } } $this->ajax->setResponse('query', ''); $this->ajax->setResponse('suggestions', ''); }
public function updateAjaxActionAuth(Param\AjaxInt $id, Param\AjaxString $title, Param\AjaxSafeHTML $text, Param\AjaxString $tags = null) { if (!($post = Blogs\Post::getById($id))) { \Difra\Libs\Cookies::getInstance()->notify(\Difra\Locales::getInstance()->getXPath('blogs/notifies/post_not_found'), true); $this->view->redirect('/'); } $Auth = \Difra\Auth::getInstance(); if ($post->getUser() != $Auth->getEmail() && !$Auth->isModerator()) { $group = $post->getBlog()->getGroup(); if (!$group or $group->getOwner() != \Difra\Auth::getInstance()->getEmail()) { \Difra\Libs\Cookies::getInstance()->notify(\Difra\Locales::getInstance()->getXPath('blogs/notifies/edit_post_denied'), true); $this->view->redirect('/'); } } $post->setTitle($title->val()); $post->setText($text->val()); $post->setVisible(1); $post->save(); $post = $post->getBlog()->getPost($post->getId()); if (class_exists('Difra\\Plugins\\Tags')) { $tagsArray = Difra\Plugins\Tags::getInstance()->tagsFromString($tags); Difra\Plugins\Tags::getInstance()->update('posts', $id->val(), $tagsArray); } // убираем метку о редактировании поста unset($_SESSION['editPost']); $this->ajax->redirect($post->getUrl()); }
public function tagsAction(Param\NamedInt $page = null, Param\AnyString $tagName = null) { $page = $page ? $page->val() : 1; /** @var \DOMElement $blogsViewNode */ $blogsViewNode = $this->root->appendChild($this->xml->createElement('blogsTagsView')); $blogsViewNode->setAttribute('left', 1); $Tags = Difra\Plugins\Tags::getInstance(); if ($tagName) { /** @var \DOMElement $currentTagNode */ $currentTagNode = $this->root->appendChild($this->xml->createElement('currentTag', $tagName->val())); $blogsViewNode->setAttribute('link', '/blogs/tags/' . $tagName->val()); $tagName = rawurldecode($tagName->val()); $currentTagNode->setAttribute('name', $Tags->getTagByLink('posts', $tagName)); $tagItems = $Tags->getItemsByLink('posts', $tagName); Difra\Plugins\Blogs::getInstance()->getAllPostsXML($blogsViewNode, $page, $tagItems); } else { $blogsViewNode->setAttribute('link', '/blogs/tags'); Difra\Plugins\Blogs::getInstance()->getAllPostsXML($blogsViewNode, $page); } if (Difra\Auth::getInstance()->isAuthorized()) { /** @var \DOMElement $mypageWidgetNode */ $mypageWidgetNode = $this->root->appendChild($this->xml->createElement('myPageWidget')); $mypageWidgetNode->setAttribute('right', 1); } /** @var \DOMElement $controlNode */ $controlNode = $this->root->appendChild($this->xml->createElement('artistControl')); $controlNode->setAttribute('right', 1); if ($Tags->getCloudXml('posts', $this->root)) { /** @var \DOMElement $tagsNode */ $tagsNode = $this->root->appendChild($this->xml->createElement('postsTags')); $tagsNode->setAttribute('right', 1); } }