diff --git a/libraries/insert_edit.lib.php b/libraries/insert_edit.lib.php
index fceca5b184..c9a538bb49 100644
--- a/libraries/insert_edit.lib.php
+++ b/libraries/insert_edit.lib.php
@@ -379,12 +379,13 @@ function PMA_getEnumSetAndTimestampColumns($column, $timestamp_seen)
* @param integer $tabindex tab index
* @param integer $idindex id index
* @param boolean $insert_mode insert mode or edit mode
+ * @param boolean $readOnly is column read only or not
*
* @return string an html snippet
*/
function PMA_getFunctionColumn($column, $is_upload, $column_name_appendix,
$onChangeClause, $no_support_types, $tabindex_for_function,
- $tabindex, $idindex, $insert_mode
+ $tabindex, $idindex, $insert_mode, $readOnly
) {
$html_output = '';
if (($GLOBALS['cfg']['ProtectBinary'] === 'blob'
@@ -395,7 +396,8 @@ function PMA_getFunctionColumn($column, $is_upload, $column_name_appendix,
&& $column['is_binary'])
) {
$html_output .= '
' . __('Binary') . ' | ' . "\n";
- } elseif (mb_strstr($column['True_Type'], 'enum')
+ } elseif ($readOnly
+ || mb_strstr($column['True_Type'], 'enum')
|| mb_strstr($column['True_Type'], 'set')
|| in_array($column['pma_type'], $no_support_types)
) {
@@ -430,13 +432,15 @@ function PMA_getFunctionColumn($column, $is_upload, $column_name_appendix,
* @param string $vkey [multi_edit]['row_id']
* @param array $foreigners keys into foreign fields
* @param array $foreignData data about the foreign keys
+ * @param boolean $readOnly is column read only or not
*
* @return string an html snippet
*/
function PMA_getNullColumn($column, $column_name_appendix, $real_null_value,
- $tabindex, $tabindex_for_null, $idindex, $vkey, $foreigners, $foreignData
+ $tabindex, $tabindex_for_null, $idindex, $vkey, $foreigners, $foreignData,
+ $readOnly
) {
- if ($column['Null'] != 'YES') {
+ if ($column['Null'] != 'YES' || $readOnly) {
return " | \n";
}
$html_output = '';
@@ -544,6 +548,7 @@ function PMA_getNullifyCodeForNullColumn($column, $foreigners, $foreignData)
* @param array $extracted_columnspec associative array containing type,
* spec_in_brackets and possibly
* enum_set_values (another array)
+ * @param boolean $readOnly is column read only or not
*
* @return string an html snippet
*/
@@ -552,7 +557,8 @@ function PMA_getValueColumn($column, $backup_field, $column_name_appendix,
$special_chars, $foreignData, $odd_row, $paramTableDbArray, $rownumber,
$titles, $text_dir, $special_chars_encoded, $vkey,
$is_upload, $biggest_max_file_size,
- $default_char_editing, $no_support_types, $gis_data_types, $extracted_columnspec
+ $default_char_editing, $no_support_types, $gis_data_types, $extracted_columnspec,
+ $readOnly
) {
// HTML5 data-* attribute data-type
$data_type = $GLOBALS['PMA_Types']->getTypeClass($column['True_Type']);
@@ -562,14 +568,14 @@ function PMA_getValueColumn($column, $backup_field, $column_name_appendix,
$html_output .= PMA_getForeignLink(
$column, $backup_field, $column_name_appendix,
$onChangeClause, $tabindex, $tabindex_for_value, $idindex, $data,
- $paramTableDbArray, $rownumber, $titles
+ $paramTableDbArray, $rownumber, $titles, $readOnly
);
} elseif (is_array($foreignData['disp_row'])) {
$html_output .= PMA_dispRowForeignData(
$backup_field, $column_name_appendix,
$onChangeClause, $tabindex, $tabindex_for_value,
- $idindex, $data, $foreignData
+ $idindex, $data, $foreignData, $readOnly
);
} elseif ($GLOBALS['cfg']['LongtextDoubleTextarea']
@@ -582,7 +588,7 @@ function PMA_getValueColumn($column, $backup_field, $column_name_appendix,
$html_output .= PMA_getTextarea(
$column, $backup_field, $column_name_appendix, $onChangeClause,
$tabindex, $tabindex_for_value, $idindex, $text_dir,
- $special_chars_encoded, $data_type
+ $special_chars_encoded, $data_type, $readOnly
);
} elseif (mb_strstr($column['pma_type'], 'text')) {
@@ -590,7 +596,7 @@ function PMA_getValueColumn($column, $backup_field, $column_name_appendix,
$html_output .= PMA_getTextarea(
$column, $backup_field, $column_name_appendix, $onChangeClause,
$tabindex, $tabindex_for_value, $idindex, $text_dir,
- $special_chars_encoded, $data_type
+ $special_chars_encoded, $data_type, $readOnly
);
$html_output .= "\n";
if (mb_strlen($special_chars) > 32000) {
@@ -603,14 +609,15 @@ function PMA_getValueColumn($column, $backup_field, $column_name_appendix,
} elseif ($column['pma_type'] == 'enum') {
$html_output .= PMA_getPmaTypeEnum(
$column, $backup_field, $column_name_appendix, $extracted_columnspec,
- $onChangeClause, $tabindex, $tabindex_for_value, $idindex, $data
+ $onChangeClause, $tabindex, $tabindex_for_value, $idindex, $data,
+ $readOnly
);
} elseif ($column['pma_type'] == 'set') {
$html_output .= PMA_getPmaTypeSet(
$column, $extracted_columnspec, $backup_field,
$column_name_appendix, $onChangeClause, $tabindex,
- $tabindex_for_value, $idindex, $data
+ $tabindex_for_value, $idindex, $data, $readOnly
);
} elseif ($column['is_binary'] || $column['is_blob']) {
@@ -618,7 +625,7 @@ function PMA_getValueColumn($column, $backup_field, $column_name_appendix,
$column, $data, $special_chars, $biggest_max_file_size,
$backup_field, $column_name_appendix, $onChangeClause, $tabindex,
$tabindex_for_value, $idindex, $text_dir, $special_chars_encoded,
- $vkey, $is_upload
+ $vkey, $is_upload, $readOnly
);
} elseif (! in_array($column['pma_type'], $no_support_types)) {
@@ -626,7 +633,7 @@ function PMA_getValueColumn($column, $backup_field, $column_name_appendix,
$column, $default_char_editing, $backup_field,
$column_name_appendix, $onChangeClause, $tabindex, $special_chars,
$tabindex_for_value, $idindex, $text_dir, $special_chars_encoded,
- $data, $extracted_columnspec
+ $data, $extracted_columnspec, $readOnly
);
}
@@ -653,12 +660,13 @@ function PMA_getValueColumn($column, $backup_field, $column_name_appendix,
* @param array $titles An HTML IMG tag for a particular icon from
* a theme, which may be an actual file or
* an icon from a sprite
+ * @param boolean $readOnly is column read only or not
*
* @return string an html snippet
*/
function PMA_getForeignLink($column, $backup_field, $column_name_appendix,
$onChangeClause, $tabindex, $tabindex_for_value, $idindex, $data,
- $paramTableDbArray, $rownumber, $titles
+ $paramTableDbArray, $rownumber, $titles, $readOnly
) {
list($table, $db) = $paramTableDbArray;
$html_output = '';
@@ -670,6 +678,7 @@ function PMA_getForeignLink($column, $backup_field, $column_name_appendix,
$html_output .= '';
@@ -699,12 +708,13 @@ function PMA_getForeignLink($column, $backup_field, $column_name_appendix,
* @param integer $idindex id index
* @param string $data data to edit
* @param array $foreignData data about the foreign keys
+ * @param boolean $readOnly is display read only or not
*
* @return string an html snippet
*/
function PMA_dispRowForeignData($backup_field, $column_name_appendix,
$onChangeClause, $tabindex, $tabindex_for_value, $idindex, $data,
- $foreignData
+ $foreignData, $readOnly
) {
$html_output = '';
$html_output .= $backup_field . "\n";
@@ -715,6 +725,7 @@ function PMA_dispRowForeignData($backup_field, $column_name_appendix,
$html_output .= '';
+ //Add hidden input, as disabled