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