https://www.youtube.com/watch?v=gfFk2AB-X-U&t=74s
понедельник, 18 января 2021 г.
понедельник, 22 июля 2019 г.
SSL сертификат
нас бесплатный сертификат от https://letsencrypt.org/
Создание SSL-сертификата для Nginx http://slc.tl/a24t
Создание SSL-сертификата для Apache http://slc.tl/4jb6d
sssss
Создание SSL-сертификата для Nginx http://slc.tl/a24t
Создание SSL-сертификата для Apache http://slc.tl/4jb6d
sssss
Создание SSL-сертификата для Apache с Let's Encrypt на сервере с Ubuntu 16.04
Введение
Совсем недавно компания Google заявила, что изменяет свою политику ранжирования сайтов в поисковой выдаче. Представители компании заявили, что будут поднимать сайты, работающие на протоколе HTTPS, вверх выдачи. И как результат— цепная реакция: владельцы крупных проектов тут же позаботились об установке SSL-сертификата, дабы не терять свои позиции в поисковой выдаче от Google. SSL-сертификат позволяет шифровать трафик, передаваемый между клиентом и сервером, обеспечивая защиту персональных данных. И самое главное - сертификат совершенно бесплатен! В этом руководстве мы ознакомимся с процессом установки SSL/TLS сертификата на веб-сервер Apache при помощи Let's Encrypt.
Технические требования
- Сервер с Ubuntu 16.04
- Установленный веб-сервер Apache.
- Доменное имя, A-запись которого указывает на ваш сервер
Шаг 1. Установка и настройка клиента Let's Encrypt
Перед тем, как начинать производить какие-либо операции на вашем сервере, обязательно обновите индекс пакетов в системе:
apt-get update
После этого можно приступать к загрузке клиента Let's Encrypt:
apt-get install python-letsencrypt-apache
Многие любят Let's Encrypt не только за возможность установит сертификат бесплатно, но и за возможность сделать это в "один клик"(в данном случае, введением одной команды). Запросите установку SSL-сертификата командой, указав нужный вам домен(и в случае необходимости — поддомены):
letsencrypt --apache -d vscale-letsencrypt.cf -d www.vscale-letsencrypt.cf
Заметка: для этого руководства мною был заказан бесплатный домен сроком на один месяц. На вашем сервере вместо vscale-letsencrypt.cf указывайте свой домен.
Во время установки программа попросит вас ввести адрес вашей электронной почты. Не игнорируйте этот пункт, поскольку почта может быть использована для восстановления утерянного ключа домена.
Следующим шагом подтвердите согласие с пользовательским соглашением. Далее программа попросит вас выбрать тип SSL-сертификата. Предоставляется два типа на выбор:
- Easy — https будет доступен опционально. Сайт по прежнему будет работать на HTTP, но сможет принимать HTTPS там, где это укажет администратор.
- Secure — все запросы будут принудительно отправляться к https.
Выбирайте тип сертификата исходя их ваших предпочтений. В данном руководстве будет выбран тип Secure.
Важно: если вы выбрали тип Secure и у вас предварительно не настроен редирект на https://, то вам нужно открыть конфигурационный файл вашего сайта:
nano /etc/apache2/sites-available/000-default.conf
Добавьте в него следующие строки для редиректа:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ServerName www.vscale-letsencrypt.cf
Redirect permanent / https://vscale-letsencrypt.cf/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
На этом настройку Let's Encrypt можно считать завершённой. Проверьте, появился ли HTTPS на вашем сайте.

