<?php /** * @package Sven.Bluege * @subpackage com_eventgallery * * @copyright Copyright (C) 2005 - 2019 Sven Bluege All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ // Check to ensure this file is included in Joomla! defined('_JEXEC') or die(); jimport( 'joomla.application.component.modellist' ); abstract class EventgalleryModelMethods extends JModelList { /** * @var EventgalleryLibraryFactoryMethod */ protected $methodFactory = null; protected $context = ''; protected $table_name = null; /** * Returns the query * @return string The query to be used to retrieve the rows from the database */ function getListQuery() { // Create a new query object. $db = $this->getDbo(); $query = $db->getQuery(true); $query->select('*'); $query->from($db->qn($this->table_name)); $query->order('ordering'); return $query; } protected function _getList($query, $limitstart = 0, $limit = 0) { $this->_db->setQuery($query, $limitstart, $limit); $result = $this->_db->loadObjectList(); $objects = array(); foreach($result as $item) { if(class_exists($item->classname)) { array_push($objects, $this->methodFactory->getMethodById($item->id, false)); } else { array_push($objects, new EventgalleryLibraryMethodsDummy($item)); $app = JFactory::getApplication(); $app->enqueueMessage(JText::sprintf('COM_EVENTGALLERY_METHOD_CLASSNAME_INVALID',$item->id, $item->name, $item->classname), 'error'); } } return $objects; } }