Ejemplo n.º 1
0
Archivo: Login.php Proyecto: rjha/sc
 function create($firstName, $lastName, $email, $password)
 {
     $provider = \com\indigloo\sc\auth\Login::MIK;
     if (Util::tryEmpty($firstName) || Util::tryEmpty($lastName)) {
         throw new UIException(array("User name is missing!"));
     }
     $userName = $firstName . ' ' . $lastName;
     $remoteIp = \com\indigloo\Url::getRemoteIp();
     mysql\Login::create($provider, $userName, $firstName, $lastName, $email, $password, $remoteIp);
 }
Ejemplo n.º 2
0
Archivo: Google.php Proyecto: rjha/sc
 function getOrCreate($googleId, $email, $name, $firstName, $lastName, $photo)
 {
     $loginId = NULL;
     //is existing record?
     $googleId = trim($googleId);
     $remoteIp = \com\indigloo\Url::getRemoteIp();
     $row = $this->getOnId($googleId);
     if (empty($row)) {
         $message = sprintf("Login::Google::create id %s, email %s ", $googleId, $email);
         Logger::getInstance()->info($message);
         $provider = \com\indigloo\sc\auth\Login::GOOGLE;
         $loginId = mysql\Google::create($googleId, $email, $name, $firstName, $lastName, $photo, $provider, $remoteIp);
     } else {
         //found
         $loginId = $row['login_id'];
     }
     return $loginId;
 }
Ejemplo n.º 3
0
Archivo: Twitter.php Proyecto: rjha/sc
 function getOrCreate($twitterId, $name, $screenName, $location, $image)
 {
     $loginId = NULL;
     //is existing record?
     $twitterId = trim($twitterId);
     $remoteIp = \com\indigloo\Url::getRemoteIp();
     $row = $this->getOnTwitterId($twitterId);
     if (empty($row)) {
         $message = sprintf("Login::Twitter::create id %s ,name %s, screenname %s ", $twitterId, $name, $screenName);
         Logger::getInstance()->info($message);
         $provider = \com\indigloo\sc\auth\Login::TWITTER;
         $loginId = mysql\Twitter::create($twitterId, $name, $screenName, $location, $image, $provider, $remoteIp);
     } else {
         //found
         $loginId = $row['login_id'];
     }
     return $loginId;
 }
Ejemplo n.º 4
0
Archivo: Facebook.php Proyecto: rjha/sc
 function getOrCreate($facebookId, $name, $firstName, $lastName, $link, $gender, $email, $access_token, $expires)
 {
     $loginId = NULL;
     //is existing record?
     $facebookId = trim($facebookId);
     $remoteIp = \com\indigloo\Url::getRemoteIp();
     $row = $this->getOnFacebookId($facebookId);
     if (empty($row)) {
         $message = sprintf("Login::Facebook::create id %s, email %s ", $facebookId, $email);
         Logger::getInstance()->info($message);
         //create login + facebook user
         $provider = \com\indigloo\sc\auth\Login::FACEBOOK;
         $loginId = mysql\Facebook::create($facebookId, $name, $firstName, $lastName, $link, $gender, $email, $provider, $access_token, $expires, $remoteIp);
     } else {
         //found
         $loginId = $row["login_id"];
     }
     return $loginId;
 }
Ejemplo n.º 5
0
Archivo: twitter.php Proyecto: rjha/sc
function processUser($connection)
{
    $user_info = $connection->get('account/verify_credentials');
    if (isset($user_info->error)) {
        $message = "Error retrieving twitter user information";
        Logger::getInstance()->error($message);
        raiseUIError();
    } else {
        // get screenName, profile Pic
        // exisitng record ? find on twitter_id
        // New record - create login + twitter record
        // start login session
        $id = $user_info->id;
        if (empty($id)) {
            trigger_error("Could not retrieve twitter id : please try again.", E_USER_ERROR);
        }
        $image = $user_info->profile_image_url;
        $screenName = $user_info->screen_name;
        $name = $user_info->name;
        $location = $user_info->location;
        // do not know what twitter will return
        // we consider auth to be good enough for a user
        if (empty($name) && empty($screenName)) {
            $name = "Anonymous";
        }
        $message = sprintf("Login:Twitter :: id %d ,name %s ", $id, $name);
        Logger::getInstance()->info($message);
        $twitterDao = new \com\indigloo\sc\dao\Twitter();
        $loginId = $twitterDao->getOrCreate($id, $name, $screenName, $location, $image);
        if (empty($loginId)) {
            $message = "Not able to create 3mik login for twitter user";
            Logger::getInstance()->error($message);
            raiseUIError();
        }
        //success - update login record
        // start 3mik session
        $remoteIp = \com\indigloo\Url::getRemoteIp();
        mysql\Login::updateIp(session_id(), $loginId, $remoteIp);
        $code = Login::startOAuth2Session($loginId, Login::TWITTER);
        $location = $code == Login::FORBIDDEN_CODE ? AppConstants::ERROR_403_URL : AppConstants::DASHBOARD_URL;
        header("Location: " . $location);
    }
}
Ejemplo n.º 6
0
Archivo: fb2.php Proyecto: rjha/sc
/**
 * 
 * @param access_token - access token returned by facebook for offline use
 * @param expires - time in seconds till the access_token expiry  
 * 
 * 
 */
