%PDF- %PDF-
| Direktori : /home1/lightco1/www/components/com_baforms/models/ |
| Current File : //home1/lightco1/www/components/com_baforms/models/forms.php |
<?php
/**
* @package BaForms
* @author Balbooa http://www.balbooa.com/
* @copyright Copyright @ Balbooa
* @license http://www.gnu.org/licenses/gpl.html GNU/GPL
*/
defined('_JEXEC') or die;
// import Joomla modelform library
jimport('joomla.application.component.modeladmin');
class baformsModelForms extends JModelList
{
public function __construct($config = array())
{
if (empty($config['filter_fields'])) {
$config['filter_fields'] = array(
'id', 'title', 'ordering', 'published'
);
}
parent::__construct($config);
}
protected function getListQuery()
{
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('id, title, ordering, published');
$query->from('#__baforms_forms');
$search = $this->getState('filter.search');
if (!empty($search)) {
$search = $db->quote('%' . $db->escape($search, true) . '%', false);
$query->where('title LIKE ' . $search);
}
$published = $this->getState('filter.published');
if (is_numeric($published)) {
$query->where('published = ' . (int) $published);
} elseif ($published === '') {
$query->where('(published IN (0, 1))');
}
$orderCol = $this->state->get('list.ordering', 'id');
$orderDirn = $this->state->get('list.direction', 'desc');
if ($orderCol == 'ordering') {
$orderCol = 'title ' . $orderDirn . ', ordering';
}
$query->order($db->escape($orderCol . ' ' . $orderDirn));
return $query;
}
protected function getStoreId($id = '')
{
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
return parent::getStoreId($id);
}
protected function populateState($ordering = null, $direction = null)
{
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
parent::populateState('id', 'desc');
}
}