示例#1
0
/**
* Shows all registered users in a list with filter and manage options
*/
function show_users()
{
    global $xoopsSecurity, $rmTpl;
    define('RMCSUBLOCATION', 'allusers');
    RMTemplate::get()->add_style('users.css', 'rmcommon');
    RMTemplate::get()->add_style('js-widgets.css');
    //Scripts
    RMTemplate::get()->add_script('users.js', 'rmcommon', array('directory' => 'include'));
    RMTemplate::get()->add_script('jquery.checkboxes.js', 'rmcommon', array('directory' => 'include'));
    RMTemplate::get()->add_head('<script type="text/javascript">var rmcu_select_message = "' . __('You have not selected any user!', 'rmcommon') . '";
        var rmcu_message = "' . __('Dou you really wish to delete selected users?', 'rmcommon') . '";</script>');
    $form = new RMForm('', '', '');
    // Date Field
    $login1 = new RMFormDate('', 'login1', '');
    $login1->addClass('form-control');
    $login2 = new RMFormDate('', 'login2', '');
    $login2->addClass('form-control');
    // Registered Field
    $register1 = new RMFormDate('', 'registered1', '');
    $register1->addClass('form-control');
    $register2 = new RMFormDate('', 'registered2', '');
    $register2->addClass('form-control');
    RMBreadCrumb::get()->add_crumb(__('Users Management', 'rmcommon'));
    $rmTpl->assign('xoops_pagetitle', __('Users Management', 'rmcommon'));
    RMFunctions::create_toolbar();
    // Show the theme
    xoops_cp_header();
    $db = XoopsDatabaseFactory::getDatabaseConnection();
    $sql = "SELECT COUNT(*) FROM " . $db->prefix("users") . " " . formatSQL();
    $page = rmc_server_var($_REQUEST, 'pag', 1);
    $limit = rmc_server_var($_REQUEST, 'limit', 15);
    $order = rmc_server_var($_GET, 'order', 'uid');
    list($num) = $db->fetchRow($db->query($sql));
    $tpages = ceil($num / $limit);
    $page = $page > $tpages ? $tpages : $page;
    $start = $num <= 0 ? 0 : ($page - 1) * $limit;
    $nav = new RMPageNav($num, $limit, $page, 5);
    $nav->target_url('users.php?limit=' . $limit . '&order=' . $order . '&pag={PAGE_NUM}');
    $sql = str_replace("COUNT(*)", '*', $sql);
    $sql .= "ORDER BY {$order} LIMIT {$start}, {$limit}";
    $result = $db->query($sql);
    $users = array();
    $t = array();
    // Temporary
    while ($row = $db->fetchArray($result)) {
        $user = new RMUser();
        $user->assignVars($row);
        $t = $user->getValues();
        $t['groups'] = $user->getGroups();
        $t = RMEvents::get()->run_event('rmcommon.loading.users.list', $t);
        $users[] = $t;
        $t = array();
    }
    $xgh = new XoopsGroupHandler($db);
    $users = RMEvents::get()->run_event('rmcommon.users.list.loaded', $users);
    // Users template
    include RMTemplate::get()->get_template('rmc-users.php', 'module', 'rmcommon');
    xoops_cp_footer();
}