Drop getColumnSetValueAndSelectSize()

Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
This commit is contained in:
Kamil Tekiela 2023-04-20 00:39:31 +01:00
parent 2d7617fe47
commit fa7fe0da97
5 changed files with 12 additions and 71 deletions

View File

@ -480,30 +480,6 @@ class InsertEdit
. '</textarea>';
}
/**
* Retrieve column 'set' value and select size
*
* @param mixed[] $column description of column in given table
* @param string[] $enumSetValues
*
* @return mixed[] $column['values'], $column['select_size']
*/
private function getColumnSetValueAndSelectSize(
array $column,
array $enumSetValues,
): array {
if (! isset($column['values'])) {
$column['values'] = [];
foreach ($enumSetValues as $val) {
$column['values'][] = ['plain' => $val, 'html' => htmlspecialchars($val)];
}
$column['select_size'] = min(4, count($column['values']));
}
return [$column['values'], $column['select_size']];
}
/**
* Get HTML input type
*
@ -2032,10 +2008,10 @@ class InsertEdit
}
}
} elseif ($column['pma_type'] === 'set') {
[$columnSetValues, $setSelectSize] = $this->getColumnSetValueAndSelectSize(
$column,
$extractedColumnspec['enum_set_values'],
);
$columnSetValues = $column['values'] ?? $extractedColumnspec['enum_set_values'];
$setSelectSize = ! isset($column['values'])
? min(4, count($extractedColumnspec['enum_set_values']))
: $column['select_size'];
} elseif ($column['is_binary'] || $column['is_blob']) {
$isColumnProtectedBlob = ($GLOBALS['cfg']['ProtectBinary'] === 'blob' && $column['is_blob'])
|| ($GLOBALS['cfg']['ProtectBinary'] === 'all')

View File

@ -4835,6 +4835,11 @@ parameters:
count: 1
path: libraries/classes/InsertEdit.php
-
message: "#^Parameter \\#1 \\$value of function count expects array\\|Countable, mixed given\\.$#"
count: 1
path: libraries/classes/InsertEdit.php
-
message: "#^Parameter \\#1 \\$value of static method PhpMyAdmin\\\\Util\\:\\:addMicroseconds\\(\\) expects string, mixed given\\.$#"
count: 1
@ -4855,11 +4860,6 @@ parameters:
count: 1
path: libraries/classes/InsertEdit.php
-
message: "#^Parameter \\#2 \\$enumSetValues of method PhpMyAdmin\\\\InsertEdit\\:\\:getColumnSetValueAndSelectSize\\(\\) expects array\\<string\\>, mixed given\\.$#"
count: 1
path: libraries/classes/InsertEdit.php
-
message: "#^Parameter \\#2 \\$foreignField of method PhpMyAdmin\\\\ConfigStorage\\\\Relation\\:\\:foreignDropdown\\(\\) expects string, mixed given\\.$#"
count: 1

View File

@ -8029,6 +8029,7 @@
<code><![CDATA[$mimeMap[$tableColumn['Field']]]]></code>
</MixedArrayOffset>
<MixedAssignment>
<code>$columnSetValues</code>
<code><![CDATA[$column['pma_type']]]></code>
<code><![CDATA[$column['values']]]></code>
<code>$currCellEditedValues</code>
@ -8045,6 +8046,7 @@
<code>$isUnsigned</code>
<code>$maxlength</code>
<code>$maxlength</code>
<code>$setSelectSize</code>
<code>$singleQuery</code>
<code>$specialChars</code>
<code><![CDATA[$tmp['Default']]]></code>
@ -8104,7 +8106,6 @@
</PossiblyInvalidOperand>
<PossiblyUndefinedArrayOffset>
<code><![CDATA[$column['is_blob']]]></code>
<code><![CDATA[$column['select_size']]]></code>
</PossiblyUndefinedArrayOffset>
<RedundantCast>
<code><![CDATA[(int) $GLOBALS['cfg']['InsertRows']]]></code>
@ -14891,8 +14892,6 @@
<code>$result</code>
<code>$result</code>
<code>$result</code>
<code>$result</code>
<code>$result</code>
</MixedAssignment>
</file>
<file src="test/classes/InternalRelationsTest.php">

View File

@ -85,7 +85,7 @@
<input type="hidden" name="fields_type[multi_edit][{{ row_id }}][{{ column.Field_md5 }}]" value="set">
<select name="fields[multi_edit][{{ row_id }}][{{ column.Field_md5 }}][]" class="textfield" size="{{ set_select_size }}" id="field_{{ id_index }}_3" onchange="return verificationsAfterFieldChange('{{ column.Field_md5|escape('js') }}', '{{ row_id|escape('js') }}', '{{ column.pma_type }}')" multiple>
{% for set_value in set_values %}
<option value="{{ set_value.plain }}"{{ set_value.plain in data|split(',') ? ' selected' }}>{{ set_value.plain }}</option>
<option value="{{ set_value }}"{{ set_value in data|split(',') ? ' selected' }}>{{ set_value }}</option>
{% endfor %}
</select>
{% elseif column.is_binary or column.is_blob %}

View File

@ -619,40 +619,6 @@ class InsertEditTest extends AbstractTestCase
);
}
/**
* Test for getColumnSetValueAndSelectSize
*/
public function testGetColumnSetValueAndSelectSize(): void
{
$column = [];
$enumSetValues = ['a', '<'];
$result = $this->callFunction(
$this->insertEdit,
InsertEdit::class,
'getColumnSetValueAndSelectSize',
[[], $enumSetValues],
);
$this->assertEquals(
[[['plain' => 'a', 'html' => 'a'], ['plain' => '<', 'html' => '&lt;']], 2],
$result,
);
$column['values'] = [1, 2];
$column['select_size'] = 3;
$result = $this->callFunction(
$this->insertEdit,
InsertEdit::class,
'getColumnSetValueAndSelectSize',
[$column, $enumSetValues],
);
$this->assertEquals(
[[1, 2], 3],
$result,
);
}
/**
* Test for getHtmlInput
*/