From 4f3c20e76ab58805dea8d4b0e6bbdad0f31c9baa Mon Sep 17 00:00:00 2001 From: saparatayev Date: Tue, 23 Nov 2021 13:25:27 +0500 Subject: [PATCH] contact form db changes --- modules/system/lang/en/validation.php | 1 + modules/system/lang/ru/validation.php | 1 + modules/system/lang/tm/validation.php | 1 + .../components/SmallContactForm.php | 4 ++ .../components/smallcontactform/scf-form.htm | 46 ++++++++++------ plugins/tps/birzha/components/ContactForm.php | 20 ++++--- .../birzha/components/contactform/default.htm | 12 ++--- .../birzha/controllers/Messagescontact.php | 19 +++++++ .../contactmessages/_list_toolbar.htm | 18 +++++++ .../contactmessages/_reorder_toolbar.htm | 3 ++ .../contactmessages/config_list.yaml | 11 ++++ .../contactmessages/config_reorder.yaml | 4 ++ .../controllers/contactmessages/index.htm | 1 + .../controllers/contactmessages/reorder.htm | 8 +++ .../messagescontact/_list_toolbar.htm | 19 +++++++ .../messagescontact/_reorder_toolbar.htm | 3 ++ .../messagescontact/config_form.yaml | 10 ++++ .../messagescontact/config_list.yaml | 12 +++++ .../messagescontact/config_reorder.yaml | 4 ++ .../controllers/messagescontact/create.htm | 46 ++++++++++++++++ .../controllers/messagescontact/index.htm | 1 + .../controllers/messagescontact/preview.htm | 22 ++++++++ .../controllers/messagescontact/reorder.htm | 8 +++ .../controllers/messagescontact/update.htm | 54 +++++++++++++++++++ plugins/tps/birzha/models/Contactmessage.php | 29 ++++++++++ .../birzha/models/contactmessage/columns.yaml | 23 ++++++++ .../birzha/models/contactmessage/fields.yaml | 27 ++++++++++ plugins/tps/birzha/plugin.yaml | 4 ++ ...create_tps_birzha_contactform_messages.php | 26 +++++++++ ...update_tps_birzha_contactform_messages.php | 25 +++++++++ ...date_tps_birzha_contactform_messages_2.php | 23 ++++++++ plugins/tps/birzha/updates/version.yaml | 9 ++++ 32 files changed, 466 insertions(+), 28 deletions(-) create mode 100644 plugins/tps/birzha/controllers/Messagescontact.php create mode 100644 plugins/tps/birzha/controllers/contactmessages/_list_toolbar.htm create mode 100644 plugins/tps/birzha/controllers/contactmessages/_reorder_toolbar.htm create mode 100644 plugins/tps/birzha/controllers/contactmessages/config_list.yaml create mode 100644 plugins/tps/birzha/controllers/contactmessages/config_reorder.yaml create mode 100644 plugins/tps/birzha/controllers/contactmessages/index.htm create mode 100644 plugins/tps/birzha/controllers/contactmessages/reorder.htm create mode 100644 plugins/tps/birzha/controllers/messagescontact/_list_toolbar.htm create mode 100644 plugins/tps/birzha/controllers/messagescontact/_reorder_toolbar.htm create mode 100644 plugins/tps/birzha/controllers/messagescontact/config_form.yaml create mode 100644 plugins/tps/birzha/controllers/messagescontact/config_list.yaml create mode 100644 plugins/tps/birzha/controllers/messagescontact/config_reorder.yaml create mode 100644 plugins/tps/birzha/controllers/messagescontact/create.htm create mode 100644 plugins/tps/birzha/controllers/messagescontact/index.htm create mode 100644 plugins/tps/birzha/controllers/messagescontact/preview.htm create mode 100644 plugins/tps/birzha/controllers/messagescontact/reorder.htm create mode 100644 plugins/tps/birzha/controllers/messagescontact/update.htm create mode 100644 plugins/tps/birzha/models/Contactmessage.php create mode 100644 plugins/tps/birzha/models/contactmessage/columns.yaml create mode 100644 plugins/tps/birzha/models/contactmessage/fields.yaml create mode 100644 plugins/tps/birzha/updates/builder_table_create_tps_birzha_contactform_messages.php create mode 100644 plugins/tps/birzha/updates/builder_table_update_tps_birzha_contactform_messages.php create mode 100644 plugins/tps/birzha/updates/builder_table_update_tps_birzha_contactform_messages_2.php diff --git a/modules/system/lang/en/validation.php b/modules/system/lang/en/validation.php index d5e089c38..c296687dd 100644 --- a/modules/system/lang/en/validation.php +++ b/modules/system/lang/en/validation.php @@ -189,6 +189,7 @@ return [ 'email' => 'Email', 'name' => 'Name', 'surname' => 'Surname', + 'mobile' => 'Phone number', ], ]; diff --git a/modules/system/lang/ru/validation.php b/modules/system/lang/ru/validation.php index 2fb4e1f26..2f2551b5e 100644 --- a/modules/system/lang/ru/validation.php +++ b/modules/system/lang/ru/validation.php @@ -189,6 +189,7 @@ return [ 'email' => 'эл. адрес', 'name' => 'Имя', 'surname' => 'Фаимилия', + 'mobile' => 'Номер телефона', ], ]; diff --git a/modules/system/lang/tm/validation.php b/modules/system/lang/tm/validation.php index 12a9d08d5..5a7a86232 100644 --- a/modules/system/lang/tm/validation.php +++ b/modules/system/lang/tm/validation.php @@ -191,6 +191,7 @@ return [ 'email' => 'El. bukjaňyz', 'name' => 'At', 'surname' => 'Familiýa', + 'mobile' => 'Telefon belgiňiz', ], ]; diff --git a/plugins/janvince/smallcontactform/components/SmallContactForm.php b/plugins/janvince/smallcontactform/components/SmallContactForm.php index 693ce4aef..341baa049 100644 --- a/plugins/janvince/smallcontactform/components/SmallContactForm.php +++ b/plugins/janvince/smallcontactform/components/SmallContactForm.php @@ -370,6 +370,10 @@ class SmallContactForm extends ComponentBase $this->validationMessages = $validator->messages(); $this->setPostData($validator->messages()); + if(empty($this->post['gapja']) or $this->post['gapja'] != 'anti-spam'){ + $errors[] ='Gapja must be filled with valid data'; + } + if($validator->failed() or count($errors)){ // Form main error msg (can be overriden by component property) diff --git a/plugins/janvince/smallcontactform/components/smallcontactform/scf-form.htm b/plugins/janvince/smallcontactform/components/smallcontactform/scf-form.htm index cfcc3aa13..df36835f2 100644 --- a/plugins/janvince/smallcontactform/components/smallcontactform/scf-form.htm +++ b/plugins/janvince/smallcontactform/components/smallcontactform/scf-form.htm @@ -4,33 +4,47 @@ {% else %} - {{ form_open(__SELF__.getFormAttributes) }} +
+
+
+
+
+
{{'page.contact_us'|_}}
+ + {{ form_open(__SELF__.getFormAttributes) }} - {% for field in __SELF__.fields %} + {% for field in __SELF__.fields %} - {{ __SELF__.getFieldHtmlCode(field)|raw }} + {{ __SELF__.getFieldHtmlCode(field)|raw }} - {% endfor %} + {% endfor %} - {{ __SELF__.getAntispamFieldHtmlCode({})|raw }} + {{ __SELF__.getAntispamFieldHtmlCode({})|raw }} - {{ __SELF__.getDescriptionFieldHtmlCode({})|raw }} - - {{ __SELF__.getRedirectFieldHtmlCode({})|raw }} + {{ __SELF__.getDescriptionFieldHtmlCode({})|raw }} + + {{ __SELF__.getRedirectFieldHtmlCode({})|raw }} - {% if (settingsGet('google_recaptcha_version') is null or settingsGet('google_recaptcha_version') == 'v2checkbox') and settingsGet('add_google_recaptcha') and settingsGet('google_recaptcha_site_key') %} + {% if (settingsGet('google_recaptcha_version') is null or settingsGet('google_recaptcha_version') == 'v2checkbox') and settingsGet('add_google_recaptcha') and settingsGet('google_recaptcha_site_key') %} -
+
-
+
+
+ + {% endif %} + + {{ __SELF__.getSubmitButtonHtmlCode({})|raw }} + + {{ form_close() }} +
+
+
+
- {% endif %} - - {{ __SELF__.getSubmitButtonHtmlCode({})|raw }} - - {{ form_close() }} + {% if settingsGet('add_google_recaptcha') and settingsGet('google_recaptcha_scripts_allow') %} diff --git a/plugins/tps/birzha/components/ContactForm.php b/plugins/tps/birzha/components/ContactForm.php index 5f55b5bec..981218cb6 100644 --- a/plugins/tps/birzha/components/ContactForm.php +++ b/plugins/tps/birzha/components/ContactForm.php @@ -1,6 +1,7 @@ 'required|max:100', - 'lastname' => 'required|max:100', + 'name' => 'required|max:100', + 'surname' => 'required|max:100', 'mobile' => 'required|max:12', 'email' => 'required|email|max:100', - 'message' => 'required' + 'content' => 'required' ]; $validator = \Validator::make($data, $rules); @@ -27,16 +28,23 @@ class ContactForm extends ComponentBase if($validator->fails()) { throw new \ValidationException($validator); } else { + + // todo save message + + $contactMessage = new Contactmessage(); + $contactMessage->fill($data); + $contactMessage->save(); + $vars = [ - 'firstname' => \Input::get('firstname'), - 'lastname' => \Input::get('lastname'), + 'firstname' => \Input::get('name'), + 'lastname' => \Input::get('surname'), 'mobile' => \Input::get('mobile'), 'email' => \Input::get('email'), 'content' => \Input::get('message') ]; \Mail::send('tps.birzha::mail.message', $vars, function($message) { - $message->to('XXXXXXXXXXXXXX', 'Birzha Admin'); + $message->to(env('TPS_EMAIL_GETTER'), 'Birzha Admin'); $message->subject('Birzha web site contact form'); }); diff --git a/plugins/tps/birzha/components/contactform/default.htm b/plugins/tps/birzha/components/contactform/default.htm index 01f72bf24..62d7e0b57 100644 --- a/plugins/tps/birzha/components/contactform/default.htm +++ b/plugins/tps/birzha/components/contactform/default.htm @@ -13,13 +13,13 @@
- - + +
- - + +
@@ -33,8 +33,8 @@
- - + +
+ diff --git a/plugins/tps/birzha/controllers/contactmessages/_reorder_toolbar.htm b/plugins/tps/birzha/controllers/contactmessages/_reorder_toolbar.htm new file mode 100644 index 000000000..eb1634728 --- /dev/null +++ b/plugins/tps/birzha/controllers/contactmessages/_reorder_toolbar.htm @@ -0,0 +1,3 @@ +
+ +
\ No newline at end of file diff --git a/plugins/tps/birzha/controllers/contactmessages/config_list.yaml b/plugins/tps/birzha/controllers/contactmessages/config_list.yaml new file mode 100644 index 000000000..b9da42d5a --- /dev/null +++ b/plugins/tps/birzha/controllers/contactmessages/config_list.yaml @@ -0,0 +1,11 @@ +list: $/tps/birzha/models/contactmessage/columns.yaml +modelClass: TPS\Birzha\Models\Contactmessage +title: Contactmessages +noRecordsMessage: 'backend::lang.list.no_records' +showSetup: true +showCheckboxes: true +recordsPerPage: 20 +toolbar: + buttons: list_toolbar + search: + prompt: 'backend::lang.list.search_prompt' diff --git a/plugins/tps/birzha/controllers/contactmessages/config_reorder.yaml b/plugins/tps/birzha/controllers/contactmessages/config_reorder.yaml new file mode 100644 index 000000000..c0d507355 --- /dev/null +++ b/plugins/tps/birzha/controllers/contactmessages/config_reorder.yaml @@ -0,0 +1,4 @@ +title: Contactmessages +modelClass: TPS\Birzha\Models\Contactmessage +toolbar: + buttons: reorder_toolbar diff --git a/plugins/tps/birzha/controllers/contactmessages/index.htm b/plugins/tps/birzha/controllers/contactmessages/index.htm new file mode 100644 index 000000000..ea43a3636 --- /dev/null +++ b/plugins/tps/birzha/controllers/contactmessages/index.htm @@ -0,0 +1 @@ +listRender() ?> diff --git a/plugins/tps/birzha/controllers/contactmessages/reorder.htm b/plugins/tps/birzha/controllers/contactmessages/reorder.htm new file mode 100644 index 000000000..f66c78e34 --- /dev/null +++ b/plugins/tps/birzha/controllers/contactmessages/reorder.htm @@ -0,0 +1,8 @@ + + + + +reorderRender() ?> \ No newline at end of file diff --git a/plugins/tps/birzha/controllers/messagescontact/_list_toolbar.htm b/plugins/tps/birzha/controllers/messagescontact/_list_toolbar.htm new file mode 100644 index 000000000..db7d97823 --- /dev/null +++ b/plugins/tps/birzha/controllers/messagescontact/_list_toolbar.htm @@ -0,0 +1,19 @@ +
+ + + +
diff --git a/plugins/tps/birzha/controllers/messagescontact/_reorder_toolbar.htm b/plugins/tps/birzha/controllers/messagescontact/_reorder_toolbar.htm new file mode 100644 index 000000000..8403c1049 --- /dev/null +++ b/plugins/tps/birzha/controllers/messagescontact/_reorder_toolbar.htm @@ -0,0 +1,3 @@ +
+ +
\ No newline at end of file diff --git a/plugins/tps/birzha/controllers/messagescontact/config_form.yaml b/plugins/tps/birzha/controllers/messagescontact/config_form.yaml new file mode 100644 index 000000000..407a88f43 --- /dev/null +++ b/plugins/tps/birzha/controllers/messagescontact/config_form.yaml @@ -0,0 +1,10 @@ +name: Messagescontact +form: $/tps/birzha/models/contactmessage/fields.yaml +modelClass: TPS\Birzha\Models\Contactmessage +defaultRedirect: tps/birzha/messagescontact +create: + redirect: 'tps/birzha/messagescontact/update/:id' + redirectClose: tps/birzha/messagescontact +update: + redirect: tps/birzha/messagescontact + redirectClose: tps/birzha/messagescontact diff --git a/plugins/tps/birzha/controllers/messagescontact/config_list.yaml b/plugins/tps/birzha/controllers/messagescontact/config_list.yaml new file mode 100644 index 000000000..41b9d6ad2 --- /dev/null +++ b/plugins/tps/birzha/controllers/messagescontact/config_list.yaml @@ -0,0 +1,12 @@ +list: $/tps/birzha/models/contactmessage/columns.yaml +modelClass: TPS\Birzha\Models\Contactmessage +title: Messagescontact +noRecordsMessage: 'backend::lang.list.no_records' +showSetup: true +showCheckboxes: true +recordsPerPage: 20 +toolbar: + buttons: list_toolbar + search: + prompt: 'backend::lang.list.search_prompt' +recordUrl: 'tps/birzha/messagescontact/update/:id' diff --git a/plugins/tps/birzha/controllers/messagescontact/config_reorder.yaml b/plugins/tps/birzha/controllers/messagescontact/config_reorder.yaml new file mode 100644 index 000000000..e8a46a73b --- /dev/null +++ b/plugins/tps/birzha/controllers/messagescontact/config_reorder.yaml @@ -0,0 +1,4 @@ +title: Messagescontact +modelClass: TPS\Birzha\Models\Contactmessage +toolbar: + buttons: reorder_toolbar diff --git a/plugins/tps/birzha/controllers/messagescontact/create.htm b/plugins/tps/birzha/controllers/messagescontact/create.htm new file mode 100644 index 000000000..62da3a2bb --- /dev/null +++ b/plugins/tps/birzha/controllers/messagescontact/create.htm @@ -0,0 +1,46 @@ + + + + +fatalError): ?> + + 'layout']) ?> + +
+ formRender() ?> +
+ +
+
+ + + + + +
+
+ + + + +