function processUser($user, $access_token, $expires)
{
    // exisitng record ? find on facebook_id
    // New record - create login + facebook record
    // start login session
    $id = $user->id;
    if (empty($id)) {
        trigger_error("Could not retrieve facebook id : please try again.", E_USER_ERROR);
    }
    //rest of the properties may be missing
    $email = property_exists($user, 'email') ? $user->email : '';
    $name = property_exists($user, 'name') ? $user->name : '';
    $firstName = property_exists($user, 'first_name') ? $user->first_name : '';
    $lastName = property_exists($user, 'last_name') ? $user->last_name : '';
    $link = property_exists($user, 'link') ? $user->link : '';
    $gender = property_exists($user, 'gender') ? $user->gender : '';
    // do not know what facebook will return
    // we consider auth to be good enough for a user
    if (empty($name) && empty($firstName)) {
        $name = "Anonymous";
    }
    $message = sprintf("Login:Facebook :: id %d ,email %s ", $id, $email);
    Logger::getInstance()->info($message);
    $facebookDao = new \com\indigloo\sc\dao\Facebook();
    $loginId = $facebookDao->getOrCreate($id, $name, $firstName, $lastName, $link, $gender, $email, $access_token, $expires);
    if (empty($loginId)) {
        $message = "Not able to create 3mik login for facebook user";
        Logger::getInstance()->error($message);
        raiseUIError();
    }
    //success - update login record
    // start 3mik session
    $remoteIp = \com\indigloo\Url::getRemoteIp();
    mysql\Login::updateTokenIp(session_id(), $loginId, $access_token, $expires, $remoteIp);
    $code = Login::startOAuth2Session($loginId, Login::FACEBOOK);
    $location = $code == Login::FORBIDDEN_CODE ? AppConstants::ERROR_403_URL : AppConstants::DASHBOARD_URL;
    header("Location: " . $location);
}
Ejemplo n.º 7
0
Archivo: register.php Proyecto: rjha/sc
         $loginId = \com\indigloo\auth\User::login('sc_user', $email, $password);
     } catch (\Exception $ex) {
         $code = $ex->getCode();
         switch ($code) {
             case 401:
                 $message = "Wrong login or password. Please try again!";
                 throw new UIException(array($message));
                 break;
             default:
                 $message = "Error during login. Please try after some time!";
                 throw new UIException(array($message));
         }
     }
     //success - update login record
     // start 3mik session
     $remoteIp = \com\indigloo\Url::getRemoteIp();
     mysql\Login::updateIp(session_id(), $loginId, $remoteIp);
     Login::startOAuth2Session($loginId, Login::MIK);
     //add overlay message
     $message = "success! Thanks for joining " . $fvalues['first_name'];
     $gWeb->store("global.overlay.message", $message);
     header("Location: " . AppConstants::DASHBOARD_URL);
     exit;
 } catch (UIException $ex) {
     $gWeb->store(Constants::STICKY_MAP, $fvalues);
     $gWeb->store(Constants::FORM_ERRORS, $ex->getMessages());
     header("Location: " . $fUrl);
     exit(1);
 } catch (DBException $ex) {
     $gWeb->store(Constants::STICKY_MAP, $fvalues);
     // @imp: this is mysql error code
Ejemplo n.º 8
0
Archivo: google2.php Proyecto: rjha/sc
function processUser($user)
{
    $id = $user->id;
    if (empty($id)) {
        trigger_error("Could not retrieve google id : please try again.", E_USER_ERROR);
    }
    //rest of the properties may be missing
    $email = property_exists($user, 'email') ? $user->email : '';
    $name = property_exists($user, 'name') ? $user->name : '';
    $firstName = property_exists($user, 'given_name') ? $user->given_name : '';
    $lastName = property_exists($user, 'family_name') ? $user->family_name : '';
    $photo = property_exists($user, 'picture') ? $user->picture : '';
    // we consider id + auth to be good enough for a user
    if (empty($name) && empty($firstName)) {
        $name = "Anonymous";
    }
    $message = sprintf("Login:Google :: id %d ,email %s ", $id, $email);
    Logger::getInstance()->info($message);
    $googleDao = new \com\indigloo\sc\dao\Google();
    $loginId = $googleDao->getOrCreate($id, $email, $name, $firstName, $lastName, $photo);
    if (empty($loginId)) {
        $message = "Not able to create 3mik login for google user";
        Logger::getInstance()->error($message);
        raiseUIError();
    }
    //success - update login record
    // start 3mik session
    $remoteIp = \com\indigloo\Url::getRemoteIp();
    mysql\Login::updateIp(session_id(), $loginId, $remoteIp);
    $code = Login::startOAuth2Session($loginId, Login::GOOGLE);
    $location = $code == Login::FORBIDDEN_CODE ? AppConstants::ERROR_403_URL : AppConstants::DASHBOARD_URL;
    header("Location: " . $location);
}