Exemplo n.º 1
0
 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', '');
 }
Exemplo n.º 2
0
 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());
 }
Exemplo n.º 3
0
 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);
     }
 }