Esempio n. 1
0
 function get_from_request($fallback_url, $deleted_flash_message, $request_param_name = null, $scope_var_name = null, $scope_foreign_key = null)
 {
     $model_name = get_called_class();
     if (is_null($request_param_name)) {
         $request_param_name = strtolower($model_name) . "_id";
     }
     if (empty($_REQUEST[$request_param_name])) {
         redirect($fallback_url);
         die;
     }
     $id = $_REQUEST[$request_param_name];
     if (is_null($scope_var_name)) {
         $result = DBkitModel::get_with_klass($model_name, "WHERE `id` = ?", $id);
     } else {
         if (is_null($scope_foreign_key)) {
             $scope_foreign_key = $scope_var_name . "_id";
         }
         if (empty($GLOBALS[$scope_var_name])) {
             die("global variable {$scope_var_name} must be set before the call to DBkitModel::get_from_request");
         }
         $scope = $GLOBALS[$scope_var_name];
         if (empty($scope->id)) {
             die("{$scope_var_name->id} is not defined");
         }
         $result = DBkitModel::get_with_klass($model_name, "WHERE `id` = ? AND `{$scope_foreign_key}` = ?", $id, $scope->id);
     }
     if (!$result && !is_null($deleted_flash_message)) {
         redirect($fallback_url, $deleted_flash_message);
         die;
     }
     return $result;
 }
Esempio n. 2
0
function loginkit_process_login($model_name, $default_logged_in_url = '/', $no_such_user_error = "Sorry, no such user exists.", $invalid_password_error = "Sorry, the password is incorrect.")
{
    $name = '';
    $flash = '';
    if ($_POST) {
        if (!isset($_REQUEST['email'])) {
            die("invalid request: missing email");
        }
        if (!isset($_REQUEST['password'])) {
            die("invalid request: missing password");
        }
        $name = $_REQUEST['email'];
        $password = $_REQUEST['password'];
        setcookie(LOGINKIT_LAST_USERNAME_COOKIE, $name, time() + 60 * 60 * 24 * 366);
        $user = DBkitModel::get_with_klass($model_name, "WHERE `email` = ?", $name);
        if (!$user) {
            $flash = $no_such_user_error;
        } else {
            if (empty($user->password_salt)) {
                die("{$model_name->password_salt} must be defined");
            }
            $password_hash = sha1($user->password_salt . $password);
            if ($password_hash != $user->password_hash) {
                $flash = $invalid_password_error;
            } else {
                $url = $default_logged_in_url;
                if (!empty($_REQUEST['url'])) {
                    $url = $_REQUEST['url'];
                } else {
                    if (method_exists($user, 'url_to_redirect_to_after_login')) {
                        $url = $user->url_to_redirect_to_after_login();
                    } else {
                        if (!empty($user->url_to_redirect_to_after_login)) {
                            $url = $user->url_to_redirect_to_after_login;
                        }
                    }
                }
                loginkit_logged_in($user);
                redirect($url);
                die;
            }
        }
    } else {
        if (isset($_COOKIE[LOGINKIT_LAST_USERNAME_COOKIE])) {
            $name = $_COOKIE[LOGINKIT_LAST_USERNAME_COOKIE];
        }
    }
    return array($name, $flash);
}