public function registerAction() { //echo"entrando"; $this->noViewRenderer(true); $request = $this->getRequest(); $response = $this->getResponse(); $page = (int) $request->getRequest('page'); if ($page < 1) { $page = 1; } $callback = $request->getRequest('callback'); if (!preg_match('/^([a-z0-9_.]{1,})$/', $callback)) { $callback = false; } $return = array(); /* error_log("token " . $_POST['token']); error_log("user " . md5($_POST['user_id'])); if (isset($_POST['token']) && $_POST['token'] == md5($_POST['user_id'])) { $_SESSION['token'] = $_POST['token']; error_log("antes estoy logado "); if (JO_Session::get('user[user_id]')) { error_log("estoy logado "); //$this->redirect( WM_Router::create( $request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]') ) ); } error_log("desupes estoy logado "); */ $shared_content = Model_Users::checkSharedContent($request->getParam('key'), $request->getParam('user_id')); if (!JO_Registry::get('enable_free_registration')) { if (!$shared_content) { //$this->redirect( WM_Router::create( $request->getBaseUrl() . '?controller=landing' ) ); } } else { /* $this->view->fb_register = null; $fb_ses = JO_Registry::get('facebookapi'); $session = $fb_ses->getUser(); if( JO_Registry::get('oauth_fb_key') && JO_Registry::get('oauth_fb_secret') ) { $this->view->fb_register = $this->facebook->getLoginUrl(array( 'redirect_uri' => WM_Router::create( $request->getBaseUrl() . '?controller=facebook&action=login' ), 'req_perms' => 'email,user_birthday,status_update,user_videos,user_status,user_photos,offline_access,read_friendlists' )); } * */ } if (JO_Registry::get('oauth_in_key')) { $this->view->instagram_register = WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=instagram&action=register&next=' . urlencode(WM_Router::create($request->getBaseUrl() . '?controller=instagram&action=register'))); } $this->view->error = false; if ($request->isPost()) { $validate = new Helper_Validate(); $validate->_set_rules($request->getRequest('username'), $this->translate('Username'), 'not_empty;min_length[3];max_length[100];username'); $validate->_set_rules($request->getRequest('firstname'), $this->translate('First name'), 'not_empty;min_length[3];max_length[100]'); //$validate->_set_rules($request->getRequest('lastname'), $this->translate('Last name'), 'not_empty;min_length[3];max_length[100]'); $validate->_set_rules($request->getRequest('email'), $this->translate('Email'), 'not_empty;min_length[5];max_length[100];email'); $validate->_set_rules($request->getRequest('password'), $this->translate('Password'), 'not_empty;min_length[4];max_length[30]'); $validate->_set_rules($request->getRequest('password2'), $this->translate('Confirm password'), 'not_empty;min_length[4];max_length[30]'); if ($validate->_valid_form()) { if (md5($request->getRequest('password')) != md5($request->getRequest('password2'))) { $validate->_set_form_errors($this->translate('Password and Confirm Password should be the same')); $validate->_set_valid_form(false); } if (Model_Users::isExistEmail($request->getRequest('email'))) { $validate->_set_form_errors($this->translate('This e-mail address is already used')); $validate->_set_valid_form(false); } if (Model_Users::isExistUsername($request->getRequest('username'))) { $validate->_set_form_errors($this->translate('This username is already used')); $validate->_set_valid_form(false); } } if ($validate->_valid_form()) { $reg_key = sha1($request->getRequest('email') . $request->getRequest('username')); $lat = $request->getPost('lat'); $len = $request->getPost('len'); while (Model_Users::getUsersLatLen($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::create(array('username' => $request->getPost('username'), 'firstname' => $request->getPost('firstname'), 'lastname' => $request->getPost('lastname'), 'email' => $request->getPost('email'), 'password' => $request->getPost('password'), 'delete_email' => isset($shared_content['email']) ? $shared_content['email'] : '', 'delete_code' => isset($shared_content['if_id']) ? $shared_content['if_id'] : '', 'following_user' => isset($shared_content['user_id']) ? $shared_content['user_id'] : '', 'facebook_id' => isset($shared_content['facebook_id']) ? $shared_content['facebook_id'] : 0, 'location' => $request->getPost('location'), 'sport_category_1' => $request->getPost('sport_category_1'), 'sport_category_2' => $request->getPost('sport_category_2'), 'sport_category_3' => $request->getPost('sport_category_3'), 'type_user' => $request->getPost('type_user'), 'lat' => $lat, 'len' => $len, 'confirmed' => '0', 'regkey' => $reg_key)); if ($result) { for ($i = 0; $i <= $request->getPost('locationcounter'); $i++) { $location = 'location' . $i; $lat = 'lat' . $i; $len = 'len' . $i; if ($request->issetPost($location)) { if ($request->getPost($location) != "") { $lat = $request->getPost($lat); $len = $request->getPost($len); while (Model_Users::getLocationUsersLatLen($lat, $len)) { $posLat = strpos($lat, "."); $longLat = strlen(substr((string) $lat, $posLat)); $cantLat = 0; for ($x = 0; $x < $longLat - 4; $x++) { if ($x == 0) { $cantLat .= ".0"; } else { $cantLat .= "0"; } } $cantLat .= "1"; $lat = $lat + $cantLat; $posLen = strpos($len, "."); $longLen = strlen(substr((string) $len, $posLen)); $cantLen = 0; for ($y = 0; $y < $longLen - 4; $y++) { if ($y == 0) { $cantLen .= ".0"; } else { $cantLen .= "0"; } } $cantLen .= "1"; $len = $len + $cantLen; } if (Model_Users::createUsersLocation($result, $request->getPost($location), $lat, $len)) { } } } } for ($i = 0; $i < 350; $i++) { //option1 if ($request->issetPost('option' . $i)) { $this->view->successfu_edite = false; $sport = $request->getPost('option' . $i); if (Model_Users::createUsersSports($result, $sport)) { $this->view->successfu_edite = true; } } } if (self::sendMail($result)) { //self::loginInit($result); } $return = array('id' => $result); //['user_id']); } else { $return = array('error' => 3, 'description' => $this->translate('There was a problem with the record. Please try again!')); } } else { $return = array('error' => 4, 'description' => str_replace("<br />", ". ", $validate->_get_error_messages())); } } $this->view->baseUrl = $request->getBaseUrl(); if ($request->issetPost('email')) { $this->view->email = $request->getRequest('email'); } else { if (isset($shared_content['email'])) { $this->view->email = $shared_content['email']; } else { $this->view->email = ''; } } if ($request->issetPost('firstname')) { $this->view->firstname = $request->getRequest('firstname'); } else { $this->view->firstname = ''; } if ($request->issetPost('lastname')) { $this->view->lastname = $request->getRequest('lastname'); } else { $this->view->lastname = ''; } if ($request->issetPost('username')) { $this->view->username = $request->getRequest('username'); } else { $this->view->username = ''; } $this->view->password = $request->getRequest('password'); $this->view->password2 = $request->getRequest('password2'); /* } else { //no existe la sesión / no existe el dato recibido por post / el token no es igual. $return = array('error' => 401, 'description' => $this->translate('wrong token')); } error_log("callback " . $callback . " response " . $response); */ if ($callback) { $return = $callback . '(' . JO_Json::encode($return) . ')'; } else { $response->addHeader('Cache-Control: no-cache, must-revalidate'); $response->addHeader('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); $response->addHeader('Content-type: application/json; charset=utf-8'); $return = JO_Json::encode($return); } $response->appendBody($return); }
public function indexAction() { $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; } //////////// User Type //////////// $this->view->user_types = array(); $user_types = Model_Users::getUserType(array('filter_status' => 1)); foreach ($user_types as $user_type) { $user_type['subuser_types'] = Model_Users::getSubUserType($user_type['user_type_id']); $this->view->user_types[] = $user_type; } /////////// activate ////////// $_SESSION["activate_url"] = WM_Router::create($request->getBaseUrl() . '?controller=settings'); $this->view->popup_activate = WM_Router::create($request->getBaseUrl() . '?controller=users&action=activate'); $_SESSION["deportes_url"] = WM_Router::create($request->getBaseUrl() . '?controller=settings'); $this->view->deportes = WM_Router::create($request->getBaseUrl() . '?controller=users&action=deportes'); $this->view->user_sports = array(); $users_sports = Model_Users::getUserSports(JO_Session::get('user[user_id]')); $i = 0; foreach ($users_sports as $user_sports) { if ($user_sports['sport_category'] != 1) { if (!Model_Boards::isCategoryParent($user_sports['sport_category'])) { $this->view->user_sports[] = Model_Boards::getCategoryTitle($user_sports['sport_category']); $i++; } } } $this->view->sportcounter = $i; $user_data = Model_Users::getUser(JO_Session::get('user[user_id]')); $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('username'), $this->translate('Username'), 'not_empty;min_length[3];max_length[100];username'); $validate->_set_rules($request->getPost('firstname'), $this->translate('First name'), 'not_empty;min_length[3];max_length[100]'); //$validate->_set_rules($request->getPost('lastname'), $this->translate('Last name'), 'not_empty;min_length[3];max_length[100]'); $validate->_set_rules($request->getPost('email'), $this->translate('Email'), 'not_empty;min_length[5];max_length[100];email'); if ($request->issetPost('type_user')) { if ($request->getPost('type_user') != 1 && $request->getPost('type_user') != 5 && $request->getPost('type_user') != 12) { $validate->_set_rules($request->getPost('location'), $this->translate('Location'), 'not_empty;min_length[3];max_length[100]'); } } $validate->_set_rules($request->getPost('sports'), $this->translate('Category_id1'), 'not_empty;min_length[3];max_length[100]'); //is_nan() sino /* if($request->getPost('sport_category_1') == "" && $request->getPost('sport_category_2') == "" && $request->getPost('sport_category_3') == "") { $validate->_set_rules($request->getPost('sport_category'), $this->translate('Category_id'), 'not_empty;min_length[3];max_length[100]'); } * */ //$validate->_set_rules($request->getPost('sport_category_1'), $this->translate('Category_id1'), 'not_empty;min_length[3];max_length[100]'); //$validate->_set_rules($request->getPost('sport_category_2'), $this->translate('Category_id2'), 'not_empty;min_length[3];max_length[100]'); //$validate->_set_rules($request->getPost('sport_category_3'), $this->translate('Category_id3'), 'not_empty;min_length[3];max_length[100]'); $validate->_set_rules($request->getPost('type_user'), $this->translate('User_type_id'), 'not_empty;min_length[1];max_length[100]'); $data = $request->getPost(); if ($validate->_valid_form()) { if (Model_Users::isExistEmail($request->getPost('email'), JO_Session::get('user[email]'))) { $validate->_set_form_errors($this->translate('This e-mail address is already used')); $validate->_set_valid_form(false); } if (Model_Users::isExistUsername($request->getPost('username'), JO_Session::get('user[username]'))) { $validate->_set_form_errors($this->translate('This username is already used')); $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/avatar/') || !is_dir(BASE_PATH . '/cache/avatar/')) { mkdir(BASE_PATH . '/cache/avatar/'); } $filename = BASE_PATH . '/cache/avatar/' . md5(mt_rand() . time()) . $upload->get_extension($info['name']); if (file_put_contents($filename, $info['data'])) { $data['avatar'] = $filename; } } $new_email_key = md5(JO_Session::get('user[email]') . mt_rand() . time()); if (JO_Session::get('user[email]') != $request->getPost('email')) { $data['new_email_key'] = $new_email_key; } else { $data['new_email_key'] = ''; } $data['new_email'] = $data['email']; unset($data['email']); /* $lat = $data['lat']; $len = $data['len']; while(Model_Users::getUsersLatLen($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_Users::edit(JO_Session::get('user[user_id]'), $data)) { JO_Session::set('successfu_edite', true); $upload->getFileInfo(true); if (JO_Session::get('user[email]') != $request->getPost('email')) { $this->view->verify_email_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login&user_id=' . JO_Session::get('user[user_id]') . '&verify=' . $new_email_key); $this->view->user_info = $user_data; Model_Email::send($request->getPost('email'), JO_Registry::get('noreply_mail'), $this->translate('Please verify your email'), $this->view->render('verify_email', 'mail')); } if (!Model_Users::getUserTypeNotOthers($user_data['type_user'])) { $data['activate'] = 0; //borrar activate if (Model_Users::createActivate(JO_Session::get('user[user_id]'), $data)) { } } if (Model_Users::deleteUsersLocation(JO_Session::get('user[user_id]'))) { for ($i = 0; $i <= $request->getPost('locationcounter'); $i++) { $location = 'location' . $i; $lat = 'lat' . $i; $len = 'len' . $i; if ($request->issetPost($location)) { if ($request->getPost($location) != "") { $lat = $request->getPost($lat); $len = $request->getPost($len); while (Model_Users::getLocationUsersLatLen($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; } if (Model_Users::createUsersLocation(JO_Session::get('user[user_id]'), $request->getPost($location), $lat, $len)) { } } } } } $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=settings')); } else { $this->view->error = $this->translate('There was a problem with the record. Please try again!'); } } else { $this->view->error = $validate->_get_error_messages(); } foreach ($data as $k => $v) { if (isset($user_data[$k])) { $user_data[$k] = $v; } } } if ($info) { $user_data['avatar'] = WM_Router::create($request->getBaseUrl() . '?controller=settings&action=temporary_avatar&s=' . microtime(true)); $user_data['has_avatar'] = true; } else { $avatar = Helper_Uploadimages::avatar($user_data, '_B'); $user_data['avatar'] = $avatar['image'] . '?s=' . microtime(true); $user_data['has_avatar'] = @getimagesize($user_data['avatar']) ? true : false; } //////////// User location //////////// $this->view->user_location = array(); $this->view->user_lat = array(); $this->view->user_len = array(); $this->view->locationcounter = 0; if ($request->issetPost('location1')) { $user_location = array(); $user_lat = array(); $user_len = array(); for ($i = 1; $i <= $request->getPost('locationcounter'); $i++) { $location = 'location' . $i; $lat = 'lat' . $i; $len = 'len' . $i; if ($request->issetPost($location)) { if ($request->getPost($location) != "") { $user_location[] = $request->getPost($location); $user_lat[] = $request->getPost($lat); $user_len[] = $request->getPost($len); } } } $this->view->user_location = $user_location; $this->view->user_lat = $user_lat; $this->view->user_len = $user_len; $this->view->locationcounter = $request->getPost('locationcounter'); } else { $users_location = Model_Users::getUserLocation(JO_Session::get('user[user_id]')); $i = 0; foreach ($users_location as $user_location) { $this->view->user_location[] = $user_location['location']; $this->view->user_lat[] = $user_location['lat']; $this->view->user_len[] = $user_location['len']; $i++; } $this->view->locationcounter = $i; } $this->view->location = ''; if ($request->issetPost('location')) { $this->view->location = $request->getPost('location'); } else { $this->view->location = ''; } $this->view->cat_title1 = ''; $this->view->sport_category_1 = ''; if ($request->issetPost('sport_category_1')) { $this->view->sport_category_1 = $request->getPost('sport_category_1'); if ($request->getPost('sport_category_1') != "") { if ($request->getPost('sport_category_1') == 1) { $this->view->cat_title1 = "Todo"; } else { $this->view->cat_title1 = Model_Boards::getCategoryTitle($request->getPost('sport_category_1')); } } } else { if ($user_data['sport_category_1'] != "") { $this->view->sport_category_1 = $user_data['sport_category_1']; if ($user_data['sport_category_1'] == 1) { $this->view->cat_title1 = "Todo"; } else { $this->view->cat_title1 = Model_Boards::getCategoryTitle($user_data['sport_category_1']); } } } $this->view->cat_title2 = ''; $this->view->sport_category_2 = ''; if ($request->issetPost('sport_category_2')) { $this->view->sport_category_2 = $request->getPost('sport_category_2'); if ($request->getPost('sport_category_2') != "") { if ($request->getPost('sport_category_2') == 1) { $this->view->cat_title2 = "Todo"; } else { $this->view->cat_title2 = Model_Boards::getCategoryTitle($request->getPost('sport_category_2')); } } } elseif ($user_data['sport_category_2'] != "") { $this->view->sport_category_2 = $user_data['sport_category_2']; if ($user_data['sport_category_2'] == 1) { $this->view->cat_title2 = "Todo"; } else { $this->view->cat_title2 = Model_Boards::getCategoryTitle($user_data['sport_category_2']); } } $this->view->cat_title3 = ''; $this->view->sport_category_3 = ''; if ($request->issetPost('sport_category_3')) { $this->view->sport_category_3 = $request->getPost('sport_category_3'); if ($request->getPost('sport_category_3') != "") { if ($request->getPost('sport_category_3') == 1) { $this->view->cat_title3 = "Todo"; } else { $this->view->cat_title3 = Model_Boards::getCategoryTitle($request->getPost('sport_category_3')); } } } elseif ($user_data['sport_category_3'] != "") { $this->view->sport_category_3 = $user_data['sport_category_3']; if ($user_data['sport_category_3'] == 1) { $this->view->cat_title3 = "Todo"; } else { $this->view->cat_title3 = Model_Boards::getCategoryTitle($user_data['sport_category_3']); } } $this->view->usertype_title = ''; $this->view->type_user = ''; if ($request->issetPost('type_user')) { $this->view->type_user = $request->getPost('type_user'); if ($request->getPost('type_user') != "") { $this->view->usertype_title = Model_Users::getUserTypeTitle($request->getPost('type_user')); } } elseif ($user_data['type_user'] != "") { $this->view->type_user = $user_data['type_user']; $this->view->usertype_title = Model_Users::getUserTypeTitle($user_data['type_user']); } if ($request->issetPost('activate')) { $this->view->activate = $request->getPost('activate'); } else { $activate = Model_Users::getActivateUser(JO_Session::get('user[user_id]')); if ($activate) { $this->view->activate = $activate["activate"]; } else { $this->view->activate = ""; } } $this->view->instagram_enable = JO_Registry::get('oauth_in_key'); $this->view->twitteroauth_enable = JO_Registry::get('oauth_tw_key'); $this->view->facebook_enable = JO_Registry::get('oauth_fb_key'); $this->view->user_data = $user_data; $this->view->form_action = WM_Router::create($request->getBaseUrl() . '?controller=settings&action=upload_avatar'); $this->view->invites_fb = WM_Router::create($request->getBaseUrl() . '?controller=invites&action=facebook'); $this->view->facebook_connect = WM_Router::create($request->getBaseUrl() . '?controller=settings&action=facebook_connect'); $this->view->twitter_connect = WM_Router::create($request->getBaseUrl() . '?controller=settings&action=twitter_connect'); $this->view->instagram_connect = WM_Router::create($request->getBaseUrl() . '?controller=settings&action=instagram_connect'); $this->view->instagram_fetch = WM_Router::create($request->getBaseUrl() . '?controller=instagram&action=media'); $this->view->instagram_fetch_cron = WM_Router::create($request->getBaseUrl() . '?controller=settings&action=instagram_cron'); $this->view->facebook_connect_avatar = WM_Router::create($request->getBaseUrl() . '?controller=settings&action=facebook_connect_avatar'); $this->view->check_username = WM_Router::create($request->getBaseUrl() . '?controller=settings&action=check_username'); $this->view->delete_username = WM_Router::create($request->getBaseUrl() . '?controller=users&action=delete&user_id=' . $user_data['user_id']); $this->view->facebook_connect2 = WM_Router::create($request->getBaseUrl() . '?controller=settings&action=facebook_connect2'); $this->view->prefs_action = WM_Router::create($request->getBaseUrl() . '?controller=prefs'); $this->view->new_password = WM_Router::create($request->getBaseUrl() . '?controller=password&action=change'); $this->view->site_name = JO_Registry::get('site_name'); $this->view->base_href = $request->getBaseUrl(); $this->view->delete_account = ''; if (JO_Registry::get('delete_account')) { $page_description = Model_Pages::getPage(JO_Registry::get('delete_account')); if ($page_description) { $this->view->delete_account = html_entity_decode($page_description['description'], ENT_QUOTES, 'utf-8'); } } // si llama a los deportes if (isset($_SESSION["email"])) { $this->view->email = $_SESSION["email"]; $_SESSION["email"] = null; } if (isset($_SESSION["firstname"])) { $this->view->firstname = $_SESSION["firstname"]; $_SESSION["firstname"] = null; } if (isset($_SESSION["username"])) { $this->view->username = $_SESSION["username"]; $_SESSION["username"] = null; } if (isset($_SESSION["password"])) { $this->view->password = $_SESSION["password"]; $_SESSION["password"] = null; } if (isset($_SESSION["password2"])) { $this->view->password2 = $_SESSION["password2"]; $_SESSION["password2"] = null; } if (isset($_SESSION["info"])) { $this->view->info = $_SESSION["info"]; $_SESSION["info"] = null; } if (isset($_SESSION["location"])) { $this->view->location = $_SESSION["location"]; $_SESSION["location"] = null; } if (isset($_SESSION["lat"])) { $this->view->lat = $_SESSION["lat"]; $_SESSION["lat"] = null; } if (isset($_SESSION["len"])) { $this->view->len = $_SESSION["len"]; $_SESSION["len"] = null; } if (isset($_SESSION["type_user"])) { if ($_SESSION["type_user"] != "") { $this->view->type_user = $_SESSION["type_user"]; $this->view->usertype_title = Model_Users::getUserTypeTitle($_SESSION["type_user"]); } $_SESSION["type_user"] = null; } if (isset($_SESSION["location1"])) { $user_location = array(); for ($i = 1; $i <= $_SESSION['locationcounter']; $i++) { $location = 'location' . $i; if (isset($_SESSION[$location])) { if ($_SESSION[$location] != "") { $user_location[] = $_SESSION[$location]; $_SESSION[$location] = null; } } } $this->view->user_location = $user_location; $this->view->locationcounter = $_SESSION['locationcounter']; $_SESSION['locationcounter'] = null; } $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); }
public function registerAction() { $request = $this->getRequest(); $_SESSION["deportes_url"] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=register'); $this->view->deportes = WM_Router::create($request->getBaseUrl() . '?controller=users&action=deportes'); //////////// 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; } //////////// User Type //////////// $this->view->user_types = array(); $user_types = Model_Users::getUserType(array('filter_status' => 1)); foreach ($user_types as $user_type) { $user_type['subuser_types'] = Model_Users::getSubUserType($user_type['user_type_id']); $this->view->user_types[] = $user_type; } $this->view->user_sports = array(); $users_sports = Model_Users::getUserSports(0); $i = 0; foreach ($users_sports as $user_sports) { if ($user_sports['sport_category'] != 1) { if (!Model_Boards::isCategoryParent($user_sports['sport_category'])) { $this->view->user_sports[] = Model_Boards::getCategoryTitle($user_sports['sport_category']); $i++; } } } //$this->view->sportcounter = $i; if (JO_Session::get('user[user_id]')) { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]'))); } $shared_content = Model_Users::checkSharedContent($request->getParam('key'), $request->getParam('user_id')); if (!JO_Registry::get('enable_free_registration')) { if (!$shared_content) { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=landing')); } } else { $this->view->fb_register = null; $fb_ses = JO_Registry::get('facebookapi'); $session = $fb_ses->getUser(); if (JO_Registry::get('oauth_fb_key') && JO_Registry::get('oauth_fb_secret')) { $this->view->fb_register = $this->facebook->getLoginUrl(array('redirect_uri' => WM_Router::create($request->getBaseUrl() . '?controller=facebook&action=login'), 'req_perms' => 'email,user_birthday,status_update,user_videos,user_status,user_photos,offline_access,read_friendlists')); } } if (JO_Registry::get('oauth_in_key')) { $this->view->instagram_register = WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=instagram&action=register&next=' . urlencode(WM_Router::create($request->getBaseUrl() . '?controller=instagram&action=register'))); } $this->view->error = false; if ($request->isPost()) { $validate = new Helper_Validate(); $validate->_set_rules($request->getPost('username'), $this->translate('Username'), 'not_empty;min_length[3];max_length[100];username'); $validate->_set_rules($request->getPost('firstname'), $this->translate('First name'), 'not_empty;min_length[3];max_length[100]'); //$validate->_set_rules($request->getPost('lastname'), $this->translate('Last name'), 'not_empty;min_length[3];max_length[100]'); $validate->_set_rules($request->getPost('email'), $this->translate('Email'), 'not_empty;min_length[5];max_length[100];email'); $validate->_set_rules($request->getPost('password'), $this->translate('Password'), 'not_empty;min_length[4];max_length[30]'); $validate->_set_rules($request->getPost('password2'), $this->translate('Confirm password'), 'not_empty;min_length[4];max_length[30]'); if (!isset($_SESSION['token'])) { if ($request->issetPost('type_user')) { if ($request->getPost('type_user') != 1 && $request->getPost('type_user') != 5 && $request->getPost('type_user') != 12) { $validate->_set_rules($request->getPost('location'), $this->translate('Location'), 'not_empty;min_length[3];max_length[100]'); } } //is_nan() sino /* if($request->getPost('sport_category_1') == "" && $request->getPost('sport_category_2') == "" && $request->getPost('sport_category_3') == "") { $validate->_set_rules($request->getPost('sport_category'), $this->translate('Category_id'), 'not_empty;min_length[3];max_length[100]'); } */ $validate->_set_rules($request->getPost('sports'), $this->translate('Category_id1'), 'not_empty;min_length[3];max_length[100]'); //$validate->_set_rules($request->getPost('sport_category_2'), $this->translate('Category_id2'), 'not_empty;min_length[3];max_length[100]'); //$validate->_set_rules($request->getPost('sport_category_3'), $this->translate('Category_id3'), 'not_empty;min_length[3];max_length[100]'); $validate->_set_rules($request->getPost('type_user'), $this->translate('User_type_id'), 'not_empty;min_length[1];max_length[100]'); } if ($validate->_valid_form()) { if (md5($request->getPost('password')) != md5($request->getPost('password2'))) { $validate->_set_form_errors($this->translate('Password and Confirm Password should be the same')); $validate->_set_valid_form(false); } if (Model_Users::isExistEmail($request->getPost('email'))) { $validate->_set_form_errors($this->translate('This e-mail address is already used')); $validate->_set_valid_form(false); } if (Model_Users::isExistUsername($request->getPost('username'))) { $validate->_set_form_errors($this->translate('This username is already used')); $validate->_set_valid_form(false); } } if ($validate->_valid_form()) { $reg_key = sha1($request->getPost('email') . $request->getPost('username')); $lat = $request->getPost('lat'); $len = $request->getPost('len'); /* while (Model_Users::getUsersLatLen($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::create(array('username' => $request->getPost('username'), 'firstname' => $request->getPost('firstname'), 'lastname' => $request->getPost('lastname'), 'email' => $request->getPost('email'), 'password' => $request->getPost('password'), 'delete_email' => isset($shared_content['email']) ? $shared_content['email'] : '', 'delete_code' => isset($shared_content['if_id']) ? $shared_content['if_id'] : '', 'following_user' => isset($shared_content['user_id']) ? $shared_content['user_id'] : '', 'facebook_id' => isset($shared_content['facebook_id']) ? $shared_content['facebook_id'] : 0, 'location' => $request->getPost('location') != "Introduce una ubicación" ? $request->getPost('location') : "", 'sport_category_1' => $request->getPost('sport_category_1'), 'sport_category_2' => $request->getPost('sport_category_2'), 'sport_category_3' => $request->getPost('sport_category_3'), 'type_user' => $request->getPost('type_user'), 'lat' => $lat, 'len' => $len, 'confirmed' => '0', 'regkey' => $reg_key)); if ($result) { for ($i = 0; $i <= $request->getPost('locationcounter'); $i++) { $location = 'location' . $i; $lat = 'lat' . $i; $len = 'len' . $i; if ($request->issetPost($location)) { if ($request->getPost($location) != "") { $lat = $request->getPost($lat); $len = $request->getPost($len); /* while (Model_Users::getLocationUsersLatLen($lat, $len)) { $posLat = strpos($lat, "."); $longLat = strlen(substr((string) $lat, $posLat)); $cantLat = 0; for ($x = 0; $x < ($longLat - 4); $x++) { if ($x == 0) { $cantLat .= ".0"; } else { $cantLat .= "0"; } } $cantLat .= "1"; $lat = $lat + $cantLat; $posLen = strpos($len, "."); $longLen = strlen(substr((string) $len, $posLen)); $cantLen = 0; for ($y = 0; $y < ($longLen - 4); $y++) { if ($y == 0) { $cantLen .= ".0"; } else { $cantLen .= "0"; } } $cantLen .= "1"; $len = $len + $cantLen; } */ if (Model_Users::createUsersLocation($result, $request->getPost($location), $lat, $len)) { } } } } if (Model_Users::editUserSports($result)) { } if (self::sendMail($result)) { self::loginInit($result); } } else { $this->view->error = $this->translate('There was a problem with the record. Please try again!'); } } else { $this->view->error = $validate->_get_error_messages(); } } $this->view->baseUrl = $request->getBaseUrl(); if ($request->issetPost('email')) { $this->view->email = $request->getPost('email'); } else { if (isset($shared_content['email'])) { $this->view->email = $shared_content['email']; } else { $this->view->email = ''; } } if ($request->issetPost('firstname')) { $this->view->firstname = $request->getPost('firstname'); } else { $this->view->firstname = ''; } if ($request->issetPost('lastname')) { $this->view->lastname = $request->getPost('lastname'); } else { $this->view->lastname = ''; } if ($request->issetPost('username')) { $this->view->username = $request->getPost('username'); } else { $this->view->username = ''; } $this->view->password = $request->getPost('password'); $this->view->password2 = $request->getPost('password2'); $this->view->location = ''; if ($request->issetPost('location')) { $this->view->location = $request->getPost('location'); } else { $this->view->location = ''; } //lat $this->view->lat = ''; if ($request->issetPost('lat')) { $this->view->lat = $request->getPost('lat'); } else { $this->view->lat = ''; } //len $this->view->len = ''; if ($request->issetPost('len')) { $this->view->len = $request->getPost('len'); } else { $this->view->len = ''; } $this->view->cat_title1 = ''; $this->view->sport_category_1 = ''; if ($request->issetPost('sport_category_1')) { $this->view->sport_category_1 = $request->getPost('sport_category_1'); if ($request->getPost('sport_category_1') != "") { if ($request->getPost('sport_category_1') == 1) { $this->view->cat_title1 = "Todo"; } else { $this->view->cat_title1 = Model_Boards::getCategoryTitle($request->getPost('sport_category_1')); } } } else { $this->view->sport_category_1 = ''; } $this->view->cat_title2 = ''; $this->view->sport_category_2 = ''; if ($request->issetPost('sport_category_2')) { $this->view->sport_category_2 = $request->getPost('sport_category_2'); if ($request->getPost('sport_category_2') != "") { if ($request->getPost('sport_category_2') == 1) { $this->view->cat_title2 = "Todo"; } else { $this->view->cat_title2 = Model_Boards::getCategoryTitle($request->getPost('sport_category_2')); } } } else { $this->view->sport_category_2 = ''; } $this->view->cat_title3 = ''; $this->view->sport_category_3 = ''; if ($request->issetPost('sport_category_3')) { $this->view->sport_category_3 = $request->getPost('sport_category_3'); if ($request->getPost('sport_category_3') != "") { if ($request->getPost('sport_category_3') == 1) { $this->view->cat_title3 = "Todo"; } else { $this->view->cat_title3 = Model_Boards::getCategoryTitle($request->getPost('sport_category_3')); } } } else { $this->view->sport_category_3 = ''; } $this->view->usertype_title = ''; $this->view->type_user = ''; if ($request->issetPost('type_user')) { $this->view->type_user = $request->getPost('type_user'); if ($request->getPost('type_user') != "") { $this->view->usertype_title = Model_Users::getUserTypeTitle($request->getPost('type_user')); } } else { $this->view->type_user = ''; } //////////// User location //////////// $this->view->user_location = array(); $this->view->locationcounter = 0; if ($request->issetPost('location1')) { $user_location = array(); for ($i = 1; $i <= $request->getPost('locationcounter'); $i++) { $location = 'location' . $i; $lat = 'lat' . $i; $len = 'len' . $i; if ($request->issetPost($location)) { if ($request->getPost($location) != "") { $user_location[] = $request->getPost($location); } } } $this->view->user_location = $user_location; $this->view->locationcounter = $request->getPost('locationcounter'); } else { $this->view->locationcounter = 0; } // si llama a los deportes if (isset($_SESSION["email"])) { $this->view->email = $_SESSION["email"]; $_SESSION["email"] = null; } if (isset($_SESSION["firstname"])) { $this->view->firstname = $_SESSION["firstname"]; $_SESSION["firstname"] = null; } if (isset($_SESSION["username"])) { $this->view->username = $_SESSION["username"]; $_SESSION["username"] = null; } if (isset($_SESSION["password"])) { $this->view->password = $_SESSION["password"]; $_SESSION["password"] = null; } if (isset($_SESSION["password2"])) { $this->view->password2 = $_SESSION["password2"]; $_SESSION["password2"] = null; } if (isset($_SESSION["location"])) { $this->view->location = $_SESSION["location"]; $_SESSION["location"] = null; } if (isset($_SESSION["lat"])) { $this->view->lat = $_SESSION["lat"]; $_SESSION["lat"] = null; } if (isset($_SESSION["len"])) { $this->view->len = $_SESSION["len"]; $_SESSION["len"] = null; } if (isset($_SESSION["type_user"])) { if ($_SESSION["type_user"] != "") { $this->view->type_user = $_SESSION["type_user"]; $this->view->usertype_title = Model_Users::getUserTypeTitle($_SESSION["type_user"]); } $_SESSION["type_user"] = null; } if (isset($_SESSION["location1"])) { $user_location = array(); for ($i = 1; $i <= $_SESSION['locationcounter']; $i++) { $location = 'location' . $i; $lat = 'lat' . $i; $len = 'len' . $i; if (isset($_SESSION[$location])) { if ($_SESSION[$location] != "") { $user_location[] = $_SESSION[$location]; $_SESSION[$location] = null; } } } $this->view->user_location = $user_location; $this->view->locationcounter = $_SESSION['locationcounter']; $_SESSION['locationcounter'] = null; } $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); }