Пример #1
0
 public function reportCommentAction()
 {
     $request = $this->getRequest();
     $comment_id = $request->getRequest('comment_id');
     $comment_info = Model_Events::getComment($comment_id);
     if (!$comment_info) {
         $this->forward('error', 'error404');
     }
     $this->view->reportcategories = Model_Events::getEventReportCategories();
     $this->view->url_form = WM_Router::create($request->getBaseUrl() . '?controller=events&action=reportComment&comment_id=' . $comment_id);
     $this->view->comment_id = $comment_id;
     $this->view->event_href = WM_Router::create($request->getBaseUrl() . '?controller=events&event_id=' . $comment_info['event_id']);
     if ($request->issetPost('report_category')) {
         $this->view->report_category = $request->getPost('report_category');
     } else {
         if ($this->view->reportcategories) {
             list($firstKey) = array_keys($this->view->reportcategories);
             $this->view->report_category = $firstKey;
         } else {
             $this->view->report_category = 0;
         }
     }
     $this->view->comment_is = true;
     $this->view->events_details = $this->view->render('report', 'events');
     if ($request->isPost()) {
         $this->view->is_posted = true;
         if (Model_Events::commentIsReported($comment_id)) {
             $this->view->error = $this->translate('¡Ya has denunciado este comentario!');
             $this->view->events_details = $this->view->render('report', 'events');
         } else {
             $result = Model_Events::reportComment($comment_id, $request->getPost('report_category'), $request->getPost('report_message'));
             if (!$result) {
                 $this->view->error = $this->translate('Error reporting experience. Try again!');
                 $this->view->events_details = $this->view->render('report', 'events');
             } else {
                 if (JO_Registry::get('not_rc')) {
                     Model_Email::send(JO_Registry::get('report_mail'), JO_Registry::get('noreply_mail'), $this->translate('New reported comment'), $this->translate('Hello, there is new reported comment in ') . ' ' . JO_Registry::get('site_name'));
                 }
                 $terms = Model_Pages::getPage(JO_Registry::get('page_terms'));
                 if ($terms) {
                     $this->view->terms = $terms['title'];
                 }
                 $this->view->pin_oppener = $request->getRequest('pin_oppener');
                 $this->view->terms_href = WM_Router::create($request->getBaseUrl() . '?controller=about&action=terms');
                 $this->view->events_details = $this->view->render('message_report', 'events');
             }
         }
     }
     $this->setViewChange('index');
     if ($request->isXmlHttpRequest()) {
         $this->view->popup = true;
         echo $this->view->events_details;
         $this->noViewRenderer(true);
     } else {
         $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part', 'left_part' => 'layout/left_part');
     }
 }