Exemplo n.º 1
0
 public function check_emailAction()
 {
     $request = $this->getRequest();
     $username = trim($request->getPost('raw'));
     if (strlen($username) < 5) {
         //			$this->view->error = $this->translate('Please use at least 5 characters');
     } else {
         $validate = new Helper_Validate();
         $validate->_set_rules($username, $this->translate('Email'), 'not_empty;min_length[5];max_length[100];email');
         if ($validate->_valid_form()) {
             if (Model_Users::isExistEmail($username)) {
                 $validate->_set_form_errors($this->translate('This email is already used'));
                 $validate->_set_valid_form(false);
             }
         }
         if ($validate->_valid_form()) {
             $this->view->success = $this->translate('Available');
         } else {
             $this->view->error = $validate->_get_error_messages();
         }
     }
     echo $this->renderScript('json');
 }
Exemplo n.º 2
0
 public function registerAction()
 {
     $request = $this->getRequest();
     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 = null;
     if (!Helper_Config::get('enable_free_registration')) {
         $invateObject = new Model_Users_Invate();
         $shared_content = $invateObject->isInvated($request->getParam('key'), $request->getParam('user_id'));
         if (!$shared_content) {
             $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=landing'));
         }
     }
     $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 ($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()) {
             $result = new Model_Users_Create(array('username' => $request->getPost('username'), 'firstname' => $request->getPost('firstname'), 'lastname' => $request->getPost('lastname'), 'email' => $request->getPost('email'), 'password' => $request->getPost('password')));
             if ($result->user_id) {
                 $user_data = new Model_Users_User($result->user_id);
                 if ($user_data) {
                     if ($shared_content) {
                         $follow = new Model_Users_Follow($result->user_id, $shared_content['user_id']);
                         if (!$follow->is_follow) {
                             $follow->followUser();
                         }
                         $follow = new Model_Users_Follow($shared_content['user_id'], $result->user_id);
                         if (!$follow->is_follow) {
                             $follow->followUser();
                         }
                     }
                     JO_Session::set(array('user' => $user_data->toArray()));
                     $this->redirect(WM_Router::create($this->getRequest()->getBaseUrl()));
                 } else {
                     $this->view->error = $this->translate('There was a problem with the record. Please try again!');
                 }
             } 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');
     //extensions
     $this->view->user_login_buttons = array();
     $user_login_buttons = Model_Extensions::getByMethod('user_register');
     foreach ($user_login_buttons as $id => $login) {
         $this->view->user_login_buttons[] = array('html' => $this->view->callChildren('modules_' . $login . '_registerbutton', WM_Router::create($request->getBaseUrl() . '?controller=modules_' . $login . '_register')), 'view' => $this->view->callChildrenView('modules_' . $login . '_registerbutton', WM_Router::create($request->getBaseUrl() . '?controller=modules_' . $login . '_register')), 'key' => $login);
     }
     $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part');
 }
Exemplo n.º 3
0
 public function createAction()
 {
     if (!WM_Users::allow('create', $this->getRequest()->getController())) {
         $this->forward('error', 'noPermission');
     }
     $this->setViewChange('form');
     $request = $this->getRequest();
     if ($request->isPost()) {
         if (trim($request->getPost('password')) and !Model_Users::isExistEmail($request->getPost('email')) and !Model_Users::isExistUsername($request->getPost('username'))) {
             Model_Users::createUser($request->getParams());
             $this->session->set('successfu_edite', true);
             $this->redirect($this->getRequest()->getBaseUrl() . $this->getRequest()->getModule() . '/users/');
         }
     }
     $this->view->new = true;
     $this->getForm();
 }
Exemplo n.º 4
0
    public function registrationAction()
    {
        $request = $this->getRequest();
        if (JO_Session::get('user_id')) {
            $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=edit'));
        }
        $this->view->usersCount = Model_Users::countUsers();
        $this->view->itemsCount = Model_Items::countItems();
        $this->getLayout()->meta_title = $this->translate('Registration');
        $this->getLayout()->meta_description = $this->translate('Registration');
        $captcha = new Model_Recaptcha();
        $captcha->publicKey = JO_Registry::get('recaptcha_public_key');
        $captcha->privateKey = JO_Registry::get('recaptcha_private_key');
        if (JO_Session::issetKey('data')) {
            if (JO_Session::issetKey('msg_error')) {
                $this->view->msg_error = JO_Session::get('msg_error');
                JO_Session::clear('msg_error');
            } elseif (JO_Session::issetKey('error')) {
                $this->view->error = JO_Session::get('error');
                JO_Session::clear('error');
            }
            $this->view->user = JO_Session::get('data');
            JO_Session::clear('data');
        }
        if (JO_Session::issetKey('fb_data')) {
            $this->view->user = JO_Session::get('fb_data');
            JO_Session::clear('fb_data');
        }
        if ($request->isPost()) {
            $captcha->checkCaptcha();
            $error = array();
            $this->view->firstname = trim($request->getPost('firstname'));
            $this->view->lastname = trim($request->getPost('lastname'));
            $this->view->email = trim($request->getPost('email'));
            $this->view->email_confirm = trim($request->getPost('email_confirm'));
            $this->view->username = trim($request->getPost('username'));
            $this->view->password = trim($this->getRequest()->getPost('password'));
            $this->view->password_confirm = trim($request->getPost('password_confirm'));
            if (empty($this->view->firstname)) {
                $error['efirstname'] = $this->translate('You must type your first name');
            }
            if (empty($this->view->lastname)) {
                $error['elastname'] = $this->translate('You must type your last name');
            }
            if (empty($this->view->email)) {
                $error['eemail'] = $this->translate('You must type your email');
            } elseif (!Model_Users::ValidMail($this->view->email)) {
                $error['eemail'] = $this->translate('You must type valid email');
            } elseif (Model_Users::isExistEmail($this->view->email)) {
                $error['eemail'] = $this->translate('The email you have entered is already in our database');
            }
            if (empty($this->view->email_confirm)) {
                $error['eemail_confirm'] = $this->translate('You must retype your email');
            } elseif ($this->view->email_confirm != $this->view->email) {
                $error['eemail_confirm'] = $this->translate('The email adresses you have entered, does not match');
            }
            $methodNames = array();
            if (version_compare(PHP_VERSION, '5.2.6') === -1) {
                $class = new ReflectionObject($this);
                $classMethods = $class->getMethods();
                foreach ($classMethods as $method) {
                    $methodNames[] = $method->getName();
                }
            } else {
                $methodNames = get_class_methods($this);
            }
            $temp_methodNames = array();
            foreach ($methodNames as $methodName) {
                if (preg_match('/^([\\w]{1,})Action$/i', $methodName, $match)) {
                    $temp_methodNames[] = $match[1];
                }
            }
            $temp_methodNames = array_change_key_case($temp_methodNames, CASE_LOWER);
            if (empty($this->view->username)) {
                $error['eusername'] = $this->translate('You must type your username');
            } elseif (!preg_match('/^[a-zA-Z0-9_]+$/i', $this->view->username)) {
                $error['eusername'] = $this->translate('The username you have entered is not valid');
            } elseif (Model_Users::isExistUsername($this->view->username)) {
                $error['eusername'] = $this->translate('There is already registration with that username');
            } elseif (in_array(strtolower($this->view->username), $temp_methodNames)) {
                $error['eusername'] = $this->translate('This username can not be registered');
            }
            if (empty($this->view->password)) {
                $error['epassword'] = $this->translate('You must type your password');
            }
            if (empty($this->view->password_confirm)) {
                $error['epassword_confirm'] = $this->translate('You must retype your password');
            } elseif ($this->view->password_confirm != $this->view->password) {
                $error['epassword_confirm'] = $this->translate('The passwords you have entered does not match');
            }
            if ($captcha->getError()) {
                $error['ecaptcha'] = $this->translate('You must fill correct captcha');
            }
            if (!$request->getPost('terms')) {
                $error['eterms'] = $this->translate('You must agree with the terms');
            }
            if (!count($error)) {
                $activationKey = md5(rand(0, 10000) . date('HisdmY') . rand(0, 10000));
                if (!is_null(JO_Cookie::get('referral'))) {
                    $referal = Model_Users::getUser(JO_Cookie::get('referral'));
                    JO_Cookie::delete('referral');
                }
                Model_Users::register(array('username' => $this->view->username, 'password' => md5(md5($this->view->password)), 'email' => $this->view->email, 'firstname' => $this->view->firstname, 'lastname' => $this->view->lastname, 'activate_key' => $activationKey, 'referal_id' => isset($referal['user_id']) ? $referal['user_id'] : 0, 'fb_id' => $request->issetPost('fb_id') ? $request->getPost('fb_id') : 0));
                if ($request->getPost('subscribed')) {
                    Model_Bulletin::add(array('fname' => $this->view->firstname, 'lname' => $this->view->lastname, 'email' => $this->view->email));
                }
                $is_mail_smtp = JO_Registry::forceGet('config_mail_smtp');
                $not_template = Model_Notification::getNotification('registration');
                $mail = new JO_Mail();
                if ($is_mail_smtp) {
                    $mail->setSMTPParams(JO_Registry::forceGet('config_mail_smtp_host'), JO_Registry::forceGet('config_mail_smtp_port'), JO_Registry::forceGet('config_mail_smtp_user'), JO_Registry::forceGet('config_mail_smtp_password'));
                }
                $domain = $request->getDomain();
                $mail->setFrom('noreply@' . $domain);
                $mail->setReturnPath('noreply@' . $domain);
                $mail->setSubject($this->translate('Email activation') . ' ' . JO_Registry::get('store_meta_title'));
                if ($not_template) {
                    $title = $not_template['title'];
                    $html = html_entity_decode($not_template['template'], ENT_QUOTES, 'utf-8');
                    $html = str_replace('{USERNAME}', $this->view->username, $html);
                    $html = str_replace('{URL}', WM_Router::create($request->getBaseUrl() . '?controller=users&action=login&command=activate&user='******'&key=' . $activationKey), $html);
                } else {
                    $link = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login&command=activate&user='******'&key=' . $activationKey);
                    $html = nl2br('To activate your profile in ' . JO_Registry::get('meta_title') . ', please click the following link:
							<a href="' . $link . '">' . $link . '</a>');
                }
                $mail->setHTML($html);
                $result = (int) $mail->send(array($this->view->email), $is_mail_smtp ? 'smtp' : 'mail');
                if ($result) {
                    $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=verify'));
                } else {
                    JO_Session::set('msg_error', $this->translate('The email was not send. Please try again later'));
                }
            } else {
                JO_Session::set('error', $error);
            }
            $request->setParams('username', $this->view->username);
            JO_Session::set('data', $request->getParams());
            $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=registration'));
        }
        $this->view->recaptcha = $captcha->getCaptcha();
        $this->view->terms = Model_Pages::get(JO_Registry::forceGet('page_terms'));
        $this->view->checkAvaibility = WM_Router::create($request->getBaseUrl() . '?controller=users&action=checkAvaibility');
        if ($this->view->terms) {
            $this->view->terms['text'] = html_entity_decode($this->view->terms['text'], ENT_QUOTES, 'utf-8');
        }
        $facebook = new WM_Facebook_Api(array('appId' => JO_Registry::forceGet('facebook_appid'), 'secret' => JO_Registry::forceGet('facebook_secret')));
        $this->view->facebook_link = $facebook->getLoginUrl(array('redirect_uri' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=callback_facebook'), 'req_perms' => JO_Registry::forceGet('facebook_req_perms'), 'scope' => JO_Registry::forceGet('facebook_req_perms')));
        $this->view->children = array();
        $this->view->children['header_part'] = 'layout/header_part';
        $this->view->children['footer_part'] = 'layout/footer_part';
    }
Exemplo n.º 5
0
 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');
 }
Exemplo n.º 6
0
 public function registerfbAction()
 {
     $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();
     $shared_content = Model_Users::checkSharedContent($request->getParam('key'), $request->getParam('user_id'));
     //self::loginInit($fbData['id'], $session);
     $ph = new WM_Facebook_Photo();
     $image = $ph->getRealUrl('http://graph.facebook.com/' . $request->getPost('facebook_id') . '/picture?type=large');
     if (!@getimagesize($image)) {
         $image = '';
     }
     $this->view->error = false;
     if ($request->isPost()) {
         $session = $request->getPost('facebook_id');
         //error_log("facebook id " . $session . " " .  $request->getPost('username') . " " . $request->getPost('firstname')." ".  $request->getPost('lastname'));
         $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 ($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);
                 //error_log("ERROR PASSS ". $request->getPost('password') . " " . $request->getPost('password2') );
             }
             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);
                 //error_log("ERROR MAIL ". $request->getPost('email'));
             }
             if (Model_Users::isExistUsername($request->getPost('username'))) {
                 $validate->_set_form_errors($this->translate('This username is already used'));
                 $validate->_set_valid_form(false);
                 //error_log("ERROR USER ". $request->getPost('username'));
             }
         }
         if ($validate->_valid_form()) {
             $reg_key = sha1($request->getPost('email') . $request->getPost('username'));
             $result = Model_Users::create(array('facebook_id' => $request->getPost('facebook_id'), 'gender' => $request->getPost('gender'), 'avatar' => $image ? $image : '', 'location' => $request->getPost('location'), 'website' => $request->getPost('website'), 'username' => $request->getPost('username'), 'firstname' => $request->getPost('firstname'), 'lastname' => $request->getPost('lastname'), 'email' => $request->getPost('email'), 'password' => $request->getPost('password'), 'delete_email' => $request->getPost('email'), 'facebook_session' => $session, 'delete_code' => isset($shared_content['if_id']) ? $shared_content['if_id'] : '', 'following_user' => isset($shared_content['user_id']) ? $shared_content['user_id'] : '', 'facebook_connect' => 1, 'confirmed' => '0', 'regkey' => $reg_key));
             if ($result) {
                 if (self::sendMail($result)) {
                     //self::loginInit($result);
                 }
                 $return = array('id' => $result);
                 //['user_id']);
                 //error_log("SIN ERROR ". $result);
             } else {
                 $return = array('error' => 3, 'description' => $this->translate('There was a problem with the record. Please try again!'));
                 //error_log("ERROR 3 ");
             }
         } else {
             $return = array('error' => 4, 'description' => str_replace("<br />", ". ", $validate->_get_error_messages()));
             //error_log("ERROR 4 " . str_replace("<br />", ". ", $validate->_get_error_messages()));
         }
     }
     $this->view->user_id_fb = $request->getPost('facebook_id');
     $this->view->baseUrl = $request->getBaseUrl();
     if ($request->issetPost('email')) {
         $this->view->email = $request->getPost('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 {
     //			if(isset($fbData['last_name'])) {
     //				$this->view->lastname = $fbData['last_name'];
     //			} 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');
     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);
         error_log("2RETURN " . $return);
     }
     $response->appendBody($return);
 }
