示例#1
0
 public function reportAction()
 {
     $request = $this->getRequest();
     $pin_id = $request->getRequest('pin_id');
     $pin_info = new Model_Pins_Pin($pin_id);
     if (!$pin_info->count()) {
         $this->forward('error', 'error404');
     }
     $pin_info = $pin_info->data;
     $this->view->url_form = WM_Router::create($request->getBaseUrl() . '?controller=pin&action=report&pin_id=' . $pin_id);
     $this->view->intellectual_property = WM_Router::create($request->getBaseUrl() . '?controller=about&action=copyright&pin_id=' . $pin_id);
     $this->view->pin_id = $pin_id;
     $this->view->pin_href = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $pin_id);
     $reportcategories = new Model_Pins_PinReportCategories();
     $this->view->reportcategories = $reportcategories->toArray();
     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->report_message = $request->getPost('report_message');
     if ($request->isPost()) {
         $this->view->is_posted = true;
         if (Model_Pins::pinIsReported($request->getRequest('pin_id'))) {
             $this->view->error = $this->translate('You are already reported this pin!');
         } else {
             $result = Model_Pins::reportPin($request->getRequest('pin_id'), $request->getPost('report_category'), $request->getPost('report_message'));
             if (!$result) {
                 $this->view->error = $this->translate('Error reporting experience. Try again!');
             } else {
                 if (Helper_Config::get('not_rp')) {
                     Model_Email::send(Helper_Config::get('report_mail'), Helper_Config::get('noreply_mail'), $this->translate('New reported pin'), $this->translate('Hello, there is new reported pin in ') . ' ' . Helper_Config::get('site_name'));
                 }
                 $terms = Model_Pages::getPage(Helper_Config::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->setViewChange('message_report');
             }
         }
     }
     $this->noLayout(true);
 }
示例#2
0
 public function reportAction()
 {
     $request = $this->getRequest();
     $pin_id = $request->getRequest('pin_id');
     $pin_info = Model_Pins::getPin($pin_id);
     if (!$pin_info) {
         $this->forward('error', 'error404');
     }
     $this->view->reportcategories = Model_Pins::getPinReportCategories();
     $this->view->url_form = WM_Router::create($request->getBaseUrl() . '?controller=pin&action=report&pin_id=' . $pin_id);
     $this->view->intellectual_property = WM_Router::create($request->getBaseUrl() . '?controller=about&action=copyright&pin_id=' . $pin_id);
     $this->view->pin_id = $pin_id;
     $this->view->pin_href = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $pin_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->pins_details = $this->view->render('report', 'pin');
     if ($request->isPost()) {
         $this->view->is_posted = true;
         if (Model_Pins::pinIsReported($request->getRequest('pin_id'))) {
             $this->view->error = $this->translate('You are already reported this pin!');
             $this->view->pins_details = $this->view->render('report', 'pin');
         } else {
             $result = Model_Pins::reportPin($request->getRequest('pin_id'), $request->getPost('report_category'), $request->getPost('report_message'));
             if (!$result) {
                 $this->view->error = $this->translate('Error reporting experience. Try again!');
                 $this->view->pins_details = $this->view->render('report', 'pin');
             } else {
                 if (JO_Registry::get('not_rp')) {
                     Model_Email::send(JO_Registry::get('report_mail'), JO_Registry::get('noreply_mail'), $this->translate('New reported pin'), $this->translate('Hello, there is new reported pin 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->pins_details = $this->view->render('message_report', 'pin');
             }
         }
     }
     $this->setViewChange('index');
     if ($request->isXmlHttpRequest()) {
         $this->view->popup = true;
         echo $this->view->pins_details;
         $this->noViewRenderer(true);
     } else {
         $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part', 'left_part' => 'layout/left_part');
     }
 }