コード例 #1
0
ファイル: query.php プロジェクト: onyxnz/quartzpos
/**
 * This file is a part of MyWebSQL package
 *
 * @file:      modules/query.php
 * @author     Samnan ur Rehman
 * @copyright  (c) 2008-2012 Samnan ur Rehman
 * @web        http://mywebsql.net
 * @license    http://mywebsql.net/license
 */
function processRequest(&$db)
{
    // first time query will be from request, then we will get it from session (applying limit scenario)
    $table_select = v($_REQUEST["id"]) == 'table' ? true : false;
    if ($table_select) {
        $query = selectFromTable($db);
    } else {
        $query = simpleQuery($db);
    }
    if (!$query) {
        createErrorGrid($db, $query);
        return;
    }
    loadDbVars($db);
    if ($db->query($query)) {
        if (!$db->hasResult()) {
            $info = getCommandInfo($query);
            if ($info['dbAltered']) {
                Session::set('db', 'altered', true);
            } else {
                if ($info['setvar'] == TRUE) {
                    setDbVar($info['variable'], $info['value']);
                }
            }
            createInfoGrid($db);
        } else {
            createResultGrid($db);
        }
    } else {
        createErrorGrid($db, $query);
    }
}
コード例 #2
0
ファイル: tableinsert.php プロジェクト: guohuadeng/stampApp
/**
 * This file is a part of MyWebSQL package
 *
 * @file:      modules/tableinsert.php
 * @author     Samnan ur Rehman
 * @copyright  (c) 2008-2014 Samnan ur Rehman
 * @web        http://mywebsql.net
 * @license    http://mywebsql.net/license
 */
function processRequest(&$db)
{
    $tbl = $_REQUEST["name"];
    $str = $db->getInsertStatement($tbl);
    if ($str === false) {
        createErrorGrid($db, $db->getLastQuery());
    } else {
        print "<div id='results'>" . htmlspecialchars($str) . "</div>";
        print "<script type=\"text/javascript\" language='javascript'> parent.transferQuery(); </script>\n";
    }
}
コード例 #3
0
ファイル: truncate.php プロジェクト: onyxnz/quartzpos
/**
 * This file is a part of MyWebSQL package
 *
 * @file:      modules/truncate.php
 * @author     Samnan ur Rehman
 * @copyright  (c) 2008-2012 Samnan ur Rehman
 * @web        http://mywebsql.net
 * @license    http://mywebsql.net/license
 */
function processRequest(&$db)
{
    $type = v($_REQUEST["id"]);
    $name = v($_REQUEST["name"]);
    if (!$name) {
        createErrorGrid($db, '');
        return;
    }
    if ($db->truncateTable($name)) {
        createInfoGrid($db, $db->getLastQuery());
    } else {
        createErrorGrid($db, $db->getLastQuery());
    }
}
コード例 #4
0
ファイル: drop.php プロジェクト: onyxnz/quartzpos
/**
 * This file is a part of MyWebSQL package
 *
 * @file:      modules/drop.php
 * @author     Samnan ur Rehman
 * @copyright  (c) 2008-2012 Samnan ur Rehman
 * @web        http://mywebsql.net
 * @license    http://mywebsql.net/license
 */
function processRequest(&$db)
{
    $type = v($_REQUEST["id"]);
    $name = v($_REQUEST["name"]);
    if (!$name) {
        createErrorGrid($db, '');
        return;
    }
    $success = $db->dropObject($name, $type);
    if ($success) {
        Session::set('db', 'altered', true);
        createInfoGrid($db, $db->getLastQuery());
    } else {
        createErrorGrid($db, $db->getLastQuery());
    }
}
コード例 #5
0
ファイル: copy.php プロジェクト: onyxnz/quartzpos
/**
 * This file is a part of MyWebSQL package
 *
 * @file:      modules/copy.php
 * @author     Samnan ur Rehman
 * @copyright  (c) 2008-2012 Samnan ur Rehman
 * @web        http://mywebsql.net
 * @license    http://mywebsql.net/license
 */
function processRequest(&$db)
{
    $type = v($_REQUEST["id"]);
    $name = v($_REQUEST["name"]);
    $new_name = v($_REQUEST["query"]);
    if (!$name || !$new_name) {
        createErrorGrid($db, '');
        return;
    }
    $success = $db->copyObject($name, $type, $new_name);
    // @@TODO: this can be improved, although it is only information
    $numQueries = $type == 'table' ? 2 : 1;
    if ($success) {
        Session::set('db', 'altered', true);
        createInfoGrid($db, '', $numQueries);
    } else {
        createErrorGrid($db, $db->getLastQuery());
    }
}
コード例 #6
0
ファイル: query.php プロジェクト: guohuadeng/stampApp
/**
 * This file is a part of MyWebSQL package
 *
 * @file:      modules/query.php
 * @author     Samnan ur Rehman
 * @copyright  (c) 2008-2014 Samnan ur Rehman
 * @web        http://mywebsql.net
 * @license    http://mywebsql.net/license
 */
