Commit cea5c45dcdb0d427531ab41bf74f4fcd6acc216f

Authored by Administrator
1 parent 3da83322

21.03.16 Versrka

common/models/Customers.php
... ... @@ -58,6 +58,22 @@ class Customers extends User
58 58 }
59 59  
60 60 /**
  61 + * Finds user by email
  62 + *
  63 + * @param string $email
  64 + * @return static|null
  65 + */
  66 + public static function findByEmail($email)
  67 + {
  68 + return static::findOne(['email' => $email, 'status' => self::STATUS_ACTIVE]);
  69 + }
  70 +
  71 + public function getName(){
  72 + return $this->username. ' '.$this->surname;
  73 + }
  74 +
  75 +
  76 + /**
61 77 * @inheritdoc
62 78 */
63 79 public function attributeLabels()
... ...
common/models/LoginForm.php
... ... @@ -9,9 +9,9 @@ use yii\base\Model;
9 9 */
10 10 class LoginForm extends Model
11 11 {
12   - public $username;
13 12 public $password;
14 13 public $rememberMe = true;
  14 + public $email;
15 15  
16 16 private $_user;
17 17  
... ... @@ -23,7 +23,7 @@ class LoginForm extends Model
23 23 {
24 24 return [
25 25 // username and password are both required
26   - [['username', 'password'], 'required'],
  26 + [['email', 'password'], 'required'],
27 27 // rememberMe must be a boolean value
28 28 ['rememberMe', 'boolean'],
29 29 // password is validated by validatePassword()
... ... @@ -70,9 +70,19 @@ class LoginForm extends Model
70 70 protected function getUser()
71 71 {
72 72 if ($this->_user === null) {
73   - $this->_user = User::findByUsername($this->username);
  73 + $this->_user = Customers::findByEmail($this->email);
74 74 }
75 75  
76 76 return $this->_user;
77 77 }
  78 +
  79 + /**
  80 + * @inheritdoc
  81 + */
  82 + public function attributeLabels()
  83 + {
  84 + return [
  85 + 'rememberMe' => Yii::t('app', 'rememberMe'),
  86 + ];
  87 + }
78 88 }
... ...
common/translation/ru/app.php 0 → 100644
  1 +<?php
  2 +return [
  3 + 'id' => 'ID',
  4 + 'username' => 'Имя',
  5 + 'surname' => 'Фамилия',
  6 + 'auth_key' => 'Auth Key',
  7 + 'password_hash' => 'Password Hash',
  8 + 'password_reset_token' => 'Password Reset Token',
  9 + 'email' => 'Логин (e-mail)',
  10 + 'phone' => 'Телефон',
  11 + 'status' => 'Status',
  12 + 'created_at' => 'Created At',
  13 + 'updated_at' => 'Updated At',
  14 + 'verifyCode' => 'Код проверки',
  15 + 'password' => 'Пароль',
  16 + 'password_repeat' => 'Повторить пароль',
  17 + 'registration' => 'Регистрация',
  18 + 'message' => 'Этот {field} уже занят',
  19 + 'message_match_password' => 'Пароли не совпадают',
  20 + 'exit' => 'Выход',
  21 + 'enter' => 'Войти',
  22 + 'your_personal_area' => 'Вход в личный кабинет',
  23 + 'forgot_password' => 'Забыли пароль?',
  24 + 'rememberMe' => 'Запомнить меня',
  25 +];
0 26 \ No newline at end of file
... ...
console/migrations/m160320_174258_customer.php
... ... @@ -14,7 +14,7 @@ class m160320_174258_customer extends Migration
14 14  
15 15 $this->createTable('{{%customers}}', [
16 16 'id' => $this->primaryKey(),
17   - 'username' => $this->string()->notNull()->unique(),
  17 + 'username' => $this->string()->notNull(),
18 18 'surname' => $this->string(),
19 19 'auth_key' => $this->string(32)->notNull(),
20 20 'password_hash' => $this->string()->notNull(),
... ...
console/migrations/m160321_232402_orders.php 0 → 100644
  1 +<?php
  2 +
  3 +use yii\db\Migration;
  4 +
  5 +class m160321_232402_orders extends Migration
  6 +{
  7 + public function up()
  8 + {
  9 + $tableOptions = null;
  10 + if ($this->db->driverName === 'mysql') {
  11 + // http://stackoverflow.com/questions/766809/whats-the-difference-between-utf8-general-ci-and-utf8-unicode-ci
  12 + $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB';
  13 + }
  14 +
  15 + $this->createTable('{{%orders}}', [
  16 + 'id' => $this->primaryKey(),
  17 + 'name' => $this->string()->notNull(),
  18 + 'email' => $this->string()->notNull(),
  19 + 'phone' => $this->string(32)->notNull(),
  20 + 'delivery' => $this->integer(),
  21 + 'payment' => $this->integer(),
  22 + 'code' => $this->string(),
  23 + 'status' => $this->smallInteger(),
  24 + 'created_at' => $this->integer()->notNull(),
  25 + 'updated_at' => $this->integer()->notNull(),
  26 + ], $tableOptions);
  27 + }
  28 +
  29 + public function down()
  30 + {
  31 + $this->dropTable('{{%orders}}');
  32 + }
  33 +
  34 +}
... ...
frontend/controllers/OrderController.php 0 → 100644
  1 +<?php
  2 +
  3 +namespace frontend\controllers;
  4 +
  5 +use Yii;
  6 +
  7 +use yii\web\Controller;
  8 +use yii\web\NotFoundHttpException;
  9 +use yii\data\ArrayDataProvider;
  10 +/**
  11 + * OrderController implements the CRUD actions for Order model.
  12 + */
  13 +class OrderController extends Controller
  14 +{
  15 +
  16 + public $layout='/column2';
  17 +
  18 + /**
  19 + * Lists all Order models.
  20 + * @return mixed
  21 + */
  22 + public function actionIndex()
  23 + {
  24 +
  25 + if (Yii::$app->request->post()) {
  26 + $item = $items_id = array();
  27 +
  28 + $i = 0;
  29 + $order = Yii::$app->request->post();
  30 +
  31 + $orderData['Order'] = $order['OrderForm'];
  32 +
  33 + foreach($order['OrderForm']['one_item'] as $k => $v ){
  34 + $item[$k]['num'] = $v['num'];
  35 + $items_id[] = $k;
  36 + $i++;
  37 + }
  38 +
  39 + $items = Items::find()->where(['id'=>$items_id])->all();
  40 +
  41 +
  42 + $orderModel = new Order();
  43 + $orderModel->load($orderData);
  44 + $orderModel->save();
  45 +
  46 +
  47 + foreach($items as $one_item){
  48 + $ItemOrderModel = new ItemOrder();
  49 + $ItemOrderModel->order_id = $orderModel->id;
  50 + $ItemOrderModel->num = $item[$one_item->id]['num'];
  51 + $ItemOrderModel->item_id = $one_item->id;
  52 + $ItemOrderModel->price = $one_item->price * $item[$one_item->id]['num'];
  53 + $ItemOrderModel->item_name = $one_item->name;
  54 + $ItemOrderModel->save();
  55 + }
  56 + Yii::$app->session->set('order', [] );
  57 + return $this->redirect(['order/complete']);
  58 + }
  59 + $total_price = 0;
  60 +
  61 + $items_id = [];
  62 +
  63 + $orders = Yii::$app->session->get('order');
  64 +
  65 + if(!empty($orders)){
  66 + foreach($orders as $k => $v) {
  67 + $items_id[] = $k;
  68 + }
  69 + }
  70 +
  71 +
  72 + $items = Items::find()->where(['id'=>$items_id])->all();
  73 +
  74 + foreach($items as $item) {
  75 + $total_price += $orders[$item['id']]['num'] * $item['price'];
  76 + }
  77 +
  78 +
  79 + $dataProvider = new ArrayDataProvider([
  80 + 'allModels' => $items
  81 + ]);
  82 +
  83 + return $this->render('index', [
  84 + 'dataProvider' => $dataProvider,
  85 + 'total_price'=> $total_price,
  86 + 'model' => new OrderForm()
  87 + ]);
  88 + }
  89 +
  90 +
  91 + public function actionComplete()
  92 + {
  93 + return $this->render('complete', [
  94 + ]);
  95 + }
  96 +
  97 + public function actionBuyItems(){
  98 + $data = Yii::$app->request->post();
  99 + $sessionData = Yii::$app->session->get('order');
  100 + if(isset($sessionData) && !array_search($data['id'],Yii::$app->session->get('order')) ){
  101 + $array = Yii::$app->session->get('order');
  102 + $array[$data['id']] = $data;
  103 + Yii::$app->session->set('order', $array );
  104 + } else {
  105 + $array[$data['id']] = $data;
  106 + Yii::$app->session->set('order', $array );
  107 + }
  108 + echo count(Yii::$app->session->get('order'));
  109 +
  110 + }
  111 + /**
  112 + * Displays a single Order model.
  113 + * @param integer $id
  114 + * @return mixed
  115 + */
  116 + public function actionView($id)
  117 + {
  118 + return $this->render('view', [
  119 + 'model' => $this->findModel($id),
  120 + ]);
  121 + }
  122 +
  123 + /**
  124 + * Creates a new Order model.
  125 + * If creation is successful, the browser will be redirected to the 'view' page.
  126 + * @return mixed
  127 + */
  128 + public function actionCreate()
  129 + {
  130 + $model = new Order();
  131 +
  132 + if ($model->load(Yii::$app->request->post()) && $model->save()) {
  133 + return $this->redirect(['view', 'id' => $model->id]);
  134 + } else {
  135 + return $this->render('create', [
  136 + 'model' => $model,
  137 + ]);
  138 + }
  139 + }
  140 +
  141 + /**
  142 + * Updates an existing Order model.
  143 + * If update is successful, the browser will be redirected to the 'view' page.
  144 + * @param integer $id
  145 + * @return mixed
  146 + */
  147 + public function actionUpdate($id)
  148 + {
  149 + $model = $this->findModel($id);
  150 +
  151 + if ($model->load(Yii::$app->request->post()) && $model->save()) {
  152 + return $this->redirect(['view', 'id' => $model->id]);
  153 + } else {
  154 + return $this->render('update', [
  155 + 'model' => $model,
  156 + ]);
  157 + }
  158 + }
  159 +
  160 + /**
  161 + * Deletes an existing Order model.
  162 + * If deletion is successful, the browser will be redirected to the 'index' page.
  163 + * @param integer $id
  164 + * @return mixed
  165 + */
  166 + public function actionDelete()
  167 + {
  168 + $data = Yii::$app->request->post();
  169 + $sessionData = Yii::$app->session->get('order');
  170 + unset($sessionData[$data['id']]);
  171 + Yii::$app->session->set('order', $sessionData);
  172 + return count(Yii::$app->session->get('order'));
  173 + }
  174 +
  175 + /**
  176 + * Finds the Order model based on its primary key value.
  177 + * If the model is not found, a 404 HTTP exception will be thrown.
  178 + * @param integer $id
  179 + * @return Order the loaded model
  180 + * @throws NotFoundHttpException if the model cannot be found
  181 + */
  182 + protected function findModel($id)
  183 + {
  184 + if (($model = Order::findOne($id)) !== null) {
  185 + return $model;
  186 + } else {
  187 + throw new NotFoundHttpException('The requested page does not exist.');
  188 + }
  189 + }
  190 +}
... ...
frontend/controllers/PuttyController.php
... ... @@ -35,9 +35,6 @@ class PuttyController extends Controller
35 35 return $this->render('basket-step-02');
36 36 }
37 37  
38   - public function actionCabinet(){
39   - return $this->render('cabinet');
40   - }
41 38  
42 39 public function actionContacts(){
43 40 return $this->render('contacts');
... ...
frontend/controllers/SiteController.php
... ... @@ -12,12 +12,15 @@ use yii\web\BadRequestHttpException;
12 12 use yii\web\Controller;
13 13 use yii\filters\VerbFilter;
14 14 use yii\filters\AccessControl;
  15 +use yii\web\Response;
  16 +use yii\widgets\ActiveForm;
15 17  
16 18 /**
17 19 * Site controller
18 20 */
19 21 class SiteController extends Controller
20 22 {
  23 +
21 24 /**
22 25 * @inheritdoc
23 26 */
... ... @@ -52,6 +55,18 @@ class SiteController extends Controller
52 55 /**
53 56 * @inheritdoc
54 57 */
  58 + public function beforeAction($action)
  59 + {
  60 + if ($action->id == 'signup') {
  61 + Yii::$app->controller->enableCsrfValidation = false;
  62 + }
  63 +
  64 + return true;
  65 + }
  66 +
  67 + /**
  68 + * @inheritdoc
  69 + */
55 70 public function actions()
56 71 {
57 72 return [
... ... @@ -149,15 +164,23 @@ class SiteController extends Controller
149 164 */
150 165 public function actionSignup()
151 166 {
152   - $model = new SignupForm();
153   - if ($model->load(Yii::$app->request->post())) {
154   - if ($user = $model->signup()) {
155   - if (Yii::$app->getUser()->login($user)) {
156   - return $this->goHome();
157   - }
158   - }
159   - }
160 167  
  168 + if(Yii::$app->request->post()){
  169 + if (Yii::$app->request->isAjax) {
  170 + Yii::$app->response->format = Response::FORMAT_JSON;
  171 + $model = new SignupForm(['scenario' => SignupForm::SCENARIO_AJAX]);
  172 + $model->load(Yii::$app->request->post());
  173 + return ActiveForm::validate($model);
  174 + } else {
  175 + $model = new SignupForm(['scenario' => SignupForm::SCENARIO_SUBMIT]);
  176 + $model->load(Yii::$app->request->post());
  177 + if ($user = $model->signup()) {
  178 + if (Yii::$app->getUser()->login($user)) {
  179 + return $this->goHome();
  180 + }
  181 + }
  182 + }
  183 + }
161 184 return $this->render('signup', [
162 185 'model' => $model,
163 186 ]);
... ... @@ -211,4 +234,9 @@ class SiteController extends Controller
211 234 'model' => $model,
212 235 ]);
213 236 }
  237 +
  238 +
  239 + public function actionCabinet(){
  240 + return $this->render('cabinet');
  241 + }
214 242 }
... ...
frontend/models/SignupForm.php
... ... @@ -18,6 +18,8 @@ class SignupForm extends Model
18 18 public $surname;
19 19 public $phone;
20 20  
  21 + const SCENARIO_AJAX = 'ajax';
  22 + const SCENARIO_SUBMIT = 'submit';
21 23  
22 24 /**
23 25 * @inheritdoc
... ... @@ -33,16 +35,38 @@ class SignupForm extends Model
33 35 ['email', 'required'],
34 36 ['email', 'email'],
35 37 [['email','phone'], 'string', 'max' => 255],
36   - ['email', 'unique', 'targetClass' => '\common\models\Customers', 'message' => 'This email address has already been taken.'],
  38 + ['email', 'unique', 'targetClass' => '\common\models\Customers', 'message' => Yii::t('app','message',[
  39 + 'field' => 'Email'
  40 + ])],
37 41  
  42 + [['phone'], 'unique', 'targetClass' => '\common\models\Customers', 'message' => Yii::t('app','message',[
  43 + 'field' => 'Телефон'
  44 + ])],
38 45  
39 46 ['password_repeat', 'required'],
40   - ['password_repeat', 'compare', 'compareAttribute'=>'password', 'message'=>"Passwords don't match" ],
  47 + ['password_repeat', 'compare', 'compareAttribute'=>'password', 'message'=> Yii::t('app', 'message_match_password') ],
41 48  
42 49 ['password', 'required'],
43 50 ['password', 'string', 'min' => 6],
44 51  
45   - ['verifyCode', 'captcha'],
  52 + [
  53 + 'verifyCode',
  54 + 'safe',
  55 + 'on'=>[SignupForm::SCENARIO_AJAX]
  56 + ],
  57 + [
  58 + 'verifyCode',
  59 + 'captcha',
  60 + 'on'=>[SignupForm::SCENARIO_SUBMIT]
  61 + ],
  62 + [
  63 + 'verifyCode',
  64 + 'captcha',
  65 + 'on'=>[SignupForm::SCENARIO_DEFAULT]
  66 + ],
  67 +
  68 +
  69 +
46 70 ];
47 71 }
48 72  
... ... @@ -65,17 +89,18 @@ class SignupForm extends Model
65 89 public function signup()
66 90 {
67 91  
68   -
69 92 if (!$this->validate()) {
70 93 return null;
71 94 }
72 95  
73 96 $user = new Customers();
74 97 $user->username = $this->username;
  98 + $user->surname = $this->surname;
75 99 $user->email = $this->email;
76 100 $user->phone = $this->phone;
77 101 $user->setPassword($this->password);
78 102 $user->generateAuthKey();
  103 + $user->validate();
79 104 return $user->save() ? $user : null;
80 105 }
81 106 }
... ...
frontend/views/layouts/main.php
... ... @@ -5,6 +5,8 @@
5 5  
6 6  
7 7 use frontend\assets\AppAsset;
  8 +use yii\helpers\Html;
  9 +use yii\helpers\Url;
8 10  
9 11  
10 12 AppAsset::register($this);
... ... @@ -35,15 +37,20 @@ AppAsset::register($this);
35 37 </div>
36 38 <div class="right_lineup">
37 39 <ul>
38   - <li class="login_button_lu"><a href="#">Вход</a></li>
39   - <li class="reg_button_lu"><a href="#">Регистрация</a></li>
  40 + <?php
  41 + if (Yii::$app->user->isGuest) { ?>
  42 + <li class="login_button_lu"><a href="#">Вход</a></li>
  43 + <li class="reg_button_lu"><a href="#">Регистрация</a></li>
  44 + <?php } else { ?>
  45 + <li class="user_button_lu"><?= Html::a( Yii::$app->user->identity->username , Url::toRoute(['site/cabinet'])); ?></li>
  46 + <?php } ?>
40 47 </ul>
41 48 </div>
42 49 </div>
43 50 </div>
44 51 <div class="head">
45 52 <div class="head_up">
46   - <a href="#" class="head_up_cell bau_logo"><img src="/images/bau_logo.png" border="0"></a>
  53 + <?= Html::a(Html::img('/images/bau_logo.png',['border'=>'0']), ['/'],['class'=>'head_up_cell bau_logo'])?>
47 54 <div class="head_up_cell srch">
48 55 <div class="search_head">
49 56 <div class="srch_head_desc">Введите запрос <a href="#">Шифер</a> <a href="#">Рубероид</a></div>
... ...
frontend/views/modal/login_window_model_window.php
  1 +<?php
  2 +
  3 +/* @var $this yii\web\View */
  4 +/* @var $form yii\bootstrap\ActiveForm */
  5 +/* @var $model \common\models\LoginForm */
  6 +
  7 +use common\models\LoginForm;
  8 +use yii\helpers\Html;
  9 +use yii\bootstrap\ActiveForm;
  10 +use yii\helpers\Url;
  11 +
  12 +$this->title = 'Login';
  13 +$this->params['breadcrumbs'][] = $this->title;
  14 +?>
1 15 <div class="modal_wrapper_login">
2 16 <!-- <form name="login_form"> -->
3 17 <div class="modal_window">
4   - <form>
5   - <div class="modal_close_btn"></div>
6   - <div class="title">Вход в личный кабинет</div>
7   - <label>Логин<input type="text" required></label>
8   - <label>Пароль <input type="password" required></label>
9   - <div class="pass_links">
10   - <label><input type="checkbox" name="remember_password" value="0" /></label>
11   - <span class="remember_pas">Запомнить меня</span>
12   - <a href="#" class="forgot_pass_link">Забыли пароль?</a>
13   - </div>
14   - <div class="for_btn_position"><button class="my_cust_btn" type="submit">войти</button></div>
15   - </form>
  18 + <?php $form = ActiveForm::begin([
  19 + 'action'=>Url::toRoute('site/login'),
  20 + ]); ?>
  21 + <div class="title"><?= Yii::t('app', 'your_personal_area') ?></div>
  22 + <div class="modal_close_btn"></div>
  23 + <?= $form->field(new LoginForm(), 'email',
  24 + [
  25 + 'template' => '<label>'.Yii::t('app', 'email').'{input}{error}{hint}</label>',
  26 + ]
  27 + )->textInput(['autofocus' => true]) ?>
  28 +
  29 + <?= $form->field(new LoginForm(), 'password',
  30 + [
  31 + 'template' => '<label>'.Yii::t('app', 'password').'{input}{error}{hint}</label>',
  32 + ]
  33 + )->passwordInput() ?>
  34 +
  35 +
  36 + <div class="pass_links">
  37 + <?= $form->field(new LoginForm(), 'rememberMe',[
  38 + 'checkboxTemplate' => "{beginLabel}\n{input}\n{labelTitle}\n{endLabel}",
  39 +
  40 + ])->checkbox() ?>
  41 +
  42 +
  43 + <?= Html::a(Yii::t('app', 'forgot_password'), ['site/request-password-reset'],['class'=>'forgot_pass_link']) ?>
  44 + </div>
  45 +
  46 + <div class="for_btn_position">
  47 + <?= Html::submitButton(Yii::t('app','enter'), ['class' => 'my_cust_btn', 'name' => 'login-button']) ?>
  48 + </div>
  49 + <?php ActiveForm::end(); ?>
16 50 </div>
17 51 <!-- </form> -->
18 52 </div>
19 53 \ No newline at end of file
... ...
frontend/views/modal/registration_window_model_window.php
... ... @@ -11,62 +11,50 @@ use yii\widgets\ActiveForm;
11 11 <!-- <form name="registration_form"> -->
12 12 <div class="modal_window">
13 13  
14   - <?php $form = ActiveForm::begin(['action'=>Url::toRoute('site/signup')]); ?>
  14 + <?php $form = ActiveForm::begin([
  15 + 'action'=>Url::toRoute('site/signup'),
  16 + ]); ?>
15 17  
16 18 <div class="modal_close_btn"></div>
17 19  
18   - <div class="title">Регистрация</div>
  20 + <div class="title"><?= Yii::t('app', 'registration') ?></div>
19 21  
20   - <?= $form->field(new SignupForm(), 'email',[
21   - 'template' => '<label>'.Yii::t('app', 'Email').'{input}{error}{hint}</label>',
  22 + <?= $form->field(new SignupForm(), 'email', ['enableAjaxValidation' => true,
  23 + 'template' => '<label>'.Yii::t('app', 'email').'{input}{error}{hint}</label>',
22 24 ]) ?>
23 25  
24 26 <?= $form->field(new SignupForm(), 'password',[
25   - 'template' => '<label>'.Yii::t('app', 'Password').'{input}{error}{hint}</label>',
  27 + 'template' => '<label>'.Yii::t('app', 'password').'{input}{error}{hint}</label>',
26 28 ])->passwordInput() ?>
27 29  
28 30 <?= $form->field(new SignupForm(), 'password_repeat',[
29   - 'template' => '<label>'.Yii::t('app', 'Password_repeat').'{input}{error}{hint}</label>',
  31 + 'template' => '<label>'.Yii::t('app', 'password_repeat').'{input}{error}{hint}</label>',
30 32 ])->passwordInput() ?>
31 33  
32 34 <?= $form->field(new SignupForm(), 'username',[
33   - 'template' => '<label>'.Yii::t('app', 'Username').'{input}{error}{hint}</label>',
34   - ])->textInput(['autofocus' => true]) ?>
  35 + 'template' => '<label>'.Yii::t('app', 'username').'{input}{error}{hint}</label>',
  36 + ])->textInput() ?>
35 37  
36 38 <?= $form->field(new SignupForm(), 'surname',[
37   - 'template' => '<label>'.Yii::t('app', 'Surname').'{input}{error}{hint}</label>',
  39 + 'template' => '<label>'.Yii::t('app', 'surname').'{input}{error}{hint}</label>',
38 40 ])->textInput() ?>
39 41  
40   - <?= $form->field(new SignupForm(), 'phone',[
41   - 'template' => '<label>'.Yii::t('app', 'Phone').'{input}{error}{hint}</label>',
  42 + <?= $form->field(new SignupForm(), 'phone', ['enableAjaxValidation' => true,
  43 + 'template' => '<label>'.Yii::t('app', 'phone').'{input}{error}{hint}</label>',
42 44 ])->textInput() ?>
43 45  
44 46  
45 47 <?= $form->field(new SignupForm(), 'verifyCode')->widget(Captcha::className(), [
46   - 'template' => '<label>Код проверки{image}{input}</label>',
  48 + 'template' => '<label>'.Yii::t('app', 'verifyCode').'{image}{input}</label>',
47 49 ])->label(false) ?>
48 50  
49 51  
50 52 <div class="form-group">
51   - <?= Html::submitButton('регистрация', ['class' => 'my_cust_btn', 'name' => 'signup-button']) ?>
  53 + <?= Html::submitButton(Yii::t('app', 'registration'), ['class' => 'my_cust_btn', 'name' => 'signup-button']) ?>
52 54 </div>
53 55  
54 56 <?php ActiveForm::end(); ?>
55   -<!---->
56   -<!-- <form>-->
57   -<!-- <div class="modal_close_btn"></div>-->
58   -<!-- <div class="title">Регистрация</div>-->
59   -<!-- <label>Логин (e-mail)<input type="email" id="email_reg" required></label>-->
60   -<!-- <label>Пароль <input type="password" id="pass_reg" required></label>-->
61   -<!-- <label>Повторить пароль<input type="password" id="pass_reg_rep" required></label>-->
62   -<!---->
63   -<!-- <label>Имя<input type="text" required></label>-->
64   -<!---->
65   -<!-- <label>Фамилия<input type="text" required></label>-->
66   -<!-- <label>Телефон<input type="text" id="phone_num_reg" required></label>-->
67   -<!-- <label>Код проверки<img src="/images/modal_capcha.png" alt=""> <input type="text" required></label>-->
68   -<!-- <div class="for_btn_position"><button class="my_cust_btn" type="submit">регистрация</button></div>-->
69   -<!-- </form>-->
  57 +
70 58 </div>
71 59 <!-- </form> -->
72 60 </div>
73 61 \ No newline at end of file
... ...
frontend/views/putty/catalog.php
... ... @@ -386,7 +386,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
386 386 <div class="content">
387 387 <div class="novelty_cont">
388 388  
389   - <div class="item">
  389 + <div class="item" data-id="1">
390 390 <div class="new">АКЦИЯ</div>
391 391 <div class="top">Toп</div>
392 392 <a href="#" class="item_link"><div class="pic"><img src="/images/items/01.jpg"></div>
... ... @@ -399,7 +399,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
399 399 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
400 400 </div>
401 401  
402   - <div class="item">
  402 + <div class="item" data-id="2">
403 403 <div class="new">АКЦИЯ</div>
404 404 <div class="top">Toп</div>
405 405 <a href="#" class="item_link"><div class="pic"><img src="/images/items/02.jpg"></div>
... ... @@ -412,7 +412,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
412 412 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
413 413 </div>
414 414  
415   - <div class="item">
  415 + <div class="item" data-id="3">
416 416 <div class="new">АКЦИЯ</div>
417 417 <div class="top">Toп</div>
418 418 <a href="#" class="item_link"><div class="pic"><img src="/images/items/01.jpg"></div>
... ... @@ -425,7 +425,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
425 425 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
426 426 </div>
427 427  
428   - <div class="item">
  428 + <div class="item" data-id="4">
429 429 <div class="new">АКЦИЯ</div>
430 430 <div class="top">Toп</div>
431 431 <a href="#" class="item_link"><div class="pic"><img src="/images/items/02.jpg"></div>
... ... @@ -438,7 +438,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
438 438 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
439 439 </div>
440 440  
441   - <div class="item">
  441 + <div class="item" data-id="5">
442 442 <div class="new">АКЦИЯ</div>
443 443 <div class="top">Toп</div>
444 444 <a href="#" class="item_link"><div class="pic"><img src="/images/items/01.jpg"></div>
... ... @@ -451,7 +451,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
451 451 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
452 452 </div>
453 453  
454   - <div class="item">
  454 + <div class="item" data-id="6" >
455 455 <div class="new">АКЦИЯ</div>
456 456 <div class="top">Toп</div>
457 457 <a href="#" class="item_link"><div class="pic"><img src="/images/items/02.jpg"></div>
... ... @@ -464,7 +464,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
464 464 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
465 465 </div>
466 466  
467   - <div class="item">
  467 + <div class="item" data-id="7">
468 468 <div class="new">АКЦИЯ</div>
469 469 <div class="top">Toп</div>
470 470 <a href="#" class="item_link"><div class="pic"><img src="/images/items/01.jpg"></div>
... ... @@ -477,7 +477,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
477 477 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
478 478 </div>
479 479  
480   - <div class="item">
  480 + <div class="item" data-id="8">
481 481 <div class="new">АКЦИЯ</div>
482 482 <div class="top">Toп</div>
483 483 <a href="#" class="item_link"><div class="pic"><img src="/images/items/02.jpg"></div>
... ... @@ -489,7 +489,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
489 489 <a href="#" class="compare_add_but"><span>добавить к сравнению</span></a>
490 490 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
491 491 </div>
492   - <div class="item">
  492 + <div class="item" data-id="10">
493 493 <div class="new">АКЦИЯ</div>
494 494 <div class="top">Toп</div>
495 495 <a href="#" class="item_link"><div class="pic"><img src="/images/items/01.jpg"></div>
... ... @@ -502,7 +502,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
502 502 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
503 503 </div>
504 504  
505   - <div class="item">
  505 + <div class="item" data-id="9">
506 506 <div class="new">АКЦИЯ</div>
507 507 <div class="top">Toп</div>
508 508 <a href="#" class="item_link"><div class="pic"><img src="/images/items/02.jpg"></div>
... ... @@ -515,7 +515,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
515 515 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
516 516 </div>
517 517  
518   - <div class="item">
  518 + <div class="item" data-id="11">
519 519 <div class="new">АКЦИЯ</div>
520 520 <div class="top">Toп</div>
521 521 <a href="#" class="item_link"><div class="pic"><img src="/images/items/01.jpg"></div>
... ... @@ -528,7 +528,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
528 528 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
529 529 </div>
530 530  
531   - <div class="item">
  531 + <div class="item" data-id="12">
532 532 <div class="new">АКЦИЯ</div>
533 533 <div class="top">Toп</div>
534 534 <a href="#" class="item_link"><div class="pic"><img src="/images/items/02.jpg"></div>
... ... @@ -541,7 +541,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
541 541 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
542 542 </div>
543 543  
544   - <div class="item">
  544 + <div class="item" data-id="31">
545 545 <div class="new">АКЦИЯ</div>
546 546 <div class="top">Toп</div>
547 547 <a href="#" class="item_link"><div class="pic"><img src="/images/items/01.jpg"></div>
... ... @@ -554,7 +554,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
554 554 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
555 555 </div>
556 556  
557   - <div class="item">
  557 + <div class="item" data-id="15">
558 558 <div class="new">АКЦИЯ</div>
559 559 <div class="top">Toп</div>
560 560 <a href="#" class="item_link"><div class="pic"><img src="/images/items/01.jpg"></div>
... ... @@ -567,7 +567,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
567 567 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
568 568 </div>
569 569  
570   - <div class="item">
  570 + <div class="item" data-id="14">
571 571 <div class="new">АКЦИЯ</div>
572 572 <div class="top">Toп</div>
573 573 <a href="#" class="item_link"><div class="pic"><img src="/images/items/02.jpg"></div>
... ...
frontend/views/putty/cabinet.php renamed to frontend/views/site/cabinet.php
1 1 <?php
2 2  
  3 +use yii\helpers\Html;
  4 +use yii\helpers\Url;
  5 +
3 6 $this->title = 'Moй кабинет';
4 7 $this->params['breadcrumbs'][] = $this->title;
5 8  
... ... @@ -22,13 +25,13 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
22 25 </div>
23 26  
24 27 <div class="block_03">
25   - <div class="cab_01"><span class="grey">artweb test</span></div>
26   - <div class="cab_01"><span class="grey">dimitrosh@mail.ru</span></div>
27   - <div class="cab_01"><span class="grey">(123) 456-7899</span></div>
  28 + <div class="cab_01"><span class="grey"><?= Yii::$app->user->identity->name ?></span></div>
  29 + <div class="cab_01"><span class="grey"><?= Yii::$app->user->identity->email ?></span></div>
  30 + <div class="cab_01"><span class="grey"><?= Yii::$app->user->identity->phone ?></span></div>
28 31 </div>
29 32  
30 33 <div class="block_04">
31 34 <div class="link"><span class="dotted"><a href="#">Редактировать личные данные</a></span></div>
32   - <div class="link"><a href="#">Выход</a></div>
  35 + <div class="link"><?= Html::a(Yii::t('app','exit'), Url::toRoute('site/logout'))?></div>
33 36 </div>
34 37 </div>
... ...
frontend/views/site/index.php
... ... @@ -169,7 +169,7 @@ $this-&gt;title = &#39;My Yii Application&#39;;
169 169 <div class="content">
170 170 <div class="title">Новинки</div>
171 171 <div class="novelty_cont">
172   - <div class="item">
  172 + <div class="item" data-id="1">
173 173 <div class="new">Новинка</div>
174 174 <div class="top">Toп</div>
175 175 <a href="#" class="item_link"><div class="pic"><img src="images/items/01.jpg"></div>
... ... @@ -180,7 +180,7 @@ $this-&gt;title = &#39;My Yii Application&#39;;
180 180 <button class="basket_add_but">в корзину</button>
181 181 <a href="#" class="compare_add_but"><span>добавить к сравнению</span></a>
182 182 </div>
183   - <div class="item">
  183 + <div class="item" data-id="12">
184 184 <div class="new">Новинка</div>
185 185 <a href="#" class="item_link"><div class="pic"><img src="images/items/02.jpg"></div>
186 186 <div class="title_item">Ceresit CR 65 гидроизоляционная смесь, 25кг</div></a>
... ... @@ -190,7 +190,7 @@ $this-&gt;title = &#39;My Yii Application&#39;;
190 190 <button class="basket_add_but">в корзину</button>
191 191 <a href="#" class="compare_add_but"><span>добавить к сравнению</span></a>
192 192 </div>
193   - <div class="item">
  193 + <div class="item" data-id="13">
194 194 <div class="new">Новинка</div>
195 195 <div class="top">Toп</div>
196 196 <a href="#" class="item_link"><div class="pic"><img src="images/items/03.jpg"></div>
... ... @@ -201,7 +201,7 @@ $this-&gt;title = &#39;My Yii Application&#39;;
201 201 <button class="basket_add_but">в корзину</button>
202 202 <a href="#" class="compare_add_but"><span>добавить к сравнению</span></a>
203 203 </div>
204   - <div class="item">
  204 + <div class="item" data-id="14">
205 205 <div class="new">Новинка</div>
206 206 <div class="top">Toп</div>
207 207 <a href="#" class="item_link"><div class="pic"><img src="images/items/04.jpg"></div>
... ...
frontend/web/css/style.css
... ... @@ -27,7 +27,7 @@
27 27 .line_up a{color:#dde1e8;text-decoration:none;}
28 28 .line_up_in .left_lineup ul{ float:left;}
29 29 .line_up_in .right_lineup ul{ float:right;}
30   -.login_button_lu{
  30 +.login_button_lu, .user_button_lu{
31 31 padding-left:15px;
32 32 background:url('../images/ico_user.png') center left no-repeat;
33 33 cursor:pointer;
... ... @@ -37,10 +37,10 @@
37 37 background:url('../images/ico_note.png') center left no-repeat;
38 38 cursor:pointer;
39 39 }
40   -.login_button_lu a, .reg_button_lu a{border-bottom:1px dotted #dde1e8;}
  40 +.login_button_lu a, .reg_button_lu a, .user_button_lu a{border-bottom:1px dotted #dde1e8;}
41 41 .line_up ul li:last-child{padding-right:0px;}
42 42 .line_up a:hover{color:#eef1f5;transition:0.2s;}
43   -.login_button_lu a:hover, .reg_button_lu a:hover{border-bottom:1px dotted #eef1f5;}
  43 +.login_button_lu a:hover, .reg_button_lu a:hover, .user_button_lu a:hover{border-bottom:1px dotted #eef1f5;}
44 44  
45 45 /* */
46 46  
... ... @@ -1068,3 +1068,13 @@ input.error_pass{
1068 1068 display:block;
1069 1069 }
1070 1070  
  1071 +#loginform-rememberme{
  1072 + display: none;
  1073 +}
  1074 +.field-loginform-rememberme{
  1075 + display: inline;
  1076 + color: #6aa034;
  1077 +}
  1078 +.field-loginform-rememberme label:hover{
  1079 + color: #517a27;
  1080 +}
1071 1081 \ No newline at end of file
... ...
frontend/web/js/my_scripts.js
... ... @@ -4,16 +4,16 @@ $(document).ready(function(){
4 4  
5 5 // price rangeslider (filter price slider)
6 6 $("#example_id").ionRangeSlider({
7   - type: "double",
8   - min: 0,
9   - max: 500,
10   - from: 50,
11   - to: 450,
12   - grid: false
  7 + type: "double",
  8 + min: 0,
  9 + max: 500,
  10 + from: 50,
  11 + to: 450,
  12 + grid: false
13 13 });
14 14  
15 15 // ion checkradio init
16   - $("input[type='radio'], input[type='checkbox']").ionCheckRadio();
  16 + $("input[type='radio'], input[type='checkbox']").ionCheckRadio();
17 17  
18 18 // filter open li
19 19 var filter_list = $('.filter_list ul li .arrow');
... ... @@ -21,30 +21,30 @@ $(document).ready(function(){
21 21 filter_list.on('click', function(){
22 22 $(this).next().slideToggle(300);
23 23 var this_img = $(this).children('img');
24   - if (this_img.attr('src') === "/images/head_down.png" ) {
25   - this_img.attr('src', '/images/head_up.png');
  24 + if (this_img.attr('src') === "images/head_down.png" ) {
  25 + this_img.attr('src', 'images/head_up.png');
26 26 } else {
27   - this_img.attr('src', '/images/head_down.png');
  27 + this_img.attr('src', 'images/head_down.png');
28 28 };
29 29 });
30 30  
31 31 $('.form_checkbox_reset').click(function(e){
32 32 e.preventDefault();
33   - $('.price_filter input[type="checkbox"]').prop('checked', false);
34   - $('.price_filter label').removeClass('checked');
35   - });
  33 + $('.price_filter input[type="checkbox"]').prop('checked', false);
  34 + $('.price_filter label').removeClass('checked');
  35 + });
36 36  
37 37  
38   - // CHANGE ACTIVE CLASS
  38 + // CHANGE ACTIVE CLASS
39 39 function change_right(){
40 40 var main_div = $('.main_img_slide'),
41   -
  41 +
42 42 arrow_right = $('.slider_arrow_right'),
43 43 arrow_left = $('.slider_arrow_left'),
44 44 main_img = $('.main_img img');
45 45  
46 46  
47   - arrow_right.on('click', function(){
  47 + arrow_right.on('click', function(){
48 48 var next = $('.small_img_block.active').next();
49 49 var next_attr = next.children().attr('src');
50 50 if (next.hasClass('small_img_block')) {
... ... @@ -52,20 +52,20 @@ $(document).ready(function(){
52 52 next.addClass('active');
53 53 main_img.attr('src', next_attr);
54 54 };
55   -
  55 +
56 56 });
57 57 }
58 58  
59   - // CHANGE ACTIVE CLASS
  59 + // CHANGE ACTIVE CLASS
60 60 function change_left(){
61 61 var main_div = $('.main_img_slide'),
62   -
  62 +
63 63 arrow_right = $('.slider_arrow_right'),
64 64 arrow_left = $('.slider_arrow_left'),
65 65 main_img = $('.main_img img');
66 66  
67 67  
68   - arrow_left.on('click', function(){
  68 + arrow_left.on('click', function(){
69 69 var prev = $('.small_img_block.active').prev();
70 70 var prev_attr = prev.children().attr('src');
71 71 if (prev.hasClass('small_img_block')) {
... ... @@ -73,7 +73,7 @@ $(document).ready(function(){
73 73 prev.addClass('active');
74 74 main_img.attr('src', prev_attr);
75 75 };
76   -
  76 +
77 77 });
78 78 };
79 79 var arrow_right = $('.slider_arrow_right'),
... ... @@ -85,17 +85,17 @@ $(document).ready(function(){
85 85 // arrow left hover
86 86 arrow_left.hover(
87 87 function(){
88   - $(this).attr('src', '/images/slider_left_hover.png');
  88 + $(this).attr('src', 'images/slider_left_hover.png');
89 89 }, function(){
90   - $(this).attr('src', '/images/slider_left.png');
  90 + $(this).attr('src', 'images/slider_left.png');
91 91 });
92 92  
93 93 // arrow right hover
94 94 arrow_right.hover(
95 95 function(){
96   - $(this).attr('src', '/images/slider_right_hover.png');
  96 + $(this).attr('src', 'images/slider_right_hover.png');
97 97 }, function(){
98   - $(this).attr('src', '/images/slider_right.png');
  98 + $(this).attr('src', 'images/slider_right.png');
99 99 });
100 100  
101 101 // добавить в корзину - счетчик + - товар
... ... @@ -108,7 +108,7 @@ $(document).ready(function(){
108 108  
109 109 counter_plus_btn.click(function(){
110 110 var count = +counter_item_count.html();
111   - count++;
  111 + count++;
112 112 counter_item_count.text(count);
113 113  
114 114 var become = 1*($('.counter').children('.price').html());
... ... @@ -120,40 +120,40 @@ $(document).ready(function(){
120 120 var result = become - state_price;
121 121 if(become > 0) {
122 122 open_card_item_price.text(result.toFixed(2));
123   - var count = +counter_item_count.html();
  123 + var count = +counter_item_count.html();
124 124 count--;
125   - counter_item_count.text(count);
  125 + counter_item_count.text(count);
126 126 }
127 127 });
128 128  
129   - // активный класс для корзины
  129 + // активный класс для корзины
130 130 var basket_order_list = $('.order_list').find('.order_list_li');
131 131 /*basket_order_list.click(function(){
132   - basket_order_list.removeClass('active');
133   - $(this).addClass('active');
134   - // console.log('hello');
135   - });*/
  132 + basket_order_list.removeClass('active');
  133 + $(this).addClass('active');
  134 + // console.log('hello');
  135 + });*/
136 136  
137 137 // оформить заказ сумма всех товаров в корзине
138 138 var basket_all_items = $('.all_price').find('.all_count'), // количество товаров в корзине
139 139 basket_all_price = $('.all_price').find('.all_price'), // общая сумма за все товары
140 140 basket_each_price = basket_order_list.children('.price'), // цена товара(ов)
141 141 basket_each_count = basket_order_list.children('.how_many'); // количество каждого товара
142   - // console.log(basket_each_price);
143   -
144   - function basket_all_prices() {
145   - var all_count = 0;
146   - var all_price = 0;
147   - for (var i = basket_each_count.length - 1; i >= 0; i--) {
148   - var temp = basket_each_count[i].innerHTML;
149   - var temp_price = basket_each_price[i].innerHTML;
150   - all_count += parseInt(temp);
151   - all_price += parseFloat(temp_price);
152   - };
153   - basket_all_items.text(all_count);
154   - basket_all_price.text(all_price.toFixed(2));
155   - }
156   - basket_all_prices();
  142 + // console.log(basket_each_price);
  143 +
  144 + function basket_all_prices() {
  145 + var all_count = 0;
  146 + var all_price = 0;
  147 + for (var i = basket_each_count.length - 1; i >= 0; i--) {
  148 + var temp = basket_each_count[i].innerHTML;
  149 + var temp_price = basket_each_price[i].innerHTML;
  150 + all_count += parseInt(temp);
  151 + all_price += parseFloat(temp_price);
  152 + };
  153 + basket_all_items.text(all_count);
  154 + basket_all_price.text(all_price.toFixed(2));
  155 + }
  156 + basket_all_prices();
157 157  
158 158  
159 159 // modal widows
... ... @@ -167,7 +167,7 @@ $(document).ready(function(){
167 167 forgot_pass_wrap = $('.forgot_pass_modal_wrapper'), // окно забыли пароль
168 168 forgot_pass_success_wrap = $('.forgot_pass_success_wrapper'), // окошко успешно отправлен пароль
169 169 forgot_pass_success_open_btn = $('.forgot_pass_modal_wrapper').find('.my_cust_btn');
170   - forget_pass_again_btn = $('.forgot_pass_success_wrapper').find('.my_cust_btn'),
  170 + forget_pass_again_btn = $('.forgot_pass_success_wrapper').find('.my_cust_btn'),
171 171 log_open_btn = $('.login_button_lu'), // окно логина
172 172 reg_open_btn = $('.reg_button_lu'), // кнопка открыть
173 173 modal_busket_open = $('.basket_add_but'), // открыть модалку корзины
... ... @@ -182,7 +182,7 @@ $(document).ready(function(){
182 182 callback_open_btn = $('.phone_me_head button'),
183 183 busket_modal_wrapper = $('.busket_modal_wrapper'),
184 184 main_wrap = $('.modal_wrapper');
185   - reg_wrap_btn = $('.modal_wrapper_reg').find('button');
  185 + reg_wrap_btn = $('.modal_wrapper_reg').find('button');
186 186  
187 187  
188 188 reg_wrap.css({'height': doc_h}); // высота заднего фона = высоте документа
... ... @@ -192,18 +192,18 @@ $(document).ready(function(){
192 192 callback_wrap.css({'height': doc_h}); // высота заднего фона = высоте документа
193 193 busket_modal_wrapper.css({'height' : doc_h}); // высота заднего фона = высоте документа
194 194  
195   - //
196   - //
197   - // $('body').keydown(function(event){
198   - // if (event.which == 27) {
199   - // $(this).parent().find("input").val('');
200   - // reg_wrap.fadeOut(200);
201   - // log_wrap.fadeOut(200);
202   - // forgot_pass_wrap.fadeOut(200);
203   - // forgot_pass_success_wrap.fadeOut(200);
204   - // callback_wrap.fadeOut(200);
205   - // };
206   - //});
  195 +
  196 +
  197 + $('body').keydown(function(event){
  198 + if (event.which == 27) {
  199 + $(this).parent().find("input").val('');
  200 + reg_wrap.fadeOut(200);
  201 + log_wrap.fadeOut(200);
  202 + forgot_pass_wrap.fadeOut(200);
  203 + forgot_pass_success_wrap.fadeOut(200);
  204 + callback_wrap.fadeOut(200);
  205 + };
  206 + });
207 207  
208 208 callback_open_btn.click(function(){ // открываем окно регистрации
209 209 $(".error").removeClass("error");
... ... @@ -213,7 +213,7 @@ $(document).ready(function(){
213 213 }
214 214 else{
215 215 callback_wrap.fadeIn(200);
216   - $(".phone_me_head").find("input").val('');
  216 + $(".phone_me_head").find("input").val('');
217 217 }
218 218 });
219 219 modal_busket_header_cont.click(function(){ // скрываем модальную корзину в хедере по ссылке
... ... @@ -253,40 +253,40 @@ $(document).ready(function(){
253 253 forgot_pass_wrap.fadeIn(50);
254 254 log_wrap.fadeOut(50);
255 255 });
256   - //forgot_pass_success_open_btn.click(function(){ // сообщение об успешной отправке пароля на почту
257   - // $(".error").removeClass("error");
258   - // if($(".forgot_pass_modal_wrapper").find("input").val().length == 0){ //проверка ввода поля
259   - // $(".forgot_pass_modal_wrapper").find("input").addClass("error");
260   - // }
261   - // else{
262   - //
263   - // var email = $(".forgot_pass_modal_wrapper").find("input").val();
264   - //
265   - //function isValidEmailAddress(emailAddress) {
266   - //var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
267   - //return pattern.test(emailAddress);
268   - //}
269   - // if(isValidEmailAddress(email))
270   - // {
271   - // $(".forgot_pass_modal_wrapper").find("input").removeClass("error");
272   - // forgot_pass_success_wrap.fadeIn(200);
273   - // forgot_pass_wrap.fadeOut(200);
274   - // } else {
275   - // $(".forgot_pass_modal_wrapper").find("input").addClass("error");
276   - // }
277   - //
278   - //
279   - // /*// if ($('#forgot_pass_form')[0].checkValidity()) {
280   - // forgot_pass_success_wrap.fadeIn(200);
281   - // forgot_pass_wrap.fadeOut(200);
282   - // // }; */
283   - // }
284   - //});
  256 + forgot_pass_success_open_btn.click(function(){ // сообщение об успешной отправке пароля на почту
  257 + $(".error").removeClass("error");
  258 + if($(".forgot_pass_modal_wrapper").find("input").val().length == 0){ //проверка ввода поля
  259 + $(".forgot_pass_modal_wrapper").find("input").addClass("error");
  260 + }
  261 + else{
  262 +
  263 + var email = $(".forgot_pass_modal_wrapper").find("input").val();
  264 +
  265 + function isValidEmailAddress(emailAddress) {
  266 + var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
  267 + return pattern.test(emailAddress);
  268 + }
  269 + if(isValidEmailAddress(email))
  270 + {
  271 + $(".forgot_pass_modal_wrapper").find("input").removeClass("error");
  272 + forgot_pass_success_wrap.fadeIn(200);
  273 + forgot_pass_wrap.fadeOut(200);
  274 + } else {
  275 + $(".forgot_pass_modal_wrapper").find("input").addClass("error");
  276 + }
  277 +
  278 +
  279 + /*// if ($('#forgot_pass_form')[0].checkValidity()) {
  280 + forgot_pass_success_wrap.fadeIn(200);
  281 + forgot_pass_wrap.fadeOut(200);
  282 + // }; */
  283 + }
  284 + });
285 285 forget_pass_again_btn.click(function(){ // еще раз отправить пароль
286 286 forgot_pass_wrap.fadeIn(50);
287 287 forgot_pass_success_wrap.fadeOut(50);
288 288 });
289   - close_btn.click(function(){ // закрываем любые
  289 + close_btn.click(function(){ // закрываем любые
290 290 $(this).parent().find("input").val('');
291 291 $(".error").removeClass("error");
292 292 reg_wrap.fadeOut(200);
... ... @@ -302,60 +302,60 @@ $(document).ready(function(){
302 302 forgot_pass_success_wrap.fadeOut(200);
303 303 callback_wrap.fadeOut(200);
304 304 });
305   -
306   - //reg_wrap_btn.click(function(){
307   - // /*$(".modal_wrapper_reg").find(".modal_window:label").each(function (i) {
308   - // if (this.find("input").val().length == 0) {
309   - // this.find("input").addClass("error");
310   - // alert('fdfdf');
311   - // } else {
312   - // this.find("input").removeClass("error");
313   - // }
314   - // });*/
315   - // var email_reg = $("#email_reg").val();
316   - // var pass_reg = $("#pass_reg").val();
317   - // var pass_reg_rep = $("#pass_reg_rep").val();
318   - // $(this).parent().parent().find("label").each(function(nf, form)
319   - // {
320   - // if($(this).find("input").val().length == 0){
321   - // $(this).find("input").addClass("error");
322   - // if(pass_reg !== pass_reg_rep){
323   - // $("#pass_reg").addClass("error_pass");
324   - // $("#pass_reg_rep").addClass("error_pass");
325   - // }
326   - // else{
327   - // $("#pass_reg").removeClass("error_pass");
328   - // $("#pass_reg_rep").removeClass("error_pass");
329   - // }
330   - // }
331   - // else{
332   - //
333   - // function isValidEmailAddress(emailAddress) {
334   - // var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
335   - // return pattern.test(emailAddress);
336   - // }
337   - //
338   - // if(isValidEmailAddress(email_reg))
339   - // {
340   - // $("#email_reg").removeClass("error");
341   - // $(this).find("input").removeClass("error");
342   - // } else {
343   - // $(this).find("input").removeClass("error");
344   - // $("#email_reg").addClass("error");
345   - // }
346   - //
347   - // if(pass_reg !== pass_reg_rep){
348   - // $("#pass_reg").addClass("error_pass");
349   - // $("#pass_reg_rep").addClass("error_pass");
350   - // }
351   - // else{
352   - // $("#pass_reg").removeClass("error_pass");
353   - // $("#pass_reg_rep").removeClass("error_pass");
354   - // }
355   - //
356   - // }
357   - // });
358   - //});
  305 +
  306 + reg_wrap_btn.click(function(){
  307 + /*$(".modal_wrapper_reg").find(".modal_window:label").each(function (i) {
  308 + if (this.find("input").val().length == 0) {
  309 + this.find("input").addClass("error");
  310 + alert('fdfdf');
  311 + } else {
  312 + this.find("input").removeClass("error");
  313 + }
  314 + });*/
  315 + var email_reg = $("#email_reg").val();
  316 + var pass_reg = $("#pass_reg").val();
  317 + var pass_reg_rep = $("#pass_reg_rep").val();
  318 + $(this).parent().parent().find("label").each(function(nf, form)
  319 + {
  320 + if($(this).find("input").val().length == 0){
  321 + $(this).find("input").addClass("error");
  322 + if(pass_reg !== pass_reg_rep){
  323 + $("#pass_reg").addClass("error_pass");
  324 + $("#pass_reg_rep").addClass("error_pass");
  325 + }
  326 + else{
  327 + $("#pass_reg").removeClass("error_pass");
  328 + $("#pass_reg_rep").removeClass("error_pass");
  329 + }
  330 + }
  331 + else{
  332 +
  333 + function isValidEmailAddress(emailAddress) {
  334 + var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
  335 + return pattern.test(emailAddress);
  336 + }
  337 +
  338 + if(isValidEmailAddress(email_reg))
  339 + {
  340 + $("#email_reg").removeClass("error");
  341 + $(this).find("input").removeClass("error");
  342 + } else {
  343 + $(this).find("input").removeClass("error");
  344 + $("#email_reg").addClass("error");
  345 + }
  346 +
  347 + if(pass_reg !== pass_reg_rep){
  348 + $("#pass_reg").addClass("error_pass");
  349 + $("#pass_reg_rep").addClass("error_pass");
  350 + }
  351 + else{
  352 + $("#pass_reg").removeClass("error_pass");
  353 + $("#pass_reg_rep").removeClass("error_pass");
  354 + }
  355 +
  356 + }
  357 + });
  358 + });
359 359 }
360 360 modal_windows();
361 361  
... ... @@ -363,26 +363,26 @@ $(document).ready(function(){
363 363 // category open blocks
364 364 function category_open_blocks() {
365 365 var open_block_btn = $('.category_wrap').find('.arrow');
366   - open_block_btn.click(function(){
367   - var block = $(this).parent('.cat_li_cont').next();
368   - block.slideToggle(200);
369   -
370   - if($(this).css('background-position')==='0px 0px') {
371   - $(this).css('background-position','0px -15px');
372   - }else{
373   - $(this).css('background-position','0px 0px');
374   - };
375   - });
  366 + open_block_btn.click(function(){
  367 + var block = $(this).parent('.cat_li_cont').next();
  368 + block.slideToggle(200);
  369 +
  370 + if($(this).css('background-position')==='0px 0px') {
  371 + $(this).css('background-position','0px -15px');
  372 + }else{
  373 + $(this).css('background-position','0px 0px');
  374 + };
  375 + });
376 376 }
377 377 category_open_blocks();
378 378  
379 379  
380 380  
381   -
  381 + //
382 382 //// VALIDATION FORM JS
383   - //$.validator.addMethod("equals_code", function(value, element, string) {
384   - // return value === string;
385   - //}, $.validator.format("вы ввели не правильные буквы с картинки"));
  383 + //$.validator.addMethod("equals_code", function(value, element, string) {
  384 + // return value === string;
  385 + //}, $.validator.format("вы ввели не правильные буквы с картинки"));
386 386 //// registration form
387 387 //$('.reg_form').validate({
388 388 // rules: {
... ... @@ -448,55 +448,55 @@ $(document).ready(function(){
448 448 // // $('.foo_text').delay( 100 ).show(200);
449 449 // // }
450 450 //});
451   - //// login form
452   - //$('.log_form').validate({
453   - // rules: {
454   - // password: {
  451 + //// login form
  452 + //$('.log_form').validate({
  453 + // rules: {
  454 + // password: {
455 455 // required: true
456 456 // },
457 457 // login: {
458 458 // required: true
459 459 // }
460   - // },
461   - // messages: {
462   - // password: {
463   - // required: 'введите ваш пароль'
464   - // },
465   - // login: {
466   - // required: 'введите ваш логин'
467   - // }
468   - // }
469   - //});
470   - //// forget password form
471   - //$('.forgot_password_form').validate({
472   - // rules: {
473   - // email: {
474   - // required: true,
475   - // email: true
476   - // }
477   - // },
478   - // messages: {
479   - // email: {
480   - // required: 'введите ваш логин...',
481   - // email: 'введите правильный адресс (example@mail.com)'
482   - // }
483   - // },
484   - // submitHandler: function () {
  460 + // },
  461 + // messages: {
  462 + // password: {
  463 + // required: 'введите ваш пароль'
  464 + // },
  465 + // login: {
  466 + // required: 'введите ваш логин'
  467 + // }
  468 + // }
  469 + //});
  470 + //// forget password form
  471 + //$('.forgot_password_form').validate({
  472 + // rules: {
  473 + // email: {
  474 + // required: true,
  475 + // email: true
  476 + // }
  477 + // },
  478 + // messages: {
  479 + // email: {
  480 + // required: 'введите ваш логин...',
  481 + // email: 'введите правильный адресс (example@mail.com)'
  482 + // }
  483 + // },
  484 + // submitHandler: function () {
485 485 // $('.forgot_pass_success_wrapper').fadeIn(200);
486 486 // $('.forgot_pass_modal_wrapper').fadeOut(200);
487 487 // }
488   - //});
  488 + //});
489 489  
490 490  
491 491  
492   - //=============================================== BUSKET MODAL WINDOW FUNCTIONS
493   - function all_modal_moves(){
494   - // BUSKET MODAL WINDOW ITEM DELETE
495   - var delete_item_btn = $('.delete_item_btn').click(function(){
496   - $(this).closest('li').remove();
497   - });
498   - }
499   - all_modal_moves();
  492 + //=============================================== BUSKET MODAL WINDOW FUNCTIONS
  493 + function all_modal_moves(){
  494 + // BUSKET MODAL WINDOW ITEM DELETE
  495 + var delete_item_btn = $('.delete_item_btn').click(function(){
  496 + $(this).closest('li').remove();
  497 + });
  498 + }
  499 + all_modal_moves();
500 500  
501 501  
502 502  
... ...