/** * Build a social profile object. * * <code> * $options = array( * "social_platform" => "socialcommunity", * "user_id" => 1 * ); * * $profileBuilder = new Prism\Integration\Profile\Builder($options); * $profileBuilder->build(); * * $profile = $profileBuilder->getProfile(); * </code> */ public function build() { $type = ArrayHelper::getValue($this->config, 'social_platform'); $userId = ArrayHelper::getValue($this->config, 'user_id'); switch ($type) { case 'socialcommunity': jimport('Socialcommunity.init'); /** @var $params Registry */ $params = \JComponentHelper::getParams('com_socialcommunity'); $filesystemHelper = new Helper($params); $url = $filesystemHelper->getMediaFolderUri(); $profile = new Socialcommunity(\JFactory::getDbo()); $profile->load(array('user_id' => $userId)); $profile->setMediaUrl($url); break; case 'gravatar': $profile = new Gravatar(\JFactory::getDbo()); $profile->load($userId); break; case 'kunena': $profile = new Kunena(\JFactory::getDbo()); $profile->load($userId); break; case 'jomsocial': // Register JomSocial Router if (!class_exists('CRoute')) { \JLoader::register('CRoute', JPATH_SITE . '/components/com_community/libraries/core.php'); } $profile = new JomSocial(\JFactory::getDbo()); $profile->load($userId); // Load language file. $lang = \JFactory::getLanguage(); $lang->load('com_community.country', JPATH_BASE); break; case 'easysocial': $profile = new EasySocial(\JFactory::getDbo()); $profile->load($userId); break; case 'easyprofile': $profile = new EasyProfile(\JFactory::getDbo()); $profile->load($userId); break; case 'communitybuilder': $profile = new CommunityBuilder(\JFactory::getDbo()); $profile->load($userId); break; default: $profile = null; break; } $this->profile = $profile; }
/** * Build a social profile object. * * <code> * $options = new Joomla\Registry\Registry(array( * 'platform' => 'socialcommunity', * 'user_ids' => array(1,2,3) * )); * * $factory = new Prism\Integration\Profiles\Factory($options); * $profile = $factory->create(); * </code> */ public function create() { switch ($this->options->get('platform')) { case 'socialcommunity': jimport('Socialcommunity.init'); /** @var $params Registry */ $params = \JComponentHelper::getParams('com_socialcommunity'); $filesystemHelper = new Helper($params); $url = $filesystemHelper->getMediaFolderUri(); $profiles = new Socialcommunity(\JFactory::getDbo()); $profiles->load($this->options->get('user_ids')); $profiles->setMediaUrl($url); break; case 'gravatar': $profiles = new Gravatar(\JFactory::getDbo()); $profiles->load($this->options->get('user_ids')); break; case 'kunena': $profiles = new Kunena(\JFactory::getDbo()); $profiles->load($this->options->get('user_ids')); break; case 'jomsocial': // Register JomSocial Router if (!class_exists('CRoute')) { \JLoader::register('CRoute', JPATH_SITE . '/components/com_community/libraries/core.php'); } $profiles = new JomSocial(\JFactory::getDbo()); $profiles->load($this->options->get('user_ids')); break; case 'easysocial': $profiles = new EasySocial(\JFactory::getDbo()); $profiles->load($this->options->get('user_ids')); break; case 'easyprofile': $profiles = new EasyProfile(\JFactory::getDbo()); $profiles->load($this->options->get('user_ids')); break; case 'communitybuilder': $profiles = new CommunityBuilder(\JFactory::getDbo()); $profiles->load($this->options->get('user_ids')); break; default: $profiles = null; break; } return $profiles; }