/** * get criteria. * * @param int $start * @param int $limit * * @return CriteriaElement */ public function &getCriteria($start = null, $limit = null) { $t_start = $start === null ? $this->mNavi->getStart() : intval($start); $t_limit = $limit === null ? $this->mNavi->getPerpage() : intval($limit); $criteria = $this->_mCriteria; $criteria->setStart($t_start); $criteria->setLimit($t_limit); return $criteria; }
<?php require dirname(__FILE__) . '/../../mainfile.php'; require_once XOOPS_ROOT_PATH . "/core/XCube_PageNavigator.class.php"; $criteria = new CriteriaCompo(); $criteria->add(new Criteria('level', 0, '>')); // We can not use IN statement here, // because XoopsObjectGenericHandler doesn't support a conditon which is not a property of an XoopsObject $subcriteria = new CriteriaCompo(); foreach ($xoopsModuleConfig['listed_groups'] as $groupId) { $subcriteria->add(new Criteria('g.groupid', $groupId), 'OR'); } $criteria->add($subcriteria); $criteria->addSort('uname', 'ASC'); $userGroupHandler = xoops_getmodulehandler('UserGroup'); $total = $userGroupHandler->getCount($criteria); $pageNavigator = new XCube_PageNavigator('./index.php'); $pageNavigator->setPerpage($xoopsModuleConfig['users_per_page']); $pageNavigator->setTotalItems($total); $pageNavigator->fetch(); $criteria->setStart($pageNavigator->getStart()); $criteria->setLimit($pageNavigator->getPerpage()); /** @var $userGroupHandler Xoopsmembers_UserGroupHandler */ $xoopsTpl->assign('total', $total); $xoopsTpl->assign('users', $userGroupHandler->getObjects($criteria)); $xoopsTpl->assign('pageNavigator', $pageNavigator); require_once XOOPS_ROOT_PATH . "/header.php"; $xoopsOption['template_main'] = 'xoopsmembers_index.html'; require_once XOOPS_ROOT_PATH . "/footer.php";