diff --git a/common/models/Customers.php b/common/models/Customers.php index fdfc10f..1e15eb5 100644 --- a/common/models/Customers.php +++ b/common/models/Customers.php @@ -58,6 +58,22 @@ class Customers extends User } /** + * Finds user by email + * + * @param string $email + * @return static|null + */ + public static function findByEmail($email) + { + return static::findOne(['email' => $email, 'status' => self::STATUS_ACTIVE]); + } + + public function getName(){ + return $this->username. ' '.$this->surname; + } + + + /** * @inheritdoc */ public function attributeLabels() diff --git a/common/models/LoginForm.php b/common/models/LoginForm.php index afc1c23..11b4ec5 100644 --- a/common/models/LoginForm.php +++ b/common/models/LoginForm.php @@ -9,9 +9,9 @@ use yii\base\Model; */ class LoginForm extends Model { - public $username; public $password; public $rememberMe = true; + public $email; private $_user; @@ -23,7 +23,7 @@ class LoginForm extends Model { return [ // username and password are both required - [['username', 'password'], 'required'], + [['email', 'password'], 'required'], // rememberMe must be a boolean value ['rememberMe', 'boolean'], // password is validated by validatePassword() @@ -70,9 +70,19 @@ class LoginForm extends Model protected function getUser() { if ($this->_user === null) { - $this->_user = User::findByUsername($this->username); + $this->_user = Customers::findByEmail($this->email); } return $this->_user; } + + /** + * @inheritdoc + */ + public function attributeLabels() + { + return [ + 'rememberMe' => Yii::t('app', 'rememberMe'), + ]; + } } diff --git a/common/translation/ru/app.php b/common/translation/ru/app.php new file mode 100644 index 0000000..efcee4a --- /dev/null +++ b/common/translation/ru/app.php @@ -0,0 +1,25 @@ + 'ID', + 'username' => 'Имя', + 'surname' => 'Фамилия', + 'auth_key' => 'Auth Key', + 'password_hash' => 'Password Hash', + 'password_reset_token' => 'Password Reset Token', + 'email' => 'Логин (e-mail)', + 'phone' => 'Телефон', + 'status' => 'Status', + 'created_at' => 'Created At', + 'updated_at' => 'Updated At', + 'verifyCode' => 'Код проверки', + 'password' => 'Пароль', + 'password_repeat' => 'Повторить пароль', + 'registration' => 'Регистрация', + 'message' => 'Этот {field} уже занят', + 'message_match_password' => 'Пароли не совпадают', + 'exit' => 'Выход', + 'enter' => 'Войти', + 'your_personal_area' => 'Вход в личный кабинет', + 'forgot_password' => 'Забыли пароль?', + 'rememberMe' => 'Запомнить меня', +]; \ No newline at end of file diff --git a/console/migrations/m160320_174258_customer.php b/console/migrations/m160320_174258_customer.php index 58c0c4a..f0b22ca 100644 --- a/console/migrations/m160320_174258_customer.php +++ b/console/migrations/m160320_174258_customer.php @@ -14,7 +14,7 @@ class m160320_174258_customer extends Migration $this->createTable('{{%customers}}', [ 'id' => $this->primaryKey(), - 'username' => $this->string()->notNull()->unique(), + 'username' => $this->string()->notNull(), 'surname' => $this->string(), 'auth_key' => $this->string(32)->notNull(), 'password_hash' => $this->string()->notNull(), diff --git a/console/migrations/m160321_232402_orders.php b/console/migrations/m160321_232402_orders.php new file mode 100644 index 0000000..0cec26a --- /dev/null +++ b/console/migrations/m160321_232402_orders.php @@ -0,0 +1,34 @@ +db->driverName === 'mysql') { + // http://stackoverflow.com/questions/766809/whats-the-difference-between-utf8-general-ci-and-utf8-unicode-ci + $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB'; + } + + $this->createTable('{{%orders}}', [ + 'id' => $this->primaryKey(), + 'name' => $this->string()->notNull(), + 'email' => $this->string()->notNull(), + 'phone' => $this->string(32)->notNull(), + 'delivery' => $this->integer(), + 'payment' => $this->integer(), + 'code' => $this->string(), + 'status' => $this->smallInteger(), + 'created_at' => $this->integer()->notNull(), + 'updated_at' => $this->integer()->notNull(), + ], $tableOptions); + } + + public function down() + { + $this->dropTable('{{%orders}}'); + } + +} diff --git a/frontend/controllers/OrderController.php b/frontend/controllers/OrderController.php new file mode 100644 index 0000000..3c8a520 --- /dev/null +++ b/frontend/controllers/OrderController.php @@ -0,0 +1,190 @@ +request->post()) { + $item = $items_id = array(); + + $i = 0; + $order = Yii::$app->request->post(); + + $orderData['Order'] = $order['OrderForm']; + + foreach($order['OrderForm']['one_item'] as $k => $v ){ + $item[$k]['num'] = $v['num']; + $items_id[] = $k; + $i++; + } + + $items = Items::find()->where(['id'=>$items_id])->all(); + + + $orderModel = new Order(); + $orderModel->load($orderData); + $orderModel->save(); + + + foreach($items as $one_item){ + $ItemOrderModel = new ItemOrder(); + $ItemOrderModel->order_id = $orderModel->id; + $ItemOrderModel->num = $item[$one_item->id]['num']; + $ItemOrderModel->item_id = $one_item->id; + $ItemOrderModel->price = $one_item->price * $item[$one_item->id]['num']; + $ItemOrderModel->item_name = $one_item->name; + $ItemOrderModel->save(); + } + Yii::$app->session->set('order', [] ); + return $this->redirect(['order/complete']); + } + $total_price = 0; + + $items_id = []; + + $orders = Yii::$app->session->get('order'); + + if(!empty($orders)){ + foreach($orders as $k => $v) { + $items_id[] = $k; + } + } + + + $items = Items::find()->where(['id'=>$items_id])->all(); + + foreach($items as $item) { + $total_price += $orders[$item['id']]['num'] * $item['price']; + } + + + $dataProvider = new ArrayDataProvider([ + 'allModels' => $items + ]); + + return $this->render('index', [ + 'dataProvider' => $dataProvider, + 'total_price'=> $total_price, + 'model' => new OrderForm() + ]); + } + + + public function actionComplete() + { + return $this->render('complete', [ + ]); + } + + public function actionBuyItems(){ + $data = Yii::$app->request->post(); + $sessionData = Yii::$app->session->get('order'); + if(isset($sessionData) && !array_search($data['id'],Yii::$app->session->get('order')) ){ + $array = Yii::$app->session->get('order'); + $array[$data['id']] = $data; + Yii::$app->session->set('order', $array ); + } else { + $array[$data['id']] = $data; + Yii::$app->session->set('order', $array ); + } + echo count(Yii::$app->session->get('order')); + + } + /** + * Displays a single Order model. + * @param integer $id + * @return mixed + */ + public function actionView($id) + { + return $this->render('view', [ + 'model' => $this->findModel($id), + ]); + } + + /** + * Creates a new Order model. + * If creation is successful, the browser will be redirected to the 'view' page. + * @return mixed + */ + public function actionCreate() + { + $model = new Order(); + + if ($model->load(Yii::$app->request->post()) && $model->save()) { + return $this->redirect(['view', 'id' => $model->id]); + } else { + return $this->render('create', [ + 'model' => $model, + ]); + } + } + + /** + * Updates an existing Order model. + * If update is successful, the browser will be redirected to the 'view' page. + * @param integer $id + * @return mixed + */ + public function actionUpdate($id) + { + $model = $this->findModel($id); + + if ($model->load(Yii::$app->request->post()) && $model->save()) { + return $this->redirect(['view', 'id' => $model->id]); + } else { + return $this->render('update', [ + 'model' => $model, + ]); + } + } + + /** + * Deletes an existing Order model. + * If deletion is successful, the browser will be redirected to the 'index' page. + * @param integer $id + * @return mixed + */ + public function actionDelete() + { + $data = Yii::$app->request->post(); + $sessionData = Yii::$app->session->get('order'); + unset($sessionData[$data['id']]); + Yii::$app->session->set('order', $sessionData); + return count(Yii::$app->session->get('order')); + } + + /** + * Finds the Order model based on its primary key value. + * If the model is not found, a 404 HTTP exception will be thrown. + * @param integer $id + * @return Order the loaded model + * @throws NotFoundHttpException if the model cannot be found + */ + protected function findModel($id) + { + if (($model = Order::findOne($id)) !== null) { + return $model; + } else { + throw new NotFoundHttpException('The requested page does not exist.'); + } + } +} diff --git a/frontend/controllers/PuttyController.php b/frontend/controllers/PuttyController.php index f3adaef..5103c6e 100644 --- a/frontend/controllers/PuttyController.php +++ b/frontend/controllers/PuttyController.php @@ -35,9 +35,6 @@ class PuttyController extends Controller return $this->render('basket-step-02'); } - public function actionCabinet(){ - return $this->render('cabinet'); - } public function actionContacts(){ return $this->render('contacts'); diff --git a/frontend/controllers/SiteController.php b/frontend/controllers/SiteController.php index 1366251..edcedb2 100644 --- a/frontend/controllers/SiteController.php +++ b/frontend/controllers/SiteController.php @@ -12,12 +12,15 @@ use yii\web\BadRequestHttpException; use yii\web\Controller; use yii\filters\VerbFilter; use yii\filters\AccessControl; +use yii\web\Response; +use yii\widgets\ActiveForm; /** * Site controller */ class SiteController extends Controller { + /** * @inheritdoc */ @@ -52,6 +55,18 @@ class SiteController extends Controller /** * @inheritdoc */ + public function beforeAction($action) + { + if ($action->id == 'signup') { + Yii::$app->controller->enableCsrfValidation = false; + } + + return true; + } + + /** + * @inheritdoc + */ public function actions() { return [ @@ -149,15 +164,23 @@ class SiteController extends Controller */ public function actionSignup() { - $model = new SignupForm(); - if ($model->load(Yii::$app->request->post())) { - if ($user = $model->signup()) { - if (Yii::$app->getUser()->login($user)) { - return $this->goHome(); - } - } - } + if(Yii::$app->request->post()){ + if (Yii::$app->request->isAjax) { + Yii::$app->response->format = Response::FORMAT_JSON; + $model = new SignupForm(['scenario' => SignupForm::SCENARIO_AJAX]); + $model->load(Yii::$app->request->post()); + return ActiveForm::validate($model); + } else { + $model = new SignupForm(['scenario' => SignupForm::SCENARIO_SUBMIT]); + $model->load(Yii::$app->request->post()); + if ($user = $model->signup()) { + if (Yii::$app->getUser()->login($user)) { + return $this->goHome(); + } + } + } + } return $this->render('signup', [ 'model' => $model, ]); @@ -211,4 +234,9 @@ class SiteController extends Controller 'model' => $model, ]); } + + + public function actionCabinet(){ + return $this->render('cabinet'); + } } diff --git a/frontend/models/SignupForm.php b/frontend/models/SignupForm.php index 9a781d4..dca4b88 100644 --- a/frontend/models/SignupForm.php +++ b/frontend/models/SignupForm.php @@ -18,6 +18,8 @@ class SignupForm extends Model public $surname; public $phone; + const SCENARIO_AJAX = 'ajax'; + const SCENARIO_SUBMIT = 'submit'; /** * @inheritdoc @@ -33,16 +35,38 @@ class SignupForm extends Model ['email', 'required'], ['email', 'email'], [['email','phone'], 'string', 'max' => 255], - ['email', 'unique', 'targetClass' => '\common\models\Customers', 'message' => 'This email address has already been taken.'], + ['email', 'unique', 'targetClass' => '\common\models\Customers', 'message' => Yii::t('app','message',[ + 'field' => 'Email' + ])], + [['phone'], 'unique', 'targetClass' => '\common\models\Customers', 'message' => Yii::t('app','message',[ + 'field' => 'Телефон' + ])], ['password_repeat', 'required'], - ['password_repeat', 'compare', 'compareAttribute'=>'password', 'message'=>"Passwords don't match" ], + ['password_repeat', 'compare', 'compareAttribute'=>'password', 'message'=> Yii::t('app', 'message_match_password') ], ['password', 'required'], ['password', 'string', 'min' => 6], - ['verifyCode', 'captcha'], + [ + 'verifyCode', + 'safe', + 'on'=>[SignupForm::SCENARIO_AJAX] + ], + [ + 'verifyCode', + 'captcha', + 'on'=>[SignupForm::SCENARIO_SUBMIT] + ], + [ + 'verifyCode', + 'captcha', + 'on'=>[SignupForm::SCENARIO_DEFAULT] + ], + + + ]; } @@ -65,17 +89,18 @@ class SignupForm extends Model public function signup() { - if (!$this->validate()) { return null; } $user = new Customers(); $user->username = $this->username; + $user->surname = $this->surname; $user->email = $this->email; $user->phone = $this->phone; $user->setPassword($this->password); $user->generateAuthKey(); + $user->validate(); return $user->save() ? $user : null; } } diff --git a/frontend/views/layouts/main.php b/frontend/views/layouts/main.php index 325055f..fffbc77 100644 --- a/frontend/views/layouts/main.php +++ b/frontend/views/layouts/main.php @@ -5,6 +5,8 @@ use frontend\assets\AppAsset; +use yii\helpers\Html; +use yii\helpers\Url; AppAsset::register($this); @@ -35,15 +37,20 @@ AppAsset::register($this);
- + '0']), ['/'],['class'=>'head_up_cell bau_logo'])?>
Введите запрос Шифер Рубероид
diff --git a/frontend/views/modal/login_window_model_window.php b/frontend/views/modal/login_window_model_window.php index 21d8723..02ed6a0 100644 --- a/frontend/views/modal/login_window_model_window.php +++ b/frontend/views/modal/login_window_model_window.php @@ -1,18 +1,52 @@ +title = 'Login'; +$this->params['breadcrumbs'][] = $this->title; +?> \ No newline at end of file diff --git a/frontend/views/modal/registration_window_model_window.php b/frontend/views/modal/registration_window_model_window.php index bd5cc60..160f165 100644 --- a/frontend/views/modal/registration_window_model_window.php +++ b/frontend/views/modal/registration_window_model_window.php @@ -11,62 +11,50 @@ use yii\widgets\ActiveForm;
\ No newline at end of file diff --git a/frontend/views/putty/cabinet.php b/frontend/views/putty/cabinet.php deleted file mode 100644 index c608009..0000000 --- a/frontend/views/putty/cabinet.php +++ /dev/null @@ -1,34 +0,0 @@ -title = 'Moй кабинет'; -$this->params['breadcrumbs'][] = $this->title; - -?> - - -

