public function display($tpl = null) { // Initialise variables $this->state = $this->get("State"); $this->items = $this->get('Items'); $this->pagination = $this->get('Pagination'); // Get params $this->params = $this->state->get("params"); /** @var $this->params Joomla\Registry\Registry */ $this->numberInRow = $this->params->get("items_row", 3); $this->items = CrowdfundingHelper::prepareItems($this->items, $this->numberInRow); // Get the folder with images $this->imageFolder = $this->params->get("images_directory", "images/crowdfunding"); // Get currency $currency = Crowdfunding\Currency::getInstance(JFactory::getDbo(), $this->params->get("project_currency")); $this->amount = new Crowdfunding\Amount($this->params); $this->amount->setCurrency($currency); $this->displayCreator = $this->params->get("integration_display_creator", true); // Prepare social integration. if (!empty($this->displayCreator)) { $socialProfilesBuilder = new Prism\Integration\Profiles\Builder(array("social_platform" => $this->params->get("integration_social_platform"), "users_ids" => CrowdfundingHelper::fetchUserIds($this->items))); $socialProfilesBuilder->build(); $this->socialProfiles = $socialProfilesBuilder->getProfiles(); } $this->layoutData = array("items" => $this->items, "params" => $this->params, "amount" => $this->amount, "socialProfiles" => $this->socialProfiles, "imageFolder" => $this->imageFolder, "titleLength" => $this->params->get("discover_title_length", 0), "descriptionLength" => $this->params->get("discover_description_length", 0), "span" => !empty($this->numberInRow) ? round(12 / $this->numberInRow) : 4); $this->prepareDocument(); parent::display($tpl); }
public function display($tpl = null) { $this->option = JFactory::getApplication()->input->getCmd('option'); $this->state = $this->get('State'); $this->items = $this->get('Items'); $this->pagination = $this->get('Pagination'); // Get params $this->params = $this->state->get('params'); /** @var $this->params Joomla\Registry\Registry */ $this->numberInRow = (int) $this->params->get('featured_items_row', 3); $this->items = CrowdfundingHelper::prepareItems($this->items, $this->numberInRow); // Get the folder with images $this->imageFolder = $this->params->get('images_directory', 'images/crowdfunding'); // Get currency $currency = Crowdfunding\Currency::getInstance(JFactory::getDbo(), $this->params->get('project_currency')); $this->amount = new Crowdfunding\Amount($this->params); $this->amount->setCurrency($currency); $this->displayCreator = (bool) $this->params->get('integration_display_creator', true); // Prepare integration. Load avatars and profiles. if ($this->displayCreator) { $socialProfilesBuilder = new Prism\Integration\Profiles\Builder(array('social_platform' => $this->params->get('integration_social_platform'), 'users_ids' => CrowdfundingHelper::fetchUserIds($this->items))); $socialProfilesBuilder->build(); $this->socialProfiles = $socialProfilesBuilder->getProfiles(); } $this->layoutData = array('items' => $this->items, 'params' => $this->params, 'amount' => $this->amount, 'socialProfiles' => $this->socialProfiles, 'imageFolder' => $this->imageFolder, 'titleLength' => $this->params->get('discover_title_length', 0), 'descriptionLength' => $this->params->get('discover_description_length', 0), 'span' => $this->numberInRow > 0 ? round(12 / $this->numberInRow) : 4); $this->prepareDocument(); parent::display($tpl); }
protected function prepareSocialIntegration($socialPlatform) { $usersIds = array(); // Get user ids. foreach ($this->items as $item) { $usersIds[] = $item->receiver_id; } $options = array('social_platform' => $socialPlatform, 'users_ids' => $usersIds); $profileBuilder = new Prism\Integration\Profiles\Builder($options); $profileBuilder->build(); $this->socialProfiles = $profileBuilder->getProfiles(); }
/** * Generate links to a user avatar and profile. * * @param CrowdfundingPartners\Partners $partners * @param string $socialPlatform */ protected function prepareIntegration($partners, $socialPlatform) { $defaultAvatar = "media/com_crowdfunding/images/no-profile.png"; if (!empty($socialPlatform)) { $usersIds = array(); foreach ($partners as $partner) { $usersIds[] = $partner["partner_id"]; } $config = array("social_platform" => $socialPlatform, "users_ids" => $usersIds); $socialProfilesBuilder = new Prism\Integration\Profiles\Builder($config); $socialProfilesBuilder->build(); $socialProfiles = $socialProfilesBuilder->getProfiles(); foreach ($partners as $key => $value) { $value["avatar"] = $socialProfiles->getAvatar($value["partner_id"], $this->params->get("image_size", "small")); $value["link"] = $socialProfiles->getLink($value["partner_id"]); $partners[$key] = $value; } } else { // Set default avatar foreach ($partners as $key => $value) { $value["avatar"] = $defaultAvatar; $value["link"] = ""; $partners[$key] = $value; } } }
public static function prepareIntegrations($socialPlatform, array $usersIds) { // Prepare social integration. $socialProfilesBuilder = new Prism\Integration\Profiles\Builder(array("social_platform" => $socialPlatform, "users_ids" => $usersIds)); $socialProfilesBuilder->build(); return $socialProfilesBuilder->getProfiles(); }
/** * Prepare social profiles * * @param Joomla\Registry\Registry $params */ protected function prepareIntegration($params) { // Get users IDs $usersIds = array(); foreach ($this->items as $item) { if ($item->user_id) { $usersIds[] = $item->user_id; } } $usersIds = array_filter(array_unique($usersIds)); // If there are no users, do not continue. if (count($usersIds) > 0) { $this->integrationOptions = array('size' => $params->get('integration_avatars_size', 'small'), 'default' => $params->get('integration_avatars_default', '/media/com_userideas/images/no-profile.png')); $socialProfilesBuilder = new Prism\Integration\Profiles\Builder(array('social_platform' => $params->get('integration_social_platform'), 'users_ids' => $usersIds)); $socialProfilesBuilder->build(); $this->socialProfiles = $socialProfilesBuilder->getProfiles(); } }