@($gmdata = csvopen($filbas, "r", "0")); $data = readfullcsv($gmdata, "new"); if ($data == -1) { //reading gmdata $gmheader = "LOGIN¦PASSWORD¦Администрирование¦редактирование¦продвинутый поиск¦масс. удаления¦Операции с заголовками¦perm_4¦perm_5¦perm_6¦Уровень прав¦Истечение прав* (-1,нет)¦perm_9¦perm_10¦perm_11¦Зарегистрированное имя¦Не показывать инструкции¦Редактор - неточные совпадения¦Редактор - поиск по любому полю¦Выводить сортировку*¦Выводить постранично*¦Стиль¦Язык¦б22¦б23¦b25¦b26¦b27¦b28¦b29¦b30¦b31¦b32¦b33¦b34¦b35¦b36¦b37¦b38¦b39¦b40¦b41¦b42¦b43¦b44¦b45¦b46¦b47¦b48¦b49¦b50¦b51¦b52¦b53¦b54¦b55¦b56¦b57¦b58¦b59¦b60¦b61¦b62¦b63¦b64¦b65¦b66¦b67¦b68¦b69¦b70¦b71¦b72¦b73¦b74¦b75¦b76¦b77¦b78¦b79¦b80¦b81¦b82¦b83¦b84¦b85¦b86¦b87¦b88¦b89¦b90¦b91¦b92¦b93¦b94¦b95¦b96¦b97¦b98¦b99 ¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦hd¦"; $gmplevel = "a¦d¦a¦a¦d¦d¦d¦d¦d¦d¦a¦d¦d¦d¦d¦a¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦d¦"; $ADMM = 0; for ($a = 0; $a < 200; $a++) { $prauth[$ADMM][$a] = "0"; //debug if ($a > 24 and $a < 37) { $prauth[$ADMM][$a] = "1"; } } $prauth[$ADMM][0] = stripslashes($LOGINUSER); $prauth[$ADMM][1] = hashgen($PASSWORDUSER); $prauth[$ADMM][42] = 1; $prauth[$ADMM][15] = $prauth[$ADMM][0]; $prauth[$ADMM][22] = $lang; $prauth[$ADMM][21] = "Default"; $prauth[$ADMM][10] = 10; if ($OSTYPE == "LINUX") { $prauth[$ADMM][199] .= "sayfuck\n"; } //$prauth[$ADMM][198]=$prauth[$ADMM][198]."sayfuck2\n"; $prauth[$ADMM][199]="199sayfuck2\n"; $prauth[$ADMM][200]="200fuck\n"; $prauth[1] = $prauth[0]; // eto i est sohranenie!!!!!!!!!!!!!!!!!!!!1111 //..$prauth="";// тут добавляем нашего юзера //$prauthimploded=implode ($prauth[$ADMM],"¦"); //if ($OSTYPE=="LINUX") $prauthimploded.="sayfuck\n";/ //$prauthimploded.="sayfuck2\n";
function writeconfigtblsd() { //echo "Возникла проблема при реконфигурации аккаунта<br>"; exit; //надобно как то автоопрос чтоли сделать всех переменных //автоматизировать немного 1- загрузку в html,2- взятие на редактирование 3- сохранение echo "<bb><h2>Данные записаны.</bb><br></h2>"; global $codekey, $LOGINUSER, $PASSWORDUSER, $HASHUSER, $OSTYPE, $go, $gmlimitcfg, $ADMM, $ADM; // echo "ADMM==".$ADMM ;//тест //if ($gmlimitcfg===1){$ADMM=$ADM;}// тк добавили gmlimitcfg поэтому добавим и этот,хотя изначально gmlim вооб.тут не юзался for ($a = 0; $a < 200; $a++) { global ${"pradm" . $a}; } //новое чтение global //кажется сюда цикл влезет @($gmdata = csvopen("_conf/gmdata.cfg", "r", 1)); $data = readfullcsv($gmdata, "new"); $gmheader = $data[0]; $gmplevel = $data[1]; $prauth = $data[2]; $prauthcnt = $data[3]; // тупо счетчик строк - дата 3 if ($go == cmsg("A_CNEW")) { if ($codekey == 7) { demo(); } if ($codekey == 9) { demo(); } // if ($codekey==8) demo (); temp for test enabling create users // ADMM - пользователь, настроки которого редактируют. а пользователь, которые это делает - , if ($codekey == 4) { needupgrade(); } $ADMM = $prauthcnt - 1; echo "Creating new one...<br>"; } // ага нихрена он никого не создает! $edit = 1; echo "DEBUG Состояние gmlimitcfg={$gmlimitcfg}<br> "; if (!$prauth[$ADM][42] and $prauth[$ADMM][59] and $PASSWORDUSER == true) { $PASSWORDUSER = FALSE; LPRINT("DISPASSCH"); } // здесь у нас указывается что пользователь хочет изменить пароль. не даём ему это сделать если стоит запрет на смену пароля. if ($gmlimitcfg == 0) { $prauth[$ADMM][0] = stripslashes($LOGINUSER); } echo "<form action=\"admin.php\" method=\"POST\">"; if ($PASSWORDUSER == true) { $prauth[$ADMM][1] = hashgen($PASSWORDUSER); //здесь у нас надо отправить новый кук чтобы пользователь мог не перезаходить после смены пароля. $dbsa = a(base64_encode($prauth[$ADMM][0] . "¦" . $PASSWORDUSER)); if ($ADM == $ADMM) { hidekey("dbsaa", $dbsa); } if ($ADM !== $ADMM) { echo "...<br>"; } } else { $prauth[$ADMM][1] = stripslashes($HASHUSER); } submitkey("dalee", "CONT"); echo "</form>"; // prevents fake change password // Незагруженные переменные остнутся неизмененными! //..$counterusercolumns=count ($prauth[$ADMM]);// представьте себе так надо! $counterusercolumns = count($gmheader); // а иак лучше создаются новые пользователи в установке по дефолту. а то пишется херь всякая в конец пред юзера. //..if ($counterusercolumns>100) $counterusercolumns=100; // echo "DEBUG Your cnt= $counterusercolumns ADMM=$ADMM ADM=$ADM<br>"; // echo " prauth[adm=$ADM][60]=".$prauth[$ADM][60]." prauth[admm=$ADMM]=".$prauth[$ADMM][60]."<br>"; if (!$prauth[$ADM][42] and $prauth[$ADMM][60]) { LPRINT("DISPROFCH"); exit; } for ($a = 2; $a < $counterusercolumns - 1; $a++) { //попробуем на 1 меньше писать может поможет если там \n \r\n передаются по ум. // счас работает все проверить построе на тесте. if ($gmlimitcfg === 1) { if ($a > 1 and $a < 16 or $a > 32 and $a < 37 or $a == 38 or $a > 41 and $a < 46 or $a > 49 and $a < 55 or $a == 48) { continue; } } // echo "isset pradm$a : ".isset(${"pradm".$a})."<br>"; //if ($gmlimitcfg===1)if (isset(${"pradm".$a})===false) continue; //42(су) 59( пароль) 60(профиль) должны точно пропускаться, если нет сделать это $prauth[$ADMM][$a] = stripslashes(${"pradm" . $a}); //// не вышло просто оставить непоказанное в покое да и нельзя так, вдруг пришлют через GET переменную // дописывать сюда все настройки требующие админа или суперюзверя } //PARTIAL EXCHANGER запись конфигов проверено if ($go == cmsg("A_CNEW")) { if ($OSTYPE == "LINUX") { $prauth[$ADMM][$counterusercolumns] .= "\n"; } } // добавляет забытый в перевод строки только для создания юзера. //print_r($prauth); //..if (($prauth[$ADM][0])==($prauth[$ADMM][0])) { echo "UserName (Login) cannot be identical<br>"; $edit=0;return;}; //это ещё от чего защита? //тоже похож на цикл //..$bugwithemptyfieldsfixlinux=1; @($tempdescr = csvopen("_conf/gmdata.cfg", "w", 1)); //global $testlinuxlinefeed;$testlinuxlinefeed=1; неправильно работает - выполняется и перед и после добавления юзера что недопустимо echo "--------------------------------------------"; writefullcsv($tempdescr, $gmheader, $gmplevel, $prauth); $edit = 0; exit; }
window("", ""); echo "Many years ago exist a windows 98se operating system..."; closewindow(); exit; } if ($prauth[$ADM][2] == true) { // команды ТОЛЬКО для администриторов if ($cmd[0] === "genactcode" and $prauth[$ADM][42]) { echo genactcode(); exit; } if ($cmd[0] === "genactcode" and !$prauth[$ADM][42]) { msgexiterror("notrights", " superuser", "admin.php"); } if ($cmd[0] === "hashgen") { echo hashgen($cmd[1]); exit; } if ($cmd[0] === "print") { echo ${$cmd[1]}; exit; } if ($cmd[0] === "deactivate" and $prauth[$ADM][42]) { $a = genactcode(); if ($cmd[1] === $a) { unlink("_conf/.key"); @unlink("_conf/dbs.key"); @unlink("_conf/add.key"); echo lprint("REGRESET") . ".<br>"; } exit;