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'); } }