function processRequest(&$db)
{
    // first time query will be from request, then we will get it from session (applying limit scenario)
    $table_select = v($_REQUEST["id"]) == 'table' ? true : false;
    if ($table_select) {
        $query = selectFromTable($db);
    } else {
        $query = simpleQuery($db);
    }
    if (!$query) {
        createErrorGrid($db, $query);
        return;
    }
    loadDbVars($db);
    if ($db->query($query)) {
        if (!$db->hasResult()) {
            $info = getCommandInfo($query);
            if ($info['dbAltered']) {
                Session::set('db', 'altered', true);
            } else {
                if ($info['setvar'] == TRUE && is_scalar($info['variable']) && is_scalar($info['value'])) {
                    setDbVar($info['variable'], $info['value']);
                }
            }
            createInfoGrid($db);
        } else {
            // if it is a data result set, show it as result grid, otherwise in simple grid layout
            $query_type = getQueryType($query);
            if ($query_type['can_limit']) {
                createResultGrid($db);
            } else {
                createSimpleGrid($db, __('Query') . ': ' . $query);
            }
        }
    } else {
        createErrorGrid($db, $query);
    }
}
コード例 #7
0
ファイル: dbcreate.php プロジェクト: onyxnz/quartzpos
/**
 * This file is a part of MyWebSQL package
 *
 * @file:      modules/dbcreate.php
 * @author     Samnan ur Rehman
 * @copyright  (c) 2008-2012 Samnan ur Rehman
 * @web        http://mywebsql.net
 * @license    http://mywebsql.net/license
 */
function processRequest(&$db)
{
    Session::del('select', 'result');
    Session::del('select', 'pkey');
    Session::del('select', 'ukey');
    Session::del('select', 'mkey');
    Session::del('select', 'unique_table');
    Session::set('select', 'result', array());
    $dbName = $_REQUEST["name"];
    $dbSelect = $_REQUEST["query"];
    $sql = '';
    if (!$db->createDatabase($dbName)) {
        createErrorGrid($db);
    } else {
        $redirect = '0';
        if ($dbSelect) {
            Session::set('db', 'changed', true);
            Session::set('db', 'name', $dbName);
            $redirect = '1';
        }
        $replace = array('DB_NAME' => htmlspecialchars($dbName), 'SQL' => preg_replace("/[\n\r]/", "<br/>", htmlspecialchars($sql)), 'TIME' => $db->getQueryTime(), 'REDIRECT' => $redirect);
        echo view('dbcreate', $replace);
    }
}
コード例 #8
0
ファイル: queryall.php プロジェクト: onyxnz/quartzpos
/**
 * This file is a part of MyWebSQL package
 *
 * @file:      modules/queryall.php
 * @author     Samnan ur Rehman
 * @copyright  (c) 2008-2012 Samnan ur Rehman
 * @web        http://mywebsql.net
 * @license    http://mywebsql.net/license
 */
function processRequest(&$db)
{
    $query = v($_REQUEST["query"]);
    if (!$query) {
        createErrorGrid($db, $query);
        return;
    }
    //Session::set('select', 'query', $query);
    $temp = tmpfile();
    fwrite($temp, $query);
    fseek($temp, 0);
    include BASE_PATH . "/lib/sqlparser.php";
    $parser = new sqlParser($db);
    $parser->collectStats();
    if (!$parser->parseFile($temp)) {
        createErrorGrid($db, $parser->getLastQuery(), $parser->getExecutedQueries(), $parser->getRowsAffected());
    } else {
        $stats = $parser->getStats();
        if ($stats->dbAltered) {
            Session::set('db', 'altered', true);
        }
        createInfoGrid($db, $query, $parser->getExecutedQueries(), $parser->getRowsAffected(), false, $parser->getExecutedTime());
    }
}
コード例 #9
0
ファイル: util.php プロジェクト: guohuadeng/stampApp
function execute_request(&$db)
{
    // do not append or prepend anything to output if we have to download
    $output = v($_REQUEST["type"]) == 'download' ? false : true;
    if ($output) {
        startForm($db);
    }
    if (isset($_REQUEST["type"])) {
        $module_requested = $_REQUEST["type"];
        $_REQUEST["query"] = trim(v($_REQUEST["query"], ""), " \t\r\n;");
        $module = BASE_PATH . "/modules/" . $module_requested . ".php";
        if (ctype_alpha($module_requested) && file_exists($module)) {
            require BASE_PATH . '/config/modules.php';
            // check for module access type and allow/disallow as needed
            if (MODULE_ACCESS_MODE == 'deny' && in_array($module_requested, $DENY_MODULES)) {
                createErrorPage();
            } else {
                if (MODULE_ACCESS_MODE == 'allow' && !in_array($module_requested, $ALLOW_MODULES)) {
                    createErrorPage();
                } else {
                    include $module;
                    function_exists('processRequest') ? processRequest($db) : createErrorGrid($db, "");
                }
            }
        } else {
            createErrorPage();
        }
        // unidentified type requested
    }
    if ($output) {
        print "</form>\n";
        print "</body></html>";
    }
}