From 7fd7c4fd123b0b2bc9e0f91e3dc8e195b3ce1fec Mon Sep 17 00:00:00 2001 From: "origami11@yandex.ru" Date: Thu, 8 Dec 2022 18:40:00 +0300 Subject: [PATCH] =?UTF-8?q?fix=20=D0=9A=D0=BB=D0=B0=D1=81=D1=81=D1=8B=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=BE=D0=BB=D0=B5=D0=B9=20=D1=84?= =?UTF-8?q?=D0=BE=D1=80=D0=BC=D1=8B=20=D0=B2=D1=8B=D0=BD=D0=B5=D1=81=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=B2=20=D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D1=8B=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Controller/Action.php | 2 +- src/Form/CheckBox.php | 14 ++++++++++ src/Form/DateTime.php | 7 +++++ src/Form/Form.php | 59 ++++++++------------------------------- src/Form/Hidden.php | 8 ++++++ src/Form/QuestionType.php | 16 +++++++++++ src/Form/Secret.php | 10 +++++++ src/Form/Upload.php | 7 +++++ 8 files changed, 74 insertions(+), 49 deletions(-) create mode 100644 src/Form/CheckBox.php create mode 100644 src/Form/DateTime.php create mode 100644 src/Form/Hidden.php create mode 100644 src/Form/QuestionType.php create mode 100644 src/Form/Secret.php create mode 100644 src/Form/Upload.php diff --git a/src/Controller/Action.php b/src/Controller/Action.php index e40e3f1..485bd3c 100644 --- a/src/Controller/Action.php +++ b/src/Controller/Action.php @@ -234,7 +234,7 @@ class Action * Ajax определяется автоматически mode = ajax используется для смены layout * @param $name * @param array $param - * @return array|null + * @return Url|null * * @example ?action=$name&mode=ajax * {$param[i].key = $param[i].value} diff --git a/src/Form/CheckBox.php b/src/Form/CheckBox.php new file mode 100644 index 0000000..ea5f880 --- /dev/null +++ b/src/Form/CheckBox.php @@ -0,0 +1,14 @@ +value = $value; + $this->checked = $value; + } +} diff --git a/src/Form/DateTime.php b/src/Form/DateTime.php new file mode 100644 index 0000000..4f995fb --- /dev/null +++ b/src/Form/DateTime.php @@ -0,0 +1,7 @@ +value = $value; - $this->checked = $value; - } -} - -class TQuestionType extends Select -{ - function setValue($value) - { - // Установить selected у options - $this->value = $value; - foreach ($this->options as &$option) { - $option['selected'] = ($option['value'] == $value); - } - } -} - -class TDateTime extends Input { -} - -/** - * Поле для ввода пароля - */ -class TSecret extends Field { -} - -class TUpload extends Field { -} - -class THidden extends Input { - public $hidden = true; -} - /** * Форма для ввода */ @@ -75,29 +37,30 @@ class Form extends View { { $this->constructor = array( 'input' => 'ctiso\\Form\\Input', - 'inputreq' => 'ctiso\\Form\\Input', // input с проверкой на заполненность + // input с проверкой на заполненность + 'inputreq' => 'ctiso\\Form\\Input', 'date' => 'ctiso\\Form\\Date', 'datereq' => 'ctiso\\Form\\Date', - 'datetime' => 'TDateTime', + 'datetime' => 'ctiso\\Form\\DateTime', 'color' => 'ctiso\\Form\\Color', 'textarea' => 'ctiso\\Form\\TextArea', 'text' => 'ctiso\\Form\\TextArea', 'multiselect' => 'ctiso\\Form\\SelectMany', -// 'selectmany' => 'TSelectMany', 'select1' => 'ctiso\\Form\\SelectOne', 'select' => 'ctiso\\Form\\SelectOne', - 'questiontype'=> 'TQuestionType', - 'secret' => 'TSecret', - 'upload' => 'TUpload', - 'image' => 'TUpload', - 'checkbox' => 'TCheckbox', + + 'questiontype'=> 'ctiso\\Form\\QuestionType', + 'secret' => 'ctiso\\Form\\Secret', + 'upload' => 'ctiso\\Form\\Upload', + 'image' => 'ctiso\\Form\\Upload', + 'checkbox' => 'ctiso\\Form\\CheckBox', 'checkmany' => 'ctiso\\Form\\SelectMany', - 'hidden' => 'THidden', + 'hidden' => 'ctiso\\Form\\Hidden', 'radio' => 'ctiso\\Form\\SelectOne', 'filebrowser' => 'ctiso\\Form\\BrowserInput', - 'documents' => 'ctiso\\Form\\BrowserInput', + 'documents' => 'ctiso\\Form\\BrowserInput', 'chooser' => 'ctiso\\Form\\Input', 'select_chooser' => 'ctiso\\Form\\SelectOne' ); diff --git a/src/Form/Hidden.php b/src/Form/Hidden.php new file mode 100644 index 0000000..535e21b --- /dev/null +++ b/src/Form/Hidden.php @@ -0,0 +1,8 @@ +value = $value; + foreach ($this->options as &$option) { + $option['selected'] = ($option['value'] == $value); + } + } +} diff --git a/src/Form/Secret.php b/src/Form/Secret.php new file mode 100644 index 0000000..ce0175a --- /dev/null +++ b/src/Form/Secret.php @@ -0,0 +1,10 @@ +