Шаг 2. Настройка автопродления
Согласно политике Let's Encrypt, сертификат действителен 3 месяца(90 дней), однако, его можно продлить вручную при помощи команды:
letsencrypt renew
Но гораздо удобнее продлевать сертификат автоматически. Поможет нам в этом Cron — демон-планировщик задач в UNIX-системах. Активируйте его при помощи команды:
crontab -e
Из списка текстовых редакторов выберите nano, в самом конце файла вставьте строку:
0 0 1 * * /usr/bin/letsencrypt renew >> /var/log/le-renew.log
Эта строка значит, что команда letsencrypt renew будет запускаться раз в месяц и сохранять результат работы в лог-файл. В данном случае, команда была введена 25.11.2016 в 16:04, а значит, что планировщик задач выполнит задачу ровно через месяц - 25.12.2016 в 16:04. Сохраните файл сочетанием клавиш Ctrl+O, подтвердите сохранение кнопкой Enter. Закрыть текстовый редактор можно кнопкой Ctrl+X.
Заключение
Вы успешно настроили SSL/TLS-сертификат на вашем сервере. Let's Encrypt — это действительно удобный инструмент для начинающего разработчика, позволяющий быстро, удобно и, фактически, в один клик установить SSL/TLS-сертификат. Также, установив сертификат вы подкрепили доверие ваших пользователей показав им, что вы действительно стремитесь защищать их данные.
Создание SSL-сертификатов для Nginx с Let’s Encrypt под Ubuntu 16.04
Некоммерческий удостоверяющий центр Let's Encrypt, развивающийся под эгидой Linux Foundation - хороший способ получить бесплатный (не самоподписанный!) SSL/TLS-сертификат сроком на три месяца, с возможностью автопродления.
В данном руководстве все действия будут выполняться с помощью официального клиента letsencrypt. Он позволяет создать достоверный сертификат, пригодный для использования в различных приложениях, конкретно же речь пойдет об Nginx.
Требования:
- Ubuntu Server 16.04;
- пользователь с sudo-привилегиями;
- собственно домен;
- DNS-запись A вашего домена должна указывать на IPv4-адрес вашего же сервера в Vscale (необходимо для подтверждения владения; доменом). Это также в силе для поддоменов (вроде www.example.site).
Шаг 1. Установка необходимого ПО
Обновим локальные индексы менеджера пакетов и установим клиент letsencrypt:
$ sudo apt-get update $ sudo apt-get install letsencrypt -y
Мы пойдём по пути использования Web-root плагина letsencrypt, суть работы которого заключается в том, что он помещает специальный файл в каталог /.well-known (путь указан относительно корня веб-директории), необходимый для валидации вашего домена серверной частью ПО Let's Encrypt.
Если по какой-либо причине ещё не был установлен веб-сервер Nginx - сделайте это с помощью следующих команд:
$ sudo add-apt-repository ppa:nginx/development $ sudo apt-get update $ sudo apt-get install nginx -y
Шаг 2. Подготовка к выпуску сертификата
Откройте конфигурационный файл Nginx:
$ sudo nano /etc/nginx/sites-available/default
внутри серверного блока (server { ...) поместите блок location:
location ~ /.well-known {
allow all;
}
выйдите из редактора, сохранив изменения, по нажатию Ctrl+X, y, Enter.
Протестируйте конфигурационный файл Nginx на корректность:
$ sudo nginx -t
Перезапустите Nginx:
$ sudo service nginx reload
Шаг 3. Выпуск сертификата
Запустите клиент letsencrypt с повышением и нужными Вам параметрами (/var/www/html - корень вашей веб-директории (по-умолчанию), example.site - домен):
$ sudo letsencrypt certonly -a webroot --webroot-path=/var/www/html -d example.site -d www.example.site
После этого вам будет предложено ввести e-mail (для получения уведомлений об истечении сертификата, если вы вдруг не захотите настроить автопродление) и согласиться с лицензионным соглашением.
Итак, теперь у вас есть 4 PEM-файла, относящихся к сертификату - можно вывести их имена командой (example.site - ваш домен):
$ sudo ls -l /etc/letsencrypt/live/example.site
Шаг 4. Генерация параметров Диффи-Хеллмана
Для улучшения безопасности - cгенерируем параметры Диффи-Хеллмана и запишем в файл (процесс займёт некоторое время):
$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Шаг 5. Изменение конфигурации Nginx:
Опять отредактируем конфигурационный файл Nginx:
$ sudo nano /etc/nginx/sites-available/default
Привожу проверенный вариант:
server {
listen 80;
listen [::]:80;
server_name example.site;
# редирект на HTTPS
return 301 https://$server_name$request_uri;
server_tokens off;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.site;
ssl_certificate /etc/letsencrypt/live/example.site/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.site/privkey.pem;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
# конфигурация Modern
ssl_protocols TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_prefer_server_ciphers on;
# HSTS - форсированно устанавливать соединение по HTTPS
add_header Strict-Transport-Security "max-age=15768000";
# Разрешение прикрепления OCSP-ответов сервером
ssl_stapling on;
# Разрешение проверки сервером ответов OCSP
ssl_stapling_verify on;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
# Запрещение выдачи версии nginx в HTTP-заголовках
server_tokens off;
location / {
try_files $uri $uri/ =404;
}
# для валидации Let's Encrypt
location ~ /.well-known {
allow all;
}
}
Для более подробного разъяснения SSL-директив в конфигурации Nginx: документация (на русском) ngx_http_ssl_module.
Преимущества такой конфигурации:
- поддержка бинарного протокола HTTP2
- HTTPS-only
- заточена под максимальную безопасность и современные версии браузеров
- A+-рейтинг по версии SSL Labs
Шаг 6 (необязательный). Настройка автопродления сертификата
Вручную продлить сертификат на 3 месяца можно так:
$ sudo letsencrypt renew
Естественно, следует перезапустить Nginx:
$ sudo service nginx reload
Для автоматизации процесса добавим задание в планировщик сron.
Откройте список заданий cron:
$ crontab -e
Добавьте следующие строки:
30 5 * * 1sudo letsencrypt renew35 5 * * 1sudo service nginx reload
Каждый понедельник, в 05:30 будет производиться запуск клиента Let's Encrypt, и в случае необходимости - выполняться продление сертификата.
Заключение
Let's Encrypt выпускает совершенно стандартные сертификаты, без возможности какой-либо настройки. Вся суть состоит в конфигурации веб-сервера Nginx, а именно в нахождении баланса совместимости и безопасности.
Если Вам нужна поддержка более старых устройств/браузеров, рекомендуется воспользоваться Mozilla SSL Configuration Generator. Выберите версии веб-сервера Nginx и openssl, а также, собственно, вариант конфигурации - для старых версий браузеров, среднюю или современную.
понедельник, 24 июня 2019 г.
Подключение сбербанка полное руководство
Тестовые карты
В качестве Cardholder name указывать от 2 слов в английской раскладке.
Для всех карт, вовлеченных в 3d Secure (veres=y, pares=y или a) пароль на ACS: 12345678.
( 12345678 это надо вводить, когда ввел карточку и надал Оплаить)
"Заглушка" в самом шлюзе:
pan:4111 1111 1111 1111
exp date:2019/12
cvv2:123
3dsecure: veres=y, pares=y
pan:6011 0000 0000 0004
exp date:2019/12
cvv2:123
3dsecure: veres=Y pares=A
pan:5555 5555 5555 5599
exp date:2019/12
cvv2:123
3dsecure: veres=n
pan:6390 0200 0000 000003
exp date:2019/12
cvv2:123(необязательный параметр)
3dsecure: veres=y, pares=a
https://developer.sberbank.ru/doc/v1/acquiring/rest-requests1pay
https://developer.sberbank.ru/doc/v1/acquiring/api-basket
https://developer.sberbank.ru/doc/v1/acquiring/rest-requests1pay
<?php
$z=222;
ЭТО ОПЛАТА
$url = 'https://3dsec.sberbank.ru/payment/rest/register.do';
$ch = curl_init($url);
$data='returnUrl=https://www.consul.devh/order/a9e5df12d03ba4788a541fb3678e6b14';
$data.='&failUrl=https://www.consul.devh/order/a9e5df12d03ba4788a541fb3678e6b14?payment_status=fail';
$data.='&orderNumber='.$z;
$data.='&description="Оплата заказа в интернет-магазине КОНСУЛ."';
$data.='&amount=2499000';
$data.='¤cy=643';
$data.='&sessionTimeoutSecs=43200';
$data.='&taxSystem=1';
$data.='&orderBundle={"cartItems":{"items":[{"positionId":"266011","name":"Swarovski Lovely Crystals Mini 5301877","quantity":{"value":"1","measure":"\u0448\u0442"},"itemAmount":2499000,"itemCode":"17907","tax":{"taxType":"0"},"itemPrice":2499000,"itemAttributes":{"attributes":[{"name":"paymentMethod","value":1},{"name":"paymentObject","value":1}]}}]}}';
$data.='&userName=consul-api&password=consul';
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$reply=curl_exec($ch);
curl_close($ch);
echo $reply;
echo '<p><p>******<p><p>';
ЭТО ПОЛУЧЕНИЕ СТАТУСА ОПЛАТЫ
$url = 'https://3dsec.sberbank.ru/payment/rest/getOrderStatusExtended.do';
$ch = curl_init($url);
$data='orderNumber='.$z;
$data.='&userName=consul-api&password=consul';
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$reply=json_decode(curl_exec($ch));
curl_close($ch);
echo "<pre>";
print_r($reply);
echo "</pre>";
?>
1) если зафиксировать $z=500 номер заказа в коде<p>
передали получили урл перехода на сбер<p>
перешли оплатили<p>
перебросило на стрвницу на сайте<p>
2) запросили запрос по номеру заказа получили оплачен [orderStatus] => 2 https://developer.sberbank.ru/doc/v1/acquiring/rest-requests1pay<p>
Отправка SMS ViberSMS с сайта https://my.devinotele.com/Account/LogOn кабинет
http://docs.devinotele.com/viber-resender.html
Нужны зарегистрированные каналы отправки
<?php
$url = 'https://viber.devinotele.com:444/send';
$username = 'ConsulRuAvia3';
$password = 'hromosk72{{#c=A4z751';
$ch = curl_init($url);
$headers = array(
'Content-Type: application/json',
'Authorization: Basic '. base64_encode("$username:$password")
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$data='{
"resendSms" : "true",
"messages" :
[ {
"subject" : "'.$username.'",
"priority" : "realtime",
"validityPeriodSec" : 3600,
"comment" : "comment",
"type" : "viber",
"contentType" : "text",
"content" :
{
"text" : "'.$_GET['text'].'"
},
"address" : "'.$_GET['tel'].'",
"smsText":"'.$_GET['text'].'",
"smsSrcAddress":"'.$username.'",
"smsValidityPeriodSec":5000
} ]
}';
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$reply=curl_exec($ch);
curl_close($ch);
echo $reply;
?>
<form>
<input name="tel" value="79199610491"><br>
<input name="text" value="Hellowold!!!"><br>
<input type="submit" value="Send">
</form>
рабочий код
http://u0715817.cp.regruhosting.ru/ind_viber.php
рабочий\
<?php
$url = 'https://viber.devinotele.com:444/send';
$username = 'ConsulRu';
$password = 'k72{{#c=A4';
$username2 = 'Clockshop';
$ch = curl_init($url);
$headers = array(
'Content-Type: application/json',
'Authorization: Basic '. base64_encode("$username:$password")
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$data='{
"resendSms" : "true",
"messages" :
[ {
"subject" : "'.$username2.'",
"priority" : "realtime",
"validityPeriodSec" : 30,
"comment" : "comment",
"type" : "viber",
"contentType" : "text",
"content" :
{
"text" : "'.$_GET['text'].'"
},
"address" : "'.$_GET['tel'].'",
"smsText":"'.$_GET['text'].'",
"smsSrcAddress":"'.$username2.'",
"smsValidityPeriodSec":60
} ]
}';
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$reply=curl_exec($ch);
curl_close($ch);
echo $reply;
?>
<form>
<input name="tel" value="79199610491"><br>
<input name="text" value="Сработал http://u0715817.cp.regruhosting.ru/ind_viber.php"><br>
<input type="submit" value="Send">
</form>
Нужны зарегистрированные каналы отправки
<?php
$url = 'https://viber.devinotele.com:444/send';
$username = 'ConsulRuAvia3';
$password = 'hromosk72{{#c=A4z751';
$ch = curl_init($url);
$headers = array(
'Content-Type: application/json',
'Authorization: Basic '. base64_encode("$username:$password")
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$data='{
"resendSms" : "true",
"messages" :
[ {
"subject" : "'.$username.'",
"priority" : "realtime",
"validityPeriodSec" : 3600,
"comment" : "comment",
"type" : "viber",
"contentType" : "text",
"content" :
{
"text" : "'.$_GET['text'].'"
},
"address" : "'.$_GET['tel'].'",
"smsText":"'.$_GET['text'].'",
"smsSrcAddress":"'.$username.'",
"smsValidityPeriodSec":5000
} ]
}';
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$reply=curl_exec($ch);
curl_close($ch);
echo $reply;
?>
<form>
<input name="tel" value="79199610491"><br>
<input name="text" value="Hellowold!!!"><br>
<input type="submit" value="Send">
</form>
рабочий код
http://u0715817.cp.regruhosting.ru/ind_viber.php
рабочий\
<?php
$url = 'https://viber.devinotele.com:444/send';
$username = 'ConsulRu';
$password = 'k72{{#c=A4';
$username2 = 'Clockshop';
$ch = curl_init($url);
$headers = array(
'Content-Type: application/json',
'Authorization: Basic '. base64_encode("$username:$password")
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$data='{
"resendSms" : "true",
"messages" :
[ {
"subject" : "'.$username2.'",
"priority" : "realtime",
"validityPeriodSec" : 30,
"comment" : "comment",
"type" : "viber",
"contentType" : "text",
"content" :
{
"text" : "'.$_GET['text'].'"
},
"address" : "'.$_GET['tel'].'",
"smsText":"'.$_GET['text'].'",
"smsSrcAddress":"'.$username2.'",
"smsValidityPeriodSec":60
} ]
}';
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$reply=curl_exec($ch);
curl_close($ch);
echo $reply;
?>
<form>
<input name="tel" value="79199610491"><br>
<input name="text" value="Сработал http://u0715817.cp.regruhosting.ru/ind_viber.php"><br>
<input type="submit" value="Send">
</form>
пятница, 21 июня 2019 г.
запуск обмена БД из консоли Gitbash на локалке
соединяемся ssh an43@lamp
ssh u0715817@31.31.196.88
pass
удаление из 360 все /big/ папки
find i360 -path "*/big/*" -delete
pwd где я
выход exit
rm -rf * удалить все в папке в которой нахожусь
rm -rf ddd удалить папку ddd
du -sh сколько занимает папка
переходим в корень сайта на локалке
an43@lamp7:~$ ls
consuldev order-fix-log.txt upd.txt
ssh u0715817@31.31.196.88
pass
удаление из 360 все /big/ папки
find i360 -path "*/big/*" -delete
pwd где я
выход exit
rm -rf * удалить все в папке в которой нахожусь
rm -rf ddd удалить папку ddd
du -sh сколько занимает папка
переходим в корень сайта на локалке
an43@lamp7:~$ ls
consuldev order-fix-log.txt upd.txt
оказывается мы находимся в ссылке на виртуалку
an43@lamp7:~$ pwd
/home/an43
переходим в ссылку
an43@lamp7:~$ cd /media/sf_work/
видим наш архив базы
an43@lamp7:/media/sf_work$ ls
apache-sites db_test_2019_06_18.sql nginx-sites Seiko.xls test.xls
запускаем разархивирование в базу consul_site_db2 на виртуалке
an43@lamp7:/media/sf_work$ mysql -u root -p6yhuji9 consul_site_db2 < db_test_2019_06_18.sql
mysql -u root --password="("]m?iqhGKTjgi6eWU?Mt sitemanager < ind777.sql
mysql -u u0741309_aaa --password=Hromos44 u0741309_aaa < ind777.sql
mysql -u root --password="("]m?iqhGKTjgi6eWU?Mt sitemanager < ind777.sql
mysql -u u0741309_aaa --password=Hromos44 u0741309_aaa < ind777.sql
Загрузка рисунков
360 круговая диарама
http://avia3.ru/moto.php
сайт домен разработки консул
http://u0715817.cp.regruhosting.ru/product-details.html
загрузка рисунков определенного размера
https://www.consul.ru/files/products/r1040_132_012_1.400x400w.jpg
img360
https://www.consul.ru/files/i360/frederique-constant-fc-285v5b4/10.jpg
http://avia3.ru/moto.php
сайт домен разработки консул
http://u0715817.cp.regruhosting.ru/product-details.html
загрузка рисунков определенного размера
https://www.consul.ru/files/products/r1040_132_012_1.400x400w.jpg
img360
https://www.consul.ru/files/i360/frederique-constant-fc-285v5b4/10.jpg
четверг, 20 июня 2019 г.
Карточка товара
consul_adress - адрес склада
product_werehouse связь продукта+склада+количествонаскладе+города
s_product
s_vatiants
s_images
s_features
s_options
еще
это автомат
s_series_1c по артикулу выгружает товар с навешенным штрихкодом+склад+ячейка
ручная загрузка
consul_parse_temp publik=0 нет в наличии, stock=1 количество
product_werehouse связь продукта+склада+количествонаскладе+города
s_product
s_vatiants
s_images
s_features
s_options
еще
это автомат
s_series_1c по артикулу выгружает товар с навешенным штрихкодом+склад+ячейка
ручная загрузка
consul_parse_temp publik=0 нет в наличии, stock=1 количество
среда, 19 июня 2019 г.
Интеграция кнопки «КупиВкредит» от банка Тинькофф
Поддержка #2731
Интеграция кнопки «КупиВкредит» от банка Тинькофф
Дата начала:
06.12.2018
Срок завершения:
Готовность:
0%
Оценка временных затрат:
Описание
Нужно провести интеграцию кнопки «КупиВкредит» от банка Тинькофф. Документация по интеграции прикреплена к задаче. В начале нужно использовать тестовые параметры, которые указаны на странице 2. После тестирования банк пришлёт нам наши рабочие параметры, которыми нужно будет заменить тестовые.
| Легкая_интеграция_КВК.pdf (514 КБ) Легкая_интеграция_КВК.pdf | Павлов Дмитрий, 06.12.2018 20:08 | Удалить | |
| banner.pdf (19,8 КБ) banner.pdf | Павлов Дмитрий, 19.12.2018 20:12 | Удалить | |
| Описание_КупиВкредит.docx (28,9 КБ) Описание_КупиВкредит.docx | Павлов Дмитрий, 19.12.2018 20:12 | Удалить | |
| Lightweight_Integration_Guide_New.pdf (459 КБ) Lightweight_Integration_Guide_New.pdf | Павлов Дмитрий, 19.12.2018 20:12 | Удалить |
Скачать 4 вложения одним архивом
Подзадачи
Связанные задачи
дерево симпла консул админки
- Каталог
- Товары
- Категории
- Бренды
- Свойства (для фильтра)
- Новые товары (для Китрила)
- Сортировка
- Партнерский товар (парсер)
- Выгрузка (что на складах)
- Скидки
- Фиды (для яндекс маркет) фиды это полная выгрузка только указаны разные способы доставки до места в зависимости от находжения часов. Если есть в краснодаре то есть самовывоз
- Акции/Блоги/Новости
- Блоги
- Акции
- Действующие
- Будущие
- Завершенные
- Удаленные
- Выключенные
- Новости
- Заказы
- Оформляется
- Требует внимания
- Новый
- В работе
- Рассрочка
- От поставщика
- К доставке
- В доставке
- Перемещение
- К самовывозу
- Доставлено/Ждем денег
- Выполнен
- Удален
- Метки
- Все
- Покупатели
- Покупатели
- Группы
- Купоны поступает цена старая, новая, скидка применяется в корзине купон если скидка есть то товар в раздел sale Еще запрос спец цены на товары которые
- Подписчики
- Страницы (типа статей с url)
- Основное меню
- Другие страницы
- Сервисный центр
- Продуктовые страницы
- Магазины
- Блог
- Комментарии
- Комментарии
- Обратная связь (что-то спросили)
- Автоматизация
- Импорт наличия и цен (из 1с в сайт)***
- Импорт товаров (из csv+zip_img)
- Экспорт (не работает)
- Бекап (битык и ошибка сети)
- Статистика
- Дизайн (не сохраняет)
- SEO (загрузка robots.txt)
- Настройки сайта
- Меню сайта
- Контакты
- Магазины и сервисные центры
- Города
- Выбор редакции (на морде)
- Настройка UTM-меток в письмах
- Настройка флажка для рекомендуемых товаров
- Уведомления
- Влив спам емаилов
- Меню футера, магазинов и сервисных страниц (не работает)
- Слайдеры и баннеры
- Заказы
- Управление блоком с брендами
- Партнеры
- Настройки
- Настройки
- Валюты
- Доставка (очень много как отключать)
- Оплата (очень много как отключать)
- Менеджеры
- Группы
Разработка #995
Описание
нужен скрипт приема файла от 1с
скрипт должен срабатывать при вливании файла по адресу http://consul.ru/upload/1c?method&hash=564bc951848bffbe825bcd6cdbd68f8f
method = full | short | barcode
hash пока неизменен
Файл от 1с приходит в zip-файле, скорее всего в base64_encode. Но лучше сдеалать проверку, попытку декодировать.
затем проверяем что файл действительно является zip-архивом.
и только после этого переносим его на постоянное место хранения в
для 1с возвращем код 200
храним все принятые файлы за последнию две недели
формат имени файла ddmmYYYY_HHiiss_method.zip
если появится файл старше недели
создаем папку формата
если такой файл уже существует, тогда просто удалем файл
смысл в том, что бы был архив переданных данных от 1с
+ возможность уточнить остатки на любой день месяца
для удобства отладки сделать в админке страничку для влива файла в ручную
в ней размещаем поле приема файла и кнопку отправить
скрипт должен срабатывать при вливании файла по адресу http://consul.ru/upload/1c?method&hash=564bc951848bffbe825bcd6cdbd68f8f
method = full | short | barcode
hash пока неизменен
Файл от 1с приходит в zip-файле, скорее всего в base64_encode. Но лучше сдеалать проверку, попытку декодировать.
затем проверяем что файл действительно является zip-архивом.
и только после этого переносим его на постоянное место хранения в
/archive/ostatkiдля 1с возвращем код 200
храним все принятые файлы за последнию две недели
формат имени файла ddmmYYYY_HHiiss_method.zip
если появится файл старше недели
создаем папку формата
/archive/ostatki/YYYY_mm и перемещаем туда файл, формат имени меняем на dd_method.zipесли такой файл уже существует, тогда просто удалем файл
смысл в том, что бы был архив переданных данных от 1с
+ возможность уточнить остатки на любой день месяца
для удобства отладки сделать в админке страничку для влива файла в ручную
в ней размещаем поле приема файла и кнопку отправить
файл barcode_20190618_144958.csv
- uid 1c не использовать
- id 1c не использовать
- артикул
- штрихкод
- где лежит сервицентр какой
- качество
- цена нового
- есть ли заключение спеца
- цена после уценки
- есть ли значимые повреждения
- описание повреждений
- https://www.base64decode.org/ описание изделия
- https://www.base64decode.org/ краткое описание повреждения
- полка гле лежит в магазине
| 51d7ecff-01c1-11e9-80c7-0cc47a854663 | 1,28E+11 | OLA 99 | 2,2E+12 | 51 | 7. БУ, ХОРОШЕЕ СОСТОЯНИЕ | 201500.00 | True | 85000.00 | True | Без заметных следов эксплуатации | 77u/0KHQtdC50YfQsNGBINCS0Ysg0L3QsCDRgdGC0YDQsNC90LjRhtC1IFZlcnNh Y2UgT0xBIDk5LiDQrdGC0L4g0YfQsNGB0Ysg0LrQu9Cw0YHRgdC40YfQtdGB0LrQ vtCz0L4g0LTQuNC30LDQudC90LAsINC80LXRhdCw0L3QuNC60LAg0YEg0LDQstGC 0L7Qv9C+0LTQt9Cw0LLQvtC00L7QvCwgY9GC0LDQu9GM0L3QvtC5INC+0LLQsNC7 0YzQvdGL0Lkg0LrQvtGA0L/Rg9GBIDQ30YUzOCDQvNC8LCDQt9Cw0LTQvdGP0Y8g 0LrRgNGL0YjQutCwINC90LAg0YfQtdGC0YvRgNC10YUg0LLQuNC90YLQsNGFLCAg V1IgMzAg0LwsINGB0LDQv9GE0LjRgNC+0LLQvtC1INGB0YLQtdC60LvQviwg0YHQ tdGA0LXQsdGA0LjRgdGC0YvQuSDQs9C40LvRjNGP0YjQuNGA0L7QstCw0L3QvdGL 0Lkg0YbQuNGE0LXRgNCx0LvQsNGCLCDQstGL0L3QtdGB0LXQvdC90LDRjyDRgdC1 0LrRg9C90LTQvdCw0Y8g0YHRgtGA0LXQu9C60LAsINC30LDQstC+0LTQvdCw0Y8g 0LPQvtC70L7QstC60LAg0YEg0YHQuNC80LLQvtC70LjQutC+0Lkg0LzQtdC00YPQ t9GLLCDQvtGA0LjQs9C40L3QsNC70YzQvdGL0Lkg0LrQvtGA0LjRh9C90LXQstGL 0Lkg0YDQtdC80LXQvdGMINC40Lcg0LrRgNC+0LrQvtC00LjQu9CwLCDQvNC10YXQ sNC90LjQt9C8ICDQldCi0JAgMjg5NS8xLCDRgdC+0YHRgtC+0Y/QvdC40LUg0L7R gtC70LjRh9C90L7QtSwg0L3QsCDQt9Cw0LTQvdC10Lkg0YHRgtC10L3QutC1INC/ 0LvQtdC90LrQsCwg0YDQtdC80LXQvdGMINC4INC60L7RgNC/0YPRgSDQsdC10Lcg 0L/RgNC40LfQvdCw0LrQvtCyINC90L7RiNC10L3QuNGPLiDQndCwINGE0L7RgtC+ 0LPRgNCw0YTQuNGP0YUg0JLRiyDQstC40LTQuNGC0LUg0LjQvNC10L3QvdC+INGC 0LUg0YfQsNGB0YssINC60L7RgtC+0YDRi9C1INC/0YDQtdC00LvQsNCz0LDQtdGC 0YHRjyDQuiDQv9GA0L7QtNCw0LbQtS4NCg0K0KfQsNGB0Ysg0LHQtdC3INC30LDQ vNC10YLQvdGL0YUg0YHQu9C10LTQvtCyINGN0LrRgdC/0LvRg9Cw0YLQsNGG0LjQ uC4g0KLQtdGF0L3QuNGH0LXRgdC60LjQtSDRhdCw0YDQsNC60YLQtdGA0LjRgdGC 0LjQutC4INGH0LDRgdC+0LIg0LIg0L3QvtGA0LzQtSwg0L3QviDQvNGLINGA0LXQ utC+0LzQtdC90LTRg9C10Lwg0L/RgNC+0LLQtdGB0YLQuCDQv9GA0L7RhNC40LvQ sNC60YLQuNC60YMg0LzQtdGF0LDQvdC40LfQvNCwLCDRh9GC0L7QsdGLINC40LfQ sdC10LbQsNGC0Ywg0L/RgNC+0LHQu9C10Lwg0LIg0LHQu9C40LbQsNC50YjQtdC8 INCx0YPQtNGD0YnQtdC8INC4INC/0L7Qu9GD0YfQuNGC0Ywg0LPQsNGA0LDQvdGC 0LjRjiDQvdCwINGA0LDQsdC+0YLRgyDQvNC10YXQsNC90LjQt9C80LAgINC90LAg MTIg0LzQtdGB0Y/RhtC10LIuDQoNCg0KDQoNCg0KDQoNCg== | 77u/0JHQtdC3INC30LDQvNC10YLQvdGL0YUg0YHQu9C10LTQvtCyINGN0LrRgdC/ 0LvRg9Cw0YLQsNGG0LjQuA== | 157 |
full_20190618_145454.csv попадает в новые, используется для предзаполнения Кирила
- ид категории товара в 1с
- артикул
- бренд
- фильтр по нему ищем часы, ювелирку
| 7 | FAK00002S0 | Orient | {"ЮвелирноеИзделие":"Нет","ТипИзделия":"Часы","НаличиеДрагМет":"Нет","НаличиеДрагКамней":"Нет"} | |
short_20190618_145452.csv наличие
- ид категории 1с
- артикул
- цена
- старая цена
- количество на складе
- дефект
- ид склада из таб s_adress
| 1000703 | 1335419cd/31 | 325 000 | 1 | Некритичный дефект | 52 |
вторник, 18 июня 2019 г.
понедельник, 17 июня 2019 г.
продление битрикс на месяц
Вы можете попробовать получить еще один месяц дополнительной лицензии по ссылке https://www.1c-bitrix.ru/bsm_register.php
Дамп БД в консоли
ssh u0715817@31.31.196.88
password
- На исходнике скопировать базу и заархивировать файлы
- На приемнике распаковать
- в конфиге прописать коннект к базе bitrix/php_interface/dbconn.php bitrix/.settings.php bitrix/php_interface/.settings.php (может не быть, возможно человек на форуме ошибся)
Здравствуйте! Подключиться по SSH можно согласно информации доступной в следующей справочной статье (для подключения по ssh необходимо указывать логин и пароль услуги хостинга): https://www.reg.ru/support/hosting-i-servery/hosting-sajtov/nachalo-raboty-i-dostupy/kak-podklyuchitsya-po-ssh?query=ssh Информация по способам импорта и экспорта базы данных доступна в следующей статье: https://www.reg.ru/support/hosting-i-servery/hosting-sajtov/bazy-dannyh/Import-bazy-dannyh-mysql При необходимости, информацию о включенных сервисах и паролях доступа можно просмотреть в личном кабинете, подробнее: https://www.reg.ru/support/hosting-i-servery/hosting-sajtov/nachalo-raboty-i-dostupy/informatsiya-o-vklyuchennyh-servisah-i-parolyah-dostupa
архивация
mysqldump -u [пользователь] -p[пароль] [имя базы] > [имя файла].sql
mysqldump -u root d2 > ind777.sql
разархивация
mysql -u [user] --password=[password] [имя базы] < [имя файла]
mysql -u root d3 < ind777.sql
mysql -u root --password="("]m?iqhGKTjgi6eWU?Mt sitemanager < ind777.sql
mysql -u u0741309_aaa --password=Hromos44 u0741309_aaa < ind777.sql
архивация
tar -czvf d2.tar.gz -C d2 .
разархивация
tar -xvzf d2.tar.gz
удаление
rm d2.tar.gz
удаление всего директория
rm -rf *
остановка
ctrl+С
где я
pwd
показать все файлы
ls -a
вторник, 11 июня 2019 г.
КАк создать новый товар методом insert
rotected static function insert(self $model, $update = false) {
новый товар создается через симплу, передачей названия таблиц
website/api/database/SimplaModel
Распариивание эксель файла
Заходим на
https://www.consul.devh/simpla/index.php?module=zPartners
контроллер zPartners.php
Для нашей Simple запускается function ajax() если xtreqwest
function fetch() по умолчанию
поняли что пришел post запрос
https://www.consul.devh/simpla/index.php?module=zPartners
контроллер zPartners.php
Для нашей Simple запускается function ajax() если xtreqwest
function fetch() по умолчанию
поняли что пришел post запрос
if ($this->request->method('post')) { $this->process_post();
function process_post() выбор режима кнопки
коммутация $result = $this->partners->parse_price($partner, $temp_file,
$_FILES['upload_file_' . $partner->id]['name']);unlink($temp_file);
выбрали перешли process_partner('refresh', $partner);
$this->design->assign('partners', $this->partners->get_partners([], TRUE));коммутация****************в смарти передали и выполнили парсинг$this->partners->get_partners([], TRUE))function get_partners( считывает и дозаполняет sql****************передаем файл $excel_file и класс $partnerpublic function parse_price($partner, $excel_file, $original_filename = NULL) {###
как выбирается метод defult csv xls
function parse_price
return call_user_func([$this, $convert_method_name], $excel_file);превращает $convert_method_name=convert_file_defaultconvert_file_to_xlsconvert_file_to_csvи вызываются эти функции
###считываем строку название файла класса$parser_class = $partner->pricelist_parser_class;создаем массив строк$result = $parser->run(function ($row_data, $parser)правим$row_data[ дозаполняемсохраняем строку в базу временнуюif ($this->save_parsed_row_to_temp($row_data)) {Результат: получен файл, распарсен и записан в базу.
Подписаться на:
Сообщения (Atom)