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,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 * @inheritdoc 77 * @inheritdoc
62 */ 78 */
63 public function attributeLabels() 79 public function attributeLabels()
common/models/LoginForm.php
@@ -9,9 +9,9 @@ use yii\base\Model; @@ -9,9 +9,9 @@ use yii\base\Model;
9 */ 9 */
10 class LoginForm extends Model 10 class LoginForm extends Model
11 { 11 {
12 - public $username;  
13 public $password; 12 public $password;
14 public $rememberMe = true; 13 public $rememberMe = true;
  14 + public $email;
15 15
16 private $_user; 16 private $_user;
17 17
@@ -23,7 +23,7 @@ class LoginForm extends Model @@ -23,7 +23,7 @@ class LoginForm extends Model
23 { 23 {
24 return [ 24 return [
25 // username and password are both required 25 // username and password are both required
26 - [['username', 'password'], 'required'], 26 + [['email', 'password'], 'required'],
27 // rememberMe must be a boolean value 27 // rememberMe must be a boolean value
28 ['rememberMe', 'boolean'], 28 ['rememberMe', 'boolean'],
29 // password is validated by validatePassword() 29 // password is validated by validatePassword()
@@ -70,9 +70,19 @@ class LoginForm extends Model @@ -70,9 +70,19 @@ class LoginForm extends Model
70 protected function getUser() 70 protected function getUser()
71 { 71 {
72 if ($this->_user === null) { 72 if ($this->_user === null) {
73 - $this->_user = User::findByUsername($this->username); 73 + $this->_user = Customers::findByEmail($this->email);
74 } 74 }
75 75
76 return $this->_user; 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 \ No newline at end of file 26 \ No newline at end of file
console/migrations/m160320_174258_customer.php
@@ -14,7 +14,7 @@ class m160320_174258_customer extends Migration @@ -14,7 +14,7 @@ class m160320_174258_customer extends Migration
14 14
15 $this->createTable('{{%customers}}', [ 15 $this->createTable('{{%customers}}', [
16 'id' => $this->primaryKey(), 16 'id' => $this->primaryKey(),
17 - 'username' => $this->string()->notNull()->unique(), 17 + 'username' => $this->string()->notNull(),
18 'surname' => $this->string(), 18 'surname' => $this->string(),
19 'auth_key' => $this->string(32)->notNull(), 19 'auth_key' => $this->string(32)->notNull(),
20 'password_hash' => $this->string()->notNull(), 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,9 +35,6 @@ class PuttyController extends Controller
35 return $this->render('basket-step-02'); 35 return $this->render('basket-step-02');
36 } 36 }
37 37
38 - public function actionCabinet(){  
39 - return $this->render('cabinet');  
40 - }  
41 38
42 public function actionContacts(){ 39 public function actionContacts(){
43 return $this->render('contacts'); 40 return $this->render('contacts');
frontend/controllers/SiteController.php
@@ -12,12 +12,15 @@ use yii\web\BadRequestHttpException; @@ -12,12 +12,15 @@ use yii\web\BadRequestHttpException;
12 use yii\web\Controller; 12 use yii\web\Controller;
13 use yii\filters\VerbFilter; 13 use yii\filters\VerbFilter;
14 use yii\filters\AccessControl; 14 use yii\filters\AccessControl;
  15 +use yii\web\Response;
  16 +use yii\widgets\ActiveForm;
15 17
16 /** 18 /**
17 * Site controller 19 * Site controller
18 */ 20 */
19 class SiteController extends Controller 21 class SiteController extends Controller
20 { 22 {
  23 +
21 /** 24 /**
22 * @inheritdoc 25 * @inheritdoc
23 */ 26 */
@@ -52,6 +55,18 @@ class SiteController extends Controller @@ -52,6 +55,18 @@ class SiteController extends Controller
52 /** 55 /**
53 * @inheritdoc 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 public function actions() 70 public function actions()
56 { 71 {
57 return [ 72 return [
@@ -149,15 +164,23 @@ class SiteController extends Controller @@ -149,15 +164,23 @@ class SiteController extends Controller
149 */ 164 */
150 public function actionSignup() 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 return $this->render('signup', [ 184 return $this->render('signup', [
162 'model' => $model, 185 'model' => $model,
163 ]); 186 ]);
@@ -211,4 +234,9 @@ class SiteController extends Controller @@ -211,4 +234,9 @@ class SiteController extends Controller
211 'model' => $model, 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,6 +18,8 @@ class SignupForm extends Model
18 public $surname; 18 public $surname;
19 public $phone; 19 public $phone;
20 20
  21 + const SCENARIO_AJAX = 'ajax';
  22 + const SCENARIO_SUBMIT = 'submit';
21 23
22 /** 24 /**
23 * @inheritdoc 25 * @inheritdoc
@@ -33,16 +35,38 @@ class SignupForm extends Model @@ -33,16 +35,38 @@ class SignupForm extends Model
33 ['email', 'required'], 35 ['email', 'required'],
34 ['email', 'email'], 36 ['email', 'email'],
35 [['email','phone'], 'string', 'max' => 255], 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 ['password_repeat', 'required'], 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 ['password', 'required'], 49 ['password', 'required'],
43 ['password', 'string', 'min' => 6], 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,17 +89,18 @@ class SignupForm extends Model
65 public function signup() 89 public function signup()
66 { 90 {
67 91
68 -  
69 if (!$this->validate()) { 92 if (!$this->validate()) {
70 return null; 93 return null;
71 } 94 }
72 95
73 $user = new Customers(); 96 $user = new Customers();
74 $user->username = $this->username; 97 $user->username = $this->username;
  98 + $user->surname = $this->surname;
75 $user->email = $this->email; 99 $user->email = $this->email;
76 $user->phone = $this->phone; 100 $user->phone = $this->phone;
77 $user->setPassword($this->password); 101 $user->setPassword($this->password);
78 $user->generateAuthKey(); 102 $user->generateAuthKey();
  103 + $user->validate();
79 return $user->save() ? $user : null; 104 return $user->save() ? $user : null;
80 } 105 }
81 } 106 }
frontend/views/layouts/main.php
@@ -5,6 +5,8 @@ @@ -5,6 +5,8 @@
5 5
6 6
7 use frontend\assets\AppAsset; 7 use frontend\assets\AppAsset;
  8 +use yii\helpers\Html;
  9 +use yii\helpers\Url;
8 10
9 11
10 AppAsset::register($this); 12 AppAsset::register($this);
@@ -35,15 +37,20 @@ AppAsset::register($this); @@ -35,15 +37,20 @@ AppAsset::register($this);
35 </div> 37 </div>
36 <div class="right_lineup"> 38 <div class="right_lineup">
37 <ul> 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 </ul> 47 </ul>
41 </div> 48 </div>
42 </div> 49 </div>
43 </div> 50 </div>
44 <div class="head"> 51 <div class="head">
45 <div class="head_up"> 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 <div class="head_up_cell srch"> 54 <div class="head_up_cell srch">
48 <div class="search_head"> 55 <div class="search_head">
49 <div class="srch_head_desc">Введите запрос <a href="#">Шифер</a> <a href="#">Рубероид</a></div> 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 <div class="modal_wrapper_login"> 15 <div class="modal_wrapper_login">
2 <!-- <form name="login_form"> --> 16 <!-- <form name="login_form"> -->
3 <div class="modal_window"> 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 </div> 50 </div>
17 <!-- </form> --> 51 <!-- </form> -->
18 </div> 52 </div>
19 \ No newline at end of file 53 \ No newline at end of file
frontend/views/modal/registration_window_model_window.php
@@ -11,62 +11,50 @@ use yii\widgets\ActiveForm; @@ -11,62 +11,50 @@ use yii\widgets\ActiveForm;
11 <!-- <form name="registration_form"> --> 11 <!-- <form name="registration_form"> -->
12 <div class="modal_window"> 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 <div class="modal_close_btn"></div> 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 <?= $form->field(new SignupForm(), 'password',[ 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 ])->passwordInput() ?> 28 ])->passwordInput() ?>
27 29
28 <?= $form->field(new SignupForm(), 'password_repeat',[ 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 ])->passwordInput() ?> 32 ])->passwordInput() ?>
31 33
32 <?= $form->field(new SignupForm(), 'username',[ 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 <?= $form->field(new SignupForm(), 'surname',[ 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 ])->textInput() ?> 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 ])->textInput() ?> 44 ])->textInput() ?>
43 45
44 46
45 <?= $form->field(new SignupForm(), 'verifyCode')->widget(Captcha::className(), [ 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 ])->label(false) ?> 49 ])->label(false) ?>
48 50
49 51
50 <div class="form-group"> 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 </div> 54 </div>
53 55
54 <?php ActiveForm::end(); ?> 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 </div> 58 </div>
71 <!-- </form> --> 59 <!-- </form> -->
72 </div> 60 </div>
73 \ No newline at end of file 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,7 +386,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
386 <div class="content"> 386 <div class="content">
387 <div class="novelty_cont"> 387 <div class="novelty_cont">
388 388
389 - <div class="item"> 389 + <div class="item" data-id="1">
390 <div class="new">АКЦИЯ</div> 390 <div class="new">АКЦИЯ</div>
391 <div class="top">Toп</div> 391 <div class="top">Toп</div>
392 <a href="#" class="item_link"><div class="pic"><img src="/images/items/01.jpg"></div> 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,7 +399,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
399 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt=""> 399 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
400 </div> 400 </div>
401 401
402 - <div class="item"> 402 + <div class="item" data-id="2">
403 <div class="new">АКЦИЯ</div> 403 <div class="new">АКЦИЯ</div>
404 <div class="top">Toп</div> 404 <div class="top">Toп</div>
405 <a href="#" class="item_link"><div class="pic"><img src="/images/items/02.jpg"></div> 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,7 +412,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
412 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt=""> 412 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
413 </div> 413 </div>
414 414
415 - <div class="item"> 415 + <div class="item" data-id="3">
416 <div class="new">АКЦИЯ</div> 416 <div class="new">АКЦИЯ</div>
417 <div class="top">Toп</div> 417 <div class="top">Toп</div>
418 <a href="#" class="item_link"><div class="pic"><img src="/images/items/01.jpg"></div> 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,7 +425,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
425 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt=""> 425 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
426 </div> 426 </div>
427 427
428 - <div class="item"> 428 + <div class="item" data-id="4">
429 <div class="new">АКЦИЯ</div> 429 <div class="new">АКЦИЯ</div>
430 <div class="top">Toп</div> 430 <div class="top">Toп</div>
431 <a href="#" class="item_link"><div class="pic"><img src="/images/items/02.jpg"></div> 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,7 +438,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
438 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt=""> 438 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
439 </div> 439 </div>
440 440
441 - <div class="item"> 441 + <div class="item" data-id="5">
442 <div class="new">АКЦИЯ</div> 442 <div class="new">АКЦИЯ</div>
443 <div class="top">Toп</div> 443 <div class="top">Toп</div>
444 <a href="#" class="item_link"><div class="pic"><img src="/images/items/01.jpg"></div> 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,7 +451,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
451 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt=""> 451 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
452 </div> 452 </div>
453 453
454 - <div class="item"> 454 + <div class="item" data-id="6" >
455 <div class="new">АКЦИЯ</div> 455 <div class="new">АКЦИЯ</div>
456 <div class="top">Toп</div> 456 <div class="top">Toп</div>
457 <a href="#" class="item_link"><div class="pic"><img src="/images/items/02.jpg"></div> 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,7 +464,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
464 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt=""> 464 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
465 </div> 465 </div>
466 466
467 - <div class="item"> 467 + <div class="item" data-id="7">
468 <div class="new">АКЦИЯ</div> 468 <div class="new">АКЦИЯ</div>
469 <div class="top">Toп</div> 469 <div class="top">Toп</div>
470 <a href="#" class="item_link"><div class="pic"><img src="/images/items/01.jpg"></div> 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,7 +477,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
477 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt=""> 477 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
478 </div> 478 </div>
479 479
480 - <div class="item"> 480 + <div class="item" data-id="8">
481 <div class="new">АКЦИЯ</div> 481 <div class="new">АКЦИЯ</div>
482 <div class="top">Toп</div> 482 <div class="top">Toп</div>
483 <a href="#" class="item_link"><div class="pic"><img src="/images/items/02.jpg"></div> 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,7 +489,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
489 <a href="#" class="compare_add_but"><span>добавить к сравнению</span></a> 489 <a href="#" class="compare_add_but"><span>добавить к сравнению</span></a>
490 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt=""> 490 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
491 </div> 491 </div>
492 - <div class="item"> 492 + <div class="item" data-id="10">
493 <div class="new">АКЦИЯ</div> 493 <div class="new">АКЦИЯ</div>
494 <div class="top">Toп</div> 494 <div class="top">Toп</div>
495 <a href="#" class="item_link"><div class="pic"><img src="/images/items/01.jpg"></div> 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,7 +502,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
502 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt=""> 502 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
503 </div> 503 </div>
504 504
505 - <div class="item"> 505 + <div class="item" data-id="9">
506 <div class="new">АКЦИЯ</div> 506 <div class="new">АКЦИЯ</div>
507 <div class="top">Toп</div> 507 <div class="top">Toп</div>
508 <a href="#" class="item_link"><div class="pic"><img src="/images/items/02.jpg"></div> 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,7 +515,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
515 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt=""> 515 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
516 </div> 516 </div>
517 517
518 - <div class="item"> 518 + <div class="item" data-id="11">
519 <div class="new">АКЦИЯ</div> 519 <div class="new">АКЦИЯ</div>
520 <div class="top">Toп</div> 520 <div class="top">Toп</div>
521 <a href="#" class="item_link"><div class="pic"><img src="/images/items/01.jpg"></div> 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,7 +528,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
528 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt=""> 528 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
529 </div> 529 </div>
530 530
531 - <div class="item"> 531 + <div class="item" data-id="12">
532 <div class="new">АКЦИЯ</div> 532 <div class="new">АКЦИЯ</div>
533 <div class="top">Toп</div> 533 <div class="top">Toп</div>
534 <a href="#" class="item_link"><div class="pic"><img src="/images/items/02.jpg"></div> 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,7 +541,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
541 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt=""> 541 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
542 </div> 542 </div>
543 543
544 - <div class="item"> 544 + <div class="item" data-id="31">
545 <div class="new">АКЦИЯ</div> 545 <div class="new">АКЦИЯ</div>
546 <div class="top">Toп</div> 546 <div class="top">Toп</div>
547 <a href="#" class="item_link"><div class="pic"><img src="/images/items/01.jpg"></div> 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,7 +554,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
554 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt=""> 554 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
555 </div> 555 </div>
556 556
557 - <div class="item"> 557 + <div class="item" data-id="15">
558 <div class="new">АКЦИЯ</div> 558 <div class="new">АКЦИЯ</div>
559 <div class="top">Toп</div> 559 <div class="top">Toп</div>
560 <a href="#" class="item_link"><div class="pic"><img src="/images/items/01.jpg"></div> 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,7 +567,7 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
567 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt=""> 567 <img class="item_bottom_img" src="/images/nc_item_bottom.png" alt="">
568 </div> 568 </div>
569 569
570 - <div class="item"> 570 + <div class="item" data-id="14">
571 <div class="new">АКЦИЯ</div> 571 <div class="new">АКЦИЯ</div>
572 <div class="top">Toп</div> 572 <div class="top">Toп</div>
573 <a href="#" class="item_link"><div class="pic"><img src="/images/items/02.jpg"></div> 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 <?php 1 <?php
2 2
  3 +use yii\helpers\Html;
  4 +use yii\helpers\Url;
  5 +
3 $this->title = 'Moй кабинет'; 6 $this->title = 'Moй кабинет';
4 $this->params['breadcrumbs'][] = $this->title; 7 $this->params['breadcrumbs'][] = $this->title;
5 8
@@ -22,13 +25,13 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title; @@ -22,13 +25,13 @@ $this-&gt;params[&#39;breadcrumbs&#39;][] = $this-&gt;title;
22 </div> 25 </div>
23 26
24 <div class="block_03"> 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 </div> 31 </div>
29 32
30 <div class="block_04"> 33 <div class="block_04">
31 <div class="link"><span class="dotted"><a href="#">Редактировать личные данные</a></span></div> 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 </div> 36 </div>
34 </div> 37 </div>
frontend/views/site/index.php
@@ -169,7 +169,7 @@ $this-&gt;title = &#39;My Yii Application&#39;; @@ -169,7 +169,7 @@ $this-&gt;title = &#39;My Yii Application&#39;;
169 <div class="content"> 169 <div class="content">
170 <div class="title">Новинки</div> 170 <div class="title">Новинки</div>
171 <div class="novelty_cont"> 171 <div class="novelty_cont">
172 - <div class="item"> 172 + <div class="item" data-id="1">
173 <div class="new">Новинка</div> 173 <div class="new">Новинка</div>
174 <div class="top">Toп</div> 174 <div class="top">Toп</div>
175 <a href="#" class="item_link"><div class="pic"><img src="images/items/01.jpg"></div> 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,7 +180,7 @@ $this-&gt;title = &#39;My Yii Application&#39;;
180 <button class="basket_add_but">в корзину</button> 180 <button class="basket_add_but">в корзину</button>
181 <a href="#" class="compare_add_but"><span>добавить к сравнению</span></a> 181 <a href="#" class="compare_add_but"><span>добавить к сравнению</span></a>
182 </div> 182 </div>
183 - <div class="item"> 183 + <div class="item" data-id="12">
184 <div class="new">Новинка</div> 184 <div class="new">Новинка</div>
185 <a href="#" class="item_link"><div class="pic"><img src="images/items/02.jpg"></div> 185 <a href="#" class="item_link"><div class="pic"><img src="images/items/02.jpg"></div>
186 <div class="title_item">Ceresit CR 65 гидроизоляционная смесь, 25кг</div></a> 186 <div class="title_item">Ceresit CR 65 гидроизоляционная смесь, 25кг</div></a>
@@ -190,7 +190,7 @@ $this-&gt;title = &#39;My Yii Application&#39;; @@ -190,7 +190,7 @@ $this-&gt;title = &#39;My Yii Application&#39;;
190 <button class="basket_add_but">в корзину</button> 190 <button class="basket_add_but">в корзину</button>
191 <a href="#" class="compare_add_but"><span>добавить к сравнению</span></a> 191 <a href="#" class="compare_add_but"><span>добавить к сравнению</span></a>
192 </div> 192 </div>
193 - <div class="item"> 193 + <div class="item" data-id="13">
194 <div class="new">Новинка</div> 194 <div class="new">Новинка</div>
195 <div class="top">Toп</div> 195 <div class="top">Toп</div>
196 <a href="#" class="item_link"><div class="pic"><img src="images/items/03.jpg"></div> 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,7 +201,7 @@ $this-&gt;title = &#39;My Yii Application&#39;;
201 <button class="basket_add_but">в корзину</button> 201 <button class="basket_add_but">в корзину</button>
202 <a href="#" class="compare_add_but"><span>добавить к сравнению</span></a> 202 <a href="#" class="compare_add_but"><span>добавить к сравнению</span></a>
203 </div> 203 </div>
204 - <div class="item"> 204 + <div class="item" data-id="14">
205 <div class="new">Новинка</div> 205 <div class="new">Новинка</div>
206 <div class="top">Toп</div> 206 <div class="top">Toп</div>
207 <a href="#" class="item_link"><div class="pic"><img src="images/items/04.jpg"></div> 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,7 +27,7 @@
27 .line_up a{color:#dde1e8;text-decoration:none;} 27 .line_up a{color:#dde1e8;text-decoration:none;}
28 .line_up_in .left_lineup ul{ float:left;} 28 .line_up_in .left_lineup ul{ float:left;}
29 .line_up_in .right_lineup ul{ float:right;} 29 .line_up_in .right_lineup ul{ float:right;}
30 -.login_button_lu{ 30 +.login_button_lu, .user_button_lu{
31 padding-left:15px; 31 padding-left:15px;
32 background:url('../images/ico_user.png') center left no-repeat; 32 background:url('../images/ico_user.png') center left no-repeat;
33 cursor:pointer; 33 cursor:pointer;
@@ -37,10 +37,10 @@ @@ -37,10 +37,10 @@
37 background:url('../images/ico_note.png') center left no-repeat; 37 background:url('../images/ico_note.png') center left no-repeat;
38 cursor:pointer; 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 .line_up ul li:last-child{padding-right:0px;} 41 .line_up ul li:last-child{padding-right:0px;}
42 .line_up a:hover{color:#eef1f5;transition:0.2s;} 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,3 +1068,13 @@ input.error_pass{
1068 display:block; 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 \ No newline at end of file 1081 \ No newline at end of file
frontend/web/js/my_scripts.js
@@ -4,16 +4,16 @@ $(document).ready(function(){ @@ -4,16 +4,16 @@ $(document).ready(function(){
4 4
5 // price rangeslider (filter price slider) 5 // price rangeslider (filter price slider)
6 $("#example_id").ionRangeSlider({ 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 // ion checkradio init 15 // ion checkradio init
16 - $("input[type='radio'], input[type='checkbox']").ionCheckRadio(); 16 + $("input[type='radio'], input[type='checkbox']").ionCheckRadio();
17 17
18 // filter open li 18 // filter open li
19 var filter_list = $('.filter_list ul li .arrow'); 19 var filter_list = $('.filter_list ul li .arrow');
@@ -21,30 +21,30 @@ $(document).ready(function(){ @@ -21,30 +21,30 @@ $(document).ready(function(){
21 filter_list.on('click', function(){ 21 filter_list.on('click', function(){
22 $(this).next().slideToggle(300); 22 $(this).next().slideToggle(300);
23 var this_img = $(this).children('img'); 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 } else { 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 $('.form_checkbox_reset').click(function(e){ 31 $('.form_checkbox_reset').click(function(e){
32 e.preventDefault(); 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 function change_right(){ 39 function change_right(){
40 var main_div = $('.main_img_slide'), 40 var main_div = $('.main_img_slide'),
41 - 41 +
42 arrow_right = $('.slider_arrow_right'), 42 arrow_right = $('.slider_arrow_right'),
43 arrow_left = $('.slider_arrow_left'), 43 arrow_left = $('.slider_arrow_left'),
44 main_img = $('.main_img img'); 44 main_img = $('.main_img img');
45 45
46 46
47 - arrow_right.on('click', function(){ 47 + arrow_right.on('click', function(){
48 var next = $('.small_img_block.active').next(); 48 var next = $('.small_img_block.active').next();
49 var next_attr = next.children().attr('src'); 49 var next_attr = next.children().attr('src');
50 if (next.hasClass('small_img_block')) { 50 if (next.hasClass('small_img_block')) {
@@ -52,20 +52,20 @@ $(document).ready(function(){ @@ -52,20 +52,20 @@ $(document).ready(function(){
52 next.addClass('active'); 52 next.addClass('active');
53 main_img.attr('src', next_attr); 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 function change_left(){ 60 function change_left(){
61 var main_div = $('.main_img_slide'), 61 var main_div = $('.main_img_slide'),
62 - 62 +
63 arrow_right = $('.slider_arrow_right'), 63 arrow_right = $('.slider_arrow_right'),
64 arrow_left = $('.slider_arrow_left'), 64 arrow_left = $('.slider_arrow_left'),
65 main_img = $('.main_img img'); 65 main_img = $('.main_img img');
66 66
67 67
68 - arrow_left.on('click', function(){ 68 + arrow_left.on('click', function(){
69 var prev = $('.small_img_block.active').prev(); 69 var prev = $('.small_img_block.active').prev();
70 var prev_attr = prev.children().attr('src'); 70 var prev_attr = prev.children().attr('src');
71 if (prev.hasClass('small_img_block')) { 71 if (prev.hasClass('small_img_block')) {
@@ -73,7 +73,7 @@ $(document).ready(function(){ @@ -73,7 +73,7 @@ $(document).ready(function(){
73 prev.addClass('active'); 73 prev.addClass('active');
74 main_img.attr('src', prev_attr); 74 main_img.attr('src', prev_attr);
75 }; 75 };
76 - 76 +
77 }); 77 });
78 }; 78 };
79 var arrow_right = $('.slider_arrow_right'), 79 var arrow_right = $('.slider_arrow_right'),
@@ -85,17 +85,17 @@ $(document).ready(function(){ @@ -85,17 +85,17 @@ $(document).ready(function(){
85 // arrow left hover 85 // arrow left hover
86 arrow_left.hover( 86 arrow_left.hover(
87 function(){ 87 function(){
88 - $(this).attr('src', '/images/slider_left_hover.png'); 88 + $(this).attr('src', 'images/slider_left_hover.png');
89 }, function(){ 89 }, function(){
90 - $(this).attr('src', '/images/slider_left.png'); 90 + $(this).attr('src', 'images/slider_left.png');
91 }); 91 });
92 92
93 // arrow right hover 93 // arrow right hover
94 arrow_right.hover( 94 arrow_right.hover(
95 function(){ 95 function(){
96 - $(this).attr('src', '/images/slider_right_hover.png'); 96 + $(this).attr('src', 'images/slider_right_hover.png');
97 }, function(){ 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,7 +108,7 @@ $(document).ready(function(){
108 108
109 counter_plus_btn.click(function(){ 109 counter_plus_btn.click(function(){
110 var count = +counter_item_count.html(); 110 var count = +counter_item_count.html();
111 - count++; 111 + count++;
112 counter_item_count.text(count); 112 counter_item_count.text(count);
113 113
114 var become = 1*($('.counter').children('.price').html()); 114 var become = 1*($('.counter').children('.price').html());
@@ -120,40 +120,40 @@ $(document).ready(function(){ @@ -120,40 +120,40 @@ $(document).ready(function(){
120 var result = become - state_price; 120 var result = become - state_price;
121 if(become > 0) { 121 if(become > 0) {
122 open_card_item_price.text(result.toFixed(2)); 122 open_card_item_price.text(result.toFixed(2));
123 - var count = +counter_item_count.html(); 123 + var count = +counter_item_count.html();
124 count--; 124 count--;
125 - counter_item_count.text(count); 125 + counter_item_count.text(count);
126 } 126 }
127 }); 127 });
128 128
129 - // активный класс для корзины 129 + // активный класс для корзины
130 var basket_order_list = $('.order_list').find('.order_list_li'); 130 var basket_order_list = $('.order_list').find('.order_list_li');
131 /*basket_order_list.click(function(){ 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 var basket_all_items = $('.all_price').find('.all_count'), // количество товаров в корзине 138 var basket_all_items = $('.all_price').find('.all_count'), // количество товаров в корзине
139 basket_all_price = $('.all_price').find('.all_price'), // общая сумма за все товары 139 basket_all_price = $('.all_price').find('.all_price'), // общая сумма за все товары
140 basket_each_price = basket_order_list.children('.price'), // цена товара(ов) 140 basket_each_price = basket_order_list.children('.price'), // цена товара(ов)
141 basket_each_count = basket_order_list.children('.how_many'); // количество каждого товара 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 // modal widows 159 // modal widows
@@ -167,7 +167,7 @@ $(document).ready(function(){ @@ -167,7 +167,7 @@ $(document).ready(function(){
167 forgot_pass_wrap = $('.forgot_pass_modal_wrapper'), // окно забыли пароль 167 forgot_pass_wrap = $('.forgot_pass_modal_wrapper'), // окно забыли пароль
168 forgot_pass_success_wrap = $('.forgot_pass_success_wrapper'), // окошко успешно отправлен пароль 168 forgot_pass_success_wrap = $('.forgot_pass_success_wrapper'), // окошко успешно отправлен пароль
169 forgot_pass_success_open_btn = $('.forgot_pass_modal_wrapper').find('.my_cust_btn'); 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 log_open_btn = $('.login_button_lu'), // окно логина 171 log_open_btn = $('.login_button_lu'), // окно логина
172 reg_open_btn = $('.reg_button_lu'), // кнопка открыть 172 reg_open_btn = $('.reg_button_lu'), // кнопка открыть
173 modal_busket_open = $('.basket_add_but'), // открыть модалку корзины 173 modal_busket_open = $('.basket_add_but'), // открыть модалку корзины
@@ -182,7 +182,7 @@ $(document).ready(function(){ @@ -182,7 +182,7 @@ $(document).ready(function(){
182 callback_open_btn = $('.phone_me_head button'), 182 callback_open_btn = $('.phone_me_head button'),
183 busket_modal_wrapper = $('.busket_modal_wrapper'), 183 busket_modal_wrapper = $('.busket_modal_wrapper'),
184 main_wrap = $('.modal_wrapper'); 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 reg_wrap.css({'height': doc_h}); // высота заднего фона = высоте документа 188 reg_wrap.css({'height': doc_h}); // высота заднего фона = высоте документа
@@ -192,18 +192,18 @@ $(document).ready(function(){ @@ -192,18 +192,18 @@ $(document).ready(function(){
192 callback_wrap.css({'height': doc_h}); // высота заднего фона = высоте документа 192 callback_wrap.css({'height': doc_h}); // высота заднего фона = высоте документа
193 busket_modal_wrapper.css({'height' : doc_h}); // высота заднего фона = высоте документа 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 callback_open_btn.click(function(){ // открываем окно регистрации 208 callback_open_btn.click(function(){ // открываем окно регистрации
209 $(".error").removeClass("error"); 209 $(".error").removeClass("error");
@@ -213,7 +213,7 @@ $(document).ready(function(){ @@ -213,7 +213,7 @@ $(document).ready(function(){
213 } 213 }
214 else{ 214 else{
215 callback_wrap.fadeIn(200); 215 callback_wrap.fadeIn(200);
216 - $(".phone_me_head").find("input").val(''); 216 + $(".phone_me_head").find("input").val('');
217 } 217 }
218 }); 218 });
219 modal_busket_header_cont.click(function(){ // скрываем модальную корзину в хедере по ссылке 219 modal_busket_header_cont.click(function(){ // скрываем модальную корзину в хедере по ссылке
@@ -253,40 +253,40 @@ $(document).ready(function(){ @@ -253,40 +253,40 @@ $(document).ready(function(){
253 forgot_pass_wrap.fadeIn(50); 253 forgot_pass_wrap.fadeIn(50);
254 log_wrap.fadeOut(50); 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 forget_pass_again_btn.click(function(){ // еще раз отправить пароль 285 forget_pass_again_btn.click(function(){ // еще раз отправить пароль
286 forgot_pass_wrap.fadeIn(50); 286 forgot_pass_wrap.fadeIn(50);
287 forgot_pass_success_wrap.fadeOut(50); 287 forgot_pass_success_wrap.fadeOut(50);
288 }); 288 });
289 - close_btn.click(function(){ // закрываем любые 289 + close_btn.click(function(){ // закрываем любые
290 $(this).parent().find("input").val(''); 290 $(this).parent().find("input").val('');
291 $(".error").removeClass("error"); 291 $(".error").removeClass("error");
292 reg_wrap.fadeOut(200); 292 reg_wrap.fadeOut(200);
@@ -302,60 +302,60 @@ $(document).ready(function(){ @@ -302,60 +302,60 @@ $(document).ready(function(){
302 forgot_pass_success_wrap.fadeOut(200); 302 forgot_pass_success_wrap.fadeOut(200);
303 callback_wrap.fadeOut(200); 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 modal_windows(); 360 modal_windows();
361 361
@@ -363,26 +363,26 @@ $(document).ready(function(){ @@ -363,26 +363,26 @@ $(document).ready(function(){
363 // category open blocks 363 // category open blocks
364 function category_open_blocks() { 364 function category_open_blocks() {
365 var open_block_btn = $('.category_wrap').find('.arrow'); 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 category_open_blocks(); 377 category_open_blocks();
378 378
379 379
380 380
381 - 381 + //
382 //// VALIDATION FORM JS 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 //// registration form 386 //// registration form
387 //$('.reg_form').validate({ 387 //$('.reg_form').validate({
388 // rules: { 388 // rules: {
@@ -448,55 +448,55 @@ $(document).ready(function(){ @@ -448,55 +448,55 @@ $(document).ready(function(){
448 // // $('.foo_text').delay( 100 ).show(200); 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 // required: true 455 // required: true
456 // }, 456 // },
457 // login: { 457 // login: {
458 // required: true 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 // $('.forgot_pass_success_wrapper').fadeIn(200); 485 // $('.forgot_pass_success_wrapper').fadeIn(200);
486 // $('.forgot_pass_modal_wrapper').fadeOut(200); 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