function main($imp, $cmd) { global $SIDU; if (!$SIDU[1]) { $err = @lang(2201); } elseif ($SIDU['eng'] == 'pg' && !$SIDU[2]) { $err = @lang(2202); } echo "<form action='imp.php?id={$SIDU['0']},{$SIDU['1']},{$SIDU['2']}' method='post' enctype='multipart/form-data'>\n\t<div class='web'><p class='dot'><b>", @lang(2203), ": <i class='red'>DB = {$SIDU['1']}", $SIDU[2] ? ".{$SIDU['2']}" : "", "</i></b></p>"; if ($err) { echo "<p class='err'>{$err}</p></div></form>"; return; } if ($cmd) { $SIDU[4] = $imp['tab']; } if ($SIDU[4]) { $res = @tm("SQL", "SELECT * FROM " . @goodname($SIDU[4]) . " LIMIT 1"); $col = @get_sql_col($res, $SIDU['eng']); foreach ($col as $v) { $imp['cols'][] = $v[0]; } } if (!$imp['col']) { $imp['col'] = @implode("\n", $imp['cols']); } if ($cmd) { $err = @valid_data($SIDU, $imp); if ($err) { echo "<p class='err'>{$err}</p>"; } else { return @save_data($SIDU, $imp); } } if ($SIDU['eng'] == 'my') { $sql = "SHOW TABLES from `{$SIDU['1']}`"; } elseif ($SIDU['eng'] == 'sl') { $sql = "SELECT name FROM sqlite_master WHERE type='table' ORDER BY 1"; } else { $sql = "SELECT relname FROM pg_class a,pg_namespace b\nWHERE a.relnamespace=b.oid AND b.nspname='public' AND a.relkind='r' ORDER BY 1"; } $arr = @sql2arr($sql, 1); $tabs[0] = @lang(2204); foreach ($arr as $v) { $tabs[$v] = $v; } echo "<table><tr><td>", @lang(2205), ":</td><td>", @html_form("select", "imp[tab]", $SIDU[4], "", "", "onchange=\"location='imp.php?id={$SIDU['0']},{$SIDU['1']},{$SIDU['2']},r,'+this.options[this.selectedIndex].value\"", $tabs), "</td></tr>"; if ($SIDU[4]) { echo "<tr><td valign='top'>", @lang(2206), ":</td><td>", @html_form("textarea", "imp[col]", $imp['col'], 350, 90), "</td></tr>"; } echo "<tr><td valign='top'>", @lang(2207), ":</td><td><input type='file' name='f'/> ", @lang(2208, '2MB'), "</td></tr></table>\n\t<p class='dot'><br/><b>", @lang(2209), ":</b></p>\n\t<p class='dot'>", @lang(2210), ": ", @html_form("text", "imp[sepC]", $imp['sepC'] ? $imp['sepC'] : ',', 50), " eg \\t , ; « | »\n\t<br/>", @lang(2211), " ", @html_form("text", "imp[cut1]", $imp['cut1'], 50), " ", @lang(2212), " ", @html_form("text", "imp[cut2]", $imp['cut2'], 50), " ", @lang(2213), "\n\t<br/>", @lang(2214), ": ", @html_form("text", "imp[pk]", $imp['pk'], 150), " eg. c1;c2\n\t<br/>", @html_form("checkbox", "imp[del]", $imp['del'], "", "", "", array(1 => '')), @lang(2215), "\n\t<br/>", @html_form("checkbox", "imp[merge]", $imp['merge'], "", "", "", array(1 => '')), @lang(2216), "\n\t<br/>", @html_form("checkbox", "imp[stop]", $imp['stop'], "", "", "", array(1 => '')), @lang(2217), "</p>\n\t<p>", @html_form("submit", "cmd", @lang(2218)), "</p></div></form>"; }
function main_cout_desc($SIDU, $typ, $tab, $fp) { if ($typ == 'VIEW') { if ($SIDU['eng'] == 'sl') { $row = @sqlite_fetch_array(@tm("SQL", "SELECT sql FROM sqlite_master WHERE type='view' AND name='{$tab}'")); @main_cout_str("\n{$row['0']};", $fp); } elseif ($SIDU['eng'] == 'my') { $row = @mysql_fetch_row(@tm("SQL", "SELECT VIEW_DEFINITION FROM information_schema.VIEWS\nWHERE TABLE_SCHEMA='{$SIDU['1']}' AND TABLE_NAME='{$tab}'")); $row[0] = @trim(@str_replace("/* ALGORITHM=UNDEFINED */", "", $row[0])); @main_cout_str("\nCREATE VIEW `{$tab}` AS {$row['0']};", $fp); } else { $oid = @pg_fetch_row(@tm("SQL", "SELECT a.oid FROM pg_class a,pg_namespace b\nWHERE a.relkind='v' AND a.relnamespace=b.oid\nAND a.relname='{$tab}' AND b.nspname='{$SIDU['2']}'")); $row = @pg_fetch_row(@tm("SQL", "SELECT pg_get_viewdef({$oid['0']})")); @main_cout_str("\nCREATE VIEW \"{$tab}\" AS {$row['0']}", $fp); } return; } if ($SIDU['eng'] == 'pg') { $info = @pg_fetch_row(@tm("SQL", "SELECT a.oid,a.relnamespace,a.relhasoids,obj_description(a.oid,'pg_class')\nFROM pg_class a,pg_namespace b WHERE a.relkind='r' AND a.relnamespace=b.oid\nAND a.relname='{$tab}' AND b.nspname='{$SIDU['2']}'")); $defa = @sql2arr("SELECT adnum,adsrc FROM pg_attrdef WHERE adrelid={$info['0']}", 2); $typs = @sql2arr("SELECT oid,typname FROM pg_type", 2); $comm = @sql2arr("SELECT objsubid,description FROM pg_description\nWHERE objoid={$info['0']} AND objsubid>0", 2); $tran = @array("'" => "''", "\\" => "\\\\"); @main_cout_str("\nCREATE TABLE \"{$tab}\"(", $fp); $res = @tm("SQL", "SELECT attname,atttypid,attnotnull,atthasdef,\nCASE attlen WHEN -1 THEN atttypmod ELSE attlen END,\nattnum,format_type(atttypid,atttypmod) FROM pg_attribute\nWHERE attrelid={$info['0']} AND attnum>0 AND attisdropped=FALSE ORDER BY attnum"); $i = 0; while ($row = @pg_fetch_row($res)) { $row[3] = $row[3] == 't' ? $defa[$row[5]] : ''; $row[1] = $typs[$row[1]]; if ($row[1] == "numeric") { $row[1] = $row[6]; } elseif ($row[1] == 'int2') { $row[1] = "smallint"; } elseif ($row[1] == 'int4') { $row[1] = "int"; } elseif ($row[1] == 'int8') { $row[1] = "bigint"; } elseif ($row[1] == 'bpchar') { $row[1] = "char"; } if ($row[4] > 4 && ($row[1] == 'varchar' || $row[1] == 'char')) { $row[1] .= "(" . ($row[4] - 4) . ")"; } if (@substr($row[3], 0, 9) == "nextval('") { $row[1] = $row[1] == "int" ? "serial" : "bigserial"; } if ($i++) { @main_cout_str(",", $fp); } @main_cout_str("\n\t\"{$row['0']}\" {$row['1']}" . ($row[2] == 't' ? " NOT NULL" : "") . ($row[3] != '' && @substr($row[3], 0, 9) != "nextval('" ? " DEFAULT {$row['3']}" : ""), $fp); if ($comm[$i]) { $commStr .= "\nCOMMENT ON COLUMN \"{$tab}\".\"{$row['0']}\" IS '" . @strtr($comm[$i], $tran) . "';"; } } $fkmatch = @array("f" => "FULL", "p" => "PARTIAL", "u" => "SIMPLE"); $fkact = @array("a" => "NO ACTION", "r" => "RESTRICT", "c" => "CASCADE", "n" => "SET NULL", "d" => "SET DEFAULT"); $res = @tm("SQL", "SELECT *,pg_get_constraintdef(oid,TRUE) AS kstr FROM pg_constraint\nWHERE conrelid={$info['0']} AND connamespace={$info['1']}"); while ($row = @pg_fetch_assoc($res)) { @main_cout_str(",\nCONSTRAINT \"{$row['conname']}\" {$row['kstr']}", $fp); if ($row['contype'] == 'f') { @main_cout_str(" MATCH {$fkmatch[$row[confmatchtype]]}\n\tON UPDATE {$fkact[$row[confupdtype]]} ON DELETE {$fkact[$row[confdeltype]]}", $fp); } } @main_cout_str("\n) WITH (OIDS=" . ($info[2] == 't' ? "TRUE" : "FALSE") . ");", $fp); if ($info[3]) { @main_cout_str("\nCOMMENT ON TABLE \"{$tab}\" IS '" . @strtr($info[3], $tran) . "';", $fp); } @main_cout_str($commStr, $fp); $res = @tm("SQL", "SELECT pg_get_indexdef(indexrelid) FROM pg_index\nWHERE indrelid={$info['0']} AND indisprimary='f'"); while ($row = @pg_fetch_row($res)) { @main_cout_str("\n{$row['0']};", $fp); } return; } if ($SIDU['eng'] == 'my') { $desc = @mysql_fetch_row(@tm("SQL", "SHOW CREATE TABLE `{$SIDU['1']}`.`{$tab}`")); } elseif ($SIDU['eng'] == 'sl') { $desc = @sqlite_fetch_array(@tm("SQL", "SELECT name,sql FROM sqlite_master WHERE name=tbl_name AND name='{$tab}' LIMIT 1"), SQLITE_NUM); } @main_cout_str("\n{$desc['1']};", $fp); if ($SIDU['eng'] == 'sl') { $res = @tm("SQL", "SELECT sql FROM sqlite_master WHERE type='index' AND tbl_name='{$tab}' AND sql IS NOT NULL"); while ($row = @sqlite_fetch_array($res, SQLITE_NUM)) { @main_cout_str("\n{$row['0']};", $fp); } } }
function init_tab(&$SIDU, $link, $conn) { if ($conn[1] == "my") { //0name 1type 2null 3defa 4maxchar 5extra 6comm 7pk 8align 9pos $res = @tm("SQL", "SELECT COLUMN_NAME,COLUMN_TYPE,IS_NULLABLE,COLUMN_DEFAULT,\nifnull(CHARACTER_MAXIMUM_LENGTH,NUMERIC_PRECISION),EXTRA,COLUMN_COMMENT,\nCOLUMN_KEY,if(NUMERIC_PRECISION IS NULL,'','i'),ORDINAL_POSITION\nFROM information_schema.COLUMNS\nWHERE TABLE_SCHEMA='{$SIDU['1']}' AND TABLE_NAME='{$SIDU['4']}'\nORDER BY ORDINAL_POSITION"); while ($row = @mysql_fetch_row($res)) { $col[] = $row; if ($row[7] == 'PRI') { $SIDU['pk'][] = $row[9] - 1; } } $num = @mysql_fetch_row(@tm("SQL", "SELECT COUNT(*) FROM `{$link['1']}`.`{$link['4']}`")); } elseif ($conn[1] == 'sl') { $res = @tm("SQL", "pragma table_info({$link['4']})"); while ($row = @sqlite_fetch_array($res)) { if ($row['type'] == 'integer') { $row['type'] = 'int'; } if ($row['pk']) { $SIDU['pk'][] = $row['cid']; } $col[] = @array($row['name'], $row['type'], $row['notnull'] ? 'NULL' : 'YES', $row['dflt_value'], '', '', '', $row['pk'] ? 'PRI' : '', "", $row['cid'] + 1); } $num = @sqlite_fetch_array(@tm("SQL", "SELECT COUNT(*) FROM {$link['4']}")); } else { $tab = @pg_fetch_row(@tm("SQL", "SELECT a.oid,a.relnamespace,a.relhasoids,obj_description(a.oid,'pg_class')\nFROM pg_class a,pg_namespace b WHERE a.relkind='{$link['3']}' AND a.relnamespace=b.oid\nAND a.relname='{$link['4']}' AND b.nspname='{$link['2']}'")); $SIDU['tabinfo'] = $tab; $defa = @sql2arr("SELECT adnum,adsrc FROM pg_attrdef WHERE adrelid={$tab['0']}", 2); $defaRaw = $defa; foreach ($defa as $k => $v) { if (@substr($v, 0, 9) != "nextval('") { $rowx = @explode("::", $v); if (@substr($rowx[0], 0, 1) == "'" && @substr($rowx[0], -1) == "'") { $rowx[0] = @substr($rowx[0], 1, -1); } $rowx[0] = @str_replace("''", "'", $rowx[0]); $defa[$k] = $rowx[0]; } } if ($SIDU['page']['oid'] && $tab[2] == 't') { $col[0] = @array("oid", "oid", 't'); $hasOID = "oid,"; } else { $colX = -1; } $typ = @sql2arr("SELECT oid,typname FROM pg_type", 2); $res = @tm("SQL", "SELECT attname,atttypid,attnotnull,atthasdef,\nCASE attlen WHEN -1 THEN atttypmod ELSE attlen END,\n'','','','',attnum,format_type(atttypid,atttypmod) FROM pg_attribute\nWHERE attrelid={$tab['0']} AND attnum>0 AND attisdropped=FALSE ORDER BY attnum"); while ($row = @pg_fetch_row($res)) { $row[3] = $row[3] == 't' ? $defa[$row[9]] : ''; $row[1] = $typ[$row[1]]; if ($row[1] == "numeric") { $row[1] = $row[10]; } elseif ($row[1] == 'int2') { $row[1] = "smallint"; } elseif ($row[1] == 'int4') { $row[1] = "int"; } elseif ($row[1] == 'int8') { $row[1] = "bigint"; } elseif ($row[1] == 'bpchar') { $row[1] = "char"; } if ($row[4] > 4 && ($row[1] == 'varchar' || $row[1] == 'char')) { $row[1] .= "(" . ($row[4] - 4) . ")"; } if (@substr($row[3], 0, 9) == "nextval('") { $row[1] = $row[1] == "int" ? "serial" : "bigserial"; } $row[11] = $defaRaw[$row[9]]; //only used for default ''::varchar etc $col[] = $row; } $res = @tm("SQL", "SELECT conkey,contype FROM pg_constraint\nWHERE connamespace={$tab['1']} AND conrelid={$tab['0']}"); while ($row = @pg_fetch_row($res)) { //pk uk fk $pucf = @explode(",", @substr($row[0], 1, -1)); foreach ($pucf as $v) { $col[$v + $colX][7] = $col[$v + $colX][7] ? $col[$v + $colX][7] . ",{$row['1']}" : $row[1]; if ($row[1] == 'p') { $SIDU['pk'][] = $v + $colX; } } } $num = @pg_fetch_row(@tm("SQL", "SELECT COUNT(*) FROM \"{$link['2']}\".\"{$link['4']}\"")); } $SIDU[10] += $num[0]; $SIDU['col'] = $col; if ($_GET['desc']) { //desc if ($conn[1] == 'pg') { //set col comm $res = @tm("SQL", "SELECT objsubid,description FROM pg_description\nWHERE objoid={$tab['0']} AND objsubid>0"); while ($row = @pg_fetch_row($res)) { $SIDU['col'][$row[0] + $colX][6] = $row[1]; } } return; } $SIDU['gridShow'] = $_POST['gridShow']; $MODE = @explode('.', $_COOKIE['SIDUMODE']); //0lang 1gridmode 2pgsize=sidu9 $SIDU['gridMode'] = $MODE[1]; if ($MODE[2] < -1 || !$MODE[2]) { $MODE[2] = 15; } $SIDU[9] = $MODE[2]; $SIDU[8] = @ceil($_POST['sidu8']); if ($SIDU[8] < 0) { $SIDU[8] = 0; } $SIDU[7] = $_POST['sidu7']; //sort if (@substr($SIDU[7], 0, 4) == 'del:') { $SIDU[7] = @substr($SIDU[7], 4); if ($SIDU[5] == $SIDU[7] || $SIDU[5] == "{$SIDU['7']} desc") { $SIDU[5] = $SIDU[7] = ''; } elseif ($SIDU[6] == $SIDU[7] || $SIDU[6] == "{$SIDU['7']} desc") { $SIDU[6] = $SIDU[7] = ''; } else { $SIDU[7] = ''; } } $SIDU['f'] = @strip($_POST['f'], 1, 0, 1); @sidu_sort($SIDU[5], $SIDU[6], $SIDU[7], $SIDU['page']['sortData']); $strSort = $SIDU[5] ? " ORDER BY {$SIDU['5']}" . ($SIDU[6] ? ",{$SIDU['6']}" : "") : ($SIDU[6] ? " ORDER BY {$SIDU['6']}" : ""); foreach ($SIDU['f'] as $k => $v) { if ($k === 'sql' && $v) { $whereSQL = " AND " . $SIDU['f']['sql']; } elseif ($v != '') { $where .= " AND " . $SIDU['col'][$k][0] . " {$v}"; } } $where .= $whereSQL; if (!$strSort && (!$where || !@stripos($where, " order by "))) { $strSort = " ORDER BY 1 DESC"; } if ($where) { $where = " WHERE " . @substr($where, 5); if ($conn[1] == 'my') { $res = @tm("SQL", "SELECT COUNT(*) FROM `{$SIDU['1']}`.`{$SIDU['4']}`{$where}"); $row = @mysql_fetch_row($res); } elseif ($conn[1] == 'pg') { $res = @tm("SQL", "SELECT COUNT(*) FROM \"{$SIDU['2']}\".\"{$SIDU['4']}\"{$where}"); $row = @pg_fetch_row($res); } else { $res = @tm("SQL", "SELECT COUNT(*) FROM {$SIDU['4']}{$where}"); $row = @sqlite_fetch_array($res); } $SIDU[10] = $row[0]; } if ($_POST['cmd'] == 'p1') { $SIDU[8] = 0; } elseif ($SIDU[9] != -1) { if ($_POST['cmd'] == 'pback') { $SIDU[8] -= $SIDU[9]; } elseif ($_POST['cmd'] == 'pnext') { $SIDU[8] += $SIDU[9]; } elseif ($_POST['cmd'] == 'plast') { $SIDU[8] = $SIDU[10] - $SIDU[9]; } if ($SIDU[8] > $SIDU[10]) { $SIDU[8] = $SIDU[10] - $SIDU[9]; } if ($SIDU[8] < 0) { $SIDU[8] = 0; } } if ($SIDU[9] != -1) { $limit = " LIMIT {$SIDU['9']}" . ($SIDU[8] ? " OFFSET {$SIDU['8']}" : ""); } if ($conn[1] == 'my') { $res = @tm("SQL", "SELECT * FROM `{$SIDU['1']}`.`{$SIDU['4']}`{$where}{$strSort}{$limit}"); while ($row = @mysql_fetch_row($res)) { $arr[] = $row; } } elseif ($conn[1] == 'pg') { $res = @tm("SQL", "SELECT {$hasOID}* FROM \"{$SIDU['2']}\".\"{$SIDU['4']}\"{$where}{$strSort}{$limit}"); while ($row = @pg_fetch_row($res)) { $arr[] = $row; } } else { $res = @tm("SQL", "SELECT * FROM {$SIDU['4']}{$where}{$strSort}{$limit}"); while ($row = @sqlite_fetch_array($res, SQLITE_NUM)) { $arr[] = $row; } } $SIDU['data'] = $arr; if ($conn[1] != 'my') { @init_pg_col_align($SIDU['data'], $SIDU['col']); } if ($_POST['hideCol'] != '') { $_POST['g'][$_POST['hideCol']] = -1; } @init_col_width($SIDU); }
function getConcepto($keywords) { $p = explode(" ", $keywords); $name = array(); $clave = array(); foreach ($p as $k) { $name[] = " NOMBRE LIKE '%{$k}%' "; $clave[] = " CLAVE LIKE '%{$k}%' "; } $where = " WHERE "; foreach ($name as $d) { $where .= " {$d} OR"; } foreach ($clave as $c) { $where .= " {$c} OR"; } $where = trim($where, " OR"); $sql = "SELECT * FROM c_conceptos {$where};"; return sql2arr($sql); }
function main_func($SIDU, $link, $conn) { $col = @array('OID' => 'oid', 'Func' => 'proname', 'Owner' => 'towner', 'return' => 'prorettype', 'lang' => 'prolang', 'Definition' => 'prosrc', 'Comment' => 'comm'); @db_conn($conn, $link[1]); $lang = @sql2arr("SELECT oid,lanname FROM pg_language", 2); $typ = @sql2arr("SELECT oid,typname FROM pg_type", 2); $res = @tm("SQL", "SELECT b.proname,b.oid,pg_get_userbyid(b.proowner) AS towner,b.pronamespace,\nobj_description(b.oid,'pg_proc') AS comm,b.proargtypes,b.prorettype,b.prolang,b.prosrc\nFROM pg_namespace a,pg_proc b\nWHERE a.oid=b.pronamespace AND a.nspname='{$link['2']}'" . ($link[4] != '' ? " AND b.proname LIKE '{$link['4']}%'" : "") . " ORDER BY 1"); while ($row = @pg_fetch_array($res)) { $row['prorettype'] = $typ[$row['prorettype']]; $row['prolang'] = $lang[$row['prolang']]; $para = @explode(" ", @trim($row['proargtypes'])); unset($parr); foreach ($para as $v) { $parr[] = $typ[$v]; } $para = @implode(",", $parr); if ($para) { $row['proname'] .= "({$para})"; } foreach ($col as $k => $v) { $data[$k] = $row[$v]; } $arr[] = $data; } @cout_obj($SIDU, $link, $arr, $col); }
$bd->rollBack(); return array("err" => true, "data" => $e); echo "Error: " . $e->getMessage(); } $bd = NULL; } function comparaSemana($f1, $f2) { if (date("W", strtotime($f1)) * 1 < date("W", strtotime($f2)) * 1) { return true; } else { return false; } } $sinRes = "SELECT\n\tt1.*\nFROM examenes t1\nWHERE t1.id NOT IN (SELECT FOLIO_RASTREO FROM examenes_adminte t2);"; $r = sql2arr($sinRes); #var_dump($r["data"]); #var_dump($r); #echo $r["data"][0]["id"]; #echo count($r["data"]); #echo date("w"); if (date("w") == "6") { foreach ($r["data"] as $d) { if (comparaSemana($d["FECHA_IN"], date("Y-m-d H:i:s"))) { $sqlBorrar = "DELETE FROM resultados WHERE EXAMEN_ID=" . $d["id"] . ";"; sql2mod($sqlBorrar); $sqlBorrar = "DELETE FROM examenes WHERE id=" . $d["id"] . ";"; sql2mod($sqlBorrar); #echo $d["id"]."<br>"; } }