<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2022 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined('_JEXEC') or die ('Restricted access');
$input = JFactory::getApplication()->input;
$m_source = $input->get('source', '', 'STRING');
if ($m_source == 'page') {
$report = array();
$report['items'] = $this->items;
$report['filters'] = $this->filters;
if($this->total > ($this->limit + $this->start)) {
$report['pageNav'] = 'true';
} else {
$report['pageNav'] = 'false';
}
echo json_encode($report); die;
} else {
$layout_path = JPATH_ROOT . '/administrator/components/com_sppagebuilder/layouts';
$categories_layout = new JLayoutFile('media.categories', $layout_path);
$report['media_categories'] = $categories_layout->render( array( 'categories'=>$this->categories ) );
$report['output'] = '';
$report['count'] = 0;
// Date Filter
if(count((array) $this->filters)) {
$report['date_filter'] = '<select class="sp-pagebuilder-date-filter">';
$report['date_filter'] .= '<option value="">'. JText::_('COM_SPPAGEBUILDER_MEDIA_MANAGER_MEDIA_ALL') .'</option>';
foreach ($this->filters as $key => $this->filter) {
$report['date_filter'] .= '<option value="'. $this->filter->year . '-' . $this->filter->month .'">'. JHtml::_('date', $this->filter->year . '-' . $this->filter->month, 'F Y') .'</option>';
}
$report['date_filter'] .= '</select>';
} else {
$report['date_filter'] = '<select class="date-filter">';
$report['date_filter'] .= '<option value="">'. JText::_('COM_SPPAGEBUILDER_MEDIA_MANAGER_MEDIA_ALL') .'</option>';
$report['date_filter'] .= '</select>';
}
// Load More
if($this->total > ($this->limit + $this->start)) {
$report['loadmore'] = true;
} else {
$report['loadmore'] = false;
}
// Media Items
if(!$this->start) $report['output'] .= '<ul class="sp-pagebuilder-media">';
if(count((array) $this->items)) {
foreach ($this->items as $key => $this->item) {
$format_layout = new JLayoutFile('media.format', $layout_path);
$report['output'] .= $format_layout->render( array( 'media'=>$this->item ));
}
}
if(!$this->start) $report['output'] .= '</ul>';
// Get Media count
$report['count'] += (isset($this->items) && count((array) $this->items)) ? count((array) $this->items) : 0;
echo json_encode($report);
die;
}