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;
}