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) { $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) { $this->option = JFactory::getApplication()->input->get('option'); $this->state = $this->get('State'); $this->items = $this->get('Items'); $this->pagination = $this->get('Pagination'); // Get parameters of com_crowdfunding. $this->cfParams = JComponentHelper::getParams('com_crowdfunding'); $this->money = $this->getMoneyFormatter($this->cfParams); // Get transactions number. $projectsIds = Prism\Utilities\ArrayHelper::getIds($this->items); $projects = new Crowdfunding\Projects(JFactory::getDbo()); $this->transactions = $projects->getTransactionsNumber($projectsIds); // Prepare sorting data $this->prepareSorting(); // Prepare actions $this->addToolbar(); $this->addSidebar(); $this->setDocument(); 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->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); }
public function display($tpl = null) { $this->option = JFactory::getApplication()->input->get('option'); $this->state = $this->get('State'); $this->items = $this->get('Items'); $this->pagination = $this->get('Pagination'); $this->params = $this->state->get('params'); $this->money = $this->getMoneyFormatter($this->params); // Get user IDs. $usersIds = Prism\Utilities\ArrayHelper::getIds($this->items); // Get the number of user's project. $statistics = new Crowdfunding\Statistics\Users(JFactory::getDbo(), $usersIds); $this->projects = $statistics->getProjectsNumber(); $this->amounts = $statistics->getAmounts(); // Add submenu CrowdfundingHelper::addSubmenu($this->getName()); // Prepare sorting data $this->prepareSorting(); // Prepare actions $this->addToolbar(); $this->addSidebar(); $this->setDocument(); parent::display($tpl); }
public function display($tpl = null) { $this->option = JFactory::getApplication()->input->get('option'); $this->items = $this->get('Items'); $this->state = $this->get('State'); $this->pagination = $this->get('Pagination'); $this->params = $this->state->get('params'); $this->displayProjectsNumber = $this->params->get('categories_show_projects_number', 0); $this->numberInRow = $this->params->get('categories_categories_row', 3); // Get description length $this->descriptionLength = $this->params->get('categories_description_length'); // Load projects number. if ($this->displayProjectsNumber) { $ids = Prism\Utilities\ArrayHelper::getIds($this->items); $categories = new Crowdfunding\Categories(); $categories->setDb(JFactory::getDbo()); $this->projectsNumber = $categories->getProjectsNumber($ids, array('state' => Prism\Constants::PUBLISHED, 'approved' => Prism\Constants::APPROVED)); } // Prepare items parameters. if (is_array($this->items) and count($this->items) > 0) { $this->prepareItems($this->items); } // Get layout $layout = $this->params->get('categories_layout', 'grid'); $this->templateView = in_array($layout, $this->allowedLayouts, true) ? $layout : 'grid'; // Get params /** @var $params Joomla\Registry\Registry */ $params = $this->state->get('params'); $this->params = $params; // 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; $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); }