Ejemplo n.º 1
0
function initialize_session()
{
    global $ptitle_strings, $adm_strings;
    $session_vars = array('s_init' => TRUE, 's_cookies' => 'untested', 's_stylesheet_etag' => '', 's_connected' => FALSE, 's_binpath' => FALSE, 's_referer' => '', 's_page' => '', 's_cust' => get_customize_defaults($useragent), 's_login' => array('database' => DEFAULT_PATH . DEFAULT_DB, 'user' => DEFAULT_USER, 'host' => DEFAULT_HOST, 'password' => '', 'role' => DEFAULT_ROLE, 'cache' => DEFAULT_CACHE, 'charset' => DEFAULT_CHARSET, 'dialect' => DEFAULT_DIALECT, 'server' => DEFAULT_SERVER), 's_create_db' => '', 's_create_user' => '', 's_create_pw' => '', 's_create_host' => '', 's_create_pagesize' => 4096, 's_create_charset' => 'NONE', 's_delete_db' => array('database' => '', 'user' => '', 'host' => '', 'password' => ''), 's_systable' => array('table' => '', 'order' => '', 'dir' => 'ASC', 'ffield' => '', 'fvalue' => '', 'sysdata' => TRUE, 'refresh' => 15), 's_system_table' => '', 's_system_data' => TRUE, 's_systbl_order' => '', 's_systbl_dir' => 'ASC', 's_tables' => array(), 's_fields' => array(), 's_foreigns' => array(), 's_primaries' => array(), 's_uniques' => array(), 's_tables_valid' => FALSE, 's_tables_counts' => FALSE, 's_tables_cnames' => FALSE, 's_tables_def' => FALSE, 's_tables_comp' => FALSE, 's_tables_comment' => FALSE, 's_charsets' => array(), 's_create_table' => '', 's_create_num' => '', 's_coldefs' => array(), 's_modify_name' => '', 's_modify_col' => '', 's_enter_name' => '', 's_enter_values' => array(), 's_domains' => array(), 's_domains_valid' => FALSE, 's_mod_domain' => '', 's_triggers' => array(), 's_triggers_valid' => FALSE, 's_triggerdefs' => array(), 's_viewdefs' => array('name' => '', 'source' => '', 'check' => 'no'), 's_views_counts' => FALSE, 's_procedures' => array(), 's_proceduredefs' => array(), 's_procedures_valid' => FALSE, 's_udfs' => array(), 's_udfs_valid' => FALSE, 's_udfs_order' => 1, 's_udfs_dir' => 'ASC', 's_exceptions' => array(), 's_exceptions_valid' => FALSE, 's_exceptions_order' => 1, 's_exceptions_dir' => 'ASC', 's_exception_defs' => array(), 's_indexes' => array(), 's_mod_index' => '', 's_index_order' => 'name', 's_index_dir' => 'ASC', 's_wt' => array('table' => '', 'columns' => array(), 'blob_links' => array(), 'blob_as' => array(), 'rows' => DEFAULT_ROWS, 'start' => 1, 'order' => '', 'direction' => 'ASC', 'edit' => TRUE, 'delete' => TRUE, 'tblob_inline' => TRUE, 'tblob_chars' => 50, 'condition' => '', 'fks' => array()), 's_watch_buffer' => '', 's_sql' => array('queries' => array(), 'buffer' => '', 'more' => FALSE), 's_edit_idx' => 0, 's_edit_where' => array(), 's_edit_values' => array(), 's_delete_idx' => 0, 's_confirmations' => array(), 's_sysdba_pw' => '', 's_user_name' => '', 's_sql_buffer' => array(), 's_sql_pointer' => 0, 's_gfix' => array('buffers' => 75, 'dialect' => '', 'access_mode' => '', 'write_mode' => '', 'use_space' => '', 'sweep_interval' => 20000, 'sweep_ignore' => FALSE, 'repair' => '', 'repair_ignore' => FALSE, 'shutdown' => '', 'shutdown_seconds' => 3, 'reconnect' => TRUE), 's_dbstat_option' => IBASE_STS_HDR_PAGES, 's_backup' => array('target' => '', 'servicemgr' => '', 'bfactor' => 0, 'mdonly' => '', 'mdoldstyle' => '', 'create' => '', 'transport' => '', 'convert' => '', 'nogc' => '', 'ignorecs' => '', 'ignorelt' => '', 'verbose' => TRUE), 's_restore' => array('source' => '', 'servicemgr' => '', 'target' => '', 'overwrite' => 'no', 'pagesize' => '8192', 'buffers' => '', 'amode' => $adm_strings['ReadWrite'], 'inactive' => '', 'oneattime' => '', 'useall' => '', 'novalidity' => '', 'kill' => '', 'verbose' => TRUE, 'connect' => 'no'), 's_csv' => array('import_null' => FALSE), 's_export' => array(), 's_iframejobs' => array(), 's_POST' => array(), 's_GET' => array(), 's_database_panels' => array(array('info', $ptitle_strings['info'], 'open'), array('db_login', $ptitle_strings['db_login'], 'open'), array('db_create', $ptitle_strings['db_create'], 'close'), array('db_delete', $ptitle_strings['db_delete'], 'close'), array('db_systable', $ptitle_strings['db_systable'], 'close'), array('db_meta', $ptitle_strings['db_meta'], 'close')), 's_tables_panels' => array(array('info', $ptitle_strings['info'], 'open'), array('tb_show', $ptitle_strings['tb_show'], 'close'), array('tb_create', $ptitle_strings['tb_create'], 'close'), array('tb_modify', $ptitle_strings['tb_modify'], 'close'), array('tb_delete', $ptitle_strings['tb_delete'], 'close')), 's_accessories_panels' => array(array('info', $ptitle_strings['info'], 'open'), array('acc_index', $ptitle_strings['acc_index'], 'close'), array('acc_gen', $ptitle_strings['acc_gen'], 'close'), array('acc_trigger', $ptitle_strings['acc_trigger'], 'close'), array('acc_proc', $ptitle_strings['acc_proc'], 'close'), array('acc_domain', $ptitle_strings['acc_domain'], 'close'), array('acc_view', $ptitle_strings['acc_view'], 'close'), array('acc_exc', $ptitle_strings['acc_exc'], 'close'), array('acc_udf', $ptitle_strings['acc_udf'], 'close')), 's_sql_panels' => array(array('info', $ptitle_strings['info'], 'open'), array('sql_enter', $ptitle_strings['sql_enter'], 'close'), array('sql_output', $ptitle_strings['sql_output'], 'close'), array('tb_watch', $ptitle_strings['tb_watch'], 'close')), 's_data_panels' => array(array('info', $ptitle_strings['info'], 'open'), array('dt_enter', $ptitle_strings['dt_enter'], 'close'), array('tb_watch', $ptitle_strings['tb_watch'], 'close'), array('dt_export', $ptitle_strings['dt_export'], 'close'), array('dt_import', $ptitle_strings['dt_import'], 'close')), 's_users_panels' => array(array('info', $ptitle_strings['info'], 'open'), array('usr_user', $ptitle_strings['usr_user'], 'close'), array('usr_role', $ptitle_strings['usr_role'], 'close'), array('usr_cust', $ptitle_strings['usr_cust'], 'close')), 's_admin_panels' => array(array('info', $ptitle_strings['info'], 'open'), array('adm_server', $ptitle_strings['adm_server'], 'close'), array('adm_dbstat', $ptitle_strings['adm_dbstat'], 'close'), array('adm_gfix', $ptitle_strings['adm_gfix'], 'close'), array('adm_backup', $ptitle_strings['adm_backup'], 'close'), array('adm_restore', $ptitle_strings['adm_restore'], 'close')));
    $cookie = get_customize_cookie_name();
    if (isset($_COOKIE[$cookie])) {
        $session_vars['s_cust'] = set_customize_settings($_COOKIE[$cookie]);
    }
    // take care for the $HIDE_PANELS config setting
    foreach (array('database', 'tables', 'accessories', 'sql', 'data', 'users', 'admin') as $topic) {
        foreach ($session_vars['s_' . $topic . '_panels'] as $pidx => $parray) {
            if (in_array($parray[0], $GLOBALS['HIDE_PANELS'])) {
                unset($session_vars['s_' . $topic . '_panels'][$pidx]);
            }
        }
    }
    foreach ($session_vars as $key => $val) {
        $_SESSION[$key] = $val;
    }
    localize_session_vars();
}
// File           inc/xml_http_request_server.php / FirebirdWebAdmin
// Purpose        answers to the XMLHttpRequests
// Author         Lutz Brueckner <*****@*****.**>
// Copyright      (c) 2000-2006 by Lutz Brueckner,
//                published under the terms of the GNU General Public Licence v.2,
//                see file LICENCE for details
require './configuration.inc.php';
require './session.inc.php';
require './functions.inc.php';
include './panel_elements.inc.php';
if (DEBUG === TRUE) {
    include './debug_funcs.inc.php';
}
session_start();
localize_session_vars();
require '../lang/' . (isset($s_cust['language']) && !empty($s_cust['language']) && $s_cust['language'] != 1 ? $s_cust['language'] : LANGUAGE) . '.inc.php';
$dbhandle = db_connect();
// guess the server
list($family, $version) = server_info($s_login['server']);
define('SERVER_FAMILY', $family);
define('SERVER_VERSION', $version);
// names of authorized server functions
$server_functions = array('column_config_form', 'closed_panel', 'detail_view', 'detail_close', 'fk_values', 'systable_filter_fields', 'systable_filter_values', 'table_columns_selectlist', 'sql_buffer', 'data_export_format_options', 'set_export_target', 'set_export_source', 'comment_area', 'markable_watchtable_report');
$func = get_request_data('f', 'GET');
if (in_array($func, $server_functions)) {
    $func_args = array();
    foreach ($_GET as $name => $value) {
        if (preg_match('/^p[0-9]+$/', $name)) {
            $func_args[] = get_request_data($name, 'GET');
        }