コード例 #1
0
 public function executeApprove(dmWebRequest $request)
 {
     $this->forward404Unless($request->isXmlHttpRequest());
     $this->topicId = $request->getParameter('topic_id');
     $this->topicApproved = false;
     $this->topicDeleted = false;
     if ($request->hasParameter('approve')) {
         $topic = DmForumTopicTable::getInstance()->find($this->topicId);
         $topic->set('is_approved', true)->save();
         $this->topicApproved = true;
     } elseif ($request->hasParameter('delete')) {
         $topic = DmForumTopicTable::getInstance()->find($this->topicId);
         $topic->delete();
         $this->topicDeleted = true;
     }
 }
コード例 #2
0
 public function executeRefreshStep(dmWebRequest $request)
 {
     if ($request->hasParameter('dm_use_thread')) {
         $this->getServiceContainer()->mergeParameter('page_tree_watcher.options', array('use_thread' => $request->getParameter('dm_use_thread')))->reload('page_tree_watcher');
     }
     $this->step = $request->getParameter('step');
     try {
         switch ($this->step) {
             case 1:
                 @$this->getService('cache_manager')->clearAll();
                 if ($this->getUser()->can('system')) {
                     @$this->getService('filesystem')->sf('dmFront:generate');
                     @dmFileCache::clearAll();
                 }
                 $data = array('msg' => $this->getI18n()->__('Page synchronization'), 'type' => 'ajax', 'url' => $this->getHelper()->link('+/dmCore/refreshStep')->param('step', 2)->getHref());
                 break;
             case 2:
                 $this->getService('page_tree_watcher')->synchronizePages();
                 $data = array('msg' => $this->getI18n()->__('SEO synchronization'), 'type' => 'ajax', 'url' => $this->getHelper()->link('+/dmCore/refreshStep')->param('step', 3)->getHref());
                 break;
             case 3:
                 $this->getService('page_tree_watcher')->synchronizeSeo();
                 if (count($this->getI18n()->getCultures()) > 1) {
                     $this->getService('page_i18n_builder')->createAllPagesTranslations();
                 }
                 $data = array('msg' => $this->getI18n()->__('Interface regeneration'), 'type' => 'redirect', 'url' => $this->getUser()->getAttribute('dm_refresh_back_url'));
                 $this->context->getEventDispatcher()->notify(new sfEvent($this, 'dm.refresh', array()));
                 $this->getUser()->getAttributeHolder()->remove('dm_refresh_back_url');
                 $this->getUser()->logInfo('Project successfully updated');
                 break;
         }
     } catch (Exception $e) {
         $this->getUser()->logError($this->getI18n()->__('Something went wrong when updating project'));
         $data = array('msg' => $this->getI18n()->__('Something went wrong when updating project'), 'type' => 'redirect', 'url' => $this->getUser()->getAttribute('dm_refresh_back_url'));
         if (sfConfig::get('sf_debug')) {
             if ($request->isXmlHttpRequest()) {
                 $data['url'] = str_replace('dm_xhr=1', 'dm_xhr=0', $request->getUri() . '&dm_use_thread=0');
             } else {
                 throw $e;
             }
         }
     }
     return $this->renderJson($data);
 }
コード例 #3
0
 public function executeApprove(dmWebRequest $request)
 {
     $this->forward404Unless($request->isXmlHttpRequest());
     $this->postId = $request->getParameter('post_id');
     $this->postApproved = false;
     if ($request->hasParameter('approve')) {
         $post = DmForumPostTable::getInstance()->find($this->postId);
         $post->set('is_approved', true)->save();
         $this->postApproved = true;
     }
 }