Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
 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();
 }
Ejemplo n.º 4
0
 /**
  * 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;
         }
     }
 }
Ejemplo n.º 5
0
 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();
 }
Ejemplo n.º 6
0
 /**
  * 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();
     }
 }