示例#1
0
/**
 * @param EasySCP_TemplateEngine $tpl
 * @param EasySCP_Database $sql
 * @param int $dmn_id
 */
function gen_user_assign($tpl, $sql, &$dmn_id)
{
    if (isset($_GET['uname']) && $_GET['uname'] !== '' && is_numeric($_GET['uname'])) {
        $uuser_id = $_GET['uname'];
        $tpl->assign('UNAME', tohtml(get_htuser_name($sql, $uuser_id, $dmn_id)));
        $tpl->assign('UID', $uuser_id);
    } else {
        if (isset($_POST['nadmin_name']) && !empty($_POST['nadmin_name']) && is_numeric($_POST['nadmin_name'])) {
            $uuser_id = $_POST['nadmin_name'];
            $tpl->assign('UNAME', tohtml(get_htuser_name($sql, $uuser_id, $dmn_id)));
            $tpl->assign('UID', $uuser_id);
        } else {
            user_goto('protected_user_manage.php');
        }
    }
    // get groups
    $query = "\n\t\tSELECT\n\t\t\t*\n\t\tFROM\n\t\t\t`htaccess_groups`\n\t\tWHERE\n\t\t\t`dmn_id` = ?\n\t";
    $rs = exec_query($sql, $query, $dmn_id);
    if ($rs->recordCount() == 0) {
        set_page_message(tr('You have no groups!'), 'info');
        user_goto('protected_user_manage.php');
    } else {
        $added_in = 0;
        $not_added_in = 0;
        while (!$rs->EOF) {
            $group_id = $rs->fields['id'];
            $group_name = $rs->fields['ugroup'];
            $members = $rs->fields['members'];
            $members = explode(",", $members);
            $grp_in = 0;
            // let's generete all groups wher the user is assigned
            for ($i = 0, $cnt_members = count($members); $i < $cnt_members; $i++) {
                if ($uuser_id == $members[$i]) {
                    $tpl->append(array('GRP_IN' => tohtml($group_name), 'GRP_IN_ID' => $group_id));
                    $grp_in = $group_id;
                    $added_in++;
                }
            }
            if ($grp_in !== $group_id) {
                $tpl->append(array('GRP_NAME' => tohtml($group_name), 'GRP_ID' => $group_id));
                $not_added_in++;
            }
            $rs->moveNext();
        }
        // generate add/remove buttons
        if ($added_in != 0) {
            $tpl->assign('IN_GROUP', true);
        }
        if ($not_added_in != 0) {
            $tpl->assign('NOT_IN_GROUP', true);
        }
    }
}
function gen_user_assign(&$tpl, &$sql, &$dmn_id)
{
    if (isset($_GET['uname']) && $_GET['uname'] !== '' && is_numeric($_GET['uname'])) {
        $user_id = $_GET['uname'];
        $tpl->assign('UNAME', get_htuser_name($sql, $user_id, $dmn_id));
        $tpl->assign('UID', $user_id);
    } else {
        if (isset($_POST['nadmin_name']) && $_POST['nadmin_name'] !== '' && is_numeric($_POST['nadmin_name'])) {
            $user_id = $_POST['nadmin_name'];
            $tpl->assign('UNAME', get_htuser_name($sql, $user_id, $dmn_id));
            $tpl->assign('UID', $user_id);
        } else {
            header('Location: puser_manage.php');
            die;
        }
    }
    // get groups
    $query = <<<SQL_QUERY
        select
            *
        from
            htaccess_groups
        where
             dmn_id = ?
SQL_QUERY;
    $rs = exec_query($sql, $query, array($dmn_id));
    if ($rs->RecordCount() == 0) {
        set_page_message(tr('You have no groups!'));
        header('Location: puser_manage.php');
        die;
    } else {
        $added_in = 0;
        $not_added_in = 0;
        while (!$rs->EOF) {
            $group_id = $rs->fields['id'];
            $group_name = $rs->fields['ugroup'];
            $members = $rs->fields['members'];
            $members = explode(",", $members);
            $grp_in = 0;
            // lets generete all groups wher the user is  assignet
            for ($i = 0; $i < count($members); $i++) {
                if ($user_id == $members[$i]) {
                    $tpl->assign(array('GRP_IN' => $group_name, 'GRP_IN_ID' => $group_id));
                    $tpl->parse('ALREADY_IN', '.already_in');
                    $grp_in = $group_id;
                    $added_in++;
                }
            }
            if ($grp_in !== $group_id) {
                $tpl->assign(array('GRP_NAME' => $group_name, 'GRP_ID' => $group_id));
                $tpl->parse('GRP_AVLB', '.grp_avlb');
                $not_added_in++;
            }
            $rs->MoveNext();
        }
        //generate add/remove buttons
        if ($added_in < 1) {
            $tpl->assign('ALREADY_IN', '');
            $tpl->assign('REMOVE_BUTTON', '');
        }
        if ($not_added_in < 1) {
            $tpl->assign('GRP_AVLB', '');
            $tpl->assign('ADD_BUTTON', '');
        }
    }
}