function get_export_form_data($old)
{
    $export = array('format' => get_request_data('dt_export_format'), 'source' => array('option' => get_request_data('dt_export_source'), 'table' => get_request_data('dt_export_source_table'), 'dbtables' => get_request_data('dt_export_source_dbtables'), 'query' => get_request_data('dt_export_query')), 'target' => array('option' => get_request_data('dt_export_target'), 'filename' => get_request_data('dt_export_target_filename')), 'general' => array('replnull' => get_request_data('dt_export_replnull'), 'date' => get_request_data('dt_export_date'), 'time' => get_request_data('dt_export_time')), 'csv' => array('fterm' => get_request_data('dt_export_csv_fterm'), 'fencl' => get_request_data('dt_export_csv_fencl'), 'ftencl' => get_request_data('dt_export_csv_ftencl'), 'fesc' => get_request_data('dt_export_csv_fesc'), 'lterm' => get_request_data('dt_export_csv_lterm'), 'fnamesf' => (bool) get_request_data('dt_export_csv_fnamesf')), 'sql' => array('cnames' => (bool) get_request_data('dt_export_sql_cnames'), 'qnames' => (bool) get_request_data('dt_export_sql_qnames'), 'cfields' => (bool) get_request_data('dt_export_sql_cfields'), 'info' => (bool) get_request_data('dt_export_sql_info'), 'lineend' => get_request_data('dt_export_sql_lineend'), 'ttable' => get_request_data('dt_export_sql_ttable')));
    foreach (array_keys(get_export_formats()) as $format) {
        if ($format != $export['format'] && !empty($old[$format])) {
            $export[$format] = $old[$format];
        }
    }
    return $export;
}
示例#2
0
 function write_edit_this_user()
 {
     $data = $this->user->data();
     if (@$_REQUEST['filled']) {
         $data['password'] = $data['password2'] = '';
         get_request_data($data, 'user_', 'old_password');
         get_request_data($data, 'user_', 'auth_method');
         get_request_data($data, 'user_', 'password');
         get_request_data($data, 'user_', 'password2');
         // validate
         if (!$this->user->check_password($data['old_password'], false)) {
             $this->add_message('user', 'error', "Old password does not match.");
         } else {
             if ($data['auth_method'] == 'pass') {
                 if (strlen($data['password']) < 5) {
                     $this->add_message('user', 'error', "New password too short.");
                 } else {
                     if ($data['password'] != $data['password2']) {
                         $this->add_message('user', 'error', "New password does not match confirmation.");
                     }
                 }
             }
         }
         unset($data['password2']);
         unset($data['old_password']);
         // update
         if (!$this->has_messages('user')) {
             try {
                 $this->user->alter($data);
                 $this->add_message('user', 'confirm', "Password updated");
             } catch (Exception $e) {
                 $this->add_message('user', 'error', $e->getMessage());
             }
         }
     }
     $this->write_block_begin('Change password');
     $this->write_messages('user');
     $this->write_form_begin('user_settings.php', 'post');
     $this->write_form_preserve('redirect');
     $this->write_form_hidden('filled', 1);
     $this->write_form_table_begin();
     $this->write_form_table_data('Login', $data['login']);
     $this->write_form_table_data('First name', $data['firstname']);
     $this->write_form_table_data('Middle name', $data['midname']);
     $this->write_form_table_data('Last name', $data['lastname']);
     $this->write_form_table_data('Email', $data['email']);
     $this->write_form_table_data('Class', $data['class']);
     $this->write_form_table_field('radio', 'user_auth_method', 'Authentication', $data['auth_method'], array('pass' => 'Log in with password', 'ldap' => 'Log in via LDAP (central password)'));
     $this->write_form_table_field('password', 'user_old_password', 'Old password');
     $this->write_form_table_field('password', 'user_password', 'Password');
     $this->write_form_table_field('password', 'user_password2', 'Confirm password');
     $this->write_form_table_end();
     $this->write_form_end('Update');
     $this->write_block_end();
 }
示例#3
0
     $s_triggers = get_triggers($s_triggers);
     $s_triggers_valid = TRUE;
 }
 $idx = 0;
 $bindargs = $cols = $s_enter_values = array();
 foreach ($s_fields[$s_enter_name] as $field) {
     if (isset($field['comp'])) {
         $s_enter_values[] = $field['csource'];
         $idx++;
         continue;
     }
     if (isset($_FILES['dt_enter_file_' . $idx]) && !empty($_FILES['dt_enter_file_' . $idx]['name'])) {
         $value = $_FILES['dt_enter_file_' . $idx];
         $s_enter_values[] = $value;
     } else {
         $value = get_request_data('dt_enter_field_' . $idx);
         $s_enter_values[] = $value;
     }
     // type of the field or the origin type of a domain-based field
     $type = !isset($field['domain']) ? $field['type'] : $s_domains[$field['type']]['type'];
     // take care for autoincrement fields implemented with before insert trigger and generator
     if ($idx == 0 && $value === '' && in_array($type, array('INTEGER', 'BIGINT', 'SMALLINT')) && isset($field['notnull']) && $field['notnull'] == 'Yes' && have_active_trigger($s_triggers, $s_enter_name, 'before', 'insert')) {
         $idx++;
         continue;
     }
     switch ($type) {
         case 'CHARACTER':
         case 'VARCHAR':
         case 'DATE':
         case 'TIME':
         case 'TIMESTAMP':
function save_datatype($idx)
{
    $coldef['name'] = strtoupper(get_request_data('cd_def_name' . $idx));
    $coldef['type'] = $_POST['cd_def_type' . $idx];
    $coldef['size'] = trim($_POST['cd_def_size' . $idx]);
    $coldef['charset'] = $_POST['cd_def_charset' . $idx];
    $coldef['collate'] = isset($_POST['cd_def_collate' . $idx]) ? $_POST['cd_def_collate' . $idx] : NULL;
    $coldef['prec'] = trim($_POST['cd_def_prec' . $idx]);
    $coldef['scale'] = trim($_POST['cd_def_scale' . $idx]);
    $coldef['stype'] = trim($_POST['cd_def_stype' . $idx]);
    $coldef['segsize'] = trim($_POST['cd_def_segsize' . $idx]);
    // domains only
    $coldef['default'] = get_request_data('cd_def_default');
    $coldef['check'] = get_request_data('cd_def_check');
    $coldef['notnull'] = isset($_POST['cd_def_notnull']) ? TRUE : FALSE;
    return $coldef;
}
示例#5
0
//                see file LICENCE for details
// GET-Variables specifying the blob to display:
//
//       $table: table containing the blob
//       $col  : column containing the blob
//       $where: sql-where-clause specifying the primary keys to fetch the blob
require './inc/script_start.inc.php';
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
    $table = get_request_data('table', 'GET');
    $col = get_request_data('col', 'GET');
    $where = get_request_data('where', 'GET');
} else {
    $table = get_request_data('table');
    $col = get_request_data('col');
    $where = get_request_data('where');
    $s_wt['blob_as'][$col] = get_request_data('blobtype');
}
$imageurl = 'showimage.php?where=' . urlencode($where) . '&table=' . $table . '&col=' . $col;
$imageurl .= '&' . uniqid('UNIQ_');
$blob = get_blob_content(sprintf('SELECT %s FROM %s %s', $col, $table, $where));
$title = build_title(sprintf('Blob from %s %s', $table, $where), FALSE);
echo html_head($title) . '<body bgcolor="' . $s_cust['color']['area'] . "\">\n" . js_window_resize(BLOB_WINDOW_WIDTH, BLOB_WINDOW_HEIGHT) . '<form method="post" action="' . url_session($_SERVER['PHP_SELF']) . '" name="showblob_form">' . "\n" . hidden_field('table', htmlentities($table)) . hidden_field('col', htmlentities($col)) . hidden_field('where', htmlentities($where)) . "<table>\n<tr>\n<td>\n" . get_selectlist('blobtype', $blob_types, $s_wt['blob_as'][$col], TRUE) . "</td>\n<td>\n" . '<input type="submit" name="change_blobtype" value="Change Type">' . "\n" . "</td>\n<td width=\"50\">\n</td>\n<td>\n" . '<input type="button" value="Close" onClick="self.close()">' . "\n" . "</td>\n</tr>\n<table>\n" . "</form>\n";
$blobas = isset($s_wt['blob_as'][$col]) && $s_wt['blob_as'][$col] != '' ? $s_wt['blob_as'][$col] : 'hex';
switch ($blobas) {
    case 'png':
    case 'jpg':
    case 'gif':
        echo '<img src="' . $imageurl . "\">\n";
        break;
    case 'text':
        echo '<pre align="left">' . htmlspecialchars($blob) . "</pre>\n";
示例#6
0
            $col_add_flag = TRUE;
        }
    }
}
if (have_panel_permissions($s_login['user'], 'tb_show')) {
    // include the javascript for detail requests
    $js_stack .= js_request_details();
    //
    // Reload button from the tb_show panel
    //
    if (isset($_POST['tb_show_reload'])) {
        $s_tables_counts = (bool) get_request_data('tb_show_counts');
        $s_tables_cnames = (bool) get_request_data('tb_show_cnames');
        $s_tables_def = (bool) get_request_data('tb_show_def');
        $s_tables_comp = (bool) get_request_data('tb_show_comp');
        $s_tables_comment = (bool) get_request_data('tb_show_comments');
        $s_tables_valid = FALSE;
    }
    $js_stack .= js_request_comment_area();
}
// init $s_domain for the columns form if necessary
if ($s_domains_valid == FALSE && ($s_create_num > 0 || isset($col_add_flag))) {
    include_once './inc/domains.inc.php';
    $s_domains = get_domain_definitions($s_domains);
    $s_domains_valid = TRUE;
}
// add javascript for the columns form
if ($s_connected === TRUE && ($s_create_num > 0 || isset($col_add_flag))) {
    $js_stack .= js_collations($s_charsets) . js_request_table_columns();
}
//
示例#7
0
            $s_iframejobs[$iframekey_backup] = array('job' => 'backup', 'source' => $source_db, 'target' => $target_file, 'options' => $options, 'timestamp' => time());
        } elseif (($service = fbird_service_attach($s_login['host'], $s_login['user'], $s_login['password'])) != FALSE) {
            $result = fbird_backup($service, $source_db, $target_file, $options, $s_backup['verbose']);
            $message = nl2br(str_replace(array(chr(0x1) . chr(0xa), 'gbak: '), '', $result));
            fbird_service_detach($service);
        } else {
            $ib_error = fbird_errmsg();
        }
    }
}
//
// restore database
//
if (have_panel_permissions($s_login['user'], 'adm_restore')) {
    if (isset($_POST['adm_restore_doit'])) {
        $s_restore = array('source' => get_request_data('adm_re_source'), 'target' => get_request_data('adm_re_target'), 'overwrite' => (bool) get_request_data('adm_re_overwrite'), 'inactive' => (bool) get_request_data('adm_re_inactive'), 'oneattime' => (bool) get_request_data('adm_re_oneattime'), 'useall' => (bool) get_request_data('adm_re_useall'), 'novalidity' => (bool) get_request_data('adm_re_novalidity'), 'kill' => (bool) get_request_data('adm_re_kill'), 'verbose' => (bool) get_request_data('adm_re_verbose'), 'connect' => (bool) get_request_data('adm_re_connect'));
        if ($s_restore['connect']) {
            $s_restore['verbose'] = TRUE;
        }
    }
    if (isset($_POST['adm_restore_doit']) && !empty($s_restore['source']) && !empty($s_restore['target'])) {
        $s_sysdba_pw = get_sysdba_pw();
        if (!have_db_suffix($s_restore['target'])) {
            $error = sprintf($ERRORS['WRONG_DB_SUFFIX'], "'" . implode("', '", $DATABASE_SUFFIXES) . "'");
        } elseif (!is_allowed_db($s_restore['target'])) {
            $error = sprintf($ERRORS['DB_NOT_ALLOWED'], $s_restore['target']);
        }
        $restore_options = array('inactive' => IBASE_RES_DEACTIVATE_IDX, 'oneattime' => IBASE_RES_ONE_AT_A_TIME, 'useall' => IBASE_RES_USE_ALL_SPACE, 'novalidity' => IBASE_RES_NO_VALIDATE, 'kill' => IBASE_RES_NO_SHADOW);
        $options = 0;
        foreach ($restore_options as $idx => $option) {
            if ($s_restore[$idx]) {
function get_posted_user_data()
{
    return array('uname' => get_request_data('def_user_name'), 'password' => get_request_data('def_user_pw'), 'pw_repeat' => get_request_data('def_user_pwa'), 'fname' => get_request_data('def_user_fname'), 'mname' => get_request_data('def_user_mname'), 'lname' => get_request_data('def_user_lname'));
}
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');
        }
    }
    call_user_func_array($func, $func_args);
} else {
    echo 'bad request!';
}
globalize_session_vars();
//
// return the html with the form elements required for the column configuration
// called from the Enter Data and the Edit Data panels
//
function column_config_form($fk_table, $table, $column)
{
    global $button_strings, $dt_strings;
    $fk_columns = array();
示例#10
0
 function write_edit_user()
 {
     $editing = isset($_REQUEST['edit']);
     if ($editing) {
         $user = User::by_id($_REQUEST['edit']);
         $data = $user->data();
     } else {
         $data = array('login' => '', 'firstname' => '', 'midname' => '', 'lastname' => '', 'email' => '', 'class' => '', 'notes' => '', 'is_admin' => false, 'auth_method' => 'pass');
     }
     if (@$_REQUEST['filled']) {
         $data['password'] = $data['password2'] = '';
         get_request_data($data, 'user_', 'login');
         get_request_data($data, 'user_', 'auth_method');
         get_request_data($data, 'user_', 'password');
         get_request_data($data, 'user_', 'password2');
         get_request_data($data, 'user_', 'firstname');
         get_request_data($data, 'user_', 'midname');
         get_request_data($data, 'user_', 'lastname');
         get_request_data($data, 'user_', 'email');
         get_request_data($data, 'user_', 'class');
         get_request_data($data, 'user_', 'notes');
         get_request_bool($data, 'user_', 'is_admin');
         // validate
         if (($data['password'] == '' || $data['password2'] == '') && $editing) {
             unset($data['password']);
         } else {
             if ($data['auth_method'] == 'pass') {
                 if (strlen($data['password']) < 5) {
                     $this->add_message('user', 'error', "Password too short");
                 } else {
                     if ($data['password'] != $data['password2']) {
                         $this->add_message('user', 'error', "Passwords do not match");
                     }
                 }
             }
         }
         unset($data['password2']);
         if (strlen($data['login']) < 3) {
             $this->add_message('user', 'error', "Login too short");
         }
         if (strlen($data['firstname']) < 1) {
             $this->add_message('user', 'error', "Enter a first name");
         }
         if (strlen($data['lastname']) < 1) {
             $this->add_message('user', 'error', "Enter a last name");
         }
         // add/update
         if (!$this->has_messages('user')) {
             try {
                 if ($editing) {
                     $user->alter($data);
                     $this->add_message('user', 'confirm', "User updated");
                 } else {
                     $user = User::add($data);
                     $editing = $user->userid;
                     $this->add_message('user', 'confirm', "User created");
                     $data = $user->data();
                 }
             } catch (Exception $e) {
                 $this->add_message('user', 'error', $e->getMessage());
             }
         }
     }
     // show form
     if ($editing) {
         $this->write_block_begin('Edit user: '******'Add user', 'collapsable block' . (@$_REQUEST['filled'] ? '' : ' collapsed'));
     }
     $this->write_messages('user');
     $this->write_form_begin('admin_user.php', 'post', false, ' autocomplete="off"');
     $this->write_form_preserve('user_filter');
     $this->write_form_preserve('edit');
     $this->write_form_hidden('filled', 1);
     $this->write_form_table_begin();
     $this->write_form_table_field('text', 'user_login', 'Login', $data['login']);
     $this->write_form_table_field('checkbox', 'user_is_admin', 'Administrator', $data['is_admin']);
     $this->write_form_table_field('radio', 'user_auth_method', 'Authentication', $data['auth_method'], array('pass' => 'Log in with password', 'ldap' => 'Log in via LDAP (central password)'));
     $this->write_form_table_field('password', 'user_password', 'Password');
     $this->write_form_table_field('password', 'user_password2', 'Confirm password');
     $this->write_form_table_field('text', 'user_firstname', 'First name', $data['firstname']);
     $this->write_form_table_field('text', 'user_midname', 'Middle name', $data['midname'], ' size="5"');
     $this->write_form_table_field('text', 'user_lastname', 'Last name', $data['lastname']);
     $this->write_form_table_field('text', 'user_email', 'Email address', $data['email']);
     $this->write_form_table_field('text', 'user_class', 'Class', $data['class']);
     $this->write_form_table_field('textarea', 'user_notes', 'Notes', $data['notes'], ' cols="60" rows="4"');
     $this->write_form_table_end();
     $this->write_form_end($editing ? 'Update user' : 'Add user');
     $this->write_block_end();
 }
示例#11
0
function main() {

  allow_cross_domain();
    
  if (@$_GET['file']==='jskomment.js') jskomment_js();
  if (@$_GET['action']==='p') output(add_comment(get_request_data()));
  if (@$_GET['action']==='sx') {
    output(get_comments_as_json());
  }
  if (@$_GET['action']==='s') {
    output(get_single_comment_as_json());
  }
  if (@$_GET['action']==='t') {
    output(json_encode(get_request_data()));
  }

}
<?php

// Purpose        display output for backup, restore, metadata and dbstats processes
//                ubside of an iframe
// 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
// do not overwrite $s_referer in script_start.inc.php
$no_session_referer = TRUE;
require './inc/script_start.inc.php';
$key = get_request_data('key', 'GET');
if ($job = get_iframejob($s_iframejobs, $key)) {
    switch ($job['job']) {
        case 'metadata':
            list($content, $error) = isql_get_metadata($s_login['user'], $s_login['password'], $s_login['database'], $s_login['host']);
            $content = implode("\n", $content);
            break;
        case 'dbstat':
            if (($service = fbird_service_attach($s_login['host'], $s_login['user'], $s_login['password'])) != FALSE) {
                $content = fbird_db_info($service, $s_login['database'], $job['option']);
                $content = trim(str_replace(array(chr(0x1), "\n\n"), array('', "\n"), $content));
                fbird_service_detach($service);
            } else {
                $error = fbird_errmsg();
            }
            break;
        case 'backup':
            if (($service = fbird_service_attach($s_login['host'], $s_login['user'], $s_login['password'])) != FALSE) {
                $content = fbird_backup($service, $job['source'], $job['target'], $job['options'], TRUE);
                $content = str_replace(array(chr(0x1) . chr(0xa), 'gbak: '), '', $content);
     $s_domains = get_domain_definitions($s_domains);
     $s_domains_valid = TRUE;
 }
 $bindargs = $cols = $s_edit_values[$instance] = array();
 $k = 0;
 foreach ($s_fields[$table] as $field) {
     if (isset($field['comp'])) {
         $s_edit_values[$instance][] = $field['csource'];
         $k++;
         continue;
     }
     if (isset($_FILES['dt_edit_file_' . $instance . '_' . $k]) && !empty($_FILES['dt_edit_file_' . $instance . '_' . $k]['name'])) {
         $value = $_FILES['dt_edit_file_' . $instance . '_' . $k];
         $s_edit_values[$instance][] = $value;
     } else {
         $value = get_request_data('dt_edit_field_' . $instance . '_' . $k);
         $s_edit_values[$instance][] = $value;
     }
     // type of the field or the origin type of a domain-based field
     $type = !isset($field['domain']) ? $field['type'] : $s_domains[$field['type']]['type'];
     switch ($type) {
         case 'CHARACTER':
         case 'VARCHAR':
         case 'DATE':
         case 'TIME':
         case 'TIMESTAMP':
             $bindargs[] = empty($field['notnull']) && empty($value) ? NULL : $value;
             break;
         case 'BLOB':
             // blob from file-upload
             if (is_array($value) && strlen(trim($value['name'])) > 0) {
示例#14
0
            unset($s_confirmations['user']);
            break;
    }
}
// deleting a subject is canceled
if (isset($_POST['confirm_no'])) {
    unset($s_confirmations[$_POST['confirm_subject']]);
}
//
// customizing
//
if (have_panel_permissions($s_login['user'], 'usr_cust')) {
    if (isset($_POST['usr_cust_save'])) {
        $old_settings = $s_cust;
        $s_cust['language'] = get_request_data('usr_cust_language');
        $s_cust['askdel'] = get_request_data('usr_cust_askdel') == $usr_strings['Yes'] ? 1 : 0;
        $settings_changed = TRUE;
    }
    // reset the customizing values to the configuration defaults
    if (isset($_POST['usr_cust_defaults'])) {
        $old_settings = $s_cust;
        $s_cust = get_customize_defaults($s_useragent);
        $settings_changed = TRUE;
    }
    if ($settings_changed = TRUE && isset($old_settings)) {
        if ($old_settings['language'] != $s_cust['language']) {
            include './lang/' . $s_cust['language'] . '.inc.php';
            fix_language($s_cust['language']);
        }
        set_customize_cookie($s_cust);
        // force reloading of the stylesheet
     $s_exception_defs = array('name' => get_request_data('def_exc_name'), 'msg' => get_request_data('def_exc_msg'));
     if (create_exception($s_exception_defs) == TRUE) {
         $s_exception_defs = array();
         $s_exceptions_valid = FALSE;
     } else {
         $exc_add_flag = TRUE;
     }
 }
 // the modify button on the exceptions panel
 if (isset($_POST['acc_exc_mod']) && $_POST['acc_exc_mod_name'] != '') {
     $s_exception_defs = array('name' => $_POST['acc_exc_mod_name'], 'msg' => $s_exceptions[$_POST['acc_exc_mod_name']]);
     $exc_mod_flag = TRUE;
 }
 // modify the exception
 if (isset($_POST['acc_exc_mod_doit'])) {
     $s_exception_defs['msg'] = get_request_data('def_exc_msg');
     if (modify_exception($s_exception_defs) == TRUE) {
         $s_exception_defs = array();
         $s_exceptions_valid = FALSE;
     } else {
         $exc_mod_flag = TRUE;
     }
 }
 // creating or modifying exception was canceled
 if (isset($_POST['acc_exc_create_cancel']) || isset($_POST['acc_exc_mod_cancel'])) {
     $s_exception_defs = array();
 }
 // init the array s_exceptions
 if ($s_exceptions_valid == FALSE || isset($_POST['acc_exc_reload'])) {
     $s_exceptions = get_exceptions($s_exceptions_order, $s_exceptions_dir);
     $s_exceptions_valid = TRUE;
示例#16
0
<?php

try {
    require "./db.php";
    $REQUEST = get_request_data();
    if (!array_key_exists('cohortid', $REQUEST)) {
        throw new Exception('Did not supply cohortid');
    }
    echo json_response('success', null, get_user_list($REQUEST['cohortid']));
} catch (Exception $e) {
    echo json_response('error', $e->getMessage(), null);
}
示例#17
0
//                published under the terms of the GNU General Public Licence v.2,
//                see file LICENCE for details
require './inc/script_start.inc.php';
require './inc/foreign_keys.inc.php';
require './inc/handle_watchtable.inc.php';
require './inc/DataForm.php';
if (isset($s_edit_where) && count($s_edit_where) > 0) {
    include './inc/handle_editdata.inc.php';
}
//
// if the sql_enter-panel is open, get the content for the textarea
//
if (have_panel_permissions($s_login['user'], 'sql_enter')) {
    $sql_script = isset($s_sql_buffer[$s_sql_pointer]) ? $s_sql_buffer[$s_sql_pointer] : '';
    if (isset($_POST['sql_script'])) {
        $sql_script = get_request_data('sql_script');
        if (SQL_MAXSAVE == 0 || substr_count($sql_script, "\n") <= SQL_MAXSAVE) {
            $s_sql_buffer[$s_sql_pointer] = $sql_script;
        } else {
            unset($s_sql_buffer[$s_sql_pointer]);
        }
    }
    // load file into the textarea
    if (isset($_POST['sql_load']) && is_uploaded_file($_FILES['sql_file']['tmp_name'])) {
        $sql_script = implode('', file($_FILES['sql_file']['tmp_name']));
        if (SQL_MAXSAVE == 0 || substr_count($sql_script, "\n") <= SQL_MAXSAVE) {
            $s_sql_buffer[$s_sql_pointer] = $sql_script;
        } else {
            unset($s_sql_buffer[$s_sql_pointer]);
        }
    }
    }
    if ((int) $_POST['tb_watch_start'] != 0) {
        $s_wt['start'] = abs($_POST['tb_watch_start']);
    }
    if (!empty($_POST['radiobox'])) {
        $s_wt['order'] = $_POST['radiobox'];
    } else {
        $s_wt['order'] = '';
    }
    $s_wt['direction'] = $_POST['tb_watch_direction'] == $sql_strings['Asc'] ? 'ASC' : 'DESC';
    $s_wt['delete'] = $_POST['tb_watch_del'] == 'Yes' ? TRUE : FALSE;
    $s_wt['edit'] = $_POST['tb_watch_edit'] == 'Yes' ? TRUE : FALSE;
    $s_wt['tblob_inline'] = $_POST['tb_watch_tblob_inline'] == 'Yes' ? TRUE : FALSE;
    $s_wt['tblob_chars'] = abs($_POST['tb_watch_tblob_chars']);
    if (isset($_POST['tb_watch_condition'])) {
        $s_wt['condition'] = get_request_data('tb_watch_condition');
    }
    set_watch_table_title($s_wt['table']);
    $wt_changed = TRUE;
}
if (isset($wt_changed) && $s_connected == TRUE) {
    // editing/deleting from views is not supported now
    if ($s_tables[$s_wt['table']]['is_view']) {
        $s_wt['edit'] = FALSE;
        $s_wt['delete'] = FALSE;
        $message = $MESSAGES['NO_VIEW_SUPPORT'];
    }
    // disable the 'del' and 'edit' links if the user have no remove/update permissions
    // for the selected table
    if ($s_wt['delete'] && $s_login['user'] != 'SYSDBA' && !in_array('R', $s_tables[$s_wt['table']]['privileges'])) {
        $warning = sprintf($WARNINGS['DEL_NO_PERMISSON'], $s_wt['table']);
示例#19
0
    }
    $s_wt['start'] = 1;
} elseif (isset($_GET['edit'])) {
    $s_edit_idx = $s_edit_idx > 0 ? get_max_key($s_edit_where) + 1 : 1;
    $target_panels = get_panel_array($s_referer);
    $pname = 'dt_edit' . $s_edit_idx;
    $instance = $s_edit_idx > 1 ? "({$s_edit_idx}) " : '';
    $ptitle = sprintf($dt_strings['EditFrom'], $instance, $s_wt['table']);
    ${$target_panels}[] = array($pname, $ptitle, 'open');
    $pos = get_panel_index(${$target_panels}, $pname);
    ${$target_panels} = array_moveto_top(${$target_panels}, $pos);
    $s_edit_where[$s_edit_idx] = array('where' => get_request_data('edit', 'GET'), 'table' => $s_wt['table']);
    $s_fields = get_table_computed_sources($s_wt['table'], $s_fields);
    $s_edit_values[$s_edit_idx] = init_edit_values($s_edit_where[$s_edit_idx], $s_fields[$s_wt['table']]);
} elseif (isset($_GET['del'])) {
    $where = get_request_data('del', 'GET');
    $quote = identifier_quote($s_login['dialect']);
    $sql = 'DELETE FROM ' . $quote . $s_wt['table'] . $quote . ' ' . $where;
    if ($s_cust['askdel'] == TRUE) {
        $s_delete_idx = $s_delete_idx > 0 ? get_max_key($s_confirmations['row']) + 1 : 1;
        $target_panels = get_panel_array($s_referer);
        $pname = 'dt_delete' . $s_delete_idx;
        $ptitle = 'Delete';
        $ptitle .= $s_delete_idx > 1 ? " ({$s_delete_idx}) " : ' ';
        $ptitle .= 'from table ' . $s_wt['table'];
        ${$target_panels}[] = array($pname, $ptitle, 'open');
        $pos = get_panel_index(${$target_panels}, $pname);
        ${$target_panels} = array_moveto_top(${$target_panels}, $pos);
        $s_confirmations['row'][$s_delete_idx] = array('msg' => sprintf($MESSAGES['CONFIRM_ROW_DELETE'], $s_wt['table'], $where), 'sql' => $sql);
    } else {
        fbird_query($dbhandle, $sql) or $ib_error = fbird_errmsg();
function save_triggerdefs()
{
    global $s_triggerdefs;
    $s_triggerdefs['name'] = strtoupper(get_request_data('def_trigger_name'));
    $s_triggerdefs['table'] = $_POST['def_trigger_table'];
    $s_triggerdefs['phase'] = $_POST['def_trigger_phase'];
    $s_triggerdefs['type'] = ifsetor($_POST['def_trigger_type']);
    $s_triggerdefs['pos'] = $_POST['def_trigger_pos'];
    $s_triggerdefs['status'] = $_POST['def_trigger_status'];
    $s_triggerdefs['source'] = get_request_data('def_trigger_source');
}
示例#21
0
                $message = sprintf($MESSAGES['CREATE_DB_SUCCESS'], $s_create_db);
            } else {
                $ib_error = fbird_errmsg();
            }
        }
    }
}
//
// script is called from delete database form
//
if (have_panel_permissions($s_login['user'], 'db_delete') && isset($_POST['db_delete_doit']) && isset($_POST['db_delete_database']) && !empty($_POST['db_delete_database'])) {
    $pw = get_request_data('db_delete_password');
    if (strspn($pw, '*') == strlen($pw)) {
        $pw = $s_delete_db['password'];
    }
    $s_delete_db = array('database' => get_request_data('db_delete_database'), 'user' => get_request_data('db_delete_user'), 'host' => get_request_data('db_delete_host'), 'password' => $pw);
    // cannot delete the current database
    if ($s_login['database'] == $s_delete_db) {
        $message = sprintf($MESSAGES['DELETE_CON_DB'], $s_delete_db);
        $s_login['database'] = '';
        $s_connected = FALSE;
        remove_edit_panels();
        cleanup_session();
    }
    if (!have_db_suffix($s_delete_db['database'])) {
        $error = sprintf($ERRORS['WRONG_DB_SUFFIX'], implode("', '", "'" . $DATABASE_SUFFIXES) . "'");
    } elseif (!is_allowed_db($s_delete_db['database'])) {
        $error = sprintf($ERRORS['DB_NOT_ALLOWED'], $s_delete_db['database']);
    } elseif ($s_cust['askdel'] == TRUE) {
        $s_confirmations['database'] = array('msg' => sprintf($MESSAGES['CONFIRM_DB_DELETE'], $s_delete_db['database']));
    }