$bestedit = 1; } //..echo "==================PERED OTPRAWKOJ==============<br>"; //debugcfgprint ($bestheader,$bestplevel,$bestcontent) ; //echo "=================================================<br>"; //..echo "ВЫХОДИМ!";exit; if ($bestedit == 1) { echo "File={$filbas}"; $tempdescr = fopen($filbas, "w"); // echo "===========CHECK:WRItEFULLCFG DATA=-==============<br>"; $code = writefullcsv($tempdescr, $bestheader, $bestplevel, $bestcontent); //echo "writefullcsv return code $code<br>"; $edit = 0; //echo "===============END WRITEFULLCFGDATAOUT=========================<br>"; @($best = csvopen($filbas, "r", 0)); $data = readfullcsv($best, "new"); $bestheader = $data[0]; $bestplevel = $data[1]; $bestcontent = $data[2]; $bestcnt = $data[3]; //echo "<font color=magenta>=============CHECK:best.cfg==============<br></red>Massive have lines (bestcnt)=$bestcnt<br>"; //debugcfgprint ($bestheader,$bestplevel,$bestcontent) ; //echo "=================================================<br>"; @fclose($best); } unset($tempdescr, $bestheader, $bestplevel, $bestcontent); } //endif massooper 4 } //========================================= //модуль запуска AND($prdbdata[$tbl][12]!="fdb")
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; }
$data = readfullcsv($deny, "new"); if ($data == -1) { //reading denyword $dnheader = "word¦plevel¦special"; $dnplevel = "4#1#1¦4¦"; @($tempdescr = csvopen("_conf/denywords.cfg", "w", 1)); $dnheader = splitcfgline($dnheader); $dnplevel = splitcfgline($dnplevel); $dncontent = splitcfgline($dncontent); $err .= writefullcsv($tempdescr, $dnheader, $dnplevel, $dncontent); $edit = 0; //writing denyword } $filbas = "_conf/dbdata.cfg"; @($dbdata = csvopen($filbas, "r", "0")); $data = readfullcsv($dbdata, "new"); if ($data == -1) { //reading dbdata $dbheader = "File base¦Base visual name¦Поддержка картинок¦Tип scr¦Режим 3 (Категория)¦Таблица Mysql¦Хост Mysql ¦Тип категории¦Колонка картин¦Выбирать базу¦Режим 1 (Имя)¦Режим 2 (Код)¦Use Mysql¦Права на запись¦Права требуемые базой¦Треб. виртуальный ID¦Отбор колонок¦reserved17¦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¦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"; $dbplevel = "d¦5¦d¦d¦d¦d¦d¦d¦d¦d¦a¦d¦a¦d¦5¦5¦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¦dr"; $prdbdata = ""; // @($tempdescr = csvopen("_conf/dbdata.cfg", "w", 1)); $dbheader = splitcfgline($dbheader); $dbplevel = splitcfgline($dbplevel); //$pgcontent=splitcfgline ($pgcontent); $err .= writefullcsv($tempdescr, $dbheader, $dbplevel, $prdbdata); $edit = 0; //writing dbdata } if ($languageprofile !== "russian") {