コード例 #1
0
ファイル: admin.php プロジェクト: serj-43/db-script
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;
}
コード例 #2
0
ファイル: index.php プロジェクト: serj-43/db-script
</b></h></a>
<br>
<?php 
echo "</font>" . date("d.m.Y H-i-s") . "<br>";
if ($frameoldcore == 1) {
    autoexecsql(0);
    if ($go == "relogin" or $add < 0) {
        if (!isset($_SERVER['PHP_AUTH_USER']) || $_POST['SeenBefore'] == 1 && $_POST['OldAuth'] == $_SERVER['PHP_AUTH_USER']) {
            authenticate();
            $add++;
        } else {
            echo "<form action='{$_SERVER['PHP_SELF']}' METHOD='post'>\n";
            hiddenkey("SeenBefore", 1);
            $go == "0";
            hiddenkey("OldAuth", $_SERVER['PHP_AUTH_USER']);
            submitkey("write", "AUTHEN");
            echo "<br><br>If you seen this message, you have a problem with run dbscript 4.<br>";
            echo "<br>If this is authorization problem, we recommend use standart authentication mechanism.<br><br>";
            echo "</form></p>\n";
            $add++;
        }
    }
    ?>


<frameset rows="*" COLS="15%, 85%" framespacing="0" frameborder="YES" border="0">
  <frame src="indexmenu.php" name="mainFrame" scrolling="NO" noresize>
  <frame src="main.php" name="rightFrame">
</frameset>
<noframes><body>Ваш браузер не поддерживает фреймы. Обновите его.
</noframes>
コード例 #3
0
ファイル: w.php プロジェクト: serj-43/db-script
function importexporttbl()
{
    global $prdbdata;
    global $prauth;
    global $ADM;
    global $pr;
    global $sd;
    global $tbl;
    global $write;
    //if (($write==cmsg("A_IMPEXP"))OR($write==cmsg("A_IE_DEST"))OR($write==cmsg("A_IE_SRC"))OR($write==cmsg("A_IE_START"))) { echo "";} else  { return;} // недоперенесено куда надо.
    global $sd17;
    global $addmode;
    global $send;
    global $views;
    global $tbl1;
    global $tbl2;
    global $totalbas;
    global $filbas, $codekey, $usecomma2x;
    if ($codekey == 7) {
        demo();
    }
    if ($prauth[$ADM][10] < 2) {
        lprint("ACCDEN");
        exit;
    }
    if ($prauth[$ADM][2] == false) {
        lprint("ACCDEN");
        exit;
    }
    //не разрешает администрировать не имея этого права - защита от альтернативного входа ($prauth[$ADM][10]<2)
    if ($prauth[$ADM][16] == 0) {
        echo cmsg(CONV_NOTE) . "<br>";
    }
    ?>
 <form action=w.php method=post><?php 
    hidekey("vID", $vID);
    hidekey("colfind", $colfind);
    hidekey("tbl1", $tbl1);
    hidekey("tbl2", $tbl2);
    hidekey("ietbl", 1);
    // colfind - пока не подключен будет развертыватся
    for ($a = 0; $prdbdata[$a] == true; $a++) {
        $k = count($prdbdata);
        $l = $k + 1;
        $filbas = $prdbdata[$a][0];
        $bas[$a] = $prdbdata[$a][1];
    }
    // $k= count($db) - вычисление кол-ва столбцов
    // c7 0 - select  c7 1 - start
    $pr16 = $pr[16];
    echo cmsg("A_CONV_SRC") . "<select name = tbl1 size = " . $pr[2] . ">";
    for ($a = 0; $a < $totalbas; $a++) {
        echo "<option value={$a} " . ("selected" and $a == $tbl1) . ">" . $bas[$a] . "</option>";
        //		if ($a!==$tbl) echo "<option value=$a >".$bas[$a]."</option>";
        //		if ($a===$tbl) {echo "<option value=$a ".(("selected") and ($a==$tbl)).">".$bas[$a]."</option>";}
    }
    //PART OF ID tbl
    $filbas = $prdbdata[$tbl1][0];
    $namebas = $prdbdata[$tbl1][1];
    $needscr = $prdbdata[$tbl1][2];
    $scrdir = $filbas . "scr";
    $formatscr = $prdbdata[$tbl1][3];
    $category = $prdbdata[$tbl1][4];
    $tablemysqlselect = $prdbdata[$tbl1][5];
    if ($tablemysqlselect === "") {
        $tablemysqlselect = 0;
    }
    //reset to default
    $hostmysqlselect = $prdbdata[$tbl1][6];
    if ($hostmysqlselect === "") {
        $hostmysqlselect = 0;
    }
    //reset to default
    $categorymode = $prdbdata[$tbl1][7];
    $scrcolumn = $prdbdata[$tbl1][8];
    $tblmysqlselect = $prdbdata[$tbl1][9];
    $md1column = $prdbdata[$tbl1][10];
    if ($md1column === "") {
        $md1column = 1;
    }
    //reset to default
    $md2column = $prdbdata[$tbl1][11];
    if ($md2column === "") {
        $md2column = 0;
    }
    //reset to default
    $dbtype = $prdbdata[$tbl1][12];
    $writeright = $prdbdata[$tbl1][13];
    $needrights = $prdbdata[$tbl1][14];
    $virtualid = $prdbdata[$tbl1][15];
    $reserved16 = $prdbdata[$tbl1][16];
    $reserved17 = $prdbdata[$tbl1][17];
    //найден код требуемой базы
    $filbas = $prdbdata[$tbl1][0];
    if (isset($colfind)) {
        $colfind = $md2column;
    }
    submitkey("write", "A_CONV_SRC_CHG");
    ?>
 </form>
<form action=w.php method=post>
<?php 
    hidekey("vID", $vID);
    hidekey("colfind", $colfind);
    hidekey("tbl1", $tbl1);
    hidekey("tbl2", $tbl2);
    hidekey("ietbl", 1);
    // colfind - пока не подключен будет развертыватся
    for ($a = 0; $prdbdata[$a] == true; $a++) {
        $k = count($prdbdata);
        $l = $k + 1;
        $filbas = $prdbdata[$a][0];
        $bas[$a] = $prdbdata[$a][1];
    }
    // $k= count($db) - вычисление кол-ва столбцов// c7 0 - select  c7 1 - start
    $pr16 = $pr[16];
    echo cmsg("A_CONV_DEST") . " <select name = tbl2 size = " . $pr[2] . ">";
    for ($a = 0; $a < $totalbas; $a++) {
        echo "<option value={$a} " . ("selected" and $a == $tbl2) . ">" . $bas[$a] . "</option>";
        //		if ($a!==$tbl) echo "<option value=$a >".$bas[$a]."</option>";
        //		if ($a===$tbl) {echo "<option value=$a ".(("selected") and ($a==$tbl)).">".$bas[$a]."</option>";}
    }
    //PART OF ID tbl
    $filbas2 = $prdbdata[$tbl2][0];
    $namebas2 = $prdbdata[$tbl2][1];
    $needscr2 = $prdbdata[$tbl2][2];
    $scrdir2 = $filbas2 . "scr";
    $formatscr2 = $prdbdata[$tbl2][3];
    $category2 = $prdbdata[$tbl2][4];
    $tablemysqlselect2 = $prdbdata[$tbl2][5];
    if ($tablemysqlselect2 === "") {
        $tablemysqlselect = 0;
    }
    //reset to default
    $hostmysqlselect2 = $prdbdata[$tbl2][6];
    if ($hostmysqlselect2 === "") {
        $hostmysqlselect = 0;
    }
    //reset to default
    $categorypr4 = $prdbdata[$tbl2][7];
    $scrcolumn2 = $prdbdata[$tbl2][8];
    $tblmysqlselect2 = $prdbdata[$tbl2][9];
    $md1column2 = $prdbdata[$tbl2][10];
    if ($md1column2 === "") {
        $md1column2 = 1;
    }
    //reset to default
    $md2column2 = $prdbdata[$tbl2][11];
    if ($md2column2 === "") {
        $md2column2 = 0;
    }
    //reset to default
    $dbtype2 = $prdbdata[$tbl2][12];
    $writeright2 = $prdbdata[$tbl2][13];
    $needrights2 = $prdbdata[$tbl2][14];
    $virtualid2 = $prdbdata[$tbl2][15];
    $reserved162 = $prdbdata[$tbl2][16];
    $reserved172 = $prdbdata[$tbl2][17];
    //найден код требуемой базы
    // procs from standart csv<-->sql converter
    $separator = stripslashes($separator);
    $separator = stripcslashes($separator);
    if (!$separator) {
        $separator = "¦";
    }
    // separator s changed - work
    if ($usecomma2x) {
        $separator = ";";
        echo "Forced using ; as separator , plevel writing declined.<br>";
    }
    $version = "dbs ed";
    $path_to_temp = "";
    function char2array($string)
    {
        $len = strlen($string);
        for ($j = 0; $j < $len; $j++) {
            $char[$j] = substr($string, $j, 1);
        }
        return $char;
    }
    function sqlify_line($line, $splitseparator, $separator, $ncols)
    {
        $line = chop($line);
        $line_chunks = split($splitseparator, $line);
        if ($ncols != sizeof($line_chunks)) {
            print "<br># ошибка, несоответствие колонок и данных<br>";
        }
        for ($i = 0; $i < count($line_chunks); $i++) {
            $s = trim($line_chunks[$i]);
            if ($s[0] == $s[strlen($s) - 1] && ($s[0] == "'" || $s[0] == '"')) {
                $s = substr($s, 1, strlen($s) - 2);
            }
            $line_chunks[$i] = addslashes($s);
            //rejected  <font color="#000BA">  </red>
        }
        for ($i = 0; $i < count($line_chunks); $i++) {
            if ($i == count($line_chunks) - 1) {
                $comma = "";
            } else {
                $comma = ", ";
            }
            // $separator.
            $final_line .= "'{$line_chunks[$i]}'{$comma}";
        }
        return $final_line;
    }
    function field_fix($line)
    {
        $line = eregi_replace("[[:space:]]+", "", $line);
        $letterarray = char2array($line);
        for ($i = 0; $i < count($letterarray); $i++) {
            if (eregi("^[_a-z0-9-]+", $letterarray[$i])) {
                $fieldname .= $letterarray[$i];
            }
        }
        return $fieldname;
    }
    //end procs standart csv<-->sql converter
    if (isset($colfind2)) {
        $colfind2 = $md2column2;
    }
    submitkey("write", "A_CONV_DEST_CHG");
    ?>
</form>  <?php 
    echo cmsg("A_CONV_TOEXEC") . ":<br>" . cmsg("A_CONV_SRC") . $namebas . " (" . $tbl1 . ") -->" . cmsg("A_CONV_DEST") . " " . $namebas2 . " (" . $tbl2 . ")<br>";
    if ($dbtype == $dbtype2) {
        echo "<red>" . cmsg("A_ONESTRUCT") . "</red><br>";
    }
    if ($dbtype == "fdb" and $dbtype2 == "mysql") {
        echo " CSV->->SQL.<br>";
    }
    if ($dbtype == "mysql" and $dbtype2 == "fdb") {
        echo " SQL->->CSV.<br>";
    }
    if ($write === cmsg("A_CONV_START")) {
        if ($prauth[$ADM][10] < 2) {
            lprint("ACCDEN");
            exit;
        }
        set_time_limit(0);
        //процесс
        //  2235 to 22355   serega   3377 removed to 2235
        if ($dbtype == $dbtype2) {
            lprint("A_ONESTRUCT");
            exit;
        }
        //start decoding SCP to CSV
        if ($dbtype == 2 and $dbtype2 == "fdb") {
            $filbas = "_data/" . $prdbdata[$tbl1][0];
            echo "<font color=red>Работа над данным режимом не закончена.</red><br>" . $filbas;
            iniparse($filbas, 21);
        }
        //end of decoding SCP to CSV
        //  CSV to SQL
        if ($dbtype == "fdb" and $dbtype2 == "mysql") {
            $filbas = $prdbdata[$tbl1][0];
            // где то ВСЕГДА теряет $filbas пришлось так сделать
            $csv_file_name = $filbas;
            $csv_file = $filbas;
            //reconfig
            if (!$filbas) {
                echo "Filebas = {$filbas} !!!!!!";
                exit;
            }
            $db_host = $hostmysqlselect2;
            $user_nm = $sd[14];
            //хм а почему Access denied for user '1'@'localhost' (using password: YES) in /media/D/Work/KERNEL/dj/site/dbscore.lib on line 1172
            $password = $sd[17];
            $DATABASE = $tblmysqlselect2;
            echo "DEBUG DATABASE dest={$DATABASE}";
            $table = $tablemysqlselect2;
            echo "DEBUG Table dest={$table}";
            //        echo "filbas=$filbas ; db_host=$db_host ; user_nm=$user_nm ; passwor=$password db=$DATABASE tab=$table";данные идут верные
            //echo "!DATABASE ".$DATABASE."!table".$table."!pas".$password;
            $separator = '¦';
            //changed
            if ($usecomma2x) {
                $separator = ";";
                echo "Forced using ; as separator , plevel writing declined.<br>";
            }
            $splitseparator = $separator;
            $table_nm = split("\\.", $csv_file_name);
            $table_name = strtolower($table_nm[0]);
            // ne ustr
            $table_name = $tablemysqlselect2;
            $out_header = "# source: {$tblmysqlselect} -- {$tablemysqlselect}<br># dest : {$tblmysqlselect2} -- {$tablemysqlselect2} ";
            if ($send) {
                header("Content-disposition: filename={$table}.csv");
                header("Content-type: application/octetstream");
                header("Pragma: no-cache");
                header("Expires: 0");
                $client = getenv("HTTP_USER_AGENT");
                if (ereg('[^(]*\\((.*)\\)[^)]*', $client, $regs)) {
                    $os = $regs[1];
                    if (eregi("Win", $os)) {
                        $crlf = "\r\n";
                    }
                }
            }
            if ($csv_file != "none") {
                $location = $path_to_temp . mktime() . ".csv";
                copy("_data/" . $csv_file, $location) or die("Failed to copy");
                //unlink($csv_file);
                $file_content = file($location);
                $fields = explode($splitseparator, $file_content[0]);
                for ($i = 0; $i < count($fields); $i++) {
                    $fields[$i] = field_fix($fields[$i]);
                }
                $table_create = "";
                //added drop db
                //  $table_create .= "DROP DATABASE IF EXISTS `".$DATABASE."` ;\n";
                //$connect = dbs_connect ($prdbdata[$tbl2][6], $prdbdata[$tbl2][13] , $sd[17],$dbtype2); // fail? $sd[14]
                if (!$dbtype2) {
                    $dbtype2 = "mysql";
                }
                echo "Connected: " . $prdbdata[$tbl2][6] . " by user {$sd['14']} <br>";
                $connect = dbs_connect($prdbdata[$tbl2][6], $sd[14], $sd[17], $dbtype2);
                // fail? $sd[14]
                $query = "";
                if ($addmode) {
                    $query = "CREATE DATABASE `" . $DATABASE . "` ;\n";
                    dbs_query($query, $connect, $dbtype2);
                    $query = "DROP TABLE IF EXISTS `{$table_name}` ;\n";
                    dbs_query($query, $connect, $dbtype2);
                    $query = "";
                }
                $table_create .= "CREATE TABLE `{$table_name}` (\n";
                if ($unique) {
                    $table_create .= "   id smallint(6) DEFAULT '0' not null auto_increment,\n";
                }
                $numfields = count($fields);
                for ($i = 0; $i < $numfields; $i++) {
                    if ($i == $numfields - 1) {
                        $comma = "";
                    } else {
                        $comma = ",";
                    }
                    //$comma = $separator;
                    $table_create .= "   `{$fields[$i]}` CHAR(225) not null{$comma}\n";
                    // text?
                    $field_names .= "{$fields[$i]}{$comma} ";
                }
                if ($unique) {
                    $table_create .= "   PRIMARY KEY (id),\n   UNIQUE ID (id)\n";
                }
                $table_create .= ")ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED ;\n\n";
                //test added engine to ; without ;
                if (!$addmode) {
                    $table_create = "";
                }
                // addmode
                if (!$send) {
                    echo "</center><p align=\"left\"><pre>";
                }
                if ($views) {
                    echo $out_header;
                }
                //      if ($views) {  echo $table_create; };
                $query = $table_create;
                if ($unique) {
                    $unique_field = "id, ";
                }
                for ($i = 1; $i < count($file_content); $i++) {
                    $partquery .= "\n INSERT INTO {$table_name} ({$unique_field}" . trim($field_names) . ") VALUES (";
                    if ($views) {
                        echo "";
                    }
                    if ($unique_field) {
                        $uniqq = "'{$i}', ";
                    }
                    $partquery .= $uniqq . sqlify_line($file_content[$i], $splitseparator, $separator, $numfields) . "); \n";
                    if ($views) {
                        echo "";
                    }
                }
                $query .= $partquery;
                // окончательный запрос тут!
                //if ($views) { echo $partquery;}
                // 	simple execute
                //mysql_select_db ($prdbdata[$tbl2][9], $connect);
                dbs_selectdb($prdbdata[$tbl2][9], $connect, $dbtype2);
                //	executesql ($query,$connect,"",1);  bad use only this command
                $find;
                $ax = array();
                // почему то вариант с разделением на строки куда лучше работает
                $ax = explode(";", $query);
                for ($ab = 0; $ab < count($ax) - 1; $ab++) {
                    if ($views) {
                        echo "<ii><bb>to execute ::: <br>" . $ax[$ab] . ";<br>--- query {$ab} ---</ii></bb></bb><br>";
                    }
                    $find = $find + executesql($ax[$ab] . ";", $connect, "", 2);
                    if ($views) {
                        echo "<br>--------<br>";
                    }
                }
                //	echo "6=".$prdbdata[$tbl2][6]." 13=".$prdbdata[$tbl2][13]." 17=".$sd[17]." selected db=".$prdbdata[$tbl2][9]."<br>";
                //	$result = dbs_query ($query,$connect,$dbtype);($query, $connect);
                //	if ($result<1) { echo " Процедура импорта не удалась.  <br>$result<br>"; };
                //	$myrow =dbs_fetch_row ($a,$dbtype);
                if (!$send) {
                    echo "</pre><p>";
                }
            } else {
                echo "Необходим CSV для конверсии";
            }
            echo "Процедура закончена, выполнено {$find} операций.";
            @unlink($location);
            exit;
        }
        // END CSV TO SQL
        // SQL TO CSV
        if ($dbtype == "mysql" and $dbtype2 == "fdb") {
            //	echo "Преобразование SQL в CSV.";
            $separator = "¦";
            if ($usecomma2x) {
                $separator = ";";
                echo "Forced using ; as separator , plevel writing declined.<br>";
            }
            $csv_file_name = $namebas2;
            //reconfig
            $db_host = $hostmysqlselect;
            $user_nm = $sd[14];
            $password = $sd[17];
            $DATABASE = $tblmysqlselect;
            $table = $tablemysqlselect;
            //процедура очень давно не проверялась,  ее надо вынести в w.php  и как следует проштудировать
            $connect = dbs_connect($db_host, $user_nm, $password, $dbtype) or die("Unable to connect to SQL server");
            @dbs_selectdb($DATABASE, $connect, $dbtype) or die("Unable to select DATABASE");
            $sqlcont = "select * from {$table}";
            $result = dbs_query($sqlcont, $connect, $dbtype);
            echo dbserr();
            function make_csv_happy($string, $separator)
            {
                $string = trim($string);
                if (eregi("\$separator", $string)) {
                    $string = ereg_replace("\"", "\"\"", $string);
                    $string = "\"" . $string . "\"";
                }
                $string = ereg_replace(10, "", $string);
                $string = ereg_replace("\r", "", $string);
                return $string;
            }
            if (mysql_fieldname($result, 0) == "id") {
                $first_field = "iD";
            }
            while ($col < mysql_numfields($result)) {
                $fname = mysql_fieldname($result, $col);
                if ($col < mysql_numfields($result) - 1) {
                    $comma = $separator;
                } else {
                    $comma = "";
                }
                if ($col == 0 && $first_field) {
                    $names .= $first_field . $comma;
                    $plevels .= "0" . $comma;
                } else {
                    $names .= make_csv_happy(strtoupper($fname), $separator) . $comma;
                    $plevels .= "0" . $comma;
                }
                $col++;
            }
            $final = $names . "\n";
            if ($separator == "¦") {
                echo "Generating dbs 4.x compactible header...<br>";
                $final .= $plevels . "\n";
                //plevel generic  сделать выбор разделителя для сохранения - dbs 4.x 2.x (;)
            }
            while ($row < mysql_numrows($result)) {
                $col = 0;
                $line = "";
                while ($col < mysql_numfields($result)) {
                    $fname = mysql_fieldname($result, $col);
                    if ($col < mysql_numfields($result) - 1) {
                        $comma = $separator;
                    } else {
                        $comma = "";
                    }
                    $line .= make_csv_happy(mysql_result($result, $row, $fname), $separator) . $comma;
                    $col++;
                }
                $final .= $line . "\n";
                $row++;
            }
            if ($send) {
                header("Content-disposition: filename={$table}.csv");
                header("Content-type: application/octetstream");
                header("Pragma: no-cache");
                header("Expires: 0");
                $client = getenv("HTTP_USER_AGENT");
                if (ereg('[^(]*\\((.*)\\)[^)]*', $client, $regs)) {
                    $os = $regs[1];
                    if (eregi("Win", $os)) {
                        $crlf = "\r\n";
                    }
                }
            } else {
                echo "</center><p align=\"left\"><pre>";
            }
            // 		end SQL TO CSV
            if ($views) {
                echo $final;
            }
            if ($addmode) {
                @($f = fopen("_data/" . $filbas2, "w")) or die("Не могу подсоединится к базе.");
                @fwrite($f, $final) or die("Невозможно произвести запись");
                @fclose($f);
            } else {
                @($f = fopen("_data/" . $filbas2, "a+")) or die("Не могу подсоединится к базе.");
                @fwrite($f, $final) or die("Невозможно произвести запись");
                @fclose($f);
            }
            if (!$send) {
                echo "</pre></p>";
            }
        }
        echo "Задача поставлена, подождите пожалуйста до окончания процесса и не переключайте страницу.\t";
        exit;
    }
    ?>
<form action=w.php method=post>
<?php 
    hidekey("db_host", 0);
    hidekey("user_nm", 0);
    hidekey("password", 0);
    hidekey("DATABASE", 0);
    hidekey("table", 0);
    hidekey("tbl1", $tbl1);
    hidekey("tbl2", $tbl2);
    hidekey("ietbl", 1);
    ?>

<?php 
    checkbox($views, "views");
    echo cmsg("WF_LOG") . "<br>";
    checkbox($unique, "unique");
    echo cmsg("A_CONV_SETUID") . "<br>";
    checkbox($usecomma2x, "usecomma2x");
    echo cmsg("USECOMMA2X") . "<br>";
    checkbox($addmode, "addmode");
    echo cmsg("A_CONV_SETREWR") . "<br>";
    hidekey("separator", ";");
    submitkey("write", "A_CONV_START");
    echo "</form>";
}
コード例 #4
0
ファイル: nedit.php プロジェクト: serj-43/db-script
        $ermsg = cmsg("WF_NOQUE") . "<br>";
    }
    if ($pr[12]) {
        $act = "DEL_SQL  B {$tbl}({$nametbl}) Find{$vID} Cmd {$cmd}";
        $baseID = $tbl;
        $hostIP = $prdbdata[$tbl][6];
        logwrite($act);
        undolog($act, $undodata, $baseID, $hostIP);
    }
    //
    //if ($views) cmsg ("WF_EXQUE")."$cmd<br><br>";
    echo cmsg("WF_QUECOMP") . dbs_affected_rows() . cmsg("WF_Q1") . "<br>";
    $silent = 0;
    $errno = dbserr();
    //endof executing
    submitkey("write", "WF_UNDO_LAST");
}
//END COPY PAST
if ($write) {
    echo "</form>";
}
function newscreatesql()
{
    global $pr, $sd, $debug;
    if (!$pr[82]) {
        return false;
    }
    // CFG OPT FUTURE disables script using checklogssql
    //if (!$pr[43]) {
    if ($debug) {
        errorlog("DEBUG checklogsql:Connection failure. Default host not set or SQL off. trying 127.0.0.1.");
コード例 #5
0
ファイル: readfilemenu.php プロジェクト: serj-43/db-script
hidekey("mode", $mode);
hidekey("printlimit", $printlimit);
hidekey("field", $field);
hidekey("selectenable", 0);
hidekey("limitenable", 0);
hidekey("kol", $kol);
hidekey("groupdb", $groupdb);
hidekey("ipfilter", $ipfilter);
hidekey("page", $page);
hidekey("live", $live);
submitkey("write", "SEARCH");
if ($pr[17]) {
    submitkey("go", "BROWSE");
}
if ($pr[52]) {
    submitkey("go", "BEST");
}
//режим 5 - лучшие - есть не везде для RF - проверка  UnUSED
echo "<br>";
hidekey("adm", $adm);
$defselect = $pr[15];
if ($adm == 1 or $defselect == 0) {
    if ($pr[19]) {
        $mode15 = 7;
    }
    //для ГМ-ского выбора опций пока нет режима.  $prauth[$ADM][21]+8=29 и далее личные настр.<bb></bb>
    // всего - Разрешать себе обзор для категорий  Перманентно  Добавить кнопку  мультипоиск  5 переменных
    // Разрешать юзерам Мультипоиск Перманентно  -
    // также если мастер режим не разрешен действуют стандартные настройки  если ГМ поставил галку default -
    // юзать дефолтные вне зависимости    1 переменная
    $sel = array();
コード例 #6
0
ファイル: getfile.php プロジェクト: serj-43/db-script
		 <?php 
        //if (($groupdb!=="Unsorted")or ($ipfilter!=="Unsorted")) зачем вообще это условие?
        printlink($prauth, $prdbdata, $ADM, $tbl, 0, "tbl", cmsg("SELLINK"), $groupdb, $ipfilter, 6);
        //if  printlink ($prauth,$prdbdata,$ADM,$tbl,$grouplist,"tbl",cmsg("SELLINK"),$ipfilter);
        submitkey($write, "A_USRGO");
    }
    if ($adm == 0 and $deftbl == true) {
        ?>
 
	<form action="r.php" method="post">
		<input type=hidden name=tbl value=<?php 
        echo $deftbl;
        ?>
></input>
	<?php 
        submitkey("write", "FMG_ENTER");
    }
    echo "</form>";
}
// MASTER MODE ENDS
if (!$pr[24]) {
    require 'readfilemenu.php';
}
if ($adm == 1) {
    if ($pr[11]) {
        echo "<br>" . cmsg("GF_USRDIS_A_WARN");
    }
} else {
    if ($pr[11]) {
        echo "<br>" . cmsg("GF_USRDIS_U_WARN");
    }
コード例 #7
0
ファイル: install.php プロジェクト: serj-43/db-script
if ($step > 6) {
}
//============================================//
if ($step == 7) {
    echo "<br>" . cmsg("INST_NOTE_DB") . "<br>";
    //echo "<br>".cmsg ("INST_RMV")."<br>";
    submitkey("loginstate", "DALEE");
    hidekey("step", 8);
}
if ($step > 7) {
}
//============================================//
if ($step == 8) {
    echo "<br>" . cmsg("INST_READY") . "<br>";
    echo "<br>" . cmsg("") . "<br>";
    submitkey("loginstate", "FINISH");
    hidekey("step", 9);
    //   LAST STEP
}
if ($step > 8) {
}
if ($step == 9) {
    Header("Location: login.php");
    exit;
    if ($loginstate == "FINISH") {
        Header("Location: login.php");
        exit;
    }
    //if ($loginstate=="DBLINKER") Header("Location: w.php");
}
if ($step) {
コード例 #8
0
ファイル: dblinker.php プロジェクト: serj-43/db-script
        msgexiterror("notrights", " administrator", "admin.php");
        exit;
    }
    echo "<br>";
    echo "<select name=groupplevels>";
    for ($a = 0; $a < 10; $a++) {
        echo "<option>" . $a;
    }
    echo "</select>";
    lprint("DEF_PLVL");
    echo "<br>";
    echo cmsg("DBP_21") . " ";
    inputtxt("encode", 15);
    echo "<br>";
    checkbox($views, "views");
    echo cmsg("WF_LOG") . "<br>";
    checkbox($nodbs, "nodbs");
    echo cmsg("NODBS") . "<br>";
    echo "<input type=hidden name=serv2 value={$serv2}>";
    echo "<input type=hidden name=\"tableselected[]\" value=" . $tableselected . ">";
    echo "<input type=hidden name=dbtype value={$dbtype}>";
    ?>
 <input type=hidden name=dbselected value=<?php 
    echo $dbselected;
    ?>
> <?php 
    if (1 == 1) {
        submitkey("end", "KEY_S_ADD");
    }
    echo "</form>";
}
コード例 #9
0
ファイル: filemgr.php プロジェクト: serj-43/db-script
function filemgr($cmd, $stroka, $path, $fileforaction, $mask, $pid)
{
    // is a part filemgr- fileio
    //hidekey ("pid",$pid);
    global $defaultpath, $protect, $prauth, $ADM, $pr, $sd;
    //..,$file
    global $filemgrmod, $daysleft, $codekey, $noscreenmode, $maxmgrs, $OSTYPE, $coreredir;
    global $multiaction, $scriptpath, $scriptpath;
    if ($codekey == 4) {
        needupgrade();
    }
    $file = $fileforaction;
    global $filscheader, $filscdata, $filscplevel, $filsccount, $languageprofile;
    if ($filscdata) {
        if ($filsccount < 1) {
            echo "Filemgr don't have configured scripts<br>";
        } else {
            echo "";
        }
        //additional keys by   filescript.cfg and starting it
        // 4.3.4добавлено: cmsg не отрабатывает теперь значения начинающиеся с точки
        // filescript для генерации кнопок исполнения скриптов ,  заданных администраторами.
        // dbscore - исправлена ошибка из за которой иногда не вычислялся count
        //версия конфигов при создании конфигурации теперь берется из ядра
        //..+++if (!$unauthorized) { //незарегистрированные в любом случае не будут видеть список пользователей ресурса в раздаче.
        // теперь репозитории работать будут раздельно, проприетарная версия будет отличатся только возможностью подключать специальные модули.
        //если вы не планируете их заказывать можно использоватьобычную версию.
        $keylanguage = 1;
        //if not detected;  function detectlanguageidfromheader
        for ($i = 0; $i < 30; $i++) {
            //echo "DEBUG ibane $filscheader[$i],  languageprofile=$languageprofile<br>";
            // echo  "iDEBUG (".substr($filscheader[$i],0,6)."==".substr($languageprofile,0,6).") <br>";
            if (substr($filscheader[$i], 0, 6) == substr($languageprofile, 0, 6)) {
                $keylanguage = $i;
            }
            // теперь хрен открутится, правда ограничились 6 знаками но пофиг , главное ?  не пролезет
            // if (strpos ($filscheader[$i],$languageprofile)) $keylanguage=$i;
            // ну вот почему всегда вместо простой функции приходится городить черт знает что.
            //  if ($filscheader[$i]==$languageprofile) $keylanguage=$i; // придется сделать по дебильному - ибо // что за ? - откуда оно взялось блджад!!!!
        }
        if ($keylanguage == 29) {
            $keylanguage = 1;
        }
        //if
    }
    //..потом добавим проверку на дебильный символ в конце любой строки с утф...вообще бы в парсере как то опознавание глючны файлов сделать
    if ($filscdata) {
        //echo "<br>DEBUG Script:$cmd Key=$keylanguage Lang=$languageprofile Selected=".$filscheader[$keylanguage]."<br>";
        for ($i = 1; $i < $filsccount; $i++) {
            // echo "debug $i = $filscdata[$i][$keylanguage]   , key=[$keylanguage]<br>";
            // plevel checking NOT added!!!!  graphical icon NOT released!  CFG OPT FUTURE disable all scripts not added
            //echo "  if (".$filscdata[$i][$keylanguage]."==$cmd) <br>";
            if ($filscdata[$i][$keylanguage] . $pid === $cmd) {
                $plevelrequired = $filscdata[$i][3];
                $directcommand = $filscdata[$i][2];
                if ($debug) {
                    echo "DEBUG Command= {$directcommand} (rightsreq={$plevelrequired})<br>";
                }
            }
            //path2 redirector?
            if (strlen($directcommand) < 2) {
                continue;
            }
            $massivedynamics = 0;
            if ($debug) {
                echo "DEBUG for (i=1;i<" . strlen($directcommand) . ");{$i}++) {<br>";
            }
            $parsedcommand = $directcommand;
            //echo "здесь должен быть выход ибо сцуко виснет ";
            for ($i = 1; $i < strlen($directcommand) + 5; $i++) {
                $a1 = strpos($directcommand, "%", $i + 0) + 1;
                if ($a1) {
                    $massivedynamics++;
                    $a2 = strpos($directcommand, "%", 0 + $a1 + 1);
                    //this is first   просто это первый , общественный российский.
                    //echo "Try to corrent schetckik -LAAA!!!$i+$a2-1!!!!!!!new $i==$a2!!!!!!!!!!!!!!!!;<br>       ";
                    $oldi = $i;
                    //$i=$i+($a2-1);  почти верно
                    $i = $a2;
                    //echo "old i=$oldi  new i=$i<br>";
                    if ($oldi > $i) {
                        //echo "Logic error, breaking cycling<br>";
                        $i = $oldi;
                        $i = 100500;
                        continue;
                    }
                    $firstcoord[$massivedynamics] = $a1;
                    $lastcoord[$massivedynamics] = $a2;
                    $cut = substr($directcommand, $a1, $a2 - $a1);
                    $cutnow[$massivedynamics] = $cut;
                    $cutwprc = substr($directcommand, $a1 - 1, $a2 - $a1 + 2);
                    $cutwpercent[$massivedynamics] = $cutwprc;
                    $md = $massivedynamics;
                    if ($debug) {
                        echo "DEBUG Parse [{$i}] param=:: f=" . $firstcoord[$md] . " ; a2-l=" . $lastcoord[$md] . ";- is cut=" . $cutnow[$md] . " = %%::<blu>" . $cutwpercent[$md] . "</blu> = <grn>" . ${$cut} . "</grn><br>";
                    }
                    $replaceto = ${$cut};
                    // fukken shit - admin.php?/   а где все остальное?  крап$parsedcommand=str_replace ($parsedcommand, $cutwprc,$replaceto, $count=1);
                    $parsedcommand = str_replace($cutwprc, $replaceto, $parsedcommand, $count = 2);
                }
                //al@al-desktop:/media# mencoder
                //mencoder: relocation error: mencoder: symbol codec_wav_tags, version LIBAVFORMAT_52 not defined in file libavformat.so.52 with link time reference
            }
        }
        if ($debug) {
            echo "DEBUG Parsed command :: {$parsedcommand}<br>";
        }
        if ($parsedcommand) {
            echo " executing (if you enable system () of course )...<br>";
            $x = system($parsedcommand);
            //ping
            $f = fopen("_logs/cmd.log", "w");
            if ($f) {
                fwrite($f, $x);
            }
            fclose($f);
            lprint("5MIN");
            if ($debug) {
                echo "DEBUG {$x}";
            }
        }
        //    ob_flush () ;
        ////exit;
    }
    //echo "ACTION:cmd=$cmd,str ok,path ok,file=$fileforaction,pid=$pid>";// -+++-
    $path = str_replace("\\\\", "\\", $path);
    // проверка на вшивость -
    //$path=str_replace ("/","\\",$path);
    if ($cmd == cmsg("FMG_CPY_F") and $prauth[$ADM][12]) {
        global $path2;
        copy($path . $fileforaction, $path2 . $fileforaction);
        echo "copy({$path}{$fileforaction},{$path2});";
        echo cmsg("CP_END");
    }
    if ($cmd == cmsg("FMG_MOV_F") and $prauth[$ADM][12]) {
        global $path2;
        copy($path . $fileforaction, $path2 . $fileforaction);
        unlink($path . $fileforaction);
        echo cmsg("MOV_END");
    }
    if ($pr[101]) {
        if ($cmd == cmsg("FMG_DOWNLOAD") and $prauth[$ADM][9]) {
            ob_clean();
            $err = sendfile($path . "/" . $fileforaction);
        }
    }
    //костыль, ибо на некоторых тупых компьютерах почему то пропадает косая и соответственно файл скачать невозможно. куда она пропадает никто не знает.
    if ($cmd == cmsg("FMG_DOWNLOAD") and $prauth[$ADM][9]) {
        ob_clean();
        $err = sendfile($path . $fileforaction);
    }
    if ($cmd == cmsg("FMG_UPLOAD") and $prauth[$ADM][36] or $cmd == cmsg("FMG_DUMP_UPLOAD") and $prauth[$ADM][36]) {
        $path = del_endslash($path);
        //	if ($codekey==7) demo ();
        //<input type="hidden" name="MAX_FILE_SIZE" value="8000000000">
        ?>
<form enctype="multipart/form-data" action="filemgr.php" method="post">
	<input name=userfile type=file class=buttonS> <input type=Submit name=go class=buttonS>
	<input type = hidden name = path value ="<?php 
        echo $path;
        ?>
"><?php 
        hidekey("pid", $pid);
        if ($cmd == cmsg("FMG_DUMP_UPLOAD")) {
            echo "Dump loading.<br>";
        }
        echo "</form>";
        hidekey("write", $cmd);
        exit;
        //moved from non-function zone
    }
    //возможно сюда присобачим кнопку удаления из админки точнее ссылки с нее из w.php :)
    //if (($cmd==cmsg("FMG_UNSHARE"))and($prauth[$ADM][36])) {    echo "not implemented";}
    if ($cmd == cmsg("FMG_SHARE") and $prauth[$ADM][36] or $coreredir == "SH_UPDD_FL") {
        $path = del_endslash($path);
        // -- SHARE STEP 1 --
        if ($multiaction) {
            global $filearrcount;
            // 0
            if ($filearrcount > 0) {
                exit;
            }
            // disables FMG_SHARE for cycle executing;  only one action allowed for one or multiaction files.
            global $fileforaction;
            $filearrcount = count($fileforaction);
        }
        // праздник главное вовремя закончить  тогда он ьудет долго помниться как приятное событие
        // multiaction==1  CFG OPT FUTURE  должен добавлять много файлов по идее, однако пока отрабатывается по файлу за раз.
        if ($multiaction) {
            echo "Multiaction mode.  Selected files={$filearrcount}<br>";
        }
        //..if ($multiaction==1) {global $filearrcount;$stroka.=$filearrcount;};
        if (!$multiaction) {
            $file = $path . "/" . $fileforaction;
        }
        if ($multiaction) {
            for ($a = 0; $a < $filearrcount; $a++) {
                $file[$a] = $path . "/" . $fileforaction[$a];
                echo "File {$a}: {$fileforaction[$a]}<br>;";
            }
            $filelistmassive = base64_encode(implode($fileforaction, "¦"));
            //список и число объектов надо передать вместе с multiaction
        }
        //лучше всего массив с файлами передать в виде одной переменной
        if ($coreredir == "SH_UPDD_FL") {
            // maybe
            if (!$multiaction) {
                global $destinationfilename, $filesizeinmb;
                $file = $destinationfilename;
            }
            if ($multiaction) {
                global $destinationfilename, $filesizeinmb;
                echo "SH_UPDD_FL unimplemented<br>";
                echo "I dont know where i take destfilename {$destinationfilename} -- {$file} (file)<bR>";
                //   $file=$destinationfilename;
            }
        }
        ?>
<form enctype="multipart/form-data" action="filemgr.php" method="post"><?php 
        if (!$multiaction) {
            echo "File: {$file}<br>";
        }
        //Sif (!$multiaction) {   echo "File: $file<br>";}
        lprint(GEN_OPT);
        echo "<br>";
        radio("share", "#GENLNK_UNREG", "GENLNK_UNREG");
        echo "<br>";
        radio("share", "FMG_UNSHARE", "FMG_UNSHARE");
        echo "<br>";
        if (!$pr[70]) {
            radio("share", "GENLNK_REG", "GENLNK_REG");
            if ($ADM < 1) {
                lprint("FILE_UNAUTH_NOTE");
            }
            echo "<br>";
            if ($ADM > 0) {
                radio("share", "GEN_PLVL_USR", "GEN_PLVL_USR");
                echo "<select name=groupplevels>";
                for ($a = 0; $a < 10; $a++) {
                    echo "<option>" . $a;
                }
                echo "</select>";
                //if ($ADM<1) lprint ("FILE_UNAUTH_NOTE"); - check unauthorized access
                echo "<br>";
                //незарегистрированные в любом случае не будут видеть список пользователей ресурса в раздаче.
                radio("share", "GENLNK_USR", "GENLNK_USR");
                echo "<br>";
                echo "<select name=\"username[]\" multiple size=15>";
                for ($a = 1; $a < count($prauth); $a++) {
                    echo "<option>" . $prauth[$a][0] . "";
                    $cnt++;
                }
                echo "</select>";
            }
            echo "<br>";
        }
        lprint(COMM);
        inputtext("commfile", 15, $commfile);
        echo "<br>";
        if ($prauth[$ADM][2]) {
            checkbox(1, "yes");
            lprint(GEN_FL_EPX);
        } else {
            hidekey("yes", 1);
        }
        checkbox(1, "srchen");
        lprint(GEN_FILENSRCH);
        echo "<br>";
        if ($coreredir == "SH_UPDD_FL") {
            hidekey("coreredir", "step2");
        }
        if (!$multiaction) {
            hidekey("file", $file);
        }
        if ($multiaction) {
            hidekey("multiactionsign", $multiaction);
            hidekey("file", $filelistmassive);
            $path = add_endslash($path);
            hidekey("pathmulti", base64_encode($path));
            hidekey("filelistmassive", $filelistmassive);
            //посылаем дважды на пробу   и каждый раз нихрена нет почему то  какого ???
            hidekey("filearrcount", $filearrcount);
        }
        submitkey("go", "FMG_SHARE");
        // кнопка раздать файл
        hidekey("pid", $pid);
        ?>
</form>
<?php 
        echo " ";
        hidekey("write", $cmd);
        if ($multiaction == 1) {
            exit;
        }
        //   !
        ////moved from non-function zone -- SHARE STEP 1 -- ENDING
        //ЭТО ОКончание первого шага раздачи
    }
    //
    //	echo "Мы получили из пред сессии  $cmd $fileforaction!<br> <BR>";   ikonki mlya !
    //echo "<br>".cmsg ("FMG_MHLP")."<br>";  ХЕЛП ОТКЛЮЧЕН
    if ($noscreenmode == false) {
        echo "";
    }
    //тут пишем команды и выполняем их
    //echo "628_Failure-- protect::";print_r ($protect); неправильно обрабатывался массив  почему то вместо него шла переменная о_О CFG OPT FUTURE
    if (is_Array($protect)) {
        if (!$prauth[$ADM][38]) {
            $protect[] = "*.php";
        }
    }
    // скрываем файлы скрипта чтобы их никто не стер.
    //$protect[]="*.key";// не снимать комментарий - безопасность снизится до 0
    //if ($OSTYPE=="LINUX") if (($sd[10])AND($ADM==0)) $path=$path."/";  //bug with unregistered users  folder lost /
    //if ($OSTYPE=="WINDOWS") if (($sd[10])AND($ADM==0)) $path=$path."\\";
    if ($OSTYPE == "WINDOWS") {
        if ($cmd == cmsg("FMG_ENTER") and $prauth[$ADM][7]) {
            $path = $path . $fileforaction . "\\";
        }
    }
    if ($OSTYPE == "LINUX") {
        if ($cmd == cmsg("FMG_ENTER") and $prauth[$ADM][7]) {
            $path = $path . $fileforaction . "/";
        }
    }
    if ($OSTYPE == "WINDOWS") {
        if ($cmd == cmsg("FMG_DRV") and $prauth[$ADM][8]) {
            $path = $stroka . ":/";
        }
    }
    if ($OSTYPE == "LINUX") {
        if ($cmd == cmsg("FMG_DRV") and $prauth[$ADM][8]) {
            $path = "/media/{$stroka}/";
        }
    }
    if ($OSTYPE == "LINUXALT") {
        if ($cmd == cmsg("FMG_DRV") and $prauth[$ADM][8]) {
            $path = "/mnt/{$stroka}/";
        }
    }
    //CFG OPT FUTURE
    if ($OSTYPE == "WINDOWS") {
        if ($cmd == cmsg("FMG_EXIT") and $prauth[$ADM][7]) {
            $path = dirname($path) . "\\";
        }
    }
    //$path=folderupdir ($path);
    if ($OSTYPE == "LINUX") {
        if ($cmd == cmsg("FMG_EXIT") and $prauth[$ADM][7]) {
            $path = dirname($path) . "/";
        }
    }
    if ($cmd == cmsg("FMG_SRCH") and $prauth[$ADM][7]) {
        $file = $path . $fileforaction;
        // далее скрипт рассчитан на эту переменную, к томуже массив стереть надо:)
        $a = searchplus($file, $fileforaction, $stroka);
        if ($pr[12]) {
            $act = "FILEMGR_SRCH {$cmd} {$file} word={$stroka}";
            logwrite($act);
        }
        // логируемся
        //if ($a==false) die ("<br>Ошибка!Файл $file не найден!!!.<br>");
        echo " <form action=filemgr.php method=post>";
        hidekey("pid", $pid);
        hidekey("write", $cmd);
        submitkey("cmd" . $pid, "FMG_RESET");
        echo "</form>";
        exit;
    }
    //If ($prauth[$ADM][2]==true) {
    // blocked commands
    if ($cmd == cmsg("FMG_MKDIR") and $prauth[$ADM][12]) {
        //if ($codekey==7) demo ();
        if ($multiaction == 1) {
            global $filearrcount;
            $stroka .= $filearrcount;
        }
        $err = mkdir($path . $stroka);
    }
    //if ($cmd==cmsg("FMG_DELALL")) $err=rmdir ($path.$fileforaction);
    if ($cmd == cmsg("FMG_JOINFIL") and $prauth[$ADM][12]) {
        if ($codekey == 7) {
            demo();
        }
        $err = joinfiles($path, $mask, $protect, $stroka);
    }
    if ($cmd == cmsg("FMG_DELALL") and $prauth[$ADM][13]) {
        // rmdir теперь  полное удаление (!)
        if ($codekey == 7) {
            demo();
        }
        if ($prauth[$ADM][5] == true) {
            if ($stroka == "accept") {
                $err = kill_dir($path . $fileforaction);
            } else {
                echo "Вы не сказали accept";
            }
        } else {
            msgexiterror("notright", "", "disable");
            exit;
        }
        // круто удаляет отключим
    }
    if ($cmd == cmsg("FMG_EXECUTE") and $prauth[$ADM][8]) {
        if ($codekey == 7) {
            demo();
        }
        echo cmsg("FMG_MOD_IN") . "<br>";
        require $filemgrmod;
        echo cmsg("FMG_MOD_OUT") . "<br>";
    }
    if ($OSTYPE == "LINUX") {
        if ($cmd == cmsg("FMG_UNRAR") and $prauth[$ADM][12]) {
            $file = $path . $fileforaction;
            //rar_open rar_list PHP by standart is unsupported!!!
            $unrared = substr($fileforaction, 0, strrpos($fileforaction, '.'));
            // elf  elfkz  удаляем расширение рар
            @mkdir($path . $unrared);
            echo "Creating folder {$unrared}<br>";
            $extractionpoint = $path . $unrared;
            echo "Extracting to " . $extractionpoint . ";<br>";
            $zip = system("unrar x \"{$file}\" \"{$extractionpoint}\"");
            echo "<br>Result={$zip}  ";
            //echo '"unrar e \"'.$file.'\" \"'.$extractionpoint.'\""'; echo " <br>";
        }
    }
    if ($OSTYPE == "LINUX") {
        if ($cmd == cmsg("FMG_RAR") and $prauth[$ADM][12]) {
            $file = $path . $fileforaction;
            //rar_open rar_list PHP by standart is unsupported!!!
            $unrared = substr($fileforaction, 0, strrpos($fileforaction, '.'));
            // elf  elfkz  удаляем расширение рар
            // @mkdir ($path.$unrared);
            // echo "Creating folder $unrared<br>";
            $extractionpoint = $path . $unrared;
            echo "Archiving to  to " . $fileforaction . ".rar;<br>";
            $zip = system("rar a \"{$fileforaction}\".rar \"{$file}\"");
            echo "<br>Result={$zip}  ";
            //echo '"unrar e \"'.$file.'\" \"'.$extractionpoint.'\""'; echo " <br>";
        }
    }
    if ($cmd == cmsg("FMG_UNZIP") and $prauth[$ADM][12]) {
        $file = $path . $fileforaction;
        //rar_open rar_list PHP by standart is unsupported!!!
        $zip = zip_open($file);
        $unrared = substr($fileforaction, 0, strrpos($fileforaction, '.'));
        // elf  elfkz  удаляем расширение рар
        @mkdir($path . $unrared);
        if ($zip) {
            while ($zip_entry = zip_read($zip)) {
                echo "Name: " . zip_entry_name($zip_entry) . "\n";
                echo "Actual Filesize: " . zip_entry_filesize($zip_entry) . "\n";
                echo "Compressed Size: " . zip_entry_compressedsize($zip_entry) . "\n";
                echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "\n";
                if (zip_entry_open($zip, $zip_entry, "r")) {
                    echo "File Contents:\n";
                    $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
                    //echo "$buf\n";
                    $x = fopen($path . zip_entry_name($zip_entry), "w");
                    @fwrite($x, $buf);
                    @fclose($x);
                    zip_entry_close($zip_entry);
                }
                echo "\n";
            }
            zip_close($zip);
        }
    }
    if ($cmd == cmsg("FMG_TEST")) {
        //at this moment start new script
        echo cmsg("FMG_MOD_IN") . "<br>";
        require "mp3runonce.php";
        echo cmsg("FMG_MOD_OUT") . "<br>";
    }
    if ($cmd == cmsg("FMG_DEL") and $prauth[$ADM][13]) {
        if ($codekey == 7) {
            demo();
        }
        @($err1 = unlink($path . $fileforaction));
        @($err2 = rmdir($path . $fileforaction));
    }
    if ($cmd == cmsg("FMG_NEW") and $prauth[$ADM][12]) {
        //if ($codekey==7) demo ();
        //echo "ibane ug if ($multiaction==1) {global $filearrcount;$stroka.=$filearrcount;};<br>";
        if ($multiaction == 1) {
            global $filearrcount;
            $stroka .= $filearrcount;
        }
        @($err = fopen($path . $stroka, "r"));
        if ($err == false) {
            $err = fopen($path . $stroka, "a");
        }
    }
    if ($cmd == cmsg("FMG_REN") and $prauth[$ADM][12]) {
        if ($codekey == 7) {
            demo();
        }
        if ($multiaction == 1) {
            global $filearrcount;
            $stroka .= $filearrcount;
        }
        $err = rename($path . $fileforaction, $path . $stroka);
    }
    if ($cmd == cmsg("FMG_EDIT") and $prauth[$ADM][12]) {
        if ($codekey == 7) {
            demo();
        }
        $err = simpleedit($path . $fileforaction, $stroka);
    }
    if ($pr[12]) {
        $act = "FILEMGR_CMD {$cmd} {$file}({$path} {$fileforaction}) word={$stroka}";
        if ($cmd) {
            if ($cmd !== cmsg("FMG_ENTER") and $cmd !== cmsg("FMG_EXIT")) {
                logwrite($act);
            }
        }
    }
    // логируемся
    // } else { echo "<br><font color=red id=errfnt>".cmsg ("LIM")."</font>".cmsg ("FMG_HLP2");}
    #selectin files using  fileio.php
    if (!$path or $cmd == cmsg("FMG_RESET")) {
        $path = $defaultpath;
        $mask = "*.*";
        $file = "";
        $stroka = "";
    }
    //$path=str_replace ("//","/",$path);проверка на вшивость -
    if ($err) {
        echo "{$err} <br>";
    }
    //global disables visual menu for executing action
    if (!$multiaction) {
        // start menu show
        // маска для файла может быть поиск по части имени и поиск по формату
        //выделить обращение к директории и режим парсинга (маска)
        //насчет маски - возможно стоит ее добавить в поисковик МЕ
        if ($pid == 1) {
            if ($pr[86]) {
                if ($pr[87] or $prauth[$ADM][7]) {
                    //либо право на чтение у юзера, либо разрешение искать всем.
                    echo "<br><form action=filemgr.php method=post>";
                    lprint("SRCH_FILE");
                    inputtxt("searchfilenew", 30);
                    submitkey("start", "DALEE");
                    echo "</form>";
                    if ($searchfilenew) {
                        echo $searchfilenew;
                    }
                }
            }
        }
        echo "<form action=filemgr.php method=post>";
        hidekey("write", $cmd);
        //выделить отдельно модуль создания меню выбора файла.
        $file = getdirdata($path, $mask, $protect);
        //print_r ($file);
        if ($file) {
            asort($file);
        }
        $dircnt = count($file);
        if ($ADM > 0) {
            echo "<font color=blue>{$path}</font><br>";
        }
        hidekey("pid", $pid);
        // cобственно это и мешает многооконной идее ))   вроде теперь кое-
        for ($a = 1; $a < $maxmgrs + 1; $a++) {
            // save pid data
            $strokaname = "stroka" . $a;
            $pathname = "path" . $a;
            $fileforactionname = "fileforaction" . $a;
            $maskname = "mask" . $a;
            global ${$strokaname}, ${$pathname}, ${$fileforactionname}, ${$maskname};
            ${$pathname} = str_replace("\\\\", "\\", ${$pathname});
            ${$pathname} = str_replace("\\\\", "\\", ${$pathname});
            if ($OSTYPE == "WINDOWS") {
                $path = str_replace("\\\\", "\\", $path);
            }
            // проверка на вшивость -
            if ($OSTYPE == "LINUX") {
                $path = str_replace("\\\\", "\\", $path);
            }
            // проверка на вшивость -xc
            hidekey("stroka" . $a, ${$strokaname});
            hidekey("mask" . $a, ${$maskname});
            hidekey("path" . $a, ${$pathname});
            hidekey("fileforaction" . $a, ${$fileforactionname});
        }
        //lprint ("FMG_CREATE");
        if ($ADM > 0) {
            inputtext("stroka" . $pid, 15, $stroka);
        }
        //<textarea type = text name=stroka<?=$pid  cols= 15 rows=1 wrap=NONE><?=$stroka; </textarea>
        if ($ADM > 0) {
            $hidefolder = $prauth[$ADM][52];
        } else {
            $hidefolder = $pr[73];
        }
        if (!$hidefolder) {
            lprint("FMG_MASK");
            inputtext("mask" . $pid, 15, $mask);
        }
        //<textarea type = text name=mask<?=$pid  cols= 7 rows=1 wrap=NONE><?=$mask; </textarea> <?
        if ($noscreenmode) {
            if ($prauth[$ADM][7]) {
                //FMG.pid удален
                echo "generate cmd{$pid}<br>";
                //$cmdx="cmd".$pid;
                //работает но передает только вторую букву [1] FIXED?
                submitkey("cmd", "FMG_SRCH");
                submitkey("cmd", "FMG_ENTER");
                submitkey("cmd", "FMG_EXIT");
            }
            if ($prauth[$ADM][8]) {
                submitkey("cmd", "FMG_DRV");
                if ($filemgrmod and $prauth[$ADM][2] == true) {
                    submitkey("cmd", "FMG_EXECUTE");
                }
            }
            if ($prauth[$ADM][12]) {
                submitkey("cmd", "FMG_MKDIR");
                submitkey("cmd", "FMG_JOINFIL");
                submitkey("cmd", "FMG_UNZIP");
                submitkey("cmd", "FMG_TEST");
                if ($OSTYPE == "LINUX") {
                    submitkey("cmd", "FMG_UNRAR");
                }
                if ($OSTYPE == "LINUX") {
                    submitkey("cmd", "FMG_RAR");
                }
                submitkey("cmd", "FMG_REN");
                submitkey("cmd", "FMG_EDIT");
                submitkey("cmd", "FMG_NEW");
            }
            if ($prauth[$ADM][13]) {
                submitkey("cmd", "FMG_DELALL");
                submitkey("cmd", "FMG_DEL");
            }
            if ($prauth[$ADM][9]) {
                submitkey("cmd", "FMG_DOWNLOAD");
            }
            if ($prauth[$ADM][36]) {
                submitkey("cmd", "FMG_UPLOAD");
            }
            if ($prauth[$ADM][54]) {
                submitkey("cmd", "FMG_SHARE");
                //	 submitkey ("cmd","FMG_UNSHARE");
            }
            if (!$pr[75]) {
                submitkey("cmd", "FMG_REF");
                submitkey("cmd", "FMG_RESET");
            }
            if (!$hidefolder) {
                submitkey("cmd", "FMG_MASKAPPLY");
            }
            //scripting showkey mechanism
            if ($filscdata) {
                echo "<br>Configured scripts:<br>";
                for ($i = 1; $i < $filsccount; $i++) {
                    // echo "debug $i = $filscdata[$i][$keylanguage]   , key=[$keylanguage]<br>";
                    if ($filscdata[$i][$keylanguage] == "") {
                        continue;
                    }
                    submitkey("cmd", "." . $filscdata[$i][$keylanguage]);
                }
                //  fwrite ($a,"ID¦NAME¦Script¦Plevel¦keynames-icon¦russian¦english¦f1_russian¦f1_english¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦".$addOSenter);
                /*.*1¦mencoder %path%%file% -oac mp3lame -ovc x264 -o %path%%file%.avi¦0¦0¦перекодить в h264¦encode h264¦0¦0¦0¦0¦0
                2¦mencoder %path%%file% -oac mp3lame -ovc mpg -o %path%%file%.avi¦0¦0¦перекодить в mpeg¦encode mpeg¦0¦0¦0¦0¦0¦0
                */
            }
        }
        if ($noscreenmode == false) {
            if ($prauth[$ADM][7]) {
                submitimg("cmd" . $pid, "FMG_SRCH", "_ico/target.png");
                submitimg("cmd" . $pid, "FMG_ENTER", "_ico/openfolder.png");
                submitimg("cmd" . $pid, "FMG_EXIT", "_ico/folderup.png");
            }
            if ($prauth[$ADM][8]) {
                submitimg("cmd" . $pid, "FMG_DRV", "_ico/drv.png");
                submitimg("cmd" . $pid, "FMG_EXECUTE", "_ico/execute.png");
            }
            if ($prauth[$ADM][12]) {
                submitimg("cmd" . $pid, "FMG_MKDIR", "_ico/newfolder.png");
                submitimg("cmd" . $pid, "FMG_REN", "_ico/rename.png");
                submitimg("cmd" . $pid, "FMG_EDIT", "_ico/editfmg.png");
                submitimg("cmd" . $pid, "FMG_NEW", "_ico/newfile.png");
                submitimg("cmd" . $pid, "FMG_JOINFIL", "_ico/joinfiles.png");
                submitimg("cmd" . $pid, "FMG_UNZIP", "_ico/backup.png");
                submitimg("cmd" . $pid, "FMG_TEST", "_ico/apply_f2.png");
                if ($OSTYPE === "LINUX") {
                    submitimg("cmd" . $pid, "FMG_UNRAR", "_ico/backup.png");
                }
                if ($OSTYPE === "LINUX") {
                    submitimg("cmd" . $pid, "FMG_RAR", "_ico/backup.png");
                }
            }
            if ($prauth[$ADM][13]) {
                if ($prauth[$ADM][5] == true) {
                    submitimg("cmd" . $pid, "FMG_DELALL", "_ico/removefolder.png");
                }
                submitimg("cmd" . $pid, "FMG_DEL", "_ico/removefile.png");
            }
            if ($prauth[$ADM][9]) {
                submitimg("cmd" . $pid, "FMG_DOWNLOAD", "_ico/download.png");
            }
            if ($prauth[$ADM][36]) {
                if (!$pr[75]) {
                    submitimg("cmd" . $pid, "FMG_UPLOAD", "_ico/upload.png");
                }
                if ($pr[75]) {
                    submitimg("cmd" . $pid, "FMG_UPLOAD", "_ico/uploadalt.png");
                }
            }
            if ($prauth[$ADM][54]) {
                submitimg("cmd" . $pid, "FMG_SHARE", "_ico/w_accept.png");
                //submitimg ("cmd".$pid,"FMG_UNSHARE","_ico/w_close.png");
            }
            if (!$pr[75]) {
                submitimg("cmd" . $pid, "FMG_REF", "_ico/refresh.png");
                submitimg("cmd" . $pid, "FMG_RESET", "_ico/reset.png");
            }
            if (!$hidefolder) {
                submitimg("cmd" . $pid, "FMG_MASKAPPLY", "_ico/stargreen.png");
            }
        }
        if ($pid == 1 and $prauth[$ADM][12]) {
            // только 1 раз исполняется этот блок .  на 1 пиде.
            echo "<br>";
            echo cmsg("FMG2");
            submitimg("cmd" . $pid, "FMG_CPY_F", "_ico/copyfile.png");
            echo " ";
            submitimg("cmd" . $pid, "FMG_MOV_F", "_ico/movefile.png");
            echo " ";
            //submitimg ("cmd".$pid,"FMG_CPY_FLD","_ico/copyfolder.png");echo " ";
            submitimg("cmd" . $pid, "FMG_MOV_FLD", "_ico/movefolder.png");
            echo " ";
        }
        ?>
 <input type = hidden name = path<?php 
        echo $pid;
        ?>
 value ="<?php 
        echo $path;
        ?>
" >
<?php 
        if ($hidefolder) {
            unset($file);
        }
        //no filelist
        if ($file) {
            echo "<BR>" . cmsg("FMG_FILDB") . ":<select name =fileforaction" . $pid . "[] multiple size = " . $prauth[$ADM][49] . ">";
            sort($file);
            //нет реакции... print_r ($file); echo "Rewefkowe";
            for ($a = 0; $a < $dircnt; $a++) {
                if ($file[$a][0] === ".") {
                    continue;
                }
                if ($file[$a][0] === "..") {
                    continue;
                }
                if ($file[$a][0] === false) {
                    continue;
                }
                if ($file[$a][1]) {
                    $dir = "==>";
                } else {
                    $dir = "";
                }
                $fsizer = "";
                if ($dir !== "==>") {
                    $fsize = $file[$a][2];
                    // settype ($fsizer,"string");
                    if ($fsize < 1024) {
                        $fsizer = "[" . round($fsize, 1) . "b]";
                    }
                    if ($fsize < 1) {
                        $fsizer = "";
                    }
                    if ($fsize > 1024) {
                        $fsizer = "[" . round($fsize / 1024, 1) . "Kb]";
                    }
                    if ($fsize > 1024 * 1024) {
                        $fsizer = "[" . round($fsize / 1024 / 1024, 2) . "Mb]";
                    }
                    if ($fsize > 1024 * 1024 * 1024) {
                        $fsizer = "[" . round($fsize / 1024 / 1024 / 1024, 2) . "Gb]";
                    }
                }
                //$filesizemb=$file[$a][2]/1024;
                echo "<option value=\"" . $file[$a][0] . "\">" . $dir . $file[$a][0] . "" . $fsizer . "</option>";
            }
            // size (".$file[$a][2].")
            if ($pr[11] == 1) {
                //protected cmds
            }
            echo "</select></form>";
        }
        echo "<br>";
        $dbsdiskfree = round((int) (@disk_free_space($path) / (1024 * 1024 * 1024)), 1);
        $dbsdisktotal = (int) (@disk_total_space($path) / (1024 * 1024 * 1024));
        if ($pid == 1) {
            if ($ADM) {
                echo "Selected : Free " . $dbsdiskfree . "Gb ";
            }
            // сделать переключатель дисков или что то вроде указателя
            if ($ADM) {
                echo "\\" . $dbsdisktotal . "Gb<br>";
            }
            $disks = explode(",", $pr[79]);
            for ($a = 0; $a < count($disks); $a++) {
                $diskfree[$a] = round(@disk_free_space($disks[$a]) / (1024 * 1024 * 1024), 1);
                //Gb
                $disktotal[$a] = round(@disk_total_space($disks[$a]) / (1024 * 1024 * 1024), 1);
                //Gb
                if (!$pr[80]) {
                    echo "Disk " . $a . ":: " . $diskfree[$a] . "Gb \\ " . $disktotal[$a] . "Gb.<br>";
                }
                $avgfree = $avgfree + $diskfree[$a];
                $avgtotal = $avgtotal + $disktotal[$a];
            }
            $avgfree = $avgfree;
            $avgtotal = $avgtotal;
            echo " Summary :Free " . $avgfree . "Gb ";
            echo "\\" . $avgtotal . "Gb";
            echo "<br>";
        }
        //only pid 1 shows
    }
    // start menu show
}
コード例 #10
0
ファイル: login.php プロジェクト: serj-43/db-script
echo "<td>";
pictogramm("version.png", "r.php?viewid=.ver&base=0", cmsg("MNU_4"));
echo "<td>";
pictogramm("save_f.png", "admin.php?cmd=note", cmsg("MNU_5"));
echo "<td>";
pictogramm("userinfo.png", "r.php?viewid=.info&base=0", cmsg("MNU_9"));
echo "<td>";
pictogramm("test.png", "admin.php?cmd=test", cmsg("MNU_6"));
echo "<td>";
pictogramm("author.png", "r.php?vID=.author&base=0", cmsg("MNU_10"));
echo "</tr></table>";
?>
<br> 
  <form method="post"> <?php 
submitkey("helpgo", "HELP_EDIT");
submitkey("helpgo", "HELP_ADM");
//echo "</form>";
if ($helpgo == cmsg("HELP_EDIT")) {
    echo "<br>";
    lprint("WF_HELP");
    echo "<br>";
}
if ($helpgo == cmsg("HELP_ADM")) {
    if ($prauth[$ADM][2] == true) {
        echo "<br>" . cmsg("A_HLP") . "<br>";
    }
    if ($prauth[$ADM][2] == false) {
        echo "<br>" . cmsg("A_HLP2") . "<br>";
    }
    echo cmsg("AB_HELP");
}
コード例 #11
0
ファイル: r.php プロジェクト: serj-43/db-script
function relogin()
{
    //global $tbl;
    $tbl = 1;
    header('WWW-Authenticate: Basic realm="Модуль данных dbscript "');
    header('HTTP/1.0 401 Unauthorized');
    echo "<form action='getfile.php' METHOD='post'>\n";
    //{$_SERVER['PHP_SELF']}
    echo "<input type='hidden' name='SeenBefore' value='0' />\n";
    echo "<input type='hidden' name='OldAuth' value='{$_SERVER['PHP_AUTH_USER']}' />\n";
    submitkey("auth", "AUTHEN");
    echo "<br><br>Can be used only one times. Other way - is close and open your browser.";
    echo "</form></p>\n";
}
コード例 #12
0
ファイル: main.php プロジェクト: serj-43/db-script
    echo "</form>";
    exit(1);
}
$go = getvar('go');
if ($goID == "SENDMSG1") {
    @($inet = fopen("http://dj.chg.su/dbscript/update.txt", "r"));
    echo "getting data {$report} <br>this ok?...<br>";
    if ($inet == true) {
        lprint(INETD);
        echo "<form action=\"http://dj.chg.su/dbscript/old/main.php\" method=post>";
    }
    if ($inet == false) {
        lprint(NO_INET);
        echo "<form action=main.php method=post>";
    }
    submitkey("go", "SENDMSG");
    hidekey("goID", "SENDMSG");
    hidekey("inet", $inet);
    hidekey("str", $str . $report . "\n\r");
    echo "</form>";
    exit;
}
$go = getvar('go');
if ($goID == "SENDMSG") {
    @($inet = fopen("http://dj.chg.su/dbscript/update.txt", "r"));
    echo "getting data {$str}... saving...<br>";
    echo "sorry if encoding fail... it will fix later<br>";
    $w = csvopen("_logs/reportlog.dat", "a+", 1);
    if ($w == false) {
        mkdir("_logs");
        $w = csvopen("_logs/reportlog.dat", "a+", 1);