getUserStateFromRequest( "$option.filter_order", 'filter_order', 'm.id', 'cmd' ); $filter_order_Dir = $mainframe->getUserStateFromRequest( "$option.filter_order_Dir", 'filter_order_Dir', '', 'word' ); $filter_state = $mainframe->getUserStateFromRequest( "$option.filter_state", 'filter_state', '', 'word' ); $search = $mainframe->getUserStateFromRequest( "$option.search", 'search', '', 'string' ); $search = JString::strtolower( $search ); $limit = $mainframe->getUserStateFromRequest( 'global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int' ); $limitstart = $mainframe->getUserStateFromRequest( $option.'.limitstart', 'limitstart', 0, 'int' ); $where = array(); if ( $filter_state ) { if ( $filter_state == 'P' ) { $where[] = 'm.published = 1'; } else if ($filter_state == 'U' ) { $where[] = 'm.published = 0'; } } if ($search) { $where[] = 'LOWER(m.title) LIKE '.$db->Quote( '%'.$db->getEscaped( $search, true ).'%', false ); } $where = ( count( $where ) ? ' WHERE ' . implode( ' AND ', $where ) : '' ); $orderby = ' ORDER BY '. $filter_order .' '. $filter_order_Dir; $query = 'SELECT COUNT(m.id)' . ' FROM #__polls AS m' . $where ; $db->setQuery( $query ); $total = $db->loadResult(); jimport('joomla.html.pagination'); $pagination = new JPagination( $total, $limitstart, $limit ); $query = 'SELECT m.*, u.name AS editor, COUNT(d.id) AS numoptions' . ' FROM #__polls AS m' . ' LEFT JOIN #__users AS u ON u.id = m.checked_out' . ' LEFT JOIN #__poll_data AS d ON d.pollid = m.id AND d.text <> ""' . $where . ' GROUP BY m.id' . $orderby ; $db->setQuery( $query, $pagination->limitstart, $pagination->limit ); $rows = $db->loadObjectList(); if ($db->getErrorNum()) { echo $db->stderr(); return false; } // state filter $lists['state'] = JHTML::_('grid.state', $filter_state ); // table ordering $lists['order_Dir'] = $filter_order_Dir; $lists['order'] = $filter_order; // search filter $lists['search']= $search; $this->assignRef('user', JFactory::getUser()); $this->assignRef('lists', $lists); $this->assignRef('items', $rows); $this->assignRef('pagination', $pagination); parent::display($tpl); } }