示例#1
0
 public function indexAction()
 {
     $request = $this->getRequest();
     if (JO_Session::get('user[user_id]')) {
         $this->redirect(WM_Router::create($this->getRequest()->getBaseUrl()));
     }
     if (Helper_Config::get('enable_free_registration')) {
         $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=register'));
     }
     $this->view->login = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login');
     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('email'), $this->translate('Email'), 'not_empty;min_length[5];max_length[100];email');
         if ($validate->_valid_form()) {
             $shared_contentObject = new Model_Users_Invate();
             $shared_content = $shared_contentObject->isInvatedByEmail($request->getPost('email'));
             if ($shared_content == 1) {
                 $this->view->error = $this->translate('This e-mail address is already registered');
             } else {
                 if ($shared_content == 2) {
                     $this->view->error = $this->translate('This e-mail address is already registered');
                 } else {
                     if (($key = Model_Users::addSharedContent($request->getPost('email'))) !== false) {
                         JO_Session::set('successfu_edite', true);
                         if (Helper_Config::get('not_ri')) {
                             Model_Email::send(Helper_Config::get('report_mail'), Helper_Config::get('noreply_mail'), $this->translate('New invitation request'), $this->translate('Hello, there is new invitation request in ') . ' ' . Helper_Config::get('site_name'));
                         }
                         $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=landing'));
                     } else {
                         $this->view->error = $this->translate('There was an error. Please try again later!');
                     }
                 }
             }
         } else {
             $this->view->error = $validate->_get_error_messages();
         }
     }
     $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part');
 }
示例#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');
 }