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