fatalError)) ?>

+

+ \ No newline at end of file diff --git a/plugins/tps/birzha/controllers/messagescontact/index.htm b/plugins/tps/birzha/controllers/messagescontact/index.htm new file mode 100644 index 000000000..ea43a3636 --- /dev/null +++ b/plugins/tps/birzha/controllers/messagescontact/index.htm @@ -0,0 +1 @@ +listRender() ?> diff --git a/plugins/tps/birzha/controllers/messagescontact/preview.htm b/plugins/tps/birzha/controllers/messagescontact/preview.htm new file mode 100644 index 000000000..275868fc2 --- /dev/null +++ b/plugins/tps/birzha/controllers/messagescontact/preview.htm @@ -0,0 +1,22 @@ + + + + +fatalError): ?> + +
+ formRenderPreview() ?> +
+ + +

fatalError) ?>

+ + +

+ + + +

\ No newline at end of file diff --git a/plugins/tps/birzha/controllers/messagescontact/reorder.htm b/plugins/tps/birzha/controllers/messagescontact/reorder.htm new file mode 100644 index 000000000..0622c58f7 --- /dev/null +++ b/plugins/tps/birzha/controllers/messagescontact/reorder.htm @@ -0,0 +1,8 @@ + + + + +reorderRender() ?> \ No newline at end of file diff --git a/plugins/tps/birzha/controllers/messagescontact/update.htm b/plugins/tps/birzha/controllers/messagescontact/update.htm new file mode 100644 index 000000000..3ae6fe7ef --- /dev/null +++ b/plugins/tps/birzha/controllers/messagescontact/update.htm @@ -0,0 +1,54 @@ + + + + +fatalError): ?> + + 'layout']) ?> + +
+ formRender() ?> +
+ +
+
+ + + + + + + +
+
+ + + +

