diff --git a/src/app/frontend/controllers/MenuController.php b/src/app/frontend/controllers/MenuController.php
index fb9d2b4..1f9ffe8 100644
--- a/src/app/frontend/controllers/MenuController.php
+++ b/src/app/frontend/controllers/MenuController.php
@@ -1249,4 +1249,30 @@ class MenuController extends \controllers\ControllerBase
}
///////////////////////////////////////////////////////////////////////////
+
+ public function popupAction() {
+
+ if( $this->request->isPost() )
+ {
+ $data['name'] = $this->request->getPost('name', 'string', NULL );
+ $email = $this->request->getPost('email', 'string', NULL );
+ $data['email'] = filter_var( $email, FILTER_VALIDATE_EMAIL );
+
+ if( !empty( $name ) && !empty( $email ) )
+ {
+ if( $this->models->getSubscribe()->addData($data) )
+ {
+ $this->sendmail->addCustomer( 10, $data );
+
+ setcookie("popup", '1', time()+3600);
+
+ return $this->response->redirect([ 'for' => 'homepage', 'language' => $this->lang_name ]);
+ }
+ }
+ }
+
+ $this->view->setVars([
+ 'no_robots' => 1
+ ]);
+ }
}
\ No newline at end of file
diff --git a/src/app/frontend/views/sendmail/message_10.phtml b/src/app/frontend/views/sendmail/message_10.phtml
new file mode 100644
index 0000000..642dad3
--- /dev/null
+++ b/src/app/frontend/views/sendmail/message_10.phtml
@@ -0,0 +1,261 @@
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+
+ |
+
+  |
+ |
+
+
+ |
+
+
+ |
+
+ |
+
+
+
+ |
+
+
+ |
+
+ |
+
+
+
+ |
+
+ |
+
+
+
+
+
+ |
+
+
+
+
+
+
+ |
+
+ Благодарим за подписку! |
+
+
+
+ Спасибо, что Вы выбираете ТМ «Професійне насіння». Как и обещали, мы дарим Вам промокод на единоразовое использование скидки при покупке товаров на нашем сайте. А также Вы получите бонус из 14 статей с практическими советами о выращивании овощей и цветов.
+ |
+
+
+
+ Ваш персональный промокод со скидкой -7% на покупку товаров в мини-упаковке:
+ |
+ |
+
+
+
+ |
+
+
+
+
+ Ваш персональный промокод со скидкой -3% на покупку товаров в профессиональной упаковке:
+ |
+ |
+
+
+
+ |
+
+ |
+
+ Обратите внимание! Для того чтобы воспользоваться промокодом, необходимо зарегистрироваться на нашем сайте. После этого выберите товары, которые желаете приобрести и, при оформлении заказа, введите промокод в соответствующее поле «Промокод», нажмите кнопку «Применить». Скидка на Ваш заказ применится автоматически.
+ |
+
+
+
+ Удачных покупок и хорошего урожая!
|
+
+
+ |
+ |
+
+
+
+
+ |
+
+ |
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  |
+
+
+ Адрес центрального офиса:
+ Киев, ул. Садовая, 95 |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+
+ |
+
+
\ No newline at end of file
diff --git a/src/lib/models.php b/src/lib/models.php
index 441171a..37328e2 100644
--- a/src/lib/models.php
+++ b/src/lib/models.php
@@ -586,6 +586,25 @@ namespace
return $this->_discount;
}
+ /**
+ * models::getSubscribe
+ *
+ * @author Alex Savenko
+ * @version 0.1.20140507
+ *
+ * @return \models\subscribe
+ */
+ public function getSubscribe()
+ {
+ if( empty($this->_subscribe) )
+ {
+ $this->_subscribe = new \models\subscribe();
+ $this->_subscribe->setDi( $this->getDi() );
+ }
+
+ return $this->_subscribe;
+ }
+
public function getPayment()
{
if( empty($this->_payment) )
diff --git a/src/lib/models/subscribe.php b/src/lib/models/subscribe.php
new file mode 100644
index 0000000..1883b71
--- /dev/null
+++ b/src/lib/models/subscribe.php
@@ -0,0 +1,163 @@
+get(
+ '
+ SELECT subscribe.* FROM
+ public.subscribe
+ ORDER BY
+ date ASC
+ '
+ ,
+ [
+ ],
+ -1
+ );
+ }
+
+ public function getOneData($id)
+ {
+ return $this->get(
+ '
+ SELECT *
+ FROM public.subscribe
+ WHERE
+ id = :id
+ ',
+ [
+ 'id' => $id
+ ],
+ -1
+ );
+ }
+
+ public function getOneDataByEmail($email)
+ {
+
+ return $this->get(
+ '
+ SELECT * FROM
+ public.subscribe
+ WHERE
+ name = :name
+ ',
+ [
+ 'email' => $email
+ ],
+ -1
+ );
+ }
+
+ public function deleteData($id){
+ return $this->exec(
+ ' DELETE
+ FROM
+ public.subscribe
+ WHERE
+ id = :id
+ ',
+ [
+ 'id' => $id
+ ]
+ );
+ }
+
+ public function addData($data)
+ {
+
+ return $this->get(
+ '
+ INSERT INTO
+ public.subscribe
+ (
+ name,
+ email,
+ date
+
+ )
+ VALUES
+ (
+ :name,
+ :email,
+ CURRENT_TIMESTAMP
+ )
+ RETURNING id
+ ',
+ [
+ 'name' => $data['name'],
+ 'email' => $data['email']
+ ],
+ -1
+ );
+ }
+
+ public function updateData($data,$id)
+ {
+
+ return $this->exec(
+ '
+ UPDATE
+ public.subscribe
+ SET
+ name = :name,
+ email = :email
+ greeting = :greeting
+ WHERE
+ id = :id
+ ',
+ [
+ 'name' => $data['name'],
+ 'email' => $data['email'],
+ 'greeting' => $data['greeting'],
+ 'id' => $id
+ ]
+ );
+ }
+
+ public function updateGreetingStatus($id)
+ {
+
+ return $this->exec(
+ '
+ UPDATE
+ public.subscribe
+ SET
+ greeting = 1
+ WHERE
+ id = :id
+ ',
+ [
+ 'id' => $id
+ ]
+ );
+ }
+
+ public function countData( )
+ {
+ return $this->get(
+ '
+ SELECT
+ COUNT(id) AS total
+ FROM
+ public.subscribe
+ ',
+ [
+
+ ],
+ -1
+ );
+ }
+}
\ No newline at end of file
diff --git a/src/lib/sendmail.php b/src/lib/sendmail.php
index 6c7ff42..01d1377 100644
--- a/src/lib/sendmail.php
+++ b/src/lib/sendmail.php
@@ -135,6 +135,17 @@ namespace
];
break;
+ case 10: //popup
+
+ $data_base =
+ [
+ 'email_to' => $data['email'],
+ 'email_reply' => $data['name'].' <'.$data['email'].'>',
+ 'subject' => 'Благодарим за подписку на сайте: '.\config::get( 'global#title' ),
+ 'message_body' => $view->getContent()
+ ];
+
+ break;
default:
return false;
diff --git a/www/index.php b/www/index.php
index ad6a34b..5170d6d 100644
--- a/www/index.php
+++ b/www/index.php
@@ -831,6 +831,16 @@ try
->setName( 'get_offices' );
$router->add
+ (
+ '/popup{language:([/][a-z]{2})?}',
+ [
+ 'controller' => 'menu',
+ 'action' => 'popup',
+ ]
+ )
+ ->setName( 'callback' );
+
+ $router->add
(
'/ajax/get_items{language:([/][a-z]{2})?}',
[
--
libgit2 0.21.4