function &account_get_userlist($limit, $start, $sort) { global $xoopsDB; $users_handler =& xoonips_getormhandler('xoonips', 'xoops_users'); $tables['users'] = $xoopsDB->prefix('users'); $join_criteria = new XooNIpsJoinCriteria('xoonips_users', 'uid', 'uid', 'INNER'); $criteria = new CriteriaElement(); $sort_arr = array(); foreach ($sort as $so) { $sort_arr[] = $tables['users'] . '.' . $so; } if (!empty($sort_arr)) { $criteria->setSort($sort_arr); } $criteria->setLimit($limit); $criteria->setStart($start); $fields = array(); $fields[] = $tables['users'] . '.uid'; $fields[] = $tables['users'] . '.name'; $fields[] = $tables['users'] . '.uname'; $fields[] = $tables['users'] . '.email'; $users_objs =& $users_handler->getObjects($criteria, false, implode(',', $fields), false, $join_criteria); return $users_objs; }
/** * delete old entries for updating/rebuilding rankings * * @param int $num_rows number of new entries * @return bool FALSE if failed */ function trim($num_rows) { $field = 'timestamp'; $criteria = new CriteriaElement(); $criteria->setSort('timestamp'); $criteria->setOrder('DESC'); $criteria->setStart($num_rows); $criteria->setLimit(1); $objs =& $this->getObjects($criteria, false, $field); if (empty($objs)) { return true; } $timestamp = $objs[0]->get('timestamp'); $criteria = new Criteria($field, $timestamp, '<'); // force deletion if (!$this->deleteAll($criteria, true)) { return false; } return true; }
/** * get user objects from database * * @access public * @param int $start number of skip results * @param int $limit number of results, zero means unlimit * @return array object instance */ function &xoonips_eventlog_get_users($start, $limit) { $xuhandler =& xoonips_getormhandler('xoonips', 'users'); $join_criteria = new XooNIpsJoinCriteria('users', 'uid', 'uid', 'INNER', 'users'); $criteria = new CriteriaElement(); $criteria->setSort('uname'); $criteria->setStart($start); if ($limit > 0) { $criteria->setLimit($limit); } $objs =& $xuhandler->getObjects($criteria, false, '', false, $join_criteria); return $objs; }