Commit 658238a2 authored by Sonia Zorba's avatar Sonia Zorba
Browse files

removed globals from classes, added AJAX waiting animations, removed...

removed globals from classes, added AJAX waiting animations, removed additional email address, little fixes
parent 320ec35d
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ $fbUser = $response->getGraphUser();

$typedId = $fbUser["id"];

$user = RAP\UserHandler::findUserByIdentity(RAP\Identity::FACEBOOK, $typedId);
$user = $userHandler->findUserByIdentity(RAP\Identity::FACEBOOK, $typedId);

if ($user === null) {
    $user = new RAP\User();
@@ -93,8 +93,8 @@ if ($user === null) {

    $user->addIdentity($identity);

    RAP\UserHandler::saveUser($user);
    $userHandler->saveUser($user);
}

RAP\CallbackHandler::manageLoginRedirect($user);
$callbackHandler->manageLoginRedirect($user, $session);
?>
+3 −3
Original line number Diff line number Diff line
@@ -74,7 +74,7 @@ if ($client->getAccessToken()) {

    $typedId = explode('/', $res->getResourceName())[1];

    $user = RAP\UserHandler::findUserByIdentity(RAP\Identity::GOOGLE, $typedId);
    $user = $userHandler->findUserByIdentity(RAP\Identity::GOOGLE, $typedId);

    if ($user === null) {
        $user = new RAP\User();
@@ -87,10 +87,10 @@ if ($client->getAccessToken()) {

        $user->addIdentity($identity);

        RAP\UserHandler::saveUser($user);
        $userHandler->saveUser($user);
    }

    RAP\CallbackHandler::manageLoginRedirect($user);
    $callbackHandler->manageLoginRedirect($user, $session);

    die();
} else {
+4 −3
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ if (isset($_SERVER['Shib-Session-ID'])) {

    $eppn = $_SERVER['eppn'];

    $user = RAP\UserHandler::findUserByIdentity(RAP\Identity::EDU_GAIN, $eppn);
    $user = $userHandler->findUserByIdentity(RAP\Identity::EDU_GAIN, $eppn);

    if ($user === null) {
        $user = new RAP\User();
@@ -39,14 +39,15 @@ if (isset($_SERVER['Shib-Session-ID'])) {
        $identity->name = $_SERVER['givenName'];
        $identity->surname = $_SERVER['sn'];
        $identity->typedId = $eppn;
        $identity->eppn = $eppn;
        //$_SERVER['Shib-Identity-Provider']

        $user->addIdentity($identity);

        RAP\UserHandler::saveUser($user);
        $userHandler->saveUser($user);
    }

    RAP\CallbackHandler::manageLoginRedirect($user);
    $callbackHandler->manageLoginRedirect($user, $session);
} else {
    http_response_code(500);
    die("Shib-Session-ID not found!");
+4 −4
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ startSession();

function saveUserFromX509Data($x509Data) {

    global $session;
    global $session, $userHandler;

    $user = new RAP\User();

@@ -41,7 +41,7 @@ function saveUserFromX509Data($x509Data) {

    $user->addIdentity($identity);

    RAP\UserHandler::saveUser($user);
    $userHandler->saveUser($user);

    $session->x509DataToRegister = null;

@@ -58,7 +58,7 @@ if ($session->x509DataToRegister !== null && $session->x509DataToRegister->name

        $x509Data = RAP\X509Data::parse($_SERVER);

        $user = RAP\UserHandler::findUserByIdentity(RAP\Identity::X509, $x509Data->serialNumber);
        $user = $userHandler->findUserByIdentity(RAP\Identity::X509, $x509Data->serialNumber);

        if ($user === null) {

@@ -77,4 +77,4 @@ if ($session->x509DataToRegister !== null && $session->x509DataToRegister->name
    }
}

RAP\CallbackHandler::manageLoginRedirect($user);
$callbackHandler->manageLoginRedirect($user, $session);
+14 −8
Original line number Diff line number Diff line
@@ -26,6 +26,16 @@ namespace RAP;

class CallbackHandler {

    private $dao;
    private $basePath;
    private $callbacks;

    public function __construct(DAO $dao, $basePath, $callbacks) {
        $this->dao = $dao;
        $this->basePath = $basePath;
        $this->callbacks = $callbacks;
    }

    /**
     * returns null if the callback URL is not listed in configuration file.
     */
@@ -35,9 +45,7 @@ class CallbackHandler {
            return "Account Management";
        }

        global $CALLBACKS;

        foreach ($CALLBACKS as $callback) {
        foreach ($this->callbacks as $callback) {
            if ($callback['url'] === $callbackURL) {
                return $callback['title'];
            }
@@ -46,21 +54,19 @@ class CallbackHandler {
        throw new \Exception("Unauthorized callback URL");
    }

    public static function manageLoginRedirect($user) {

        global $BASE_PATH, $session, $log;
    public function manageLoginRedirect($user, SessionData $session) {

        if ($session->getCallbackURL() !== null) {
            // External login using token
            $token = Util::createNewToken();
            DAO::get()->createLoginToken($token, $user->id);
            $this->dao->createLoginToken($token, $user->id);
            header('Location: ' . $session->getCallbackURL() . '?token=' . $token);
        } else {
            // Login in session
            $session->user = $user;
            $session->save();
            // Return to index
            header('Location: ' . $BASE_PATH);
            header('Location: ' . $this->basePath);
        }
    }

Loading