Личные данные

- -
-
-
Личные данные
-
Мои заказы
-
Закладки
-
- -
-
Имя
-
e-mail
-
Телефон
-
- -
-
artweb test
-
dimitrosh@mail.ru
-
(123) 456-7899
-
- - -
diff --git a/frontend/views/putty/catalog.php b/frontend/views/putty/catalog.php index cae7138..1341581 100644 --- a/frontend/views/putty/catalog.php +++ b/frontend/views/putty/catalog.php @@ -386,7 +386,7 @@ $this->params['breadcrumbs'][] = $this->title;
-
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+
АКЦИЯ
Toп
diff --git a/frontend/views/site/cabinet.php b/frontend/views/site/cabinet.php new file mode 100644 index 0000000..6de8b05 --- /dev/null +++ b/frontend/views/site/cabinet.php @@ -0,0 +1,37 @@ +title = 'Moй кабинет'; +$this->params['breadcrumbs'][] = $this->title; + +?> + + +

Личные данные

+ +
diff --git a/frontend/views/site/index.php b/frontend/views/site/index.php index 29e3899..84311a6 100644 --- a/frontend/views/site/index.php +++ b/frontend/views/site/index.php @@ -169,7 +169,7 @@ $this->title = 'My Yii Application';
Новинки
-
+ -
+
Новинка
Ceresit CR 65 гидроизоляционная смесь, 25кг
@@ -190,7 +190,7 @@ $this->title = 'My Yii Application'; добавить к сравнению
-
+ -
+
Новинка
Toп
diff --git a/frontend/web/css/style.css b/frontend/web/css/style.css index 81a4a9b..731499f 100644 --- a/frontend/web/css/style.css +++ b/frontend/web/css/style.css @@ -27,7 +27,7 @@ .line_up a{color:#dde1e8;text-decoration:none;} .line_up_in .left_lineup ul{ float:left;} .line_up_in .right_lineup ul{ float:right;} -.login_button_lu{ +.login_button_lu, .user_button_lu{ padding-left:15px; background:url('../images/ico_user.png') center left no-repeat; cursor:pointer; @@ -37,10 +37,10 @@ background:url('../images/ico_note.png') center left no-repeat; cursor:pointer; } -.login_button_lu a, .reg_button_lu a{border-bottom:1px dotted #dde1e8;} +.login_button_lu a, .reg_button_lu a, .user_button_lu a{border-bottom:1px dotted #dde1e8;} .line_up ul li:last-child{padding-right:0px;} .line_up a:hover{color:#eef1f5;transition:0.2s;} -.login_button_lu a:hover, .reg_button_lu a:hover{border-bottom:1px dotted #eef1f5;} +.login_button_lu a:hover, .reg_button_lu a:hover, .user_button_lu a:hover{border-bottom:1px dotted #eef1f5;} /* */ @@ -1068,3 +1068,13 @@ input.error_pass{ display:block; } +#loginform-rememberme{ + display: none; +} +.field-loginform-rememberme{ + display: inline; + color: #6aa034; +} +.field-loginform-rememberme label:hover{ + color: #517a27; +} \ No newline at end of file diff --git a/frontend/web/js/my_scripts.js b/frontend/web/js/my_scripts.js index 005c775..4e8469c 100644 --- a/frontend/web/js/my_scripts.js +++ b/frontend/web/js/my_scripts.js @@ -4,16 +4,16 @@ $(document).ready(function(){ // price rangeslider (filter price slider) $("#example_id").ionRangeSlider({ - type: "double", - min: 0, - max: 500, - from: 50, - to: 450, - grid: false + type: "double", + min: 0, + max: 500, + from: 50, + to: 450, + grid: false }); // ion checkradio init - $("input[type='radio'], input[type='checkbox']").ionCheckRadio(); + $("input[type='radio'], input[type='checkbox']").ionCheckRadio(); // filter open li var filter_list = $('.filter_list ul li .arrow'); @@ -21,30 +21,30 @@ $(document).ready(function(){ filter_list.on('click', function(){ $(this).next().slideToggle(300); var this_img = $(this).children('img'); - if (this_img.attr('src') === "/images/head_down.png" ) { - this_img.attr('src', '/images/head_up.png'); + if (this_img.attr('src') === "images/head_down.png" ) { + this_img.attr('src', 'images/head_up.png'); } else { - this_img.attr('src', '/images/head_down.png'); + this_img.attr('src', 'images/head_down.png'); }; }); $('.form_checkbox_reset').click(function(e){ e.preventDefault(); - $('.price_filter input[type="checkbox"]').prop('checked', false); - $('.price_filter label').removeClass('checked'); - }); + $('.price_filter input[type="checkbox"]').prop('checked', false); + $('.price_filter label').removeClass('checked'); + }); - // CHANGE ACTIVE CLASS + // CHANGE ACTIVE CLASS function change_right(){ var main_div = $('.main_img_slide'), - + arrow_right = $('.slider_arrow_right'), arrow_left = $('.slider_arrow_left'), main_img = $('.main_img img'); - arrow_right.on('click', function(){ + arrow_right.on('click', function(){ var next = $('.small_img_block.active').next(); var next_attr = next.children().attr('src'); if (next.hasClass('small_img_block')) { @@ -52,20 +52,20 @@ $(document).ready(function(){ next.addClass('active'); main_img.attr('src', next_attr); }; - + }); } - // CHANGE ACTIVE CLASS + // CHANGE ACTIVE CLASS function change_left(){ var main_div = $('.main_img_slide'), - + arrow_right = $('.slider_arrow_right'), arrow_left = $('.slider_arrow_left'), main_img = $('.main_img img'); - arrow_left.on('click', function(){ + arrow_left.on('click', function(){ var prev = $('.small_img_block.active').prev(); var prev_attr = prev.children().attr('src'); if (prev.hasClass('small_img_block')) { @@ -73,7 +73,7 @@ $(document).ready(function(){ prev.addClass('active'); main_img.attr('src', prev_attr); }; - + }); }; var arrow_right = $('.slider_arrow_right'), @@ -85,17 +85,17 @@ $(document).ready(function(){ // arrow left hover arrow_left.hover( function(){ - $(this).attr('src', '/images/slider_left_hover.png'); + $(this).attr('src', 'images/slider_left_hover.png'); }, function(){ - $(this).attr('src', '/images/slider_left.png'); + $(this).attr('src', 'images/slider_left.png'); }); // arrow right hover arrow_right.hover( function(){ - $(this).attr('src', '/images/slider_right_hover.png'); + $(this).attr('src', 'images/slider_right_hover.png'); }, function(){ - $(this).attr('src', '/images/slider_right.png'); + $(this).attr('src', 'images/slider_right.png'); }); // добавить в корзину - счетчик + - товар @@ -108,7 +108,7 @@ $(document).ready(function(){ counter_plus_btn.click(function(){ var count = +counter_item_count.html(); - count++; + count++; counter_item_count.text(count); var become = 1*($('.counter').children('.price').html()); @@ -120,40 +120,40 @@ $(document).ready(function(){ var result = become - state_price; if(become > 0) { open_card_item_price.text(result.toFixed(2)); - var count = +counter_item_count.html(); + var count = +counter_item_count.html(); count--; - counter_item_count.text(count); + counter_item_count.text(count); } }); - // активный класс для корзины + // активный класс для корзины var basket_order_list = $('.order_list').find('.order_list_li'); /*basket_order_list.click(function(){ - basket_order_list.removeClass('active'); - $(this).addClass('active'); - // console.log('hello'); - });*/ + basket_order_list.removeClass('active'); + $(this).addClass('active'); + // console.log('hello'); + });*/ // оформить заказ сумма всех товаров в корзине var basket_all_items = $('.all_price').find('.all_count'), // количество товаров в корзине basket_all_price = $('.all_price').find('.all_price'), // общая сумма за все товары basket_each_price = basket_order_list.children('.price'), // цена товара(ов) basket_each_count = basket_order_list.children('.how_many'); // количество каждого товара - // console.log(basket_each_price); - - function basket_all_prices() { - var all_count = 0; - var all_price = 0; - for (var i = basket_each_count.length - 1; i >= 0; i--) { - var temp = basket_each_count[i].innerHTML; - var temp_price = basket_each_price[i].innerHTML; - all_count += parseInt(temp); - all_price += parseFloat(temp_price); - }; - basket_all_items.text(all_count); - basket_all_price.text(all_price.toFixed(2)); - } - basket_all_prices(); + // console.log(basket_each_price); + + function basket_all_prices() { + var all_count = 0; + var all_price = 0; + for (var i = basket_each_count.length - 1; i >= 0; i--) { + var temp = basket_each_count[i].innerHTML; + var temp_price = basket_each_price[i].innerHTML; + all_count += parseInt(temp); + all_price += parseFloat(temp_price); + }; + basket_all_items.text(all_count); + basket_all_price.text(all_price.toFixed(2)); + } + basket_all_prices(); // modal widows @@ -167,7 +167,7 @@ $(document).ready(function(){ forgot_pass_wrap = $('.forgot_pass_modal_wrapper'), // окно забыли пароль forgot_pass_success_wrap = $('.forgot_pass_success_wrapper'), // окошко успешно отправлен пароль forgot_pass_success_open_btn = $('.forgot_pass_modal_wrapper').find('.my_cust_btn'); - forget_pass_again_btn = $('.forgot_pass_success_wrapper').find('.my_cust_btn'), + forget_pass_again_btn = $('.forgot_pass_success_wrapper').find('.my_cust_btn'), log_open_btn = $('.login_button_lu'), // окно логина reg_open_btn = $('.reg_button_lu'), // кнопка открыть modal_busket_open = $('.basket_add_but'), // открыть модалку корзины @@ -182,7 +182,7 @@ $(document).ready(function(){ callback_open_btn = $('.phone_me_head button'), busket_modal_wrapper = $('.busket_modal_wrapper'), main_wrap = $('.modal_wrapper'); - reg_wrap_btn = $('.modal_wrapper_reg').find('button'); + reg_wrap_btn = $('.modal_wrapper_reg').find('button'); reg_wrap.css({'height': doc_h}); // высота заднего фона = высоте документа @@ -192,18 +192,18 @@ $(document).ready(function(){ callback_wrap.css({'height': doc_h}); // высота заднего фона = высоте документа busket_modal_wrapper.css({'height' : doc_h}); // высота заднего фона = высоте документа - // - // - // $('body').keydown(function(event){ - // if (event.which == 27) { - // $(this).parent().find("input").val(''); - // reg_wrap.fadeOut(200); - // log_wrap.fadeOut(200); - // forgot_pass_wrap.fadeOut(200); - // forgot_pass_success_wrap.fadeOut(200); - // callback_wrap.fadeOut(200); - // }; - //}); + + + $('body').keydown(function(event){ + if (event.which == 27) { + $(this).parent().find("input").val(''); + reg_wrap.fadeOut(200); + log_wrap.fadeOut(200); + forgot_pass_wrap.fadeOut(200); + forgot_pass_success_wrap.fadeOut(200); + callback_wrap.fadeOut(200); + }; + }); callback_open_btn.click(function(){ // открываем окно регистрации $(".error").removeClass("error"); @@ -213,7 +213,7 @@ $(document).ready(function(){ } else{ callback_wrap.fadeIn(200); - $(".phone_me_head").find("input").val(''); + $(".phone_me_head").find("input").val(''); } }); modal_busket_header_cont.click(function(){ // скрываем модальную корзину в хедере по ссылке @@ -253,40 +253,40 @@ $(document).ready(function(){ forgot_pass_wrap.fadeIn(50); log_wrap.fadeOut(50); }); - //forgot_pass_success_open_btn.click(function(){ // сообщение об успешной отправке пароля на почту - // $(".error").removeClass("error"); - // if($(".forgot_pass_modal_wrapper").find("input").val().length == 0){ //проверка ввода поля - // $(".forgot_pass_modal_wrapper").find("input").addClass("error"); - // } - // else{ - // - // var email = $(".forgot_pass_modal_wrapper").find("input").val(); - // - //function isValidEmailAddress(emailAddress) { - //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); - //return pattern.test(emailAddress); - //} - // if(isValidEmailAddress(email)) - // { - // $(".forgot_pass_modal_wrapper").find("input").removeClass("error"); - // forgot_pass_success_wrap.fadeIn(200); - // forgot_pass_wrap.fadeOut(200); - // } else { - // $(".forgot_pass_modal_wrapper").find("input").addClass("error"); - // } - // - // - // /*// if ($('#forgot_pass_form')[0].checkValidity()) { - // forgot_pass_success_wrap.fadeIn(200); - // forgot_pass_wrap.fadeOut(200); - // // }; */ - // } - //}); + forgot_pass_success_open_btn.click(function(){ // сообщение об успешной отправке пароля на почту + $(".error").removeClass("error"); + if($(".forgot_pass_modal_wrapper").find("input").val().length == 0){ //проверка ввода поля + $(".forgot_pass_modal_wrapper").find("input").addClass("error"); + } + else{ + + var email = $(".forgot_pass_modal_wrapper").find("input").val(); + + function isValidEmailAddress(emailAddress) { + 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); + return pattern.test(emailAddress); + } + if(isValidEmailAddress(email)) + { + $(".forgot_pass_modal_wrapper").find("input").removeClass("error"); + forgot_pass_success_wrap.fadeIn(200); + forgot_pass_wrap.fadeOut(200); + } else { + $(".forgot_pass_modal_wrapper").find("input").addClass("error"); + } + + + /*// if ($('#forgot_pass_form')[0].checkValidity()) { + forgot_pass_success_wrap.fadeIn(200); + forgot_pass_wrap.fadeOut(200); + // }; */ + } + }); forget_pass_again_btn.click(function(){ // еще раз отправить пароль forgot_pass_wrap.fadeIn(50); forgot_pass_success_wrap.fadeOut(50); }); - close_btn.click(function(){ // закрываем любые + close_btn.click(function(){ // закрываем любые $(this).parent().find("input").val(''); $(".error").removeClass("error"); reg_wrap.fadeOut(200); @@ -302,60 +302,60 @@ $(document).ready(function(){ forgot_pass_success_wrap.fadeOut(200); callback_wrap.fadeOut(200); }); - - //reg_wrap_btn.click(function(){ - // /*$(".modal_wrapper_reg").find(".modal_window:label").each(function (i) { - // if (this.find("input").val().length == 0) { - // this.find("input").addClass("error"); - // alert('fdfdf'); - // } else { - // this.find("input").removeClass("error"); - // } - // });*/ - // var email_reg = $("#email_reg").val(); - // var pass_reg = $("#pass_reg").val(); - // var pass_reg_rep = $("#pass_reg_rep").val(); - // $(this).parent().parent().find("label").each(function(nf, form) - // { - // if($(this).find("input").val().length == 0){ - // $(this).find("input").addClass("error"); - // if(pass_reg !== pass_reg_rep){ - // $("#pass_reg").addClass("error_pass"); - // $("#pass_reg_rep").addClass("error_pass"); - // } - // else{ - // $("#pass_reg").removeClass("error_pass"); - // $("#pass_reg_rep").removeClass("error_pass"); - // } - // } - // else{ - // - // function isValidEmailAddress(emailAddress) { - // 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); - // return pattern.test(emailAddress); - // } - // - // if(isValidEmailAddress(email_reg)) - // { - // $("#email_reg").removeClass("error"); - // $(this).find("input").removeClass("error"); - // } else { - // $(this).find("input").removeClass("error"); - // $("#email_reg").addClass("error"); - // } - // - // if(pass_reg !== pass_reg_rep){ - // $("#pass_reg").addClass("error_pass"); - // $("#pass_reg_rep").addClass("error_pass"); - // } - // else{ - // $("#pass_reg").removeClass("error_pass"); - // $("#pass_reg_rep").removeClass("error_pass"); - // } - // - // } - // }); - //}); + + reg_wrap_btn.click(function(){ + /*$(".modal_wrapper_reg").find(".modal_window:label").each(function (i) { + if (this.find("input").val().length == 0) { + this.find("input").addClass("error"); + alert('fdfdf'); + } else { + this.find("input").removeClass("error"); + } + });*/ + var email_reg = $("#email_reg").val(); + var pass_reg = $("#pass_reg").val(); + var pass_reg_rep = $("#pass_reg_rep").val(); + $(this).parent().parent().find("label").each(function(nf, form) + { + if($(this).find("input").val().length == 0){ + $(this).find("input").addClass("error"); + if(pass_reg !== pass_reg_rep){ + $("#pass_reg").addClass("error_pass"); + $("#pass_reg_rep").addClass("error_pass"); + } + else{ + $("#pass_reg").removeClass("error_pass"); + $("#pass_reg_rep").removeClass("error_pass"); + } + } + else{ + + function isValidEmailAddress(emailAddress) { + 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); + return pattern.test(emailAddress); + } + + if(isValidEmailAddress(email_reg)) + { + $("#email_reg").removeClass("error"); + $(this).find("input").removeClass("error"); + } else { + $(this).find("input").removeClass("error"); + $("#email_reg").addClass("error"); + } + + if(pass_reg !== pass_reg_rep){ + $("#pass_reg").addClass("error_pass"); + $("#pass_reg_rep").addClass("error_pass"); + } + else{ + $("#pass_reg").removeClass("error_pass"); + $("#pass_reg_rep").removeClass("error_pass"); + } + + } + }); + }); } modal_windows(); @@ -363,26 +363,26 @@ $(document).ready(function(){ // category open blocks function category_open_blocks() { var open_block_btn = $('.category_wrap').find('.arrow'); - open_block_btn.click(function(){ - var block = $(this).parent('.cat_li_cont').next(); - block.slideToggle(200); - - if($(this).css('background-position')==='0px 0px') { - $(this).css('background-position','0px -15px'); - }else{ - $(this).css('background-position','0px 0px'); - }; - }); + open_block_btn.click(function(){ + var block = $(this).parent('.cat_li_cont').next(); + block.slideToggle(200); + + if($(this).css('background-position')==='0px 0px') { + $(this).css('background-position','0px -15px'); + }else{ + $(this).css('background-position','0px 0px'); + }; + }); } category_open_blocks(); - + // //// VALIDATION FORM JS - //$.validator.addMethod("equals_code", function(value, element, string) { - // return value === string; - //}, $.validator.format("вы ввели не правильные буквы с картинки")); + //$.validator.addMethod("equals_code", function(value, element, string) { + // return value === string; + //}, $.validator.format("вы ввели не правильные буквы с картинки")); //// registration form //$('.reg_form').validate({ // rules: { @@ -448,55 +448,55 @@ $(document).ready(function(){ // // $('.foo_text').delay( 100 ).show(200); // // } //}); - //// login form - //$('.log_form').validate({ - // rules: { - // password: { + //// login form + //$('.log_form').validate({ + // rules: { + // password: { // required: true // }, // login: { // required: true // } - // }, - // messages: { - // password: { - // required: 'введите ваш пароль' - // }, - // login: { - // required: 'введите ваш логин' - // } - // } - //}); - //// forget password form - //$('.forgot_password_form').validate({ - // rules: { - // email: { - // required: true, - // email: true - // } - // }, - // messages: { - // email: { - // required: 'введите ваш логин...', - // email: 'введите правильный адресс (example@mail.com)' - // } - // }, - // submitHandler: function () { + // }, + // messages: { + // password: { + // required: 'введите ваш пароль' + // }, + // login: { + // required: 'введите ваш логин' + // } + // } + //}); + //// forget password form + //$('.forgot_password_form').validate({ + // rules: { + // email: { + // required: true, + // email: true + // } + // }, + // messages: { + // email: { + // required: 'введите ваш логин...', + // email: 'введите правильный адресс (example@mail.com)' + // } + // }, + // submitHandler: function () { // $('.forgot_pass_success_wrapper').fadeIn(200); // $('.forgot_pass_modal_wrapper').fadeOut(200); // } - //}); + //}); - //=============================================== BUSKET MODAL WINDOW FUNCTIONS - function all_modal_moves(){ - // BUSKET MODAL WINDOW ITEM DELETE - var delete_item_btn = $('.delete_item_btn').click(function(){ - $(this).closest('li').remove(); - }); - } - all_modal_moves(); + //=============================================== BUSKET MODAL WINDOW FUNCTIONS + function all_modal_moves(){ + // BUSKET MODAL WINDOW ITEM DELETE + var delete_item_btn = $('.delete_item_btn').click(function(){ + $(this).closest('li').remove(); + }); + } + all_modal_moves(); -- libgit2 0.21.4