public static function createVoluntarios($user_id, $data) { $db = JO_Db::getDefaultAdapter(); $rows = self::describeTable('users_voluntarios'); //$user_info_get = self::getUser($user_id); //$created = WM_Date::format($user_info_get['created'], 'yy-mm-dd H:i:s'); $update = array(); foreach ($rows as $row) { if (array_key_exists($row, $data)) { $update[$row] = $data[$row]; } } if (!$update) { return false; } $user_data = Model_Users::getVoluntariosUser(JO_Session::get('user[user_id]')); if (!$user_data) { $db->insert('users_voluntarios', $update); $user_id = $db->lastInsertId(); if (!$user_id) { return false; } } else { $result = $db->update('users_voluntarios', $update, array('user_id = ?' => (string) $user_id)); if (!$result) { return false; } } return true; }
public function voluntariosAction() { $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; } //////////// Age //////////// $this->view->ages = array(); $ages = Model_Users::getAge(); $this->view->ages = $ages; //////////// Level //////////// $this->view->levels = array(); $levels = Model_Users::getLevel(); $this->view->levels = $levels; $user_data = Model_Users::getVoluntariosUser(JO_Session::get('user[user_id]')); $this->view->user_data = $user_data; if (JO_Registry::get('isMobile')) { $this->view->urlmensajes = WM_Router::create($request->getBaseUrl() . '?controller=users&action=mensajes&user_id=' . $request->getRequest('board_user')); } //disponible if ($request->issetPost('disponible')) { $this->view->disponible = $request->getRequest('disponible'); } elseif (isset($user_data['disponible'])) { $this->view->disponible = $user_data['disponible']; } else { $this->view->disponible = ""; } //estado if ($request->issetPost('estado')) { $this->view->estado = $request->getRequest('estado'); } elseif (isset($user_data['estado'])) { $this->view->estado = $user_data['estado']; } else { $this->view->estado = ""; } //location if ($request->issetPost('location')) { $this->view->location = $request->getPost('location'); } elseif (isset($user_data['location'])) { $this->view->location = $user_data['location']; } else { $this->view->location = ''; } //lat if ($request->issetPost('lat')) { $this->view->lat = $request->getPost('lat'); } elseif (isset($user_data['lat'])) { $this->view->lat = $user_data['lat']; } else { $this->view->lat = ''; } //len if ($request->issetPost('len')) { $this->view->len = $request->getPost('len'); } elseif (isset($user_data['len'])) { $this->view->len = $user_data['len']; } else { $this->view->len = ''; } //sport category if ($request->issetPost('sport_category')) { $this->view->sport_category = $request->getPost('sport_category'); if ($request->getPost('sport_category') != "") { $this->view->cat_title = Model_Boards::getCategoryTitle($request->getPost('sport_category')); } } elseif (isset($user_data['sport_category'])) { $this->view->sport_category = $user_data['sport_category']; $this->view->cat_title = Model_Boards::getCategoryTitle($user_data['sport_category']); } else { $this->view->cat_title = ''; $this->view->sport_category = ''; } //comment if ($request->issetPost('comment')) { $this->view->comment = $request->getPost('comment'); } elseif (isset($user_data['comment'])) { $this->view->comment = $user_data['comment']; } else { $this->view->comment = ''; } //option1 if ($request->issetPost('option1')) { $this->view->option1 = $request->getPost('option1'); } elseif (isset($user_data['option1'])) { $this->view->option1 = $user_data['option1']; } else { $this->view->option1 = ''; } //option2 if ($request->issetPost('option2')) { $this->view->option2 = $request->getPost('option2'); } elseif (isset($user_data['option2'])) { $this->view->option2 = $user_data['option2']; } else { $this->view->option2 = ''; } //option3 if ($request->issetPost('option3')) { $this->view->option3 = $request->getPost('option3'); } elseif (isset($user_data['option3'])) { $this->view->option3 = $user_data['option3']; } else { $this->view->option3 = ''; } //option4 if ($request->issetPost('option4')) { $this->view->option4 = $request->getPost('option4'); } elseif (isset($user_data['option4'])) { $this->view->option4 = $user_data['option4']; } else { $this->view->option4 = ''; } //option5 if ($request->issetPost('option5')) { $this->view->option5 = $request->getPost('option5'); } elseif (isset($user_data['option5'])) { $this->view->option5 = $user_data['option5']; } else { $this->view->option5 = ''; } //option6 if ($request->issetPost('option6')) { $this->view->option6 = $request->getPost('option6'); } elseif (isset($user_data['option6'])) { $this->view->option6 = $user_data['option6']; } else { $this->view->option6 = ''; } //option7 if ($request->issetPost('option7')) { $this->view->option7 = $request->getPost('option7'); } elseif (isset($user_data['option7'])) { $this->view->option7 = $user_data['option7']; } else { $this->view->option7 = ''; } //option8 if ($request->issetPost('option8')) { $this->view->option8 = $request->getPost('option8'); } elseif (isset($user_data['option8'])) { $this->view->option8 = $user_data['option8']; } else { $this->view->option8 = ''; } //option9 if ($request->issetPost('option9')) { $this->view->option9 = $request->getPost('option9'); } elseif (isset($user_data['option9'])) { $this->view->option9 = $user_data['option9']; } else { $this->view->option9 = ''; } //option10 if ($request->issetPost('option10')) { $this->view->option10 = $request->getPost('option10'); } elseif (isset($user_data['option10'])) { $this->view->option10 = $user_data['option10']; } else { $this->view->option10 = ''; } //option11 if ($request->issetPost('option11')) { $this->view->option11 = $request->getPost('option11'); } elseif (isset($user_data['option11'])) { $this->view->option11 = $user_data['option11']; } else { $this->view->option11 = ''; } //option12 if ($request->issetPost('option12')) { $this->view->option12 = $request->getPost('option12'); } elseif (isset($user_data['option12'])) { $this->view->option12 = $user_data['option12']; } else { $this->view->option12 = ''; } //option13 if ($request->issetPost('option13')) { $this->view->option13 = $request->getPost('option13'); } elseif (isset($user_data['option13'])) { $this->view->option13 = $user_data['option13']; } else { $this->view->option13 = ''; } //option14 if ($request->issetPost('option14')) { $this->view->option14 = $request->getPost('option14'); } elseif (isset($user_data['option14'])) { $this->view->option14 = $user_data['option14']; } else { $this->view->option14 = ''; } //option15 if ($request->issetPost('option15')) { $this->view->option15 = $request->getPost('option15'); } elseif (isset($user_data['option15'])) { $this->view->option15 = $user_data['option15']; } else { $this->view->option15 = ''; } //option16 if ($request->issetPost('option16')) { $this->view->option16 = $request->getPost('option16'); } elseif (isset($user_data['option16'])) { $this->view->option16 = $user_data['option16']; } else { $this->view->option16 = ''; } //option17 if ($request->issetPost('option17')) { $this->view->option17 = $request->getPost('option17'); } elseif (isset($user_data['option17'])) { $this->view->option17 = $user_data['option17']; } else { $this->view->option17 = ''; } //option18 if ($request->issetPost('option18')) { $this->view->option18 = $request->getPost('option18'); } elseif (isset($user_data['option18'])) { $this->view->option18 = $user_data['option18']; } else { $this->view->option18 = ''; } $this->view->from_url = WM_Router::create($request->getBaseUrl() . '?controller=users&action=voluntarios'); $this->view->popup_main_box = $this->view->render('voluntarios', 'users'); $this->view->home_url = WM_Router::create($request->getBaseUrl()); if ($request->isPost()) { $validate = new Helper_Validate(); $validate->_set_rules($request->getPost('location'), $this->translate('Zona geográfica'), 'not_empty;min_length[3];max_length[100]'); //$validate->_set_rules($request->getPost('sport_category'), $this->translate('Category_id1'), 'not_empty;min_length[3];max_length[100]'); $validate->_set_rules($request->getPost('estado'), $this->translate('Estado'), 'min_length[1];max_length[100]'); $validate->_set_rules($request->getPost('disponible'), $this->translate('Disponibilidad'), 'min_length[1];max_length[100]'); if (!$request->issetPost('option1') && !$request->issetPost('option2') && !$request->issetPost('option3') && !$request->issetPost('option4') && !$request->issetPost('option5') && !$request->issetPost('option6') && !$request->issetPost('option7') && !$request->issetPost('option8') && !$request->issetPost('option9') && !$request->issetPost('option10') && !$request->issetPost('option11') && !$request->issetPost('option12') && !$request->issetPost('option13') && !$request->issetPost('option14') && !$request->issetPost('option15') && !$request->issetPost('option16') && !$request->issetPost('option17') && !$request->issetPost('option18')) { $validate->_set_rules($request->getPost('option1'), $this->translate('Opciones'), 'not_empty;min_length[1];max_length[100]'); } if ($validate->_valid_form()) { $lat = $request->getPost('lat'); $len = $request->getPost('len'); /* while (Model_Users::getVoluntariosLatLen($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; } */ $result = Model_Users::createVoluntarios(JO_Session::get('user[user_id]'), array('user_id' => JO_Session::get('user[user_id]'), 'estado' => $request->getPost('estado'), 'disponible' => $request->getPost('disponible'), 'location' => $request->getPost('location') != "Introduce una ubicación" ? $request->getPost('location') : "", 'sport_category' => $request->getPost('sport_category'), 'option1' => $request->getPost('option1'), 'option2' => $request->getPost('option2'), 'option3' => $request->getPost('option3'), 'option4' => $request->getPost('option4'), 'option5' => $request->getPost('option5'), 'option6' => $request->getPost('option6'), 'option7' => $request->getPost('option7'), 'option8' => $request->getPost('option8'), 'option9' => $request->getPost('option9'), 'option10' => $request->getPost('option10'), 'option11' => $request->getPost('option11'), 'option12' => $request->getPost('option12'), 'option13' => $request->getPost('option13'), 'option14' => $request->getPost('option14'), 'option15' => $request->getPost('option15'), 'option16' => $request->getPost('option16'), 'option17' => $request->getPost('option17'), 'option18' => $request->getPost('option18'), 'comment' => $request->getPost('comment'), 'lat' => $lat, 'len' => $len)); $this->view->successfu_edite = true; $this->view->search_voluntarios = WM_Router::create($request->getBaseUrl() . '?controller=search&action=advanced?id=voluntarios'); /* if($result) { //Model_History::addHistory($user["user_id"], Model_History::COMMENTUSER, $request->getPost('agenda')); Model_History::addHistory($request->getPost('user_to'), Model_History::MESSAGEUSER, $result, $request->getPost('board_user'), $request->getPost('text_message')); } */ } else { $this->view->error = $validate->_get_error_messages(); } } $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); }