Automatically switch between input and textarea for setting value (#7817)

* Automatically switch between input and textarea for setting value

* Update default_setting_edit.php

* Update domain_setting_edit.php

* Update user_setting_edit.php
This commit is contained in:
Alex
2026-03-26 19:11:39 +00:00
committed by GitHub
parent 340df86073
commit 66e3532911
3 changed files with 31 additions and 7 deletions
+11 -3
View File
@@ -736,11 +736,19 @@
echo " </select>\n";
}
else {
if (!empty($_SESSION['domain']['setting_value_input_type']) && $settings->get('domain', 'setting_value_input_type') == 'input') {
echo " <input class='formfld' type='text' id='default_setting_value' name='default_setting_value' value=\"".escape($default_setting_value ?? '')."\">\n";
if (strlen($default_setting_value) > 25) {
echo " <textarea class='formfld' style='width: 185px; height: auto; max-height: 300px;' id='default_setting_value' name='default_setting_value'>".($default_setting_value ?? '')."</textarea>\n";
echo " <script>\n";
echo " document.addEventListener('DOMContentLoaded', () => {\n";
echo " let textarea = document.getElementById('default_setting_value');\n";
echo " textarea.style.height = 'auto';\n";
echo " textarea.style.height = textarea.scrollHeight + 'px';\n";
echo " });\n";
echo " </script>\n";
}
else {
echo " <textarea class='formfld' id='default_setting_value' name='default_setting_value'>".($default_setting_value ?? '')."</textarea>\n";
echo " <input class='formfld' type='text' id='default_setting_value' name='default_setting_value' value=\"".escape($default_setting_value ?? '')."\">\n";
}
}
echo "<br />\n";
+10 -2
View File
@@ -767,8 +767,16 @@
echo " </select>\n";
}
else {
if (!empty($_SESSION['domain']['setting_value_input_type']) && $settings->get('domain', 'setting_value_input_type') == 'textarea') {
echo " <textarea class='formfld' style='width: 185px; height: 80px;' id='domain_setting_value' name='domain_setting_value'>".($row['domain_setting_value'] ?? '')."</textarea>\n";
if (isset($row['domain_setting_value']) && strlen($row['domain_setting_value']) > 25) {
echo " <textarea class='formfld' style='width: 185px; height: auto; max-height: 300px;' id='domain_setting_value' name='domain_setting_value'>".($row['domain_setting_value'] ?? '')."</textarea>\n";
echo " <script>\n";
echo " document.addEventListener('DOMContentLoaded', () => {\n";
echo " let textarea = document.getElementById('domain_setting_value');\n";
echo " textarea.style.height = 'auto';\n";
echo " textarea.style.height = textarea.scrollHeight + 'px';\n";
echo " });\n";
echo " </script>\n";
}
else {
echo " <input class='formfld' type='text' id='domain_setting_value' name='domain_setting_value' value=\"".escape($row['domain_setting_value'] ?? '')."\">\n";
+10 -2
View File
@@ -680,8 +680,16 @@ if (!empty($_POST) && empty($_POST["persistformvar"])) {
echo " </select>\n";
}
else {
if (!empty($_SESSION['domain']['setting_value_input_type']) && $settings->get('domain', 'setting_value_input_type') == 'textarea') {
echo " <textarea class='formfld' style='width: 185px; height: 80px;' id='user_setting_value' name='user_setting_value'>".($user_setting_value ?? '')."</textarea>\n";
if (strlen($user_setting_value) > 25) {
echo " <textarea class='formfld' style='width: 185px; height: auto; max-height: 300px;' id='user_setting_value' name='user_setting_value'>".($user_setting_value ?? '')."</textarea>\n";
echo " <script>\n";
echo " document.addEventListener('DOMContentLoaded', () => {\n";
echo " let textarea = document.getElementById('user_setting_value');\n";
echo " textarea.style.height = 'auto';\n";
echo " textarea.style.height = textarea.scrollHeight + 'px';\n";
echo " });\n";
echo " </script>\n";
}
else {
echo " <input class='formfld' type='text' id='user_setting_value' name='user_setting_value' value=\"".escape($user_setting_value ?? '')."\">\n";