Exemplo n.º 7
0
 public function indexAction()
 {
     $request = $this->getRequest();
     $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 (JO_Session::get('connect_error')) {
         $this->view->error = JO_Session::get('connect_error');
         JO_Session::clear('connect_error');
     }
     $this->view->config_enable_follow_private_profile = Helper_Config::get('config_enable_follow_private_profile');
     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');
         $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');
             /* v2.2 */
             if ($this->view->config_enable_follow_private_profile) {
                 $data['enable_follow'] = (int) (!$request->issetPost('enable_follow'));
                 $data['public'] = (int) (!$request->issetPost('public'));
             }
             /* v2.2 */
             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']);
             $result = new Model_Users_Edit(JO_Session::get('user[user_id]'), $data);
             if ($result->affected_rows) {
                 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'),
                       	        	Helper_Config::get('noreply_mail'),
                       	        	$this->translate('Please verify your email'),
                       	        	$this->view->render('verify_email', 'mail')
                       	        );*/
                     $template = Model_Notification::getTemplate('verify_email');
                     if ($template) {
                         $template_data = array('user_id' => JO_Session::get('user[user_id]'), 'user_firstname' => JO_Session::get('user[firstname]'), 'user_lastname' => JO_Session::get('user[lastname]'), 'user_fullname' => JO_Session::get('user[fullname]'), 'user_username' => JO_Session::get('user[username]'), 'verify_email_url' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=login&user_id=' . JO_Session::get('user[user_id]') . '&verify=' . $new_email_key), 'site_url' => $request->getBaseUrl(), 'site_name' => Helper_Config::get('site_name'), 'user_message' => '', 'mail_footer' => html_entity_decode(Helper_Config::get('mail_footer'), ENT_QUOTES, 'utf-8'));
                         if (!$template['title']) {
                             $template['title'] = $this->translate('Please verify your email');
                         }
                         $title = Model_Notification::parseTemplate(html_entity_decode($template['title'], ENT_QUOTES, 'utf-8'), $template_data);
                         $body = Model_Notification::parseTemplate(html_entity_decode($template['template'], ENT_QUOTES, 'utf-8'), $template_data);
                         Model_Email::send($request->getPost('email'), Helper_Config::get('noreply_mail'), $title, $body);
                     }
                 }
                 $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, '_C');
         $user_data['avatar'] = $avatar['image'] . '?s=' . microtime(true);
         $user_data['has_avatar'] = @getimagesize($user_data['avatar']) ? true : false;
     }
     $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->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->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');
         }
     }
     //extensions
     $this->view->user_login_buttons = array();
     $user_login_buttons = Model_Extensions::getByMethod('user_login');
     foreach ($user_login_buttons as $id => $login) {
         $this->view->user_login_buttons[] = $this->view->callChildren('modules_' . $login . '_connect', WM_Router::create($request->getBaseUrl() . '?controller=modules_' . $login . '_register'));
     }
     $this->view->user_avatars = array();
     $user_login_buttons = Model_Extensions::getByMethod('user_avatar');
     foreach ($user_login_buttons as $id => $login) {
         $this->view->user_avatars[] = $this->view->callChildren('modules_' . $login . '_useravatar', WM_Router::create($request->getBaseUrl() . '?controller=modules_' . $login . '_register'));
     }
     $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part');
 }
Exemplo n.º 8
0
 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');
 }