<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Displays form for editing and inserting new table rows * * register_globals_save (mark this file save for disabling register globals) * * @package PhpMyAdmin */ use PMA\libraries\config\PageSettings; use PMA\libraries\Response; use PMA\libraries\Util; /** * Gets the variables sent or posted to this script and displays the header */ require_once 'libraries/common.inc.php'; require_once 'libraries/config/user_preferences.forms.php'; require_once 'libraries/config/page_settings.forms.php'; PageSettings::showGroup('Edit'); /** * Ensures db and table are valid, else moves to the "parent" script */ require_once 'libraries/db_table_exists.lib.php'; /** * functions implementation for this script */ require_once 'libraries/insert_edit.lib.php'; require_once 'libraries/transformations.lib.php'; /** * Determine whether Insert or Edit and set global variables */ list( $insert_mode, $where_clause, $where_clause_array, $where_clauses, $result, $rows, $found_unique_key, $after_insert ) = PMA_determineInsertOrEdit( isset($where_clause) ? $where_clause : null, $db, $table ); // Increase number of rows if unsaved rows are more if (!empty($unsaved_values) && count($rows) < count($unsaved_values)) { $rows = array_fill(0, count($unsaved_values), false); } /** * file listing */ require_once 'libraries/file_listing.lib.php'; /** * Defines the url to return to in case of error in a sql statement * (at this point, $GLOBALS['goto'] will be set but could be empty) */ if (empty($GLOBALS['goto'])) { if (mb_strlen($table)) { // avoid a problem (see bug #2202709) $GLOBALS['goto'] = 'tbl_sql.php'; } else { $GLOBALS['goto'] = 'db_sql.php'; } } $_url_params = PMA_getUrlParameters($db, $table); $err_url = $GLOBALS['goto'] . PMA_URL_getCommon($_url_params); unset($_url_params); $comments_map = PMA_getCommentsMap($db, $table); /** * START REGULAR OUTPUT */ /** * Load JavaScript files */ $response = Response::getInstance(); $header = $response->getHeader(); $scripts = $header->getScripts(); $scripts->addFile('sql.js'); $scripts->addFile('tbl_change.js'); $scripts->addFile('big_ints.js'); $scripts->addFile('jquery/jquery-ui-timepicker-addon.js'); $scripts->addFile('jquery/jquery.validate.js'); $scripts->addFile('jquery/additional-methods.js'); $scripts->addFile('gis_data_editor.js'); /** * Displays the query submitted and its result * * $disp_message come from tbl_replace.php */ if (! empty($disp_message)) { $response->addHTML(Util::getMessage($disp_message, null)); } $table_columns = PMA_getTableColumns($db, $table); // retrieve keys into foreign fields, if any $foreigners = PMA_getForeigners($db, $table); // Retrieve form parameters for insert/edit form $_form_params = PMA_getFormParametersForInsertForm( $db, $table, $where_clauses, $where_clause_array, $err_url ); /** * Displays the form */ // autocomplete feature of IE kills the "onchange" event handler and it // must be replaced by the "onpropertychange" one in this case $chg_evt_handler = (PMA_USR_BROWSER_AGENT == 'IE' && PMA_USR_BROWSER_VER >= 5 && PMA_USR_BROWSER_VER < 7 ) ? 'onpropertychange' : 'onchange'; // Had to put the URI because when hosted on an https server, // some browsers send wrongly this form to the http server. $html_output = ''; // Set if we passed the first timestamp field $timestamp_seen = false; $columns_cnt = count($table_columns); $tabindex = 0; $tabindex_for_function = +3000; $tabindex_for_null = +6000; $tabindex_for_value = 0; $o_rows = 0; $biggest_max_file_size = 0; $url_params['db'] = $db; $url_params['table'] = $table; $url_params = PMA_urlParamsInEditMode( $url_params, $where_clause_array, $where_clause ); $has_blob_field = false; foreach ($table_columns as $column) { if (PMA_isColumn( $column, array('blob', 'tinyblob', 'mediumblob', 'longblob') )) { $has_blob_field = true; break; } } //Insert/Edit form //If table has blob fields we have to disable ajax. $html_output .= PMA_getHtmlForInsertEditFormHeader($has_blob_field, $is_upload); $html_output .= PMA_URL_getHiddenInputs($_form_params); $titles['Browse'] = Util::getIcon('b_browse.png', __('Browse foreign values')); // user can toggle the display of Function column and column types // (currently does not work for multi-edits) if (! $cfg['ShowFunctionFields'] || ! $cfg['ShowFieldTypesInDataEditView']) { $html_output .= __('Show'); } if (! $cfg['ShowFunctionFields']) { $html_output .= PMA_showTypeOrFunction('function', $url_params, false); } if (! $cfg['ShowFieldTypesInDataEditView']) { $html_output .= PMA_showTypeOrFunction('type', $url_params, false); } $GLOBALS['plugin_scripts'] = array(); foreach ($rows as $row_id => $current_row) { if (empty($current_row)) { $current_row = array(); } $jsvkey = $row_id; $vkey = '[multi_edit][' . $jsvkey . ']'; $current_result = (isset($result) && is_array($result) && isset($result[$row_id]) ? $result[$row_id] : $result); $repopulate = array(); $checked = true; if (isset($unsaved_values[$row_id])) { $repopulate = $unsaved_values[$row_id]; $checked = false; } if ($insert_mode && $row_id > 0) { $html_output .= PMA_getHtmlForIgnoreOption($row_id, $checked); } $html_output .= PMA_getHtmlForInsertEditRow( $url_params, $table_columns, $comments_map, $timestamp_seen, $current_result, $chg_evt_handler, $jsvkey, $vkey, $insert_mode, $current_row, $o_rows, $tabindex, $columns_cnt, $is_upload, $tabindex_for_function, $foreigners, $tabindex_for_null, $tabindex_for_value, $table, $db, $row_id, $titles, $biggest_max_file_size, $text_dir, $repopulate, $where_clause_array ); } // end foreach on multi-edit $scripts->addFiles($GLOBALS['plugin_scripts']); unset($unsaved_values, $checked, $repopulate, $GLOBALS['plugin_scripts']); if (! isset($after_insert)) { $after_insert = 'back'; } //action panel $html_output .= PMA_getActionsPanel( $where_clause, $after_insert, $tabindex, $tabindex_for_value, $found_unique_key ); if ($biggest_max_file_size > 0) { $html_output .= ' ' . Util::generateHiddenMaxFileSize( $biggest_max_file_size ) . "\n"; } $html_output .= '</form>'; $html_output .= PMA_getHtmlForGisEditor(); // end Insert/Edit form if ($insert_mode) { //Continue insertion form $html_output .= PMA_getContinueInsertionForm( $table, $db, $where_clause_array, $err_url ); } $response->addHTML($html_output);
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
doc | Folder | 0755 |
|
|
js | Folder | 0755 |
|
|
libraries | Folder | 0755 |
|
|
locale | Folder | 0755 |
|
|
setup | Folder | 0755 |
|
|
sql | Folder | 0755 |
|
|
templates | Folder | 0755 |
|
|
themes | Folder | 0755 |
|
|
browse_foreigners.php | File | 1.55 KB | 0644 |
|
changelog.php | File | 5.18 KB | 0644 |
|
chk_rel.php | File | 758 B | 0644 |
|
config.sample.inc.php | File | 4.45 KB | 0644 |
|
db_central_columns.php | File | 5.25 KB | 0644 |
|
db_datadict.php | File | 5.76 KB | 0644 |
|
db_designer.php | File | 5.72 KB | 0644 |
|
db_events.php | File | 356 B | 0644 |
|
db_export.php | File | 4.85 KB | 0644 |
|
db_import.php | File | 1.02 KB | 0644 |
|
db_operations.php | File | 9.68 KB | 0644 |
|
db_qbe.php | File | 4.33 KB | 0644 |
|
db_routines.php | File | 465 B | 0644 |
|
db_search.php | File | 2.03 KB | 0644 |
|
db_sql.php | File | 1.07 KB | 0644 |
|
db_sql_autocomplete.php | File | 735 B | 0644 |
|
db_sql_format.php | File | 463 B | 0644 |
|
db_structure.php | File | 1.04 KB | 0644 |
|
db_tracking.php | File | 4.32 KB | 0644 |
|
db_triggers.php | File | 360 B | 0644 |
|
error_report.php | File | 4.48 KB | 0644 |
|
export.php | File | 17.17 KB | 0644 |
|
favicon.ico | File | 21.96 KB | 0644 |
|
file_echo.php | File | 856 B | 0644 |
|
gis_data_editor.php | File | 15.46 KB | 0644 |
|
import.php | File | 28.7 KB | 0644 |
|
import_status.php | File | 3.38 KB | 0644 |
|
index.php | File | 20.32 KB | 0644 |
|
license.php | File | 852 B | 0644 |
|
lint.php | File | 1.35 KB | 0644 |
|
logout.php | File | 247 B | 0644 |
|
navigation.php | File | 2.13 KB | 0644 |
|
normalization.php | File | 3.93 KB | 0644 |
|
phpinfo.php | File | 510 B | 0644 |
|
phpmyadmin.css.php | File | 1017 B | 0644 |
|
prefs_forms.php | File | 2.68 KB | 0644 |
|
prefs_manage.php | File | 14.35 KB | 0644 |
|
print.css | File | 1.18 KB | 0644 |
|
schema_export.php | File | 1.64 KB | 0644 |
|
server_binlog.php | File | 804 B | 0644 |
|
server_collations.php | File | 837 B | 0644 |
|
server_databases.php | File | 817 B | 0644 |
|
server_engines.php | File | 803 B | 0644 |
|
server_export.php | File | 1.2 KB | 0644 |
|
server_import.php | File | 793 B | 0644 |
|
server_plugins.php | File | 808 B | 0644 |
|
server_privileges.php | File | 13.66 KB | 0644 |
|
server_replication.php | File | 2.14 KB | 0644 |
|
server_sql.php | File | 847 B | 0644 |
|
server_status.php | File | 981 B | 0644 |
|
server_status_advisor.php | File | 940 B | 0644 |
|
server_status_monitor.php | File | 3.01 KB | 0644 |
|
server_status_processes.php | File | 1.89 KB | 0644 |
|
server_status_queries.php | File | 1.35 KB | 0644 |
|
server_status_variables.php | File | 1.58 KB | 0644 |
|
server_user_groups.php | File | 1.79 KB | 0644 |
|
server_variables.php | File | 817 B | 0644 |
|
show_config_errors.php | File | 1.02 KB | 0644 |
|
sql.php | File | 6.24 KB | 0644 |
|
tbl_addfield.php | File | 3.79 KB | 0644 |
|
tbl_change.php | File | 6.6 KB | 0644 |
|
tbl_chart.php | File | 990 B | 0644 |
|
tbl_create.php | File | 3.09 KB | 0644 |
|
tbl_export.php | File | 4.27 KB | 0644 |
|
tbl_find_replace.php | File | 1.01 KB | 0644 |
|
tbl_get_field.php | File | 1.64 KB | 0644 |
|
tbl_gis_visualization.php | File | 1.23 KB | 0644 |
|
tbl_import.php | File | 910 B | 0644 |
|
tbl_indexes.php | File | 1.4 KB | 0644 |
|
tbl_operations.php | File | 14.12 KB | 0644 |
|
tbl_recent_favorite.php | File | 455 B | 0644 |
|
tbl_relation.php | File | 2.47 KB | 0644 |
|
tbl_replace.php | File | 16.27 KB | 0644 |
|
tbl_row_action.php | File | 4.95 KB | 0644 |
|
tbl_select.php | File | 1.14 KB | 0644 |
|
tbl_sql.php | File | 1.24 KB | 0644 |
|
tbl_structure.php | File | 1.72 KB | 0644 |
|
tbl_tracking.php | File | 5.82 KB | 0644 |
|
tbl_triggers.php | File | 141 B | 0644 |
|
tbl_zoom_select.php | File | 1.06 KB | 0644 |
|
themes.php | File | 894 B | 0644 |
|
transformation_overview.php | File | 1.89 KB | 0644 |
|
transformation_wrapper.php | File | 4.67 KB | 0644 |
|
url.php | File | 1.29 KB | 0644 |
|
user_password.php | File | 9.29 KB | 0644 |
|
version_check.php | File | 1.04 KB | 0644 |
|
view_create.php | File | 9.2 KB | 0644 |
|
view_operations.php | File | 3.79 KB | 0644 |
|