Example #1
0
 /**
  * creates a user from email if exists doesn't...
  * @param  string $email 
  * @param  string $name  
  * @param  string $password
  * @return Model_User        
  */
 public static function create_email($email, $name = NULL, $password = NULL)
 {
     $user = new self();
     $user->where('email', '=', $email)->limit(1)->find();
     if (!$user->loaded()) {
         if ($password === NULL) {
             $password = Text::random('alnum', 8);
         }
         $user->email = $email;
         $user->name = ($name === NULL or !isset($name)) ? substr($email, 0, strpos($email, '@')) : $name;
         $user->status = self::STATUS_ACTIVE;
         $user->id_role = Model_Role::ROLE_USER;
         $user->seoname = $user->gen_seo_title($user->name);
         $user->password = $password;
         $user->subscriber = 1;
         $user->last_ip = ip2long(Request::$client_ip);
         $user->country = euvat::country_code();
         //geo info EU
         try {
             $user->save();
             //send welcome email
             $url = $user->ql('oc-panel', array('controller' => 'profile', 'action' => 'edit'), TRUE);
             $user->email('auth-register', array('[USER.PWD]' => $password, '[URL.QL]' => $url));
         } catch (ORM_Validation_Exception $e) {
             throw HTTP_Exception::factory(500, $e->getMessage());
         }
     }
     return $user;
 }
Example #2
0
 /**
  * creates a user from email if exists doesn't...
  * @param  string $email 
  * @param  string $name  
  * @param  string $password
  * @return Model_User        
  */
 public static function create_user($email, $name = NULL, $password = NULL)
 {
     $user = new self();
     $user->where('email', '=', $email)->limit(1)->find();
     if (!$user->loaded()) {
         if ($password === NULL) {
             $password = Text::random('alnum', 8);
         }
         $user->email = $email;
         $user->name = ($name === NULL or !isset($name)) ? substr($email, 0, strpos($email, '@')) : $name;
         $user->status = self::STATUS_ACTIVE;
         $user->id_role = Model_Role::ROLE_USER;
         $user->seoname = $user->gen_seo_title($user->name);
         $user->password = $password;
         $user->subscriber = 1;
         try {
             $user->save();
         } catch (ORM_Validation_Exception $e) {
             throw HTTP_Exception::factory(500, $e->getMessage());
         }
     }
     return $user;
 }
Example #3
0
 /**
  * creates a User from social data
  * @param  string $email      
  * @param  string $name       
  * @param  string $provider   
  * @param  mixed $identifier 
  * @return Model_User             
  */
 public static function create_social($email, $name = NULL, $provider, $identifier)
 {
     $user = new self();
     $user->where('email', '=', $email)->limit(1)->find();
     //doesnt exists
     if (!$user->loaded()) {
         $user->email = $email;
         $user->name = $name;
         $user->status = self::STATUS_ACTIVE;
         $user->id_role = 1;
         $user->seoname = $user->gen_seo_title($user->name);
         $user->password = Text::random('alnum', 8);
     }
     //always we set this values even if user existed
     $user->hybridauth_provider_name = $provider;
     $user->hybridauth_provider_uid = $identifier;
     try {
         $user->save();
     } catch (ORM_Validation_Exception $e) {
         d($e->errors(''));
     }
     return $user;
 }