Пример #1
0
 /**
  * Returns an instance.
  *
  * Singleton pattern implementation.
  *
  * @return Manager_Tag_Helper
  */
 public static function getInstance()
 {
     if (null === self::$_instance) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
Пример #2
0
 /**
  * Page detail page: edit/delete functionality.
  *
  * It is the central place for a page object.
  */
 public function pageDetailAction()
 {
     $id = $this->_request->getParam('id');
     $page = new Object_Page($id);
     $pageId = $page->getId();
     if (empty($pageId)) {
         // No page defined, redirec to list page.
         $this->_redirect('/admin/client/page');
         return false;
     }
     // Whenever a page is visited, refresh the thumb.
     $page->refreshThumb();
     $form = new Form_Admin_Client_Page(false, array('page' => $page));
     // Check for page update
     if ($this->_request->isPost()) {
         $params = $this->_request->getPost();
         if ($params['form-object-tag-list']) {
             Repo_TagEntity::getInstance()->removeEntityTags($id, 'page');
             $tags = Zend_Json::decode($params['form-object-tag-list']);
             if (!empty($tags[0])) {
                 Repo_TagEntity::getInstance()->addEntityTags($page->client_id, $tags, 'page', $id);
                 $this->view->updateMessage = "Tags saved";
             }
         } else {
             if ($form->isValid($params)) {
                 // Update page if necessary
                 $form->updatePage($page);
                 $form->updatePageNavigation($page);
                 $form->setPage($page);
                 $form->updateStaticContent($pageId, true);
             } else {
                 $form->populate($params);
             }
         }
     }
     $this->view->lang = $page->getPageLanguage();
     $this->view->page = $page;
     $this->view->client = new Object_Client($page->client_id);
     $this->view->form = $form;
     // Survey ad page questions
     $this->view->surveyQuestions = Repo_Survey::getInstance()->getSurveyQuestions();
     $this->view->pageQuestions = Repo_PageQuestion::getInstance()->getPageQuestionGroup($pageId);
     // Extra js for file upload
     $this->view->headScript()->prependFile('/js/libraries/jquery/jquery.fileupload.js');
     $this->view->headScript()->prependFile('/js/libraries/jquery/jquery.iframe-transport.js');
     $this->view->headLink()->appendStylesheet('/css/jquery.fileupload.css');
     // get tags
     $this->view->tagTree = Repo_Tag::getInstance()->getTagTree($page->client_id);
     $this->view->assetTags = Manager_Tag_Helper::getInstance()->getTagIds("page", $id);
     $this->view->assetTagNames = $page->getTags();
     //Tag management js
     $this->view->headScript()->prependFile('/js/managers/TagManager.js');
     // js for list sort and search
     $this->view->headScript()->prependFile('/js/libraries/list/list.min.js');
     // Page navigation
     $this->view->headScript()->prependFile('/js/PageNavigationUi.js');
     // Page pdf template
     $this->view->pagePdfTemplates = Repo_PagePdfTemplate::getInstance()->getPagePdfTemplates($pageId);
     // Page versions
     $this->view->pageVersions = Repo_PageVersion::getInstance()->getPageVersions($pageId);
 }