public function display($tpl = null) { $this->option = JFactory::getApplication()->input->getCmd('option'); $container = Prism\Container::getContainer(); $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); $helperBus = new Prism\Helper\HelperBus($this->items); $helperBus->addCommand(new Crowdfunding\Helper\PrepareItemsHelper()); $helperBus->handle(); $this->displayCreator = (bool) $this->params->get('integration_display_creator', true); // Prepare integration. Load avatars and profiles. if ($this->displayCreator) { $userIds = Prism\Utilities\ArrayHelper::getIds($this->items, 'user_id'); $this->socialProfiles = CrowdfundingHelper::prepareIntegration($this->params->get('integration_social_platform'), $userIds); } $this->layoutData = new stdClass(); $this->layoutData->items = $this->items; $this->layoutData->params = $this->params; $this->layoutData->money = $this->getMoneyFormatter($container, $this->params); $this->layoutData->socialProfiles = $this->socialProfiles; $this->layoutData->imageFolder = $this->params->get('images_directory', 'images/crowdfunding'); $this->prepareDocument(); parent::display($tpl); }
public function display($tpl = null) { $this->app = JFactory::getApplication(); /** @var $this->app JApplicationSite */ $this->option = JFactory::getApplication()->input->get('option'); $this->state = $this->get('State'); $this->item = $this->get('Item'); // Get params $this->params = $this->state->get('params'); /** @var $this->params Joomla\Registry\Registry */ $this->imageFolder = $this->params->get('images_directory', 'images/crowdfunding'); if (!$this->item) { $this->app->enqueueMessage(JText::_('COM_CROWDFUNDING_ERROR_INVALID_PROJECT'), 'notice'); $this->app->redirect(JRoute::_(CrowdfundingHelperRoute::getDiscoverRoute(), false)); return; } $container = Prism\Container::getContainer(); $this->money = $this->getMoneyFormatter($container, $this->params); // Integrate with social profile. $this->displayCreator = $this->params->get('integration_display_creator', true); // Prepare integration. Load avatars and profiles. if ($this->displayCreator and (is_object($this->item) and $this->item->user_id > 0)) { $socialProfile = CrowdfundingHelper::prepareIntegration($this->params->get('integration_social_platform'), $this->item->user_id); $this->socialProfileLink = !$socialProfile ? null : $socialProfile->getLink(); } // Set a link to project page $uri = JUri::getInstance(); $host = $uri->toString(array('scheme', 'host')); $this->item->link = $host . JRoute::_(CrowdfundingHelperRoute::getDetailsRoute($this->item->slug, $this->item->catslug), false); // Set a link to image $this->item->link_image = $host . '/' . $this->imageFolder . '/' . $this->item->image; $this->embedCode = $this->prepareEmbedCode($this->item, $host); $this->prepareDocument(); parent::display($tpl); }
protected function prepareDefaultLayout() { $this->rewards = new Crowdfunding\User\Rewards(JFactory::getDbo()); $this->rewards->load(array('reward_id' => $this->item->id)); $this->rewardOwnerId = CrowdfundingHelper::getUserIdByRewardId($this->item->id); $dateValidator = new Prism\Validator\Date($this->item->delivery); $this->deliveryDate = $dateValidator->isValid() ? JHtml::_('date', $this->item->delivery, JText::_('DATE_FORMAT_LC3')) : '--'; $this->imagesFolder = CrowdfundingHelper::getImagesFolderUri($this->rewardOwnerId); // Get social profile $socialPlatform = $this->params->get('integration_social_platform'); if ($socialPlatform) { $this->socialProfile = CrowdfundingHelper::prepareIntegration($socialPlatform, $this->rewardOwnerId); $this->profileLink = $this->socialProfile->getLink(); } $this->returnUrl = base64_encode('index.php?option=com_crowdfunding&view=reward&id=' . $this->item->id); }
public function display($tpl = null) { $app = JFactory::getApplication(); /** @var $app JApplicationSite */ $this->option = JFactory::getApplication()->input->get('option'); // Get user ID. $this->userId = JFactory::getUser()->get('id'); // Get reward ID. $rewardId = $app->input->getInt('id'); // Validate reward owner $validator = new Crowdfunding\Validator\Reward\Owner(JFactory::getDbo(), $rewardId, $this->userId); if (!$validator->isValid()) { $app->enqueueMessage(JText::_('COM_CROWDFUNDING_ERROR_INVALID_REWARD'), 'notice'); $app->redirect(JRoute::_(CrowdfundingHelperRoute::getDiscoverRoute())); return; } $this->items = $this->get('Items'); $this->state = $this->get('State'); $this->pagination = $this->get('Pagination'); // Get params /** @var $params Joomla\Registry\Registry */ $params = $this->state->get('params'); $this->params = $params; // Prepare an URL where user will be redirected when change the state of a reward. $this->redirectUrl = 'index.php?option=com_crowdfunding&view=reward&id=' . $rewardId; // Prepare filters $this->listOrder = $this->escape($this->state->get('list.ordering')); $this->listDirn = $this->escape($this->state->get('list.direction')); $this->saveOrder = strcmp($this->listOrder, 'a.ordering') === 0; // Load reward data. $this->reward = new Crowdfunding\Reward(JFactory::getDbo()); $this->reward->load($rewardId); // Prepare reward delivery date. $dateValidator = new Prism\Validator\Date($this->reward->getDeliveryDate()); $this->deliveryDate = $dateValidator->isValid() ? JHtml::_('date', $this->reward->getDeliveryDate(), JText::_('DATE_FORMAT_LC3')) : '--'; // Get images folder. $this->imagesFolder = CrowdfundingHelper::getImagesFolderUri($this->userId); // Get social profile if ($this->params->get('integration_social_platform')) { $userIds = Prism\Utilities\ArrayHelper::getIds($this->items, 'user_id'); $this->socialProfiles = CrowdfundingHelper::prepareIntegration($this->params->get('integration_social_platform'), $userIds); } $this->prepareDocument(); parent::display($tpl); }
public function display($tpl = null) { $container = Prism\Container::getContainer(); $this->option = JFactory::getApplication()->input->getCmd('option'); $this->state = $this->get('State'); $this->items = $this->get('Items'); $this->pagination = $this->get('Pagination'); $this->params = $this->state->get('params'); $this->prepareItems($this->items); // Prepare social integration. $showAuthor = CrowdfundingHelper::isShowAuthor($this->items, $this->params); if ($showAuthor) { $usersIds = Prism\Utilities\ArrayHelper::getIds($this->items, 'user_id'); $this->socialProfiles = CrowdfundingHelper::prepareIntegration($this->params->get('integration_social_platform'), $usersIds); } $this->layoutData = new stdClass(); $this->layoutData->items = $this->items; $this->layoutData->params = $this->params; $this->layoutData->money = $this->getMoneyFormatter($container, $this->params); $this->layoutData->socialProfiles = $this->socialProfiles; $this->layoutData->imageFolder = $this->params->get('images_directory', 'images/crowdfunding'); $this->prepareDocument(); parent::display($tpl); }
public function display($tpl = null) { $this->option = JFactory::getApplication()->input->get('option'); $this->app = JFactory::getApplication(); // Get user ID $userId = $this->app->input->getInt('id'); $model = $this->getModel(); $this->state = $model->getState(); $this->item = $model->getItem($userId); $this->params = JComponentHelper::getParams($this->option); $this->money = $this->getMoneyFormatter($this->params); // Get number of rewards. $statistics = new Crowdfunding\Statistics\User(JFactory::getDbo(), $this->item->id); $this->projects = $statistics->getProjectsNumber(); $amounts = $statistics->getAmounts(); if (!empty($amounts['invested'])) { $this->investedAmount = (double) $amounts['invested']['amount']; $this->investedTransactions = (int) $amounts['invested']['number']; } if (!empty($amounts['received'])) { $this->receivedAmount = (double) $amounts['received']['amount']; $this->receivedTransactions = (int) $amounts['received']['number']; } // Get social profile if ($this->params->get('integration_social_platform')) { $this->socialProfile = CrowdfundingHelper::prepareIntegration($this->params->get('integration_social_platform'), $this->item->id); $this->profileLink = $this->socialProfile->getLink(); } $this->rewards = new Crowdfunding\User\Rewards(JFactory::getDbo()); $this->rewards->load(array('user_id' => $this->item->id)); $this->returnUrl = base64_encode('index.php?option=com_crowdfunding&view=user&id=' . $this->item->id); // Prepare actions, behaviors, scripts and document $this->addToolbar(); $this->setDocument(); parent::display($tpl); }
public function display($tpl = null) { $this->app = JFactory::getApplication(); $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 */ // Prepare subcategories. $this->displaySubcategories = (bool) $this->params->get('category_show_subcategories', Prism\Constants::DO_NOT_DISPLAY); if ($this->displaySubcategories) { $this->prepareSubcategories(); } $this->prepareItems($this->items); $container = Prism\Container::getContainer(); // Prepare social integration. $showAuthor = CrowdfundingHelper::isShowAuthor($this->items, $this->params); if ($showAuthor) { $usersIds = Prism\Utilities\ArrayHelper::getIds($this->items, 'user_id'); $this->socialProfiles = CrowdfundingHelper::prepareIntegration($this->params->get('integration_social_platform'), $usersIds); } $this->layoutData = new stdClass(); $this->layoutData->items = $this->items; $this->layoutData->params = $this->params; $this->layoutData->money = $this->getMoneyFormatter($container, $this->params); $this->layoutData->socialProfiles = $this->socialProfiles; $this->layoutData->imageFolder = $this->params->get('images_directory', 'images/crowdfunding'); // Get current category $categoryId = $this->app->input->getInt('id'); $categories = Crowdfunding\Categories::getInstance('crowdfunding'); $this->item = $categories->get($categoryId); $this->prepareDocument(); parent::display($tpl); }
protected function prepareFundersScreen() { $model = JModelLegacy::getInstance('Funders', 'CrowdfundingModel', $config = array('ignore_request' => false)); $this->items = $model->getItems(); // Create a currency object if I have to display funders amounts. $this->displayAmounts = $this->params->get('funders_display_amounts', 0); if ($this->displayAmounts) { $this->money = $this->getMoneyFormatter($this->container, $this->params); } // Prepare social integration. $usersIds = Prism\Utilities\ArrayHelper::getIds($this->items, 'id'); $this->socialProfiles = CrowdfundingHelper::prepareIntegration($this->params->get('integration_social_platform'), $usersIds); }