Ejemplo n.º 1
0
function whose_mods($re, $vl, $defs)
{
    //(4412)
    if ($defs) {
        if ($vl == 'system') {
            $defd = $defs['system'];
            $addr = explode(" ", prma('blocks') . ' template');
            foreach ($addr as $k => $v) {
                if (!$defd[$v] && $v) {
                    $defd[$v] = 3;
                }
            }
        } elseif ($vl == "menu") {
            $defb = $defs["once"];
            $defd = $defs["multi"] + $defs["connectors"];
        } elseif ($vl == "leftbar" or $vl == "rightbar") {
            $defb = $defs["once"];
            $defd = $defs["multi"] + $defs["connectors"] + $defs["articles"];
        } elseif ($vl == "content") {
            $defb = $defs["content"] + $defs["once"];
            $defd = $defs["multi"] + $defs["connectors"] + $defs["articles"];
            $defd += array("chat" => $defs["once"]["chat"]);
        } elseif ($vl == "newsletter") {
            $defb = $defs["content"] + $defs["once"];
            $defd = $defs["multi"] + $defs["connectors"] + $defs["articles"];
        } elseif ($vl == "banner") {
            $defb = $defs["multi"] + $defs["once"];
            $defd = $defs["connectors"] + $defs["articles"];
        } elseif ($vl == "footer") {
            $defb = $defs["multi"] + $defs["footer"] + $defs["once"];
            $defd = $defs["connectors"] + $defs["articles"];
        } else {
            $defb = $defs["once"];
            $defd = $defs["content"] + $defs["articles"] + $defs["multi"] + $defs["connectors"] + $defs["footer"] + $defs["articles"];
        }
        $mod = user_mods();
        if ($defd && $mod) {
            $defd += $mod;
        } elseif ($mod) {
            $defd = $mod;
        }
        if ($defb) {
            $defc = array_combine_sub($defb, $re);
        }
        //php4
        //if($defb)$defc=array_diff_key($defb,$re);//php5
        if ($defc && $defd) {
            $defc += $defd;
        } else {
            $defc = $defd;
        }
    }
    return array($defb, $defc, $defd);
}
Ejemplo n.º 2
0
Archivo: admin.php Proyecto: philum/cms
function adm_members_a($auth, $goto)
{
    //newuser save
    $arr = affect_auth($auth);
    $mmbrs = $_SESSION['qbin']['membrs'];
    $qdu = ses('qdu');
    $qb = ses('qb');
    $USE = ses('USE');
    if ($_POST['newuser'] && $_POST['newuser'] != 'newuser') {
        $usrd = adduser($qb, $_POST['newuser'], $_POST['pass'], $_POST['mail']);
        $tosave = rse('mbrs', $qdu . ' WHERE name="' . $qb . '"');
        $tosave .= $_POST['adlv'] . '::' . $_POST['newuser'] . ',';
        $_SESSION['qbin']['membrs'] = tab_members($tosave);
        update('qdu', 'mbrs', $tosave, 'name', $qb);
        relod($goto);
    } elseif ($_POST['Submit']) {
        //modifuser
        foreach ($mmbrs as $k => $v) {
            if ($_POST['del$k'] != $k) {
                if ($_POST[$k]) {
                    $tosave .= $_POST[$k] . '::' . $k . ',';
                } else {
                    $tosave .= $v . '::' . $k . ',';
                }
            }
        }
        if ($_POST['addu']) {
            $tosave .= $_POST['adlv'] . '::' . $_POST['addu'] . ',';
        }
        update('qdu', 'mbrs', $tosave, 'name', $qb);
        //mbrs
        $_SESSION['qbin']['membrs'] = tab_members($tosave);
        relod($goto);
    }
    if ($mmbrs) {
        //readusers
        foreach ($mmbrs as $k => $v) {
            if ($k != $USE && $v <= $auth) {
                //$v=authlevel(nb)
                //$rc[$k]=menuder_form_kv($arr,$k,$v,'kv');
                $rc[$k] = select(atn($k), $arr, 'kv', $v);
                $rc[$k] .= ' ' . checkbox('del' . $k, $k, 'delete', '') . br();
            } elseif ($k == $USE) {
                $rc[$k] = btn('txtx', $k . ' :: auth_level: ' . $v) . br();
            }
        }
        if ($rc) {
            $inp = on2cols($rc, 470, 5);
        }
        if ($rc) {
            $inp .= br() . input2('submit', 'Submit', 'Apply', '');
            $ret .= form($goto, $inp) . br();
        }
    }
    if ($auth > 4) {
        $ret .= lkc('txtbox', '/?admin=members&adduser==', 'add_user') . br() . br();
    }
    if ($_GET['adduser'] == '=') {
        //show_list
        $uss = sql('name', 'qdu', 'k', '');
        $mmbrs[$qb] = $auth;
        $usrs = array_combine_sub($uss, $mmbrs);
        if ($usrs) {
            //$inp=menuder_form_kv($usrs,'addu',$v,'kk').menuder_form_kv($arr,'adlv',$v,'kv');
            $inp = select(atn('addu'), $usrs, 'kk', $v) . select(atn('adlv'), $arr, 'kv', $v);
            $inp .= input2('submit', 'Submit', 'Apply', '');
            $ret .= form($goto, $inp);
        }
        if ($auth > 4) {
            $cls = '" size="10" maxlength="50';
            //adduser
            $inp = input2('text', 'newuser', 'newuser' . $cls, '') . ' ';
            $inp .= input2('text', 'pass', 'password' . $cls, '') . ' ';
            $inp .= input2('text', 'mail', 'mail' . $cls, '') . ' ';
            //$inp.=menuder_form_kv($arr,'adlv',$v,'kv').' ';
            $inp .= select(atn('adlv'), $arr, 'kv', $v);
            $valu = $inp . ' ' . input2('submit', 'Submit', 'add_user', '');
            $ret .= br() . form($goto . '&adduser==', $valu);
        }
    }
    return $ret;
}