Esempio n. 1
0
 public function addAction()
 {
     $request = $this->getRequest();
     //////////// Categories ////////////
     $this->view->categories = array();
     $categories = Model_Categories::getCategories(array('filter_status' => 1));
     foreach ($categories as $category) {
         $category['subcategories'] = Model_Categories::getSubcategories($category['category_id']);
         $this->view->categories[] = $category;
     }
     $this->view->user_id = JO_Session::get('user[user_id]');
     $event_id = $request->getRequest('event_id');
     $this->view->edited = $event_id;
     $event_data = "";
     if ($event_id) {
         $event_data = Model_Events::getEvent(array('filter_event_id' => $event_id));
         foreach ($event_data as $k => $v) {
             if (isset($event_data[$k])) {
                 $event_data[$k] = $v;
             }
         }
         $event_data['date_event'] = Model_Events::cambiafyh_espanol($event_data['date_event']);
         if ($event_data['user_id'] != "") {
             $this->view->owner = JO_Session::get('user[user_id]') == $event_data['user_id'];
         }
     } else {
         $this->view->owner = true;
     }
     $this->view->eventname = '';
     if ($request->issetPost('eventname')) {
         $this->view->eventname = $request->getPost('eventname');
     } else {
         if ($event_data) {
             if ($event_data['eventname'] != "") {
                 $this->view->eventname = $event_data['eventname'];
             }
         }
     }
     $this->view->organiza = '';
     if ($request->issetPost('organiza')) {
         $this->view->organiza = $request->getPost('organiza');
     } else {
         if ($event_data) {
             if ($event_data['organiza'] != "") {
                 $this->view->organiza = $event_data['organiza'];
             }
         }
     }
     $this->view->date_event = '';
     if ($request->issetPost('date_event')) {
         $this->view->date_event = $request->getPost('date_event');
     } else {
         if ($event_data) {
             if ($event_data['date_event'] != "") {
                 $this->view->date_event = $event_data['date_event'];
             }
         }
     }
     $this->view->website = '';
     if ($request->issetPost('website')) {
         $this->view->website = $request->getPost('website');
     } else {
         if ($event_data) {
             if ($event_data['website'] != "") {
                 $this->view->website = $event_data['website'];
             }
         }
     }
     $this->view->website = '';
     if ($request->issetPost('website')) {
         $this->view->website = $request->getPost('website');
     } else {
         if ($event_data) {
             if ($event_data['website'] != "") {
                 $this->view->website = $event_data['website'];
             }
         }
     }
     $this->view->description = '';
     if ($request->issetPost('description')) {
         $this->view->description = $request->getPost('description');
     } else {
         if ($event_data) {
             if ($event_data['description'] != "") {
                 $this->view->description = $event_data['description'];
             }
         }
     }
     $this->view->compartir = '';
     if ($request->issetPost('compartir')) {
         $this->view->compartir = $request->getPost('compartir');
     } else {
         if ($event_data) {
             if (isset($event_data['compartir'])) {
                 $this->view->compartir = $event_data['compartir'];
             }
         }
     }
     $this->view->cancel = '';
     if ($request->issetPost('delete_event')) {
         $this->view->cancel = $request->getPost('delete_event');
     } else {
         if ($event_data) {
             if (isset($event_data['delete_event'])) {
                 $this->view->cancel = $event_data['delete_event'];
             }
         }
     }
     $this->view->cancelReason = '';
     if ($request->issetPost('delete_reason')) {
         $this->view->cancelReason = $request->getPost('delete_reason');
     } else {
         if ($event_data) {
             if (isset($event_data['delete_reason'])) {
                 $this->view->cancelReason = $event_data['delete_reason'];
             }
         }
     }
     //////////// User location ////////////
     $this->view->location = '';
     if ($request->issetPost('location')) {
         $this->view->location = $request->getPost('location');
     } else {
         if ($event_data) {
             if ($event_data['location'] != "") {
                 $this->view->location = $event_data['location'];
             }
         }
     }
     $this->view->lat = '';
     if ($request->issetPost('lat')) {
         $this->view->lat = $request->getPost('lat');
     } else {
         if ($event_data) {
             if ($event_data['lat'] != "") {
                 $this->view->lat = $event_data['lat'];
             }
         }
     }
     $this->view->len = '';
     if ($request->issetPost('len')) {
         $this->view->len = $request->getPost('len');
     } else {
         if ($event_data) {
             if ($event_data['len'] != "") {
                 $this->view->len = $event_data['len'];
             }
         }
     }
     $this->view->cat_title = '';
     $this->view->sport_category = '';
     if ($request->issetPost('sport_category')) {
         if ($request->getPost('sport_category') != "") {
             $this->view->sport_category = $request->getPost('sport_category');
             if ($request->getPost('sport_category') != "") {
                 if ($request->getPost('sport_category') == 1) {
                     $this->view->cat_title = "Todo";
                 } else {
                     $this->view->cat_title = Model_Boards::getCategoryTitle($request->getPost('sport_category'));
                 }
             }
         } else {
             if ($event_data) {
                 if ($event_data['sport_category'] != "") {
                     $this->view->sport_category = $event_data['sport_category'];
                     if ($event_data['sport_category'] == 1) {
                         $this->view->cat_title = "Todo";
                     } else {
                         $this->view->cat_title = Model_Boards::getCategoryTitle($event_data['sport_category']);
                     }
                 }
             }
         }
     } else {
         if ($event_data) {
             if ($event_data['sport_category'] != "") {
                 $this->view->sport_category = $event_data['sport_category'];
                 if ($event_data['sport_category'] == 1) {
                     $this->view->cat_title = "Todo";
                 } else {
                     $this->view->cat_title = Model_Boards::getCategoryTitle($event_data['sport_category']);
                 }
             }
         }
     }
     $upload = new JO_Upload_SessionStore();
     $upload->setName('upload_avatar');
     $info = $upload->getFileInfo();
     if (JO_Session::get('successfu_edite')) {
         $this->view->successfu_edite = true;
         JO_Session::clear('successfu_edite');
     }
     if ($request->isPost()) {
         $validate = new Helper_Validate();
         $validate->_set_rules($request->getPost('user_id'), $this->translate('user_id del evento'), 'not_empty;min_length[3];max_length[100];username');
         $validate->_set_rules($request->getPost('eventname'), $this->translate('Nombre del evento'), 'not_empty;min_length[3];max_length[100]');
         $validate->_set_rules($request->getPost('organiza'), $this->translate('Organiza'), 'not_empty;min_length[3];max_length[100]');
         $validate->_set_rules($request->getPost('date_event'), $this->translate('Fecha y Hora'), 'not_empty;min_length[5];max_length[100]');
         $validate->_set_rules($request->getPost('location'), $this->translate('Location'), 'not_empty;min_length[3];max_length[100]');
         $validate->_set_rules($request->getPost('description'), $this->translate('Detalles'), 'not_empty;min_length[3];max_length[200]');
         $validate->_set_rules($request->getPost('sport_category'), $this->translate('Category_id1'), 'not_empty;min_length[3];max_length[100]');
         $data = $request->getPost();
         if ($validate->_valid_form()) {
             /*if( Model_Events::isExistEventname($request->getPost('eventname')) ) {
             			$validate->_set_form_errors( $this->translate('El nombre del evento ya se ha utilizado') );
             			$validate->_set_valid_form(false);
             		}*/
         }
         if ($validate->_valid_form()) {
             $data['dont_search_index'] = (int) $request->issetPost('dont_search_index');
             $data['facebook_timeline'] = (int) $request->issetPost('facebook_timeline');
             if ($info) {
                 if (!@file_exists(BASE_PATH . '/cache/event/') || !is_dir(BASE_PATH . '/cache/event/')) {
                     mkdir(BASE_PATH . '/cache/event/');
                 }
                 $filename = BASE_PATH . '/cache/event/' . md5(mt_rand() . time()) . $upload->get_extension($info['name']);
                 if (file_put_contents($filename, $info['data'])) {
                     $data['avatar'] = $filename;
                 }
             }
             /*
             $lat = $data['lat'];
             $len = $data['len'];
             
             while(Model_Events::getEventsLatLen($lat,$len))
             {
             
                 $posLat = strpos($lat, ".");
                 $longLat = strlen(substr((string)$lat, $posLat));
                 $cantLat = 0;
                 for ($i = 0; $i < ($longLat - 4); $i++)
                 {
                     if ($i == 0)
                     {
                         $cantLat .= ".0";
                     }
                     else
                     {
                         $cantLat .= "0";
                     }
                 }
                 $cantLat .= "1";
                 $lat = $lat + $cantLat;
             
                 $posLen = strpos($len, ".");
                 $longLen = strlen(substr((string)$len, $posLen));
                 $cantLen = 0;
                 for ($i = 0; $i < ($longLen - 4); $i++)
                 {
                     if ($i == 0)
                     {
                         $cantLen .= ".0";
                     }
                     else
                     {
                         $cantLen .= "0";
                     }
                 }
                 $cantLen .= "1";
                 $len = $len + $cantLen;
             }
             
             $data['lat'] = $lat;
             $data['len'] = $len;
             */
             if (Model_Events::createEvent(JO_Session::get('user[user_id]'), $event_id, $data)) {
                 //JO_Session::set('successfu_edite', true);
                 $upload->getFileInfo(true);
                 $event_data = Model_Events::getEvent(array('filter_event_id' => $event_id));
                 foreach ($event_data as $k => $v) {
                     if (isset($event_data[$k])) {
                         $event_data[$k] = $v;
                     }
                 }
                 if ($this->view->cancel) {
                     self::sendMail($event_id);
                 }
                 $this->view->successfu_edite = true;
                 $this->view->user_events = WM_Router::create($request->getBaseUrl() . '?controller=users&action=events&user_id=' . JO_Session::get('user[user_id]'));
                 //$this->redirect( WM_Router::create( $request->getBaseUrl() . '?controller=events' ) );
             } else {
                 $this->view->error = $this->translate('There was a problem with the record. Please try again!');
             }
         } else {
             $this->view->error = $validate->_get_error_messages();
         }
     }
     /*
                 if($info) {
         $this->view->avatar = WM_Router::create( $request->getBaseUrl() . '?controller=events&action=temporary_avatar&s=' . microtime(true) );
         $this->view->has_avatar = true;
                 } else {
     */
     if ($event_data) {
         $avatar = Helper_Uploadimages::avatar($event_data, '_B');
         $this->view->avatar = $avatar['image'] . '?s=' . microtime(true);
         $this->view->has_avatar = @getimagesize($event_data['avatar']) ? true : false;
     }
     //}
     $this->view->form_action = WM_Router::create($request->getBaseUrl() . '?controller=events&action=upload_avatar');
     $this->view->search_json = WM_Router::create($request->getBaseUrl() . '?controller=events&action=search2');
     $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part');
 }