public function newAction() { $this->_form = new Mybase_Form_People(); $this->view->form = $this->_form; $formData = $this->getRequest()->getPost(); if ($this->_request->isPost()) { if ($this->_form->isValid($formData)) { $company = new Model_Company(); empty($formData['idcompany']) ? $formData['idcompany'] = $company->save($formData) : $formData['idcompany']; $unodorId = new Model_Login(); $idlogin = $unodorId->save($formData); $formData['idlogin'] = $idlogin; $this->_modelUser->save($formData); $mail = new Model_Mail(); $mail->prepare($formData)->generate(Model_Mail::INVITE)->send($formData['email']); $salt = 'ofsdmší&;516#@ešěýp-§)údjs861fds'; $hash = md5($this->{$formData}['idcompany'] . $this->{$formData}['name'] . $this->{$formData}['surname'] . $this->{$formData}['email'] . $salt); $this->_flash('New User has been successfully created and E-mailed ***TODO*** - ' . $hash, 'done', true); return $this->_redirect('/people'); } else { //$this->_flash('There is an errors in the form', 'error', false); $this->_form->populate($formData); } } }
public function session() { // echo $_COOKIE['user_session']; //echo $_SESSION['user_session']; if (!empty($_SESSION['user_session']) and !empty($_SESSION['user']) and !empty($_SESSION['user_id']) and !empty($_SESSION['user_name'])) { // добавлять сюда return true; } if (!empty($_COOKIE['user_session']) and !empty($_COOKIE['user']) and empty($GLOBALS['verefy_coocie'])) { //echo 'hjjhhjghv'; $GLOBALS['verefy_coocie'] = '1'; $login_c = new Model_Login(); $login_c->user = $_COOKIE['user']; $login_c->user_session = $_COOKIE['user_session']; if ($login_c->session()) { $_SESSION['user_session'] = $login_c->session; // добавлять сюда $_SESSION['user'] = $_COOKIE['user']; $_SESSION['user_id'] = $login_c->user_id; $_SESSION['user_name'] = $login_c->user_name; setcookie("user_session", $login_c->session, time() + 60 * 60 * 24 * 365, "/"); setcookie("user", $_COOKIE['user'], time() + 60 * 60 * 24 * 365, "/"); $GLOBALS['funcunsetlogin'] = '******'; return true; } } $this->unset_login(); return false; }
/** * Sign in */ public function action_in() { if (self::$user) { Request::back(); } if ($_POST) { $visitor = Visitor::instance(); // Require valid user for login logging $user = Model_User::find_user($_POST['username']); $success = $user && $visitor->login($user, $_POST['password'], isset($_POST['remember'])); // Log login attempt Model_Login::log($success, $user ? $user : $_POST['username'], isset($_POST['password']) && $_POST['password'] != ''); // Redirect to lost password page on fail if (!$success) { Request::current()->redirect(Route::url('password')); } } else { // 3rd party sign in /* if (FB::enabled()) { $this->visitor->external_login(User_External_Model::PROVIDER_FACEBOOK); } */ } // Add newsfeed item // newsfeeditem_user::login($this->visitor->get_user()); Request::back(); }
/** * Log login attempt * * @static * @param boolean $success Was login succesful * @param string|Model_User $user User or username if no user found * @param boolean $password Password given */ public static function log($success, $user = null, $password = false) { $login = new Model_Login(); try { $login->set_fields(array('password' => $password, 'username' => $user instanceof Model_User ? $user->username : $user, 'success' => (bool) $success, 'ip' => Request::$client_ip, 'hostname' => Request::host_name(), 'stamp' => time())); if ($user instanceof Model_User) { $login->user_id = $user->id; $login->username = $user->usernam; } else { if (is_string($user)) { $login->username = $user; } } $login->save(); } catch (Database_Exception $e) { } }
/** * Sign in */ public function action_in() { if (Visitor::$user) { Request::back(); } if ($_POST) { $visitor = Visitor::instance(); // Require valid user for login logging $user = Model_User::find_user($_POST['username']); // Get external account data $token = $external_user_id = null; if ($provider = Arr::get($_POST, 'external')) { $consumer = new OAuth2_Consumer($provider); $token = $consumer->get_token(); $external_user_id = Session::instance()->get('oauth2.' . $provider . '.id'); } $success = $user && $visitor->login($user, $_POST['password'], isset($_POST['remember'])); // Log login attempt Model_Login::log($success, $user ? $user : $_POST['username'], isset($_POST['password']) && $_POST['password'] != ''); if (!$success) { // Redirect to lost password page on fail Request::current()->redirect(Route::url('password')); } else { if ($token && $external_user_id) { // Connect to external account $external = Model_User_External::factory()->find_by_user_id($user->id, $provider); // Check for already connected account if ($external && $external->loaded()) { // Already connected, do nuthin' Kohana::$log->add(Log::DEBUG, 'OAuth2: Sign in, already connected accounts'); } else { Kohana::$log->add(Log::DEBUG, 'OAuth2: Sign in and connect accounts'); // Not connected, connect! $external = new Model_User_External(); $external->set_fields(array('token' => $token['access_token'], 'user_id' => $user->id, 'external_user_id' => $external_user_id, 'created' => time(), 'expires' => time() + (int) $token['expires'], 'provider' => $provider)); $external->save(); } } } } Request::back(); }