/** * Display the list of tables */ function display() { $app =& JFactory::getApplication(); $db =& JFactory::getDBO(); $document =& JFactory::getDocument(); $user =& JFactory::getUser(); $newFilterTable = JRequest::getVar('filter_table'); $document->addStyleDeclaration("\t.icon-32-search \t\t{ background-image: url(templates/" . $app->getTemplate() . "/images/toolbar/icon-32-search.png); }"); $context = 'com_fabrik.table.list.'; $filter_order = $app->getUserStateFromRequest($context . 'filter_order', 'filter_order', 't.label', 'cmd'); $filter_order_Dir = $app->getUserStateFromRequest($context . 'filter_order_Dir', 'filter_order_Dir', '', 'word'); $limit = $app->getUserStateFromRequest($context . 'limit', 'limit', $app->getCfg('list_limit'), 'int'); $limitstart = $app->getUserStateFromRequest($context . 'limitstart', 'limitstart', 0, 'int'); $filter_table = $app->getUserStateFromRequest($context . "filter_table", 'filter_table', ''); $selPackage = $app->getUserStateFromRequest($context . "package", 'packages', ''); // table ordering $lists['order_Dir'] = $filter_order_Dir; $lists['order'] = $filter_order; $where = array(); if ($selPackage != '') { $db->setQuery("SELECT tables FROM #__fabrik_packages WHERE id = " . (int) $selPackage); $tables = $db->loadResult(); echo $db->getErrorMsg(); if ($tables != '') { $where[] = " #__fabrik_tables.id IN (" . $tables . ") "; } else { $where[] = " #__fabrik_tables.id IN (0) "; } } if ($filter_table != '') { $where[] = " label LIKE '%{$filter_table}%' "; } if ($user->gid <= 24) { $where[] = " private = '0'"; } $where = count($where) ? ' WHERE ' . implode(' AND ', $where) : ''; $orderby = ' ORDER BY ' . $filter_order . ' ' . $filter_order_Dir; // get the total number of records $db->setQuery("SELECT count(*) FROM #__fabrik_tables {$where}"); $total = $db->loadResult(); echo $db->getErrorMsg(); jimport('joomla.html.pagination'); $pageNav = new JPagination($total, $limitstart, $limit); $sql = "SELECT *, u.name AS editor, t.id AS id FROM #__fabrik_tables AS t" . "\n LEFT JOIN #__users AS u ON t.checked_out = u.id " . " {$where} {$orderby}"; $db->setQuery($sql, $pageNav->limitstart, $pageNav->limit); $rows = $db->loadObjectList(); $lists['filter_table'] = '<input type="text" value="' . $filter_table . '" name="filter_table" onblur="document.adminForm.submit();" />'; //get list of packages $db->setQuery("SELECT id AS value, label AS text FROM #__fabrik_packages"); $packages = array_merge(array(JHTML::_('select.option', '', '- ' . JText::_('SELECT PACKAGE') . ' -')), $db->loadObjectList()); $lists['packages'] = JHTML::_('select.genericlist', $packages, 'packages', 'class="inputbox" onchange="document.adminForm.submit();"', 'value', 'text', $selPackage); $db->setQuery("SELECT DISTINCT(t.id) AS id, fg.group_id AS group_id\nFROM #__fabrik_tables AS t inner\nJOIN #__fabrik_formgroup AS fg ON t.form_id = fg.form_id"); $lists['table_groups'] = $db->loadObjectList('id'); $format = JRequest::getVar('format', 'html'); if ($format == 'csv') { $this->tableid = JRequest::getVar('tableid', 0); $tableModel =& JModel::getInstance('Table', 'FabrikModel'); $tableModel->setId($this->tableid); $this->table =& $tableModel->getTable(); $document =& JFactory::getDocument(); $viewName = JRequest::getVar('view', 'form', 'default', 'cmd'); $viewType = $document->getType(); // Set the default view name from the Request $view =& $this->getView($viewName, $viewType); $view->setModel($tableModel, true); $view->display(); } else { require_once JPATH_COMPONENT . DS . 'views' . DS . 'table.php'; FabrikViewTable::show($rows, $pageNav, $lists); } }