$result = 1; break; } //fail if could not locate the database if (!$neosysrootpath) { $response = $cannotfinddatabaseresponse; break; } //fail if no request if ($request == '') { $response = $norequestresponse; break; } //special request that doesnt require anything but a request and neosysrootpath if ($requests[0] == 'GETDATASETS') { $data_out = getdatabases($neosysrootpath, $requests[1]); $result = 1; break; } //fail regardless of database if GLOBAL.END file is present //TODO check other locations for GLOBAL.END (multiinstallation and database) $proglocation = $neosysrootpath . '/exodus/'; if (is_file($proglocation . 'GLOBAL.END')) { $response = databasestoppedresponse; break; } //check username is present - session may have timed out if (!$username) { $response = 'Error: Please login - Session not established or timed out'; break; }
function searchfor($db, $word, $dbname_select = array(), $table_select = array(), $column_select = array(), $view_columns = array(), $exclude = array()) { $dbnames = array(); if (count($dbname_select) == 0) { $dbnametmp = getdatabases($db); //get all databases foreach ($dbnametmp as $dbname) { $dbnames[] = $dbname['Database']; } } else { $dbnames = $dbname_select; } $data = array(); foreach ($dbnames as $dbname) { $ecode = mysql_select_db($dbname, $db); if (!$ecode) { echo "Error: e002: Database not exist!\n"; die; } $tables = array(); if (count($table_select) == 0) { $tabletmp = gettables($db, $dbname); // get all tables in database foreach ($tabletmp as $tablex) { $tablename = $tablex['Tables_in_' . $dbname]; if (!in_array($tablename, $exclude)) { $tables[] = $tablename; } } } else { $tables = $table_select; } $data = array(); foreach ($tables as $table) { $columns = array(); if (count($column_select) == 0) { $columnstmp = getcolumns($db, $dbname, $table); foreach ($columnstmp as $columnx) { $columns[] = $columnx['Field']; } } else { $columns = $column_select; } $like = ''; for ($i = 0; $i < count($columns); $i++) { $like .= " `" . $columns[$i] . "` like '%" . mysql_real_escape_string($word) . "%'"; if ($i != count($columns) - 1) { $like .= " OR"; } } $order = ''; if (count($view_columns) > 0) { $order = "ORDER BY"; for ($i = 0; $i < count($view_columns); $i++) { $order .= " `" . $view_columns[$i] . "` ASC"; if ($i != count($view_columns) - 1) { $order .= ","; } } } $query = "SELECT * FROM " . $table . " WHERE " . $like . " " . $order; //print_r($query); $sql = mysql_query($query); if (!$sql) { echo "Error: e003: Column not exist!\n"; die; } while ($sql && ($row = mysql_fetch_assoc($sql))) { if (count($view_columns) > 0) { foreach ($row as $key => $val) { if (!in_array($key, $view_columns)) { unset($row[$key]); } } } $data[$dbname][$table][] = $row; } } } return $data; }