예제 #1
0
파일: xhttp.php 프로젝트: exodusdb/exodusdb
     $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;
 }
예제 #2
0
파일: sgrep.php 프로젝트: pekand/grep
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;
}