Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

SVT

Новичок
  
  • Публикаций

    40
  • Зарегистрирован

  • Посещение

Все публикации пользователя SVT

  1. SVT

    Создание модуля

    не то, чтобы хотелось. =
  2. SVT

    Версия ocStore 1.5.4.1?

    Это решается достаточно просто. Чтобы узнать изменения в файлах, можно воспользоваться утилитами наподобии diff между релизной версией магазина и вашей измененной.
  3. на примере регистрации убираем первое поле с именем: идем в catalog/view/theme/default/template/account/register.tpl находим и срезаем кусок: <tr> <td><span class="required">*</span> <?php echo $entry_firstname; ?></td> <td><input type="text" name="firstname" value="<?php echo $firstname; ?>" /> <?php if ($error_firstname) { ?> <span class="error"><?php echo $error_firstname; ?></span> <?php } ?></td> </tr> Теперь необходимо убрать проверку в контроллере:catalog/controller/account/register.php if ((utf8_strlen($this->request->post['firstname']) < 1) || (utf8_strlen($this->request->post['firstname']) > 32)) { $this->error['firstname'] = $this->language->get('error_firstname'); }
  4. SVT

    Создание модуля

    cпасибо, добавил в избранное
  5. через панель заходим в базу и делаем скл запрос:select `product_id` from `kz_product_description` where `description`='' kz_ меняете на свой префикс. его легко узнать - с него будут начинаться все таблицы. вы получите список ID, далее в админке по наличию ID продукта смотрим нужные товары. я бы наверное делал так. Будучи авторизированным в админке по ид товара обращаться проще так: http://ваш_сайт/admi...b1f7cf60d9ad12b 42 в данном случае найденный ид с пустым описанием, token=3399a5e77c275cbf2b1f7cf60d9ad12b у вас будет свой, вы при авторизации в админке увидете данную строку, ее также подставляйте в запрос
  6. Есть где-нибудь в сети описание про пошаговое создание модуля? API не так интересует, как например: Как брать опции из админки? Как вносить опции в базу при установке модуля? Вообще интересует весь этот процесс по работе админки и бд.
  7. SVT

    Помогите по мини банерам.

    Ссылку на сайт скинте, не понятно.
  8. 1. у вас там какой то мегастранный баг. адрес http://izhmobile.ru/...id=176&zone_id= должен выдавать список...селект не работает потому, что вам отдает "ничего". Зоны и страны в админке правили? Либо код при правках задели, который должен зоны возвращать
  9. существует дубль модуля Информация, которую можно затолкать вверх. В своем случае я просто снизу вверх перенес код да подправил стили.>Как ею управлять? править шаблон. catalog/view/theme/default/template/common/header.tpl >Можно ли создавать свои статьи? Можно. Используя модуль Информация и его форки
  10. решаема, если...написатьнайти и поставить модуль, который позволяет выполнять SQL запросы из админки. хотя, если у вас есть права чтобы закинуть модуль - наверняка есть права и чтобы установить пхпмайадмин на хост.в стандартной комплектухе по описанию я чот сомневаюсь что можно, не видел
  11. у каждого практически модуля есть свой контроллер. вызывайте где нужно то, что вы вызывали для карточки в тех контроллерах. и точно также правьте шаблоны модулей. как бы просто копируете код :)в помощь.
  12. это делалось под версию 1.5.3.1 под другие не смотрел дажедля решения проблемы дайте пожалуйста файлы с ошибками: php error если он ведется. и от магазина error.txt который настраивается через админку. лежит в system/logs/
  13. SVT

    Сообщение о поступлении

    спасибо. под свою, 1.5.3.1 сам подгоню..
  14. Ищу модуль. Допустим есть товар, он кончается на складе. Пользователь не может купить товар, количество которого равно 0, но может попросить, чтобы его уведомили. Загвоздка - как уведомить на email пользователя, когда товар вновь станет больше 0? Пока есть идеи на небольшой патч, но хотелось бы готовое решение найти.
  15. SVT

    Категории

    Вообще возможно. :) больше тянет на платную доработку. либо можете сами поковырять getProducts() в catalog/model/catalog/product.php
  16. у меня прислало :) там косяк в одной шпуньке был на 6й строкеorder.php.tar.gz
  17. щас демо двиг разверну, потестю.
  18. вся ф-я: <?php public function confirm($order_id, $order_status_id, $comment = '', $notify = false) { $order_info = $this->getOrder($order_id); if ($order_info && !$order_info['order_status_id']) { // Fraud Detection if ($this->config->get('config_fraud_detection')) { $this->load->model('checkout/fraud'); $risk_score = $this->model_checkout_fraud->getFraudScore($order_info); if ($risk_score > $this->config->get('config_fraud_score')) { $order_status_id = $this->config->get('config_fraud_status_id'); } } // Blacklist $status = false; $this->load->model('account/customer'); if ($order_info['customer_id']) { $results = $this->model_account_customer->getIps($order_info['customer_id']); foreach ($results as $result) { if ($this->model_account_customer->isBlacklisted($result['ip'])) { $status = true; break; } } } else { $status = $this->model_account_customer->isBlacklisted($order_info['ip']); } if ($status) { $order_status_id = $this->config->get('config_order_status_id'); } $this->db->query("UPDATE `" . DB_PREFIX . "order` SET order_status_id = '" . (int)$order_status_id . "', date_modified = NOW() WHERE order_id = '" . (int)$order_id . "'"); $this->db->query("INSERT INTO " . DB_PREFIX . "order_history SET order_id = '" . (int)$order_id . "', order_status_id = '" . (int)$order_status_id . "', notify = '1', comment = '" . $this->db->escape(($comment && $notify) ? $comment : '') . "', date_added = NOW()"); $order_product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'"); foreach ($order_product_query->rows as $order_product) { $this->db->query("UPDATE " . DB_PREFIX . "product SET quantity = (quantity - " . (int)$order_product['quantity'] . ") WHERE product_id = '" . (int)$order_product['product_id'] . "' AND subtract = '1'"); $order_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$order_product['order_product_id'] . "'"); foreach ($order_option_query->rows as $option) { $this->db->query("UPDATE " . DB_PREFIX . "product_option_value SET quantity = (quantity - " . (int)$order_product['quantity'] . ") WHERE product_option_value_id = '" . (int)$option['product_option_value_id'] . "' AND subtract = '1'"); } } $this->cache->delete('product'); // Downloads $order_download_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_download WHERE order_id = '" . (int)$order_id . "'"); // Gift Voucher $this->load->model('checkout/voucher'); $order_voucher_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_voucher WHERE order_id = '" . (int)$order_id . "'"); foreach ($order_voucher_query->rows as $order_voucher) { $voucher_id = $this->model_checkout_voucher->addVoucher($order_id, $order_voucher); $this->db->query("UPDATE " . DB_PREFIX . "order_voucher SET voucher_id = '" . (int)$voucher_id . "' WHERE order_voucher_id = '" . (int)$order_voucher['order_voucher_id'] . "'"); } // Send out any gift voucher mails if ($this->config->get('config_complete_status_id') == $order_status_id) { $this->model_checkout_voucher->confirm($order_id); } // Order Totals $order_total_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "order_total` WHERE order_id = '" . (int)$order_id . "' ORDER BY sort_order ASC"); foreach ($order_total_query->rows as $order_total) { $this->load->model('total/' . $order_total['code']); if (method_exists($this->{'model_total_' . $order_total['code']}, 'confirm')) { $this->{'model_total_' . $order_total['code']}->confirm($order_info, $order_total); } } // Send out order confirmation mail $language = new Language($order_info['language_directory']); $language->load($order_info['language_filename']); $language->load('mail/order'); $order_status_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_status WHERE order_status_id = '" . (int)$order_status_id . "' AND language_id = '" . (int)$order_info['language_id'] . "'"); if ($order_status_query->num_rows) { $order_status = $order_status_query->row['name']; } else { $order_status = ''; } $subject = sprintf($language->get('text_new_subject'), $order_info['store_name'], $order_id); // HTML Mail $template = new Template(); $template->data['title'] = sprintf($language->get('text_new_subject'), html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8'), $order_id); $template->data['text_greeting'] = sprintf($language->get('text_new_greeting'), html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8')); $template->data['text_link'] = $language->get('text_new_link'); $template->data['text_download'] = $language->get('text_new_download'); $template->data['text_order_detail'] = $language->get('text_new_order_detail'); $template->data['text_instruction'] = $language->get('text_new_instruction'); $template->data['text_order_id'] = $language->get('text_new_order_id'); $template->data['text_date_added'] = $language->get('text_new_date_added'); $template->data['text_payment_method'] = $language->get('text_new_payment_method'); $template->data['text_shipping_method'] = $language->get('text_new_shipping_method'); $template->data['text_email'] = $language->get('text_new_email'); $template->data['text_telephone'] = $language->get('text_new_telephone'); $template->data['text_ip'] = $language->get('text_new_ip'); $template->data['text_payment_address'] = $language->get('text_new_payment_address'); $template->data['text_shipping_address'] = $language->get('text_new_shipping_address'); $template->data['text_product'] = $language->get('text_new_product'); $template->data['text_model'] = $language->get('text_new_model'); $template->data['text_quantity'] = $language->get('text_new_quantity'); $template->data['text_price'] = $language->get('text_new_price'); $template->data['text_total'] = $language->get('text_new_total'); $template->data['text_footer'] = $language->get('text_new_footer'); $template->data['text_powered'] = $language->get('text_new_powered'); $template->data['logo'] = HTTP_IMAGE . $this->config->get('config_logo'); $template->data['store_name'] = $order_info['store_name']; $template->data['store_url'] = $order_info['store_url']; $template->data['customer_id'] = $order_info['customer_id']; $template->data['link'] = $order_info['store_url'] . 'index.php?route=account/order/info&order_id=' . $order_id; if ($order_download_query->num_rows) { $template->data['download'] = $order_info['store_url'] . 'index.php?route=account/download'; } else { $template->data['download'] = ''; } $template->data['order_id'] = $order_id; $template->data['date_added'] = date($language->get('date_format_short'), strtotime($order_info['date_added'])); $template->data['payment_method'] = $order_info['payment_method']; $template->data['shipping_method'] = $order_info['shipping_method']; $template->data['email'] = $order_info['email']; $template->data['telephone'] = $order_info['telephone']; $template->data['ip'] = $order_info['ip']; if ($comment && $notify) { $template->data['comment'] = nl2br($comment); } else { $template->data['comment'] = ''; } if ($order_info['payment_address_format']) { $format = $order_info['payment_address_format']; } else { $format = '{firstname} {lastname}' . "n" . '{company}' . "n" . '{address_1}' . "n" . '{address_2}' . "n" . '{city} {postcode}' . "n" . '{zone}' . "n" . '{country}'; } $find = array( '{firstname}', '{lastname}', '{company}', '{address_1}', '{address_2}', '{city}', '{postcode}', '{zone}', '{zone_code}', '{country}' ); $replace = array( 'firstname' => $order_info['payment_firstname'], 'lastname' => $order_info['payment_lastname'], 'company' => $order_info['payment_company'], 'address_1' => $order_info['payment_address_1'], 'address_2' => $order_info['payment_address_2'], 'city' => $order_info['payment_city'], 'postcode' => $order_info['payment_postcode'], 'zone' => $order_info['payment_zone'], 'zone_code' => $order_info['payment_zone_code'], 'country' => $order_info['payment_country'] ); $template->data['payment_address'] = str_replace(array("rn", "r", "n"), '<br />', preg_replace(array("/ss+/", "/rr+/", "/nn+/"), '<br />', trim(str_replace($find, $replace, $format)))); if ($order_info['shipping_address_format']) { $format = $order_info['shipping_address_format']; } else { $format = '{firstname} {lastname}' . "n" . '{company}' . "n" . '{address_1}' . "n" . '{address_2}' . "n" . '{city} {postcode}' . "n" . '{zone}' . "n" . '{country}'; } $find = array( '{firstname}', '{lastname}', '{company}', '{address_1}', '{address_2}', '{city}', '{postcode}', '{zone}', '{zone_code}', '{country}' ); $replace = array( 'firstname' => $order_info['shipping_firstname'], 'lastname' => $order_info['shipping_lastname'], 'company' => $order_info['shipping_company'], 'address_1' => $order_info['shipping_address_1'], 'address_2' => $order_info['shipping_address_2'], 'city' => $order_info['shipping_city'], 'postcode' => $order_info['shipping_postcode'], 'zone' => $order_info['shipping_zone'], 'zone_code' => $order_info['shipping_zone_code'], 'country' => $order_info['shipping_country'] ); $template->data['shipping_address'] = str_replace(array("rn", "r", "n"), '<br />', preg_replace(array("/ss+/", "/rr+/", "/nn+/"), '<br />', trim(str_replace($find, $replace, $format)))); // Products $template->data['products'] = array(); foreach ($order_product_query->rows as $product) { $option_data = array(); $order_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$product['order_product_id'] . "'"); foreach ($order_option_query->rows as $option) { if ($option['type'] != 'file') { $value = $option['value']; } else { $value = utf8_substr($option['value'], 0, utf8_strrpos($option['value'], '.')); } $option_data[] = array( 'name' => $option['name'], 'value' => (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value) ); } $template->data['products'][] = array( 'name' => $product['name'], 'model' => $product['model'], 'option' => $option_data, 'quantity' => $product['quantity'], 'price' => $this->currency->format($product['price'] + ($this->config->get('config_tax') ? $product['tax'] : 0), $order_info['currency_code'], $order_info['currency_value']), 'total' => $this->currency->format($product['total'] + ($this->config->get('config_tax') ? ($product['tax'] * $product['quantity']) : 0), $order_info['currency_code'], $order_info['currency_value']) ); } // Vouchers $template->data['vouchers'] = array(); foreach ($order_voucher_query->rows as $voucher) { $template->data['vouchers'][] = array( 'description' => $voucher['description'], 'amount' => $this->currency->format($voucher['amount'], $order_info['currency_code'], $order_info['currency_value']), ); } $template->data['totals'] = $order_total_query->rows; if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/mail/order.tpl')) { $html = $template->fetch($this->config->get('config_template') . '/template/mail/order.tpl'); } else { $html = $template->fetch('default/template/mail/order.tpl'); } // Text Mail $text = sprintf($language->get('text_new_greeting'), html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8')) . "nn"; $text .= $language->get('text_new_order_id') . ' ' . $order_id . "n"; $text .= $language->get('text_new_date_added') . ' ' . date($language->get('date_format_short'), strtotime($order_info['date_added'])) . "n"; $text .= $language->get('text_new_order_status') . ' ' . $order_status . "nn"; if ($comment && $notify) { $text .= $language->get('text_new_instruction') . "nn"; $text .= $comment . "nn"; } // Products $text .= $language->get('text_new_products') . "n"; foreach ($order_product_query->rows as $product) { $text .= $product['quantity'] . 'x ' . $product['name'] . ' (' . $product['model'] . ') ' . html_entity_decode($this->currency->format($product['total'] + ($this->config->get('config_tax') ? ($product['tax'] * $product['quantity']) : 0), $order_info['currency_code'], $order_info['currency_value']), ENT_NOQUOTES, 'UTF-8') . "n"; $order_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . $product['order_product_id'] . "'"); foreach ($order_option_query->rows as $option) { $text .= chr(9) . '-' . $option['name'] . ' ' . (utf8_strlen($option['value']) > 20 ? utf8_substr($option['value'], 0, 20) . '..' : $option['value']) . "n"; } } foreach ($order_voucher_query->rows as $voucher) { $text .= '1x ' . $voucher['description'] . ' ' . $this->currency->format($voucher['amount'], $order_info['currency_code'], $order_info['currency_value']); } $text .= "n"; $text .= $language->get('text_new_order_total') . "n"; foreach ($order_total_query->rows as $total) { $text .= $total['title'] . ': ' . html_entity_decode($total['text'], ENT_NOQUOTES, 'UTF-8') . "n"; } $text .= "n"; if ($order_info['customer_id']) { $text .= $language->get('text_new_link') . "n"; $text .= $order_info['store_url'] . 'index.php?route=account/order/info&order_id=' . $order_id . "nn"; } if ($order_download_query->num_rows) { $text .= $language->get('text_new_download') . "n"; $text .= $order_info['store_url'] . 'index.php?route=account/download' . "nn"; } if ($order_info['comment']) { $text .= $language->get('text_new_comment') . "nn"; $text .= $order_info['comment'] . "nn"; } $text .= $language->get('text_new_footer') . "nn"; // отправка юзеру $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->hostname = $this->config->get('config_smtp_host'); $mail->username = $this->config->get('config_smtp_username'); $mail->password = $this->config->get('config_smtp_password'); $mail->port = $this->config->get('config_smtp_port'); $mail->timeout = $this->config->get('config_smtp_timeout'); $mail->setTo($order_info['email']); $mail->setFrom($this->config->get('config_email')); $mail->setSender($order_info['store_name']); $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setHtml($html); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); // Отправка админу $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->hostname = $this->config->get('config_smtp_host'); $mail->username = $this->config->get('config_smtp_username'); $mail->password = $this->config->get('config_smtp_password'); $mail->port = $this->config->get('config_smtp_port'); $mail->timeout = $this->config->get('config_smtp_timeout'); $mail->setTo($this->config->get('config_email')); $mail->setFrom($this->config->get('config_email')); $mail->setSender($order_info['store_name']); $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setHtml($html); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); // Send to additional alert emails $emails = explode(',', $this->config->get('config_alert_emails')); foreach ($emails as $email) { if ($email && preg_match('/^[^@]+@.*.[a-z]{2,6}$/i', $email)) { $mail->setTo($email); $mail->send(); } } } }
  19. >1. Все уведомления о заказе попадают в спам.Почему это происходит и как с этим бороться? (ящик на gmail) вероятно определить источник как "не спам". фильтр поставить, например. >2. в catalog/model/checkout/order.php описывается что кому летит. в методе: confirm как вариант заменить блок кода // Admin Alert Mail if ($this->config->get('config_alert_mail')) { $subject = sprintf($language->get('text_new_subject'), html_entity_decode($this->config->get('config_name'), ENT_QUOTES, 'UTF-8'), $order_id); // Text $text = $language->get('text_new_received') . "nn"; $text .= $language->get('text_new_order_id') . ' ' . $order_id . "n"; $text .= $language->get('text_new_date_added') . ' ' . date($language->get('date_format_short'), strtotime($order_info['date_added'])) . "n"; $text .= $language->get('text_new_order_status') . ' ' . $order_status . "nn"; $text .= $language->get('text_new_products') . "n"; foreach ($order_product_query->rows as $product) { $text .= $product['quantity'] . 'x ' . $product['name'] . ' (' . $product['model'] . ') ' . html_entity_decode($this->currency->format($product['total'] + ($this->config->get('config_tax') ? ($product['tax'] * $product['quantity']) : 0), $order_info['currency_code'], $order_info['currency_value']), ENT_NOQUOTES, 'UTF-8') . "n"; $order_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . $product['order_product_id'] . "'"); foreach ($order_option_query->rows as $option) { if ($option['type'] != 'file') { $value = $option['value']; } else { $value = utf8_substr($option['value'], 0, utf8_strrpos($option['value'], '.')); } $text .= chr(9) . '-' . $option['name'] . ' ' . (utf8_strlen($value) > 20 ? utf8_substr($value, 0, 20) . '..' : $value) . "n"; } } foreach ($order_voucher_query->rows as $voucher) { $text .= '1x ' . $voucher['description'] . ' ' . $this->currency->format($voucher['amount'], $order_info['currency_code'], $order_info['currency_value']); } $text .= "n"; $text .= $language->get('text_new_order_total') . "n"; foreach ($order_total_query->rows as $total) { $text .= $total['title'] . ': ' . html_entity_decode($total['text'], ENT_NOQUOTES, 'UTF-8') . "n"; } $text .= "n"; if ($order_info['comment']) { $text .= $language->get('text_new_comment') . "nn"; $text .= $order_info['comment'] . "nn"; } $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->hostname = $this->config->get('config_smtp_host'); $mail->username = $this->config->get('config_smtp_username'); $mail->password = $this->config->get('config_smtp_password'); $mail->port = $this->config->get('config_smtp_port'); $mail->timeout = $this->config->get('config_smtp_timeout'); $mail->setTo($this->config->get('config_email')); $mail->setFrom($this->config->get('config_email')); $mail->setSender($order_info['store_name']); $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); // Send to additional alert emails $emails = explode(',', $this->config->get('config_alert_emails')); foreach ($emails as $email) { if ($email && preg_match('/^[^@]+@.*.[a-z]{2,6}$/i', $email)) { $mail->setTo($email); $mail->send(); } } } на $mail = new Mail(); $mail->protocol = $this->config->get('config_mail_protocol'); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->hostname = $this->config->get('config_smtp_host'); $mail->username = $this->config->get('config_smtp_username'); $mail->password = $this->config->get('config_smtp_password'); $mail->port = $this->config->get('config_smtp_port'); $mail->timeout = $this->config->get('config_smtp_timeout'); $mail->setTo($this->config->get('config_email')); $mail->setFrom($this->config->get('config_email')); $mail->setSender($order_info['store_name']); $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); $mail->setHtml($html); $mail->setText(html_entity_decode($text, ENT_QUOTES, 'UTF-8')); $mail->send(); чтобы получить тоже, что и прилетает клиенту.это на скорую руку. не тестил.
  20. шаблон то покажите? а то ж непонятно.
  21. как то странно форум срезал пол сообщения. тег А не закрыт. там где добавление в корзину http://validator.w3.org/check?uri=http%3A%2F%2Ffashion-game.ru%2F&charset=%28detect+automatically%29&doctype=Inline&group=0
  22. Языковой для админки: admin/language/russian/module/featured.php Языковой для фронта: catalog/language/russian/module/featured.php
  23. SVT

    ocStore v1.5.2.1 релиз

    Спасибо за релиз. Поковыряем.
  24. а у меня Ваш вариант с отключением капчи работает нормально. Вы меняли файл на мой - там тоже закомментили?
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.