Skip to content

Commit

Permalink
Merge branch 'QA_4_6'
Browse files Browse the repository at this point in the history
  • Loading branch information
nijel committed Nov 10, 2016
2 parents 2de2eb7 + 4cd1814 commit fb279cb
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 16 deletions.
1 change: 1 addition & 0 deletions ChangeLog
Expand Up @@ -118,6 +118,7 @@ phpMyAdmin - ChangeLog
- issue #12681 Fixed designer with tables using special chars
- issue #12652 Fixed visual query builder for foreign keys with more fields
- issue #12257 Improved search page performance
- issue #12322 Avoid selecting default function for foreign keys

4.6.4 (2016-08-16)
- issue [security] Weaknesses with cookie encryption, see PMASA-2016-29
Expand Down
4 changes: 2 additions & 2 deletions libraries/Util.php
Expand Up @@ -3901,7 +3901,7 @@ public static function getDefaultFunctionForField($field, $insert_mode)
* @return string An HTML snippet of a dropdown list with function
* names appropriate for the requested column.
*/
public static function getFunctionsForField($field, $insert_mode)
public static function getFunctionsForField($field, $insert_mode, $foreignData)
{
$default_function = self::getDefaultFunctionForField($field, $insert_mode);
$dropdown_built = array();
Expand All @@ -3913,7 +3913,7 @@ public static function getFunctionsForField($field, $insert_mode)
$functions = $GLOBALS['PMA_Types']->getFunctions($field['True_Type']);
foreach ($functions as $function) {
$retval .= '<option';
if ($default_function === $function) {
if (isset($foreignData['foreign_link']) && $foreignData['foreign_link'] !== false && $default_function === $function) {
$retval .= ' selected="selected"';
}
$retval .= '>' . $function . '</option>' . "\n";
Expand Down
14 changes: 8 additions & 6 deletions libraries/insert_edit.lib.php
Expand Up @@ -382,12 +382,13 @@ function PMA_getEnumSetAndTimestampColumns($column, $timestamp_seen)
* @param integer $idindex id index
* @param boolean $insert_mode insert mode or edit mode
* @param boolean $readOnly is column read only or not
* @param array $foreignData foreign key data
*
* @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, $readOnly
$tabindex, $idindex, $insert_mode, $readOnly, $foreignData
) {
$html_output = '';
if (($GLOBALS['cfg']['ProtectBinary'] === 'blob'
Expand All @@ -413,7 +414,8 @@ function PMA_getFunctionColumn($column, $is_upload, $column_name_appendix,
. ' id="field_' . $idindex . '_1">';
$html_output .= PMA\libraries\Util::getFunctionsForField(
$column,
$insert_mode
$insert_mode,
$foreignData
) . "\n";

$html_output .= '</select>' . "\n";
Expand Down Expand Up @@ -2852,19 +2854,19 @@ function PMA_getHtmlForInsertEditFormColumn($table_columns, $column_number,

// The function column
// -------------------
$foreignData = PMA_getForeignData(
$foreigners, $column['Field'], false, '', ''
);
if ($GLOBALS['cfg']['ShowFunctionFields']) {
$html_output .= PMA_getFunctionColumn(
$column, $is_upload, $column_name_appendix,
$onChangeClause, $no_support_types, $tabindex_for_function,
$tabindex, $idindex, $insert_mode, $readOnly
$tabindex, $idindex, $insert_mode, $readOnly, $foreignData
);
}

// The null column
// ---------------
$foreignData = PMA_getForeignData(
$foreigners, $column['Field'], false, '', ''
);
$html_output .= PMA_getNullColumn(
$column, $column_name_appendix, $real_null_value,
$tabindex, $tabindex_for_null, $idindex, $vkey, $foreigners,
Expand Down
2 changes: 1 addition & 1 deletion libraries/rte/rte_routines.lib.php
Expand Up @@ -1650,7 +1650,7 @@ function PMA_RTN_getExecuteForm($routine)
);
$retval .= "<select name='funcs["
. $routine['item_param_name'][$i] . "]'>";
$retval .= PMA\libraries\Util::getFunctionsForField($field, false);
$retval .= PMA\libraries\Util::getFunctionsForField($field, false, array());
$retval .= "</select>";
}
$retval .= "</td>\n";
Expand Down
14 changes: 7 additions & 7 deletions test/libraries/PMA_insert_edit_test.php
Expand Up @@ -557,7 +557,7 @@ public function testGetFunctionColumn()
$this->assertContains(
'<td class="center">Binary</td>',
PMA_getFunctionColumn(
$column, false, '', '', array(), 0, 0, 0, false, false
$column, false, '', '', array(), 0, 0, 0, false, false, array()
)
);

Expand All @@ -566,7 +566,7 @@ public function testGetFunctionColumn()
$this->assertContains(
'<td class="center">Binary</td>',
PMA_getFunctionColumn(
$column, true, '', '', array(), 0, 0, 0, false, false
$column, true, '', '', array(), 0, 0, 0, false, false, array()
)
);

Expand All @@ -575,7 +575,7 @@ public function testGetFunctionColumn()
$this->assertContains(
'<td class="center">Binary</td>',
PMA_getFunctionColumn(
$column, true, '', '', array(), 0, 0, 0, false, false
$column, true, '', '', array(), 0, 0, 0, false, false, array()
)
);

Expand All @@ -584,15 +584,15 @@ public function testGetFunctionColumn()
$this->assertContains(
'<td class="center">--</td>',
PMA_getFunctionColumn(
$column, true, '', '', array(), 0, 0, 0, false, false
$column, true, '', '', array(), 0, 0, 0, false, false, array()
)
);

$column['True_Type'] = 'set';
$this->assertContains(
'<td class="center">--</td>',
PMA_getFunctionColumn(
$column, true, '', '', array(), 0, 0, 0, false, false
$column, true, '', '', array(), 0, 0, 0, false, false, array()
)
);

Expand All @@ -601,7 +601,7 @@ public function testGetFunctionColumn()
$this->assertContains(
'<td class="center">--</td>',
PMA_getFunctionColumn(
$column, true, '', '', array('int'), 0, 0, 0, false, false
$column, true, '', '', array('int'), 0, 0, 0, false, false, array()
)
);

Expand All @@ -610,7 +610,7 @@ public function testGetFunctionColumn()
$this->assertContains(
'<select name="funcsa" b tabindex="5" id="field_3_1"',
PMA_getFunctionColumn(
$column, true, 'a', 'b', array(), 2, 3, 3, false, false
$column, true, 'a', 'b', array(), 2, 3, 3, false, false, array()
)
);
}
Expand Down

0 comments on commit fb279cb

Please sign in to comment.