Exemplo n.º 1
0
 public function reportAction()
 {
     $request = $this->getRequest();
     $event_id = $request->getRequest('event_id');
     $event_info = Model_Events::getEventSolo($event_id);
     if (!$event_info) {
         $this->forward('error', 'error404');
     }
     $this->view->reportcategories = Model_Events::getEventReportCategories();
     $this->view->url_form = WM_Router::create($request->getBaseUrl() . '?controller=events&action=report&event_id=' . $event_id);
     $this->view->intellectual_property = WM_Router::create($request->getBaseUrl() . '?controller=about&action=copyright&event_id=' . $event_id);
     $this->view->event_id = $event_id;
     $this->view->event_href = WM_Router::create($request->getBaseUrl() . '?controller=events&action=indexeventBoxDetail?event_id=' . $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->events_details = $this->view->render('report', 'events');
     if ($request->isPost()) {
         $this->view->is_posted = true;
         if (Model_Events::eventIsReported($request->getRequest('event_id'))) {
             $this->view->error = $this->translate('Ya has denunciado este evento!');
             $this->view->events_details = $this->view->render('report', 'events');
         } else {
             $result = Model_Events::reportEvent($request->getRequest('event_id'), $request->getPost('report_category'), $request->getPost('report_message'));
             if (!$result) {
                 $this->view->error = $this->translate('Error denunciando el evento. Intentalo de nuevo!');
                 $this->view->events_details = $this->view->render('report', 'events');
             } else {
                 if (JO_Registry::get('not_rp')) {
                     Model_Email::send(JO_Registry::get('report_mail'), JO_Registry::get('noreply_mail'), $this->translate('Nuevo evento denunciado'), $this->translate('Hola, existe un nuevo evento denunciado en ') . ' ' . 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('indexeventBoxDetail');
     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');
     }
 }