예제 #1
0
 public static function loadUserFields()
 {
     return Bt_SocialconnectHelper::loadUserFields(array());
 }
예제 #2
0
 public function getData()
 {
     if ($this->data === null) {
         $this->data = new stdClass();
         $app = JFactory::getApplication();
         $params = JComponentHelper::getParams('com_users');
         $temp = (array) $app->getUserState('com_bt_socialconnect.registration.data', array());
         foreach ($temp as $k => $v) {
             $this->data->{$k} = $v;
         }
         if (!isset($this->data->user_fields)) {
             $this->data->user_fields = array();
         }
         $this->data->groups = array();
         $session = JFactory::getSession();
         $user = $session->get('btPrepareUser');
         if ($user) {
             $this->data->user_fields = $user->user_fields;
         }
         $this->data->user_fields = Bt_SocialconnectHelper::loadUserFields($this->data->user_fields);
         $system = $params->get('new_usertype', 2);
         $this->data->groups[] = $system;
         unset($this->data->password1);
         unset($this->data->password2);
         $dispatcher = JDispatcher::getInstance();
         JPluginHelper::importPlugin('user');
         $results = $dispatcher->trigger('onContentPrepareData', array('com_bt_socialconnect.registration', $this->data));
         if (count($results) && in_array(false, $results, true)) {
             $this->setError($dispatcher->getError());
             $this->data = false;
         }
     }
     return $this->data;
 }
예제 #3
0
 public static function prepareData($user, $type)
 {
     $data = array();
     $data['user_fields'] = array();
     $user_fields = Bt_SocialconnectHelper::loadUserFields();
     switch ($type) {
         case 'facebook':
             $data['id'] = $user->id;
             $data['user_id'] = '';
             $data['name'] = $user->name;
             $data['username'] = $user->username;
             if ($data['username'] == '') {
                 $data['username'] = $user->email;
             }
             $data['email'] = $user->email;
             $user->picture = 'http://graph.facebook.com/' . $user->id . '/picture?type=large';
             $user->location = isset($user->location->name) ? $user->location->name : '';
             $user->about = isset($user->bio) ? $user->bio : '';
             foreach ($user_fields as $key => $value) {
                 $data['user_fields'][$value->alias] = self::assignValueSocial($value, $user, $value->facebook);
             }
             break;
         case 'google':
             $data['id'] = $user->id;
             $data['user_id'] = '';
             $data['name'] = $user->name;
             list($data['username']) = explode('@', $user->email);
             $user->username = $data['username'];
             $data['email'] = $user->email;
             foreach ($user_fields as $key => $value) {
                 $data['user_fields'][$value->alias] = self::assignValueSocial($value, $user, $value->google);
             }
             break;
         case 'twitter':
             $data['id'] = $user->id;
             $data['user_id'] = '';
             $data['name'] = $user->name;
             $data['email'] = $user->screen_name . '@twitter.com';
             $data['username'] = $user->screen_name;
             $user->username = $user->screen_name;
             $user->picture = isset($user->profile_image_url) ? $user->profile_image_url : '';
             $user->website = $user->url;
             $user->about = $user->description;
             $user->link = 'https://twitter.com/' . $user->screen_name;
             foreach ($user_fields as $key => $value) {
                 $data['user_fields'][$value->alias] = self::assignValueSocial($value, $user, $value->twitter);
             }
             break;
         case 'linkedin':
             $data['id'] = $user->id;
             $data['user_id'] = '';
             $data['name'] = $user->formattedName;
             $data['email'] = $user->emailAddress;
             $data['username'] = $user->firstName . $user->lastName;
             $user->username = $data['username'];
             $user->birthday = isset($user->dateOfBirth) ? $user->dateOfBirth->year . '-' . $user->dateOfBirth->month . '-' . $user->dateOfBirth->day : '';
             $user->location = isset($user->location->name) ? $user->location->name : '';
             $user->picture = isset($user->pictureUrl) ? $user->pictureUrl : '';
             $user->quotes = isset($user->interests) ? $user->interests : '';
             $user->about = isset($user->summary) ? $user->summary : '';
             $user->link = isset($user->publicProfileUrl) ? $user->publicProfileUrl : '';
             foreach ($user_fields as $key => $value) {
                 $data['user_fields'][$value->alias] = self::assignValueSocial($value, $user, $value->linkedin);
             }
             break;
     }
     $data['loginType'] = $type;
     $data['rawData'] = serialize($user);
     return $data;
 }
예제 #4
0
 public function getData()
 {
     if ($this->data === null) {
         $db = $this->getDbo();
         $userId = $this->getState('user.id');
         $this->data = new JUser($userId);
         // Set the base user data.
         $this->data->email1 = $this->data->get('email');
         $this->data->email2 = $this->data->get('email');
         $temp = (array) JFactory::getApplication()->getUserState('com_bt_socialconnect.edit.profile.data', array());
         foreach ($temp as $k => $v) {
             $this->data->{$k} = $v;
         }
         unset($this->data->password1);
         unset($this->data->password2);
         $registry = new JRegistry($this->data->params);
         $this->data->params = $registry->toArray();
         $dispatcher = JDispatcher::getInstance();
         JPluginHelper::importPlugin('user');
         $results = $dispatcher->trigger('onContentPrepareData', array('com_bt_socialconnect.profile', $this->data));
         // Check for errors encountered while preparing the data.
         if (count($results) && in_array(false, $results, true)) {
             $this->setError($dispatcher->getError());
             $this->data = false;
         }
         $loadData = self::getValueData($userId);
         if (isset($this->data->user_fields)) {
             $this->data->user_fields = Bt_SocialconnectHelper::loadUserFields($this->data->user_fields);
         } else {
             $this->data->user_fields = Bt_SocialconnectHelper::loadUserFields($loadData);
         }
         //Get avatar from userid
         $ImgFormats = array("png", "jpg", "jpeg", "gif", "tiff");
         foreach ($this->data->user_fields as $key => $value) {
             if ($value->type == 'image') {
                 $PathInfo = pathinfo($value->value);
                 if (@in_array(@strtolower($PathInfo['extension']), $ImgFormats)) {
                     $this->data->avatar = $value->value;
                     break;
                 } else {
                     $this->data->avatar = '';
                 }
             }
         }
     }
     return $this->data;
 }