fatalError)) ?>

+

+ \ No newline at end of file diff --git a/plugins/tps/birzha/models/Contactmessage.php b/plugins/tps/birzha/models/Contactmessage.php new file mode 100644 index 000000000..5aee66e1f --- /dev/null +++ b/plugins/tps/birzha/models/Contactmessage.php @@ -0,0 +1,29 @@ +engine = 'InnoDB'; + $table->increments('id')->unsigned(); + $table->string('name'); + $table->string('surname'); + $table->string('email'); + $table->string('mobile'); + $table->text('content'); + }); + } + + public function down() + { + Schema::dropIfExists('tps_birzha_contactform_messages'); + } +} diff --git a/plugins/tps/birzha/updates/builder_table_update_tps_birzha_contactform_messages.php b/plugins/tps/birzha/updates/builder_table_update_tps_birzha_contactform_messages.php new file mode 100644 index 000000000..e8f626c52 --- /dev/null +++ b/plugins/tps/birzha/updates/builder_table_update_tps_birzha_contactform_messages.php @@ -0,0 +1,25 @@ +timestamp('created_at')->nullable(); + $table->timestamp('updated_at')->nullable(); + }); + } + + public function down() + { + Schema::table('tps_birzha_contactform_messages', function($table) + { + $table->dropColumn('created_at'); + $table->dropColumn('updated_at'); + }); + } +} diff --git a/plugins/tps/birzha/updates/builder_table_update_tps_birzha_contactform_messages_2.php b/plugins/tps/birzha/updates/builder_table_update_tps_birzha_contactform_messages_2.php new file mode 100644 index 000000000..9e17f864a --- /dev/null +++ b/plugins/tps/birzha/updates/builder_table_update_tps_birzha_contactform_messages_2.php @@ -0,0 +1,23 @@ +timestamp('deleted_at')->nullable(); + }); + } + + public function down() + { + Schema::table('tps_birzha_contactform_messages', function($table) + { + $table->dropColumn('deleted_at'); + }); + } +} diff --git a/plugins/tps/birzha/updates/version.yaml b/plugins/tps/birzha/updates/version.yaml index 97be1f448..66ebde46d 100644 --- a/plugins/tps/birzha/updates/version.yaml +++ b/plugins/tps/birzha/updates/version.yaml @@ -242,3 +242,12 @@ 1.0.84: - 'Updated decimal table tps_birzha_transactions' - builder_table_update_tps_birzha_transactions_3.php +1.0.85: + - 'Created table tps_birzha_contactform_messages' + - builder_table_create_tps_birzha_contactform_messages.php +1.0.86: + - 'Updated table tps_birzha_contactform_messages' + - builder_table_update_tps_birzha_contactform_messages.php +1.0.87: + - 'Updated table tps_birzha_contactform_messages' + - builder_table_update_tps_birzha_contactform_messages_2.php