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>"; }
echo "Autodetect encoding ON.<br>"; } for ($b = $prdbdatacnt - 1; $b < $totaltables + $prdbdatacnt - 2; $b++) { $tbl = $b; $origID = $b - $prdbdatacnt + 1; $namebas = $tableselected[$origID]; if ($namebas == false) { break; } if ($namebas == array()) { break; } $filbas = $namebas; //if (1==1.45) if ($dbtype == "mysql") { // readdescripters partial copy $servermysql = $serv2; if (!$serv2) { $servermysql = $mainhostmysql; } // юзаем main $connect = dbs_connect($servermysql, $sd[14], $sd[17], $dbtype); if ($debugmode) { echo "{$connect}=dbs_connect ({$servermysql},{$sd['14']},{$sd['17']},{$dbtype});"; } //if (($ADM==0)AND(!$connect)) $silent=0;// на php 4 без авторизации окно не видно :( //if (!$silent)if (!$connect) msgexiterror ("SQLdown",$prdbdata[$tbl][6],"admin.php"); dbs_selectdb($dbselected, $connect, $dbtype); if ($debugmode) { echo "mysql_select_db ({$dbselected}, {$connect});;"; }
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."); $pr[43] = "127.0.0.1"; } $dbtype = "mysql"; @($connect = dbs_connect($pr[43], $sd[14], $sd[17], $dbtype)); dbs_selectdb("dbscriptbk", $connect, $dbtype); if ($connect == false) { errorlog("DEBUG checklogsql:Connection failure. Default host lost. {$pr['43']}"); return false; } $mysqlanswer = 1; $prefix = $sd[30]; $tablename = "_dbs_" . $prefix . "_news43"; $query = "SHOW CREATE TABLE `dbscriptbk`.`_dbs_" . $prefix . "_news43`;"; $silent = 0; $e = dbs_query($query, $connect, $dbtype); if ($e == true) { $mysqlanswer = true; } if ($e == false) { echo "initalizing tables..._dbs_" . $prefix . "_news43 ..."; $query = "CREATE DATABASE IF NOT EXISTS `dbscriptbk`;"; $a = dbs_query($query, $connect, $dbtype); if ($a == false) { sqlerr(); } $query = "CREATE TABLE {$tablename} ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `user` text NOT NULL DEFAULT '0', `plevelview` int(2) unsigned NOT NULL DEFAULT '0', `subject` text NOT NULL, `gutentag` text NOT NULL, `video` text NOT NULL, `message` text NOT NULL, `data` text NOT NULL,PRIMARY KEY (`id`) )\tENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;"; $a = dbs_query($query, $connect, $dbtype); if ($a == false) { sqlerr(); $mysqlanswer = false; } else { $mysqlanswer = true; } // внимание записи ВСЕХ существующих копий дбскрипт будут попадать в эти базы- модификации названия таблиц и т.п. пока отсутствуют CFG OPT FUTURE ## end of creating tables } return $mysqlanswer; }
function search() { global $go, $olddvID, $selectedfield, $field, $fields; global $commode, $multisearch, $vID, $adm; global $mode, $tbl, $desc, $pr, $review, $mv; global $site, $sd, $lock, $db, $totalbas, $k; global $filbas, $namebas, $scrdir, $formatscr, $category; global $tablemysqlselect, $hostmysqlselect, $categorymode, $scrcolumn; global $tblmysqlselect, $md1column, $md2column, $dbtype, $writeright; global $DBC, $vIDold, $mvcnt, $b, $dbc, $prdbdata, $scrnum, $mycol, $mycols; global $myrow; //bugs with screen without it global $res16; //maybe bug with res16 передаче global $vID2; global $limitenable, $selectenable, $field, $printlimit, $addsql, $kol, $dbtype, $xfgetlimit; // глобализация как обычно млин global $oldmode; if ($oldmode > 7 and $oldmode < 8) { // затычка для случая с сбросом искомой колонки $x = explode(".", $oldmode); $kol = $x[1]; $mode = 7; if ($debug) { echo "Reselect column for mode 7 : {$kol}"; } } //echo "dbtype=$dbtype;"; тут он есть , где потерялся тогда?? ########################################################### //MYSQLMODESEARCHSTART NON-GLOBAL MODES // ########################################################### //процедура поиска по имени - mode 1 - SQL if ($mode == 1 and $prdbdata[$tbl][12] != "fdb") { @($connect = dbs_connect($prdbdata[$tbl][6], $sd[14], $sd[17], $dbtype)); @dbs_selectdb($prdbdata[$tbl][9], $connect, $dbtype); $data = readdescripters(); // получение данных заголовка массив mycol кол-во mycols global $query, $connect; global $mzdata, $mycols, $myrow, $findrecords, $scrcolumn; $query = "SELECT * FROM `" . $prdbdata[$tbl][5] . "` WHERE " . $mycol[$md1column] . " LIKE '%" . $vID . "%'"; if ($prdbdata[$tbl][15] > 0 and $vID2 !== "") { $query = $query . " AND " . $mycol[$prdbdata[$tbl][15]] . "= '" . $vID2 . "'"; } $query = $query . $addsql; // сортировка, лимит selectedprintsql($data); if ($multisearch == 0) { exit(1); } } //процедура поиска по коду - mode 2 - SQL if ($mode == 2 and $prdbdata[$tbl][12] != "fdb") { $connect = dbs_connect($prdbdata[$tbl][6], $sd[14], $sd[17], $dbtype); dbs_selectdb($prdbdata[$tbl][9], $connect, $dbtype); $data = readdescripters(); // получение данных заголовка массив mycol кол-во mycols global $query, $connect; global $mzdata, $mycols, $myrow, $findrecords, $scrcolumn; settype($vID, "integer"); if ($vID == 0) { msgexiterror("needcode", $mode, "disable"); } $query = "SELECT * FROM `" . $prdbdata[$tbl][5] . "` WHERE " . $mycol[$md2column] . "= " . $vID; if ($prdbdata[$tbl][15] > 0 and $vID2 !== "") { $query = $query . " AND " . $mycol[$prdbdata[$tbl][15]] . "= '" . $vID2 . "'"; } $query = $query . $addsql; // сортировка, лимит selectedprintsql($data); if ($multisearch == 0) { exit(1); } } //mode 3 процедура SQL поиска по категории if ($mode == 3 and $prdbdata[$tbl][12] != "fdb") { $connect = dbs_connect($prdbdata[$tbl][6], $sd[14], $sd[17], $dbtype); dbs_selectdb($prdbdata[$tbl][9], $connect, $dbtype); if ($categorymode == false) { msgexiterror("nocategory", $mode, "disable"); } $data = readdescripters(); // получение данных заголовка массив mycol кол-во mycols $myrow = $data[0]; global $query, $connect, $mzdata, $mycols, $myrow, $findrecords, $scrcolumn; $query = "SELECT * FROM `" . $prdbdata[$tbl][5] . "` WHERE " . $mycol[$category] . " LIKE '%" . $vID . "%'"; if ($prdbdata[$tbl][15] > 0 and $vID2 !== "") { $query = $query . " AND " . $mycol[$prdbdata[$tbl][15]] . "= '" . $vID2 . "'"; } $query = $query . $addsql; // сортировка, лимит selectedprintsql($data); if ($multisearch == 0) { exit(1); } } if ($mode == 9) { $connect = dbs_connect($prdbdata[$tbl][6], $sd[14], $sd[17], $dbtype); dbs_selectdb($prdbdata[$tbl][9], $connect, $dbtype); global $fullfield; if ($categorymode == false) { msgexiterror("nocategory", $mode, "disable"); } $data = readdescripters(); // получение данных заголовка массив mycol кол-во mycols $myrow = $data[0]; // bordf\der $namecategorycol = $myrow[$category]; $query = "SELECT DISTINCT {$namecategorycol} FROM `" . $prdbdata[$tbl][5] . "` WHERE " . $mycol[$category] . " LIKE '%" . $vID . "%'"; if ($vID == "!101") { $query = "SELECT DISTINCT {$namecategorycol} FROM `" . $prdbdata[$tbl][5] . "`"; } if ($fullfield) { $query = str_replace("LIKE", "=", $query); $query = str_replace("%", "", $query); //echo $query; } if (!$pr[8]) { echo "DEBUG - {$query}"; } $result = dbs_query($query, $dbtype); while ($myrow = dbs_fetch_row($result, $dbtype)) { echo "<a href='r.php?tbl={$tbl}&mode=3&vID=" . $myrow[0] . "'> " . $myrow[0] . "</a><br>"; } exit; } //mode 8 процедура SQL поиска по любой колонке if ($mode == 8 and $prdbdata[$tbl][12] != "fdb") { global $presettedmode; $mode = 6; $presettedmode = 3; } if ($mode == 7 and $prdbdata[$tbl][12] != "fdb") { //ubrat vse vybory polej ne svyazannye s tekushim mode==7( po menu) global $presettedmode, $res16, $mznumb, $codekey, $fullfield; echo "kol={$kol}"; $field = $kol; global $prauth, $ADM; // добавлено для переключения продвинутого поиска // echo "Field activated first $field<br>"; //TO DELETE AFTE $mode = 6; $mode7 = 1; //$presettedmode=1.1; bylo 1.1 $eid = encodevID($vID); $eolddid = encodevID($olddvID); $selectedfield = "!1" . $field; // если field выбран то выполняется ?> <form action="r.php" method=post> <?php if ($multisearch == 1) { // urlencode ($oldvID);serialize ($olddvID); $vID="!S".$vID; hidekey("vID", $eolddid); } else { hidekey("vID", $eid); } hidekey("mode", 7); hidekey("adm", $adm); hidekey("commode", $commode); hidekey("tbl", $tbl); hidekey("multisearch", $multisearch); hidekey("fullfield", $fullfield); hidekey("selectedfield", $selectedfield); hidekey("review", $review); hidekey("vID2", $vID2); hidekey("kol", $kol); // submitkey ("go","R_SEL_ROW");// проверить чтобудет если искать по значению сортировки удаляем уже не нужно :)) echo " </form> "; } //mode 6 процедура SQL поиска по выбранной колонке if ($mode == 6 and $prdbdata[$tbl][12] != "fdb") { $connect = dbs_connect($prdbdata[$tbl][6], $sd[14], $sd[17], $dbtype); global $categorymode, $mode, $fullfield; global $mode6, $m6field, $m6count; global $mycols, $mycol, $del, $res16, $presettedmode, $selectedfield, $fields; global $partquery, $vID, $mznumb; $res16 = $prdbdata[$tbl][16]; // Лимит колонок if ($mode7 == 1) { $res16 = $selectedfield; } $a = prefixdecode($res16); //echo "PREFIX $res16"; dbs_selectdb($prdbdata[$tbl][9], $connect, $dbtype); $data = readdescripters(); // получение данных заголовка массив mycol кол-во mycols //$mycol[$md1column]".." $mode6 = array(); global $query, $connect; global $mzdata, $mycols, $myrow; global $findrecords, $scrcolumn; decodecols(); $query = "SELECT * FROM `" . $prdbdata[$tbl][5] . "` WHERE " . $partquery; if ($prdbdata[$tbl][15] > 0 and $vID2 !== "") { $query = $query . " AND " . $mycol[$prdbdata[$tbl][15]] . "= '" . $vID2 . "'"; } //if (!$pr[8]) { echo "AFTER DECODE categorymode=$categorymode,mode=$mode,m6count=$m6count, mode6=$mode6,m6field=$m6field,mycols=$mycols,mycol=$mycol,del=$del,partquery=$partquery,vID=$vID<br>";} $query = $query . $addsql; // сортировка, лимит selectedprintsql($data); if ($multisearch == 0) { exit(1); } } //MYSQLMODESEARCHEND ########################################################### //CSVMODESEARCH NON GLOBAL MODE // ########################################################### // if (($prdbdata[$tbl][15]>0)AND ($vID2!=="")) { $query = $query." AND ".$mycol[$prdbdata[$tbl][15]]."= '".$vID2."'";}; // не внедрено т.к. есть ошибка с вызовом из screen которая заставляет правильно от 1 рез. // процедура поиска по имени - mode 1 - CSV if ($mode == 1 and $prdbdata[$tbl][12] == "fdb") { $findrecords = 0; echo cmsg("RF_RESSRCH") . $namebas . " - " . $vID . ":\n\n"; $vIDold = $vID; $vID = strtolower($vID); // @$f=fopen ("_data/".$filbas,"r") or die ("Файл базы не найден"); // echo ""; $z=xfgetcsv ($f,$xfgetlimit,"¦"); // $mycol=$z;$myrow=array ();$selected=array ();//added //$md1column=1;$md2column=0; //echo "$cfgmod=cfg;$filbas=fil;$namebas=na,;$md1column=md1;$md2column=md2;<br>"; $data = readdescripters(); $f = $data[4]; //echo "$cfgmod=cfg;$filbas=fil;$namebas=na,;$md1column=md1;$md2column=md2;<br>";rd вообще не возвр данные. rfsysdatareq(); // возвращаем потерянные хер знает где переменные for ($a = 0; $dbc = xfgetcsv($f, $xfgetlimit, "¦"); $a++) { $k = count($dbc); //echo "md1=$md1column";// dbc-стр табл к- число кол з-заголовок $findid = strpos(strtolower($dbc[$md1column]), strtolower($vID)); if ($findid !== false && $dbc[$md1column] !== "") { // проверка условия, не может быть удалена $selected[] = $dbc; //added } } // echo "selectedprintcsv ($mycol,$selected); ".$mycol[0].$selected[0]."--".$selected[0][0]."<br>"; вывод selectedprintcsv($data, $mycol, $selected); //fclose ($f); if ($multisearch == 0) { exit(1); } // $k= count($dbc) - вычисление кол-ва столбцов } //поиск по коду - mode 2 - CSV if ($mode == 2 and $prdbdata[$tbl][12] == "fdb") { $data = readdescripters(); $f = $data[4]; $cfgmod = $data[5]; rfsysdatareq(); // возвращаем потерянные хер знает где переменные if (!$cfgmod) { // сделано только для конфигурации, в остальных случаях эти базы мало отличаются settype($vID, "integer"); if ($vID == 0) { msgexiterror("needcode", $mode, "disable"); } } $findrecords = 0; echo cmsg("RF_RESSRCH") . $namebas . " - " . $vID . ":\n\n"; for ($a = 0; $dbc = xfgetcsv($f, $xfgetlimit, "¦"); $a++) { $k = count($dbc); // dbc-стр табл к- число кол з-заголовок if ($dbc[$md2column] == $vID) { $selected[] = $dbc; } // c проверкой } selectedprintcsv($data, $mycol, $selected); if ($multisearch == 0) { exit(1); } } //mode 8 процедура CSV поиска по любой колонке if ($mode == 8 and $prdbdata[$tbl][12] == "fdb") { global $presettedmode; $mode = 6; $presettedmode = 3; } if ($mode == 7 and $prdbdata[$tbl][12] == "fdb") { //ubrat vse vybory polej ne svyazannye s tekushim mode==7( po menu) if ($debug) { echo "m7 Текущий vID {$vID} res16 {$res16} STR595<br>"; } global $prauth, $ADM, $codekey; // добавлено для переключения продвинутого поиска global $presettedmode, $mzdata, $mzcnt, $res16, $mznumb, $mycol, $fullfield; if ($debug) { echo "kol={$kol}"; } $field = $kol; /// echo "encodevID $eid; encodevID(old) $eolddid "; $mode = 6; $mode7 = 1; //$presettedmode=-1; bylo 1.1 //.. if (!$cfgmod) @$f=csvopen ("_data/".$filbas,"r","0"); //.. if ($cfgmod==1) @$f=csvopen ("_conf/".$filbas,"r","0");echo "<br>"; $eid = encodevID($vID); $eolddid = encodevID($olddvID); //setup id if ($field === false or $go == "Выбрать_колонку") { echo "Выберите поле для поиска:<br>"; // Вставлено для выбора поля if ($debug) { echo "result res16={$res16} selfield {$selectedfield} STR603 a={$a} m6={$m6field['0']} , {$m6field['1']} , {$m6field['2']} <br>"; } if ($debug) { echo " do (574) readdesc mznumb1=" . $mznumb[1] . " mycols" . $mycols . " mzdata1=" . $mzdata[1] . " plevel=" . $plevel[1] . " mycol1=" . $mycol[1] . "<br>"; } $data = readdescripters(); if ($debug) { echo " do (576) readdesc mznumb1=" . $mznumb[1] . " mycols" . $mycols . " mzdata1=" . $mzdata[1] . " plevel=" . $plevel[1] . " mycol1=" . $mycol[1] . "<br>"; } $mznumb = $data[2]; $mycols = $data[6]; $mzdata = $data[0]; $plevels = $data[1]; $mycol = $mzdata; $a = prefixdecode($res16); decodecols($res16); if ($debug) { echo "result res16={$res16} selfield {$selectedfield} STR607 a={$a} m6={$m6field['0']} , {$m6field['1']} , {$m6field['2']} <br>"; } // echo "Всего колонок $mycols - ищем значения из списка $mznumb[0];$mznumb[1];$mznumb[2];$mznumb[3]<br>"; ?> <form action="r.php" method=post> <?php if ($multisearch == 1) { hidekey("vID", $eolddid); } else { hidekey("vID", $eid); } hidekey("mode", 7); hidekey("adm", $adm); hidekey("commode", $commode); hidekey("tbl", $tbl); hidekey("multisearch", $multisearch); hidekey("fullfield", $fullfield); //$fullfield hidekey("selectedfield", $selectedfield); hidekey("kol", $kol); echo " do (593) readdesc mznumb1=" . $mznumb[1] . " mycols" . $mycols . " mzdata1=" . $mzdata[1] . " plevel=" . $plevel[1] . " mycol1=" . $mycol[1] . "<br>"; $data = readdescripters(); //print_r ($data); $mznumb = $data[2]; $mycols = $data[6]; $mzdata = $data[0]; $plevels = $data[1]; //$mycol=$mzdata; echo "<br>do 596 readdesc mznumb1=" . $mznumb[1] . " mycols" . $mycols . " mzdata1=" . $mzdata[1] . " plevel=" . $plevel[1] . " mycol1=" . $mycol[1] . "<br>"; echo "result res16={$res16} STR621<br>"; $field = printfield($data, "nfield"); ?> <input type = "image" name = "go" src = "_ico/find.png"> </form><?php $selectedfield = "!1" . $field; exit; } else { $selectedfield = "!1" . $field; ?> <form action="r.php" method=post> <?php if ($multisearch == 1) { hidekey("vID", $eolddid); } else { hidekey("vID", $eid); } hidekey("mode", 7); hidekey("adm", $adm); hidekey("commode", $commode); hidekey("tbl", $tbl); hidekey("fullfield", $fullfield); //$fullfield hidekey("multisearch", $multisearch); hidekey("selectedfield", $selectedfield); hidekey("kol", $kol); //submitkey ("go","R_SEL_ROW"); echo "</form> "; } } //mode 6 процедура CSV поиска по новой колонке НЕ СДЕЛАНО // процедура поиска по имени - mode 1 - CSV if ($mode == 6 and $prdbdata[$tbl][12] == "fdb") { if ($debug) { echo "m6 Текущий vID {$vID}<br>"; } //echo "result res16=$res16 STR656"; global $categorymode, $mode; // добавлено для совместимости с decodecols () global $mode6, $m6field, $m6count, $mycols, $mycol, $del; global $partquery, $vID, $mzcnt, $mznumb, $presettedmode, $xfgetlimit, $fullfield; $mznumb = array(); // TEST ZONE $res16 = $prdbdata[$tbl][16]; // Лимит колонок if ($mode7 == 1) { $res16 = $selectedfield; } if ($debug) { echo "{$res16} - "; } $a = prefixdecode($res16); //echo "decoded $a=$res16 $categorymode STR 668"; //декодирование строки $data = readdescripters(); // получение данных заголовка массив mycol кол-во mycols global $mzdata; $mzcnt = count($mzdata); //$mycol[$md1column]".." $mycol = $mzdata; //echo "result res16=$res16 ?STR671"; $mode6 = array(); decodecols(); //echo "result res16=$res16 STR 672"; for ($aaa = 0; $aaa < count($mode6); $aaa++) { $fndcolumn = $mznumb[$aaa]; $findrecords = 0; //echo "Результаты поиска в ".$namebas." - по колонке ".$mzdata[$fndcolumn]."($fndcolumn) -- ".$vID.":\n\n"; $vIDold = $vID; $vID = strtolower($vID); if ($vID == "!0") { $vID == ""; $notnull = 1; } $f = $data[4]; $data = readdescripters(); $f = $data[4]; //mode 6- список всех используемых в этой сессии колонок если есть ошибки в мультипоиске можно передавать его после первой итерации //echo "1count mode6 ".count ($mode6) ."count=$a of $k -- fndcol=$fndcolumn; vid=$vID ; ".$dbc[$fndcolumn]."<br>"; //$dbc=xfgetcsv ($f,$xfgetlimit,"¦"); //echo $dbc;echo " ($f,$xfgetlimit,¦); "; for ($a = 0; $dbc = xfgetcsv($f, $xfgetlimit, "¦"); $a++) { $k = count($dbc); $myrow = $dbc; // echo "count=$a of $k -- fndcol=$fndcolumn; vid=$vID ; ".$dbc[$fndcolumn]."<br>"; // for ($b=0;$b<$k;$b++) { Бла бла бла;Фэнтэзи;Комедия;Боевик ищет фигово переключает на 1,4 films al где то производися сброс значения и оно уже не восстанавливается // $mode7=1 если вход был оттуда.копать здесь надо. if (!$fullfield) { $findid = strpos(strtolower($dbc[$fndcolumn]), $vID); } if ($fullfield) { if ($dbc[$fndcolumn] == $vID) { $selected[] = $dbc; } } if ($fullfield) { if ($dbc[$fndcolumn] == false and false == $vID) { $selected[] = $dbc; } } //echo "$fullfield ffM<br> $findid id"; if ($notnull and $dbc[$fndcolumn] != "") { $findid = 1; } if ($notnull and $dbc[$fndcolumn] == "0") { $findid = false; } if ($findid !== false && $dbc[$fndcolumn] !== "") { if (!$fullfield) { $selected[] = $dbc; } //added $findid=false; } } } selectedprintcsv($data, $mycol, $selected); //echo "result res16=$res16 STR695 END CYCLE<br>"; if (!$pr[8]) { echo "AFTER DECODE categorymode={$categorymode},mode={$mode},m6count={$m6count},\t mode6={$mode6},m6field={$m6field},mycols={$mycols},mycol={$mycol},del={$del},partquery={$partquery},vID={$vID}<br>"; } // fclose ($f); if ($multisearch == 0) { exit(1); } } // поиск по категории // процедура ищет фразу потом ищет все коды до следующей фразы // проблема в $prdbdata[$a][category] - это одна и та же колонка :) // будет сделана после покупки //режим категории один - выполняется преобразование цифр //script update csv 2,3,4 cat to 1 else return false if ($mode == 3 and $categorymode == false) { msgexiterror("nocategory", $mode, "disable"); } if ($prdbdata[$tbl][12] == "fdb") { if ($mode == 3 and $categorymode == 1 or $mode == 3 and $categorymode == 4) { echo "READFILE:OLD_CORE_MODE.<br>"; updatedb326($filbas); $findrecords = 0; // общее количество найденных позиций //$category =1; категория содержится в этой переменной - this will reset category TEST ONLY! if ($category === "" || $category === false) { msgexiterror("nocategory", $mode, "disable"); } if ($vID !== "!101") { echo "По вашему запросу " . $vID . " было найдено:\n\n"; } $vIDorig = $vID; $vID = strtolower($vID); $found = 0; @($f = fopen("_data/" . $filbas, "r")) or die("Не удалось выполнить подключение к базе, попробуйте позже."); echo ""; $z = xfgetcsv($f, $xfgetlimit, "¦"); // заголовок for ($a = 0; $dbc = xfgetcsv($f, $xfgetlimit, "¦"); $a++) { if ($limitenable and $findrecords > $printlimit) { echo "Всего значений : {$findrecords}<br><br> "; exit; } $k = count($dbc) - $tablemysqlselect; // удаление колонки, определено в prop echo "<tbody><table border=3 width=100% bgcolor=white>"; echo "<tr>"; for ($b = 0; $b < $k; $b++) { // multithread options experimental // multithread options $content1 = strtolower($dbc[$category]); $findid1 = strpos($content1, $vID); $content2 = strtolower($dbc[$category + 1]); $findid2 = strpos($content2, $vID); $content1int = $content1; settype($content1int, integer); // $content2int=$content2; settype ($content2int,integer); //!! if ($found == 1 and $content1 !== "" and $content1int == 0) { $found = 0; } // if (($found==2)AND($content2!=="")) { $found=0;} //OR($findid2!==false) if ($findid1 !== false or $found == 1) { $scrnum = $dbc[$scrcolumn]; $found = 1; //$findrecords++; # возможно ошибка 2-раза $data = wordwrap($dbc[$b], 82, "\n"); if ($findid1 !== false and $b == 0) { echo "<bb><cite>{$data}</cite></bb></tr>"; continue; } //if (($findid2!==false)AND($b==0)) { echo "<bb><cite>$data</cite></bb></tr>"; continue; } if ($hostmysqlselect == 1 && $b == 0) { echo "</tr>"; continue; } if ($data == "") { echo "</tr>"; continue; } echo "<td><bb>{$z[$b]}</bb>: " . "{$data}<br></td><td>"; //$findrecords++; if ($b == 1) { screen(); } echo "</td></tr>"; if ($b == $k - 1) { echo "<br>"; $findrecords++; } } //idfound if ($vID == "!101" and $content1 !== "" and $content1int == 0) { $findrecords++; echo "<bb><ii>" . strtoupper($content1) . "</ii></bb>"; ?> <form action="r.php" method=post><?php hidekey("go", $content1); hidekey("vID", $content1); hidekey("mode", 3); hidekey("adm", $adm); hidekey("commode", $commode); hidekey("tbl", $tbl); echo "</form>"; break; } //!101 //insertion m3c4 old } //b } // процедура сообщения об отсутствии искомого объекта 1 из 3 // Режим категории 4 очень сильно тормозит систему. подобно основному режиму 4 //DELETED if ($findrecords === 0 and $adm == 1 or $findrecords === 0 and $pr[3] == 1) { print "<font color=red id=errfnt><bb>Не найдено</bb><br></font>"; } // restart engine m3с1 fclose($f); if ($multisearch == 0) { echo "Всего значений : {$findrecords}<br><br> "; exit(1); } } } // режим категории 1 (в 4-м ищет :) )не ищет конкретные значение в отличие от режима 2 которых их пытается найти везде. if ($prdbdata[$tbl][12] == "fdb") { if ($mode == 3 and $categorymode > 1 and $categorymode !== 4) { updatedb326($filbas); // апдейтер для улучшенного формата написан // осталось сделать обработку файла в ноовм формате (_conv326) echo "READFILE:OLD_CORE_MODE.<br>"; // общее количество найденных позиций //if ($vID!=="!101") { echo cmsg ("RF_RESSRCH)."".$namebas." - ".$vID.":\n\n";} //$category =1; категория содержится в этой переменной - this will reset category TEST ONLY! if ($category === "" || $category === false) { msgexiterror("nocategory", $mode, "disable"); } // !101 - tablemysqlselect - hostmysqlselect - - функции из prop потом как альт. включить основной скрипт //если колонка 1findid!==false то это заголовок и он может иметь описание. только выделить его.выделяя //если колонка 1findid==false то проверяем колонку 2findid!==false пишем стд модулем //если колонка 1==false и 2==false пишем значение 3 если уже находились такие //echo $findrecords;//if ($vID!=="!101") { echo "По вашему запросу ".$vID." было найдено:\n\n"; } $vIDorig = $vID; $vID = strtolower($vID); $found = 0; @($f = fopen("_data/" . $filbas, "r")) or die("Не удалось выполнить подключение к базе, попробуйте позже."); echo ""; $z = xfgetcsv($f, $xfgetlimit, "¦"); // заголовок for ($a = 0; $dbc = xfgetcsv($f, $xfgetlimit, "¦"); $a++) { if ($limitenable and $findrecords > $printlimit) { echo "Всего значений : {$findrecords}<br><br> "; exit; } $k = count($dbc) - $tablemysqlselect; // удаление колонки, определено в prop echo "<tbody><table border=3 width=100% bgcolor=white>"; echo "<tr>"; for ($b = 0; $b < $k; $b++) { // echo "_SYS_content -- ".$content." findid -- ".$findid." vID -- ".$vID."\n"; $content1 = strtolower($dbc[$category]); $findid1 = strpos($content1, $vID); $content2 = strtolower($dbc[$category + 1]); $findid2 = strpos($content2, $vID); if ($found == 1 and $content1 !== "") { $found = 0; } if ($found == 2 and $content2 !== "") { $found = 0; } if ($findid1 !== false or $found == 1) { $scrnum = $dbc[$scrcolumn]; $found = 1; //$findrecords++; $data = wordwrap($dbc[$b], 82, "\n"); if ($findid1 !== false and $b == 0) { echo "<bb><cite>{$data}</cite></bb></tr>"; continue; } if ($hostmysqlselect == 1 && $b == 0) { echo "</tr>"; continue; } if ($data == "") { echo "</tr>"; continue; } echo "<td><bb>{$z[$b]}</bb>: " . "{$data}<br></td><td>"; if ($b == 1) { screen(); } echo "</td></tr>"; if ($b == $k - 1) { echo "<br>"; $findrecords++; } } if ($vID == "!101" and $content1 !== "") { $findrecords++; echo "<bb><ii>" . strtoupper($content1) . "</ii></bb>"; ?> <form action="r.php" method=post> <?php hidekey("vID", $content1); hidekey("mode", 3); hidekey("adm", $adm); hidekey("commode", $commode); hidekey("tbl", $tbl); hidekey("go", $content1); hidekey("kol", $kol); echo "</form>"; break; } // режим категории 2 позволяет смотреть колонку 2, режим 3 - не позволяет (только findid1) // любое ненулевое значение первой колонки трактуется как новая категория в отличие от 1 if ($categorymode === 3) { if ($findrecords === 0 and $adm == 1 or $findrecords === 0 and $pr[3] == 1) { print "<font color=red id=errfnt><bb>Не найдено</bb><br></font>"; print "Среди категорий не удалось найти искомую группу.<br>Поискать среди наименований?"; ?> <form action="r.php" method=post><?php hidekey("vID", $vID); hidekey("mode", 1); hidekey("adm", $adm); hidekey("commode", $commode); hidekey("tbl", $tbl); hidekey("go", $content1); echo "<p align=center>"; submitkey("go", "YES"); echo "</p></form>"; echo "<form action=disable method=post> \t<p align=center>"; submitkey("go", "NO"); echo "</p></form>"; } } // restart engine m3с2 if ($categorymode == 2) { if ($findid2 !== false or $found == 2) { $scrnum = $dbc[$scrcolumn]; $found = 2; $data = wordwrap($dbc[$b], 82, "\n"); if ($findid1 !== false and $b == 0) { echo "<bb><cite>{$data}</cite></bb></tr>"; continue; } if ($hostmysqlselect == 1 && $b == 0) { echo "</tr>"; continue; } if ($data == "") { echo "</tr>"; continue; } echo "<td><bb>{$z[$b]}</bb>: " . "{$data}<br></td><td>"; if ($b == 1) { screen(); } echo "</td></tr>"; if ($b == $k - 1) { echo "<br>"; $findrecords++; } } } } } if ($findrecords === 0 and $adm == 1 or $findrecords === 0 and $pr[3] == 1) { print "<font color=red id=errfnt><bb>Не найдено</bb><br></font>"; } // restart engine m3с3 fclose($f); if ($multisearch == 0) { echo "Всего значений : {$findrecords}<br><br> "; exit(1); } } } }