public function display($tpl = null)
 {
     $this->version = new Crowdfundingfinance\Version();
     // Load Prism library version
     if (!class_exists('Prism\\Version')) {
         $this->prismVersion = JText::_('COM_CROWDFUNDINGFINANCE_PRISM_LIBRARY_DOWNLOAD');
     } else {
         $prismVersion = new Prism\Version();
         $this->prismVersion = $prismVersion->getShortVersion();
         if (version_compare($this->prismVersion, $this->version->requiredPrismVersion, '<')) {
             $this->prismVersionLowerMessage = JText::_('COM_CROWDFUNDINGFINANCE_PRISM_LIBRARY_LOWER_VERSION');
         }
     }
     $this->cfParams = JComponentHelper::getParams('com_crowdfunding');
     /** @var  $cfParams Joomla\Registry\Registry */
     // Get latest transactions.
     $this->latest = new Crowdfunding\Statistics\Transactions\Latest(JFactory::getDbo());
     $this->latest->load(array('limit' => 5));
     $basic = new Crowdfunding\Statistics\Basic(JFactory::getDbo());
     $this->totalProjects = $basic->getTotalProjects();
     $this->totalTransactions = $basic->getTotalTransactions();
     $this->totalAmount = $basic->getTotalAmount();
     $this->money = $this->getMoneyFormatter($this->cfParams);
     // Add submenu
     CrowdfundingfinanceHelper::addSubmenu($this->getName());
     $this->addToolbar();
     $this->addSidebar();
     $this->setDocument();
     parent::display($tpl);
 }
 /**
  * Add a menu on the sidebar of page
  */
 protected function addSidebar()
 {
     // Add submenu
     CrowdfundingfinanceHelper::addSubmenu($this->getName());
     // Prepare options
     $approvedOptions = array(JHtml::_('select.option', 1, JText::_('COM_CROWDFUNDINGFINANCE_APPROVED')), JHtml::_('select.option', 0, JText::_('COM_CROWDFUNDINGFINANCE_DISAPPROVED')));
     $featuredOptions = array(JHtml::_('select.option', 1, JText::_('COM_CROWDFUNDINGFINANCE_FEATURED')), JHtml::_('select.option', 0, JText::_('COM_CROWDFUNDINGFINANCE_NOT_FEATURED')));
     JHtmlSidebar::setAction('index.php?option=' . $this->option . '&view=' . $this->getName());
     JHtmlSidebar::addFilter(JText::_('JOPTION_SELECT_PUBLISHED'), 'filter_state', JHtml::_('select.options', JHtml::_('jgrid.publishedOptions'), 'value', 'text', $this->state->get('filter.state'), true));
     JHtmlSidebar::addFilter(JText::_('COM_CROWDFUNDINGFINANCE_SELECT_APPROVED_STATUS'), 'filter_approved', JHtml::_('select.options', $approvedOptions, 'value', 'text', $this->state->get('filter.approved'), true));
     JHtmlSidebar::addFilter(JText::_('COM_CROWDFUNDINGFINANCE_SELECT_FEATURED_STATUS'), 'filter_featured', JHtml::_('select.options', $featuredOptions, 'value', 'text', $this->state->get('filter.featured'), true));
     JHtmlSidebar::addFilter(JText::_('JOPTION_SELECT_CATEGORY'), 'filter_category_id', JHtml::_('select.options', JHtml::_('category.options', 'com_crowdfunding'), 'value', 'text', $this->state->get('filter.category_id')));
     $filters = Crowdfunding\Filters::getInstance(JFactory::getDbo());
     $typesOptions = $filters->getProjectsTypes();
     JHtmlSidebar::addFilter(JText::_('COM_CROWDFUNDINGFINANCE_SELECT_TYPE'), 'filter_type_id', JHtml::_('select.options', $typesOptions, 'value', 'text', $this->state->get('filter.type_id')));
     $this->sidebar = JHtmlSidebar::render();
 }
 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);
     // Add submenu
     CrowdfundingfinanceHelper::addSubmenu($this->getName());
     // Prepare sorting data
     $this->prepareSorting();
     // Prepare actions
     $this->addToolbar();
     $this->addSidebar();
     $this->setDocument();
     parent::display($tpl);
 }
 /**
  * Add a menu on the sidebar of page
  */
 protected function addSidebar()
 {
     CrowdfundingfinanceHelper::addSubmenu($this->getName());
     // Create object Filters and load some filters options.
     $filters = Crowdfunding\Filters::getInstance(JFactory::getDbo());
     // Get payment services.
     $paymentServices = $filters->getPaymentServices();
     JHtmlSidebar::addFilter(JText::_('COM_CROWDFUNDINGFINANCE_SELECT_PAYMENT_SERVICES'), 'filter_payment_service', JHtml::_('select.options', $paymentServices, 'value', 'text', $this->state->get('filter.payment_service'), true));
     // Get payment statuses.
     $this->paymentStatuses = $filters->getPaymentStatuses();
     JHtmlSidebar::addFilter(JText::_('COM_CROWDFUNDINGFINANCE_SELECT_PAYMENT_STATUS'), 'filter_payment_status', JHtml::_('select.options', $this->paymentStatuses, 'value', 'text', $this->state->get('filter.payment_status'), true));
     // Get reward states.
     $rewardDistributionStatuses = $filters->getRewardDistributionStatuses();
     JHtmlSidebar::addFilter(JText::_('COM_CROWDFUNDINGFINANCE_SELECT_REWARD_STATUS'), 'filter_reward_state', JHtml::_('select.options', $rewardDistributionStatuses, 'value', 'text', $this->state->get('filter.reward_state'), true));
     $this->sidebar = JHtmlSidebar::render();
 }