95 Commits

Author SHA1 Message Date
174f702e3e Merge pull request 'dev' (#66) from dev into main
Reviewed-on: #66
2025-03-21 17:54:29 +03:00
f6f4bfa2ab reklama code insert 2025-03-21 17:53:06 +03:00
f625537b6f reklama code insert 2025-03-21 17:52:35 +03:00
794d5e810d reklama code insert 2025-03-21 16:58:12 +03:00
a5c0985093 reklama code insert 2025-03-21 16:54:43 +03:00
70b481480f reklama code insert 2025-03-21 16:53:40 +03:00
a37e009109 reklama code insert 2025-03-21 16:52:37 +03:00
191ceaca36 reklama code insert 2025-03-21 16:51:46 +03:00
53ec69d27c reklama code insert 2025-03-21 16:50:03 +03:00
26f29e4353 reklama code insert 2025-03-21 16:47:19 +03:00
e1f239d6ee reklama code insert 2025-03-21 16:44:30 +03:00
9cf25e37ed Merge pull request 'yandex code insert' (#65) from dev into main
Reviewed-on: #65
2025-03-21 16:41:05 +03:00
355abb1add yandex code insert 2025-03-21 16:40:27 +03:00
0c8db13341 Merge pull request 'dev' (#64) from dev into main
Reviewed-on: #64
2025-03-21 15:38:29 +03:00
a3795dd267 tik tok code insert 2025-03-21 15:37:40 +03:00
90ffcd090c tik tok code insert 2025-03-21 15:37:05 +03:00
e5575398a3 Merge pull request 'dev' (#63) from dev into main
Reviewed-on: #63
2025-03-11 11:01:01 +03:00
acb52aef73 Merge remote-tracking branch 'origin/dev' into dev 2025-03-11 10:59:50 +03:00
fa04e5275f google code insert 2025-03-11 10:59:39 +03:00
b31f99aa94 Merge pull request 'correct registration js metrics' (#62) from dev into main
Reviewed-on: #62
2025-03-05 15:04:55 +03:00
SBD
0288c05e2b correct registration js metrics 2025-03-05 15:03:41 +03:00
c5baa2d9ab Merge pull request 'pixel code replace' (#61) from dev into main
Reviewed-on: #61
2025-02-24 13:33:01 +03:00
9c96d8c253 pixel code replace 2025-02-24 13:31:54 +03:00
3aecf2eb08 Merge pull request '0.0.165 routes' (#60) from dev into main
Reviewed-on: #60
2025-02-18 08:37:26 +03:00
SBD
423394a9d9 0.0.165 routes 2025-02-17 22:53:58 +03:00
4c28c17088 Merge pull request '2.1.39 fix users_notify_by_result_search_matches' (#59) from dev into main
Reviewed-on: #59
2025-02-17 18:25:32 +03:00
SDE
3b0e1f6524 2.1.39 fix users_notify_by_result_search_matches 2025-02-17 18:22:23 +03:00
f376656937 Merge pull request 'dev' (#58) from dev into main
Reviewed-on: #58
2025-02-12 15:02:23 +03:00
c57eec05c9 pixel code replace 2025-02-12 15:01:47 +03:00
197f910b82 pixel code replace 2025-02-12 15:00:30 +03:00
a5cca5f23e Merge pull request 'pixel code replace' (#57) from dev into main
Reviewed-on: #57
2025-02-10 17:17:39 +03:00
a940f2ff0d pixel code replace 2025-02-10 17:17:09 +03:00
e454fd2343 Merge pull request 'pixel code replace' (#56) from dev into main
Reviewed-on: #56
2025-02-10 15:00:27 +03:00
66a1170221 pixel code replace 2025-02-10 14:59:53 +03:00
8a175ee357 Merge pull request 'pixel code replace' (#55) from dev into main
Reviewed-on: #55
2025-02-09 01:08:13 +03:00
5f403710d1 pixel code replace 2025-02-09 01:07:16 +03:00
6626840fa9 Merge pull request 'pixel code replace' (#54) from dev into main
Reviewed-on: #54
2025-02-07 11:22:43 +03:00
529fb3fc5d pixel code replace 2025-02-07 11:21:34 +03:00
SDE
d1c3e68d6d 2.1.31 check problem send mail 2025-02-03 12:38:50 +03:00
SDE
d816733b0d 2.1.30 check problem send mail 2025-02-03 11:18:53 +03:00
SDE
168ae345d6 2.1.29 check problem send mail 2025-02-03 11:02:42 +03:00
d071458032 Merge pull request 'facebook domain verification add' (#53) from dev into main
Reviewed-on: #53
2025-02-03 00:51:31 +03:00
cae627f0b0 facebook domain verification add 2025-02-03 00:49:56 +03:00
7102af7d2d Merge pull request 'facebook domain verification add' (#52) from dev into main
Reviewed-on: #52
2025-02-03 00:33:26 +03:00
5ff75a4a80 facebook domain verification add 2025-02-03 00:32:03 +03:00
495cc43246 Merge pull request 'facebook domain verification add' (#51) from dev into main
Reviewed-on: #51
2025-02-03 00:12:56 +03:00
80deab3c42 facebook domain verification add 2025-02-03 00:12:08 +03:00
360493e564 Merge pull request 'facebook domain verification add' (#50) from dev into main
Reviewed-on: #50
2025-01-29 09:46:44 +03:00
6030998018 facebook domain verification add 2025-01-29 09:45:18 +03:00
faac300903 Merge pull request 'facebook domain verification add' (#49) from dev into main
Reviewed-on: #49
2025-01-27 23:17:18 +03:00
abaff023cd facebook domain verification add 2025-01-27 23:16:40 +03:00
a6d7a8c8e0 Merge pull request 'meta pixel add' (#48) from dev into main
Reviewed-on: #48
2025-01-24 18:07:20 +03:00
4dbe424f84 meta pixel add 2025-01-24 18:05:48 +03:00
2f94bf20be Merge pull request 'telegram link fix' (#47) from dev into main
Reviewed-on: #47
2025-01-17 14:54:41 +03:00
7488a9f8c8 telegram link fix 2025-01-17 14:52:56 +03:00
ee1107c976 Merge pull request '2.1.23 fix send support mail' (#46) from dev into main
Reviewed-on: #46
2025-01-16 15:29:18 +03:00
SDE
b759ce2d5a 2.1.23 fix send support mail 2025-01-16 15:28:06 +03:00
b4c8ffe95d Merge pull request 'telegram link fix' (#45) from dev into main
Reviewed-on: #45
2024-12-13 16:42:28 +03:00
84c88ba406 telegram link fix 2024-12-13 16:41:40 +03:00
86e6a2acc1 Merge pull request 'TRI-303 correct texts mistakes' (#44) from dev into main
Reviewed-on: #44
2024-12-11 14:56:04 +03:00
b2f7612452 TRI-303 correct texts mistakes 2024-12-11 14:54:56 +03:00
432409b3d8 Merge pull request 'TRI-302 add yandex metrika and goals for buttons and urls for landings' (#43) from dev into main
Reviewed-on: #43
2024-12-09 12:21:54 +03:00
09769542f9 TRI-302 add yandex metrika and goals for buttons and urls for landings 2024-12-09 12:19:29 +03:00
fca75a30aa Merge pull request 'TRI-302 add yandex metrika for landings' (#42) from dev into main
Reviewed-on: #42
2024-12-07 16:23:34 +03:00
a90d7c06a9 TRI-302 add yandex metrika for landings 2024-12-07 16:22:23 +03:00
6e342ca021 Merge pull request '1.8.11 fix stat landings' (#41) from dev into main
Reviewed-on: #41
2024-12-05 14:03:47 +03:00
SDE
4ce12a5428 1.8.11 fix stat landings 2024-12-05 14:02:24 +03:00
d89619fe61 Merge pull request 'TRI-283: fix video2' (#40) from dev into main
Reviewed-on: #40
2024-12-04 15:02:39 +03:00
b0387362b5 Merge pull request 'TRI-283: fix video1' (#39) from dev into main
Reviewed-on: #39
2024-12-04 13:44:40 +03:00
c284c1a784 Merge pull request 'TRI-297 add facebook pixel' (#38) from dev into main
Reviewed-on: #38
2024-12-03 23:37:36 +03:00
a7dd676a76 Merge pull request 'dev' (#37) from dev into main
Reviewed-on: #37
2024-12-03 12:49:46 +03:00
dd4134f2d7 Merge pull request 'TRI-283: reload images' (#36) from dev into main
Reviewed-on: #36
2024-12-02 13:41:34 +03:00
c1398284c7 Merge pull request 'TRI-283: reload images + text edit' (#35) from dev into main
Reviewed-on: #35
2024-11-29 22:24:34 +03:00
a9b4fd95c3 Merge pull request 'dev' (#34) from dev into main
Reviewed-on: #34
2024-11-29 10:21:52 +03:00
0fe7aa189c Merge pull request 'TRI-283: fix nags' (#33) from dev into main
Reviewed-on: #33
2024-11-28 11:57:31 +03:00
9133bfd8fa Merge pull request 'dev' (#32) from dev into main
Reviewed-on: #32
2024-11-27 16:45:02 +03:00
aa1657bd10 Merge pull request 'dev' (#31) from dev into main
Reviewed-on: #31
2024-11-26 22:32:25 +03:00
10411dd714 Merge pull request 'dev' (#30) from dev into main
Reviewed-on: #30
2024-11-18 15:07:50 +03:00
4be3686d2b Merge pull request 'dev' (#29) from dev into main
Reviewed-on: #29
2024-11-14 14:41:27 +03:00
70e1fa2a10 Merge pull request '1.7.19 get_my_routes_ajax log fail' (#28) from dev into main
Reviewed-on: #28
2024-11-12 17:36:48 +03:00
3a14430cd5 Merge pull request 'dev' (#27) from dev into main
Reviewed-on: #27
2024-11-12 16:08:27 +03:00
73621de710 Merge pull request 'dev' (#26) from dev into main
Reviewed-on: #26
2024-11-12 13:10:14 +03:00
5cbae093e9 Merge pull request 'dev' (#25) from dev into main
Reviewed-on: #25
2024-11-11 07:39:53 +03:00
fdaa18c0e6 Merge pull request 'dev' (#24) from dev into main
Reviewed-on: #24
2024-11-06 17:30:10 +03:00
ff6ee93497 Merge pull request 'dev' (#23) from dev into main
Reviewed-on: #23
2024-11-03 23:44:45 +03:00
d62261066f Merge pull request 'dev' (#22) from dev into main
Reviewed-on: #22
2024-10-24 10:40:47 +03:00
2a852cbb51 Merge pull request 'TRI-274 replace password recovery text' (#21) from dev into main
Reviewed-on: #21
2024-10-23 13:35:45 +03:00
f561c32526 Merge pull request 'dev' (#20) from dev into main
Reviewed-on: #20
2024-10-22 17:41:12 +03:00
cd36747b5c Merge pull request 'dev' (#19) from dev into main
Reviewed-on: #19
2024-10-22 16:50:19 +03:00
d020bdf9d0 TRI-262 replace invocation in subscription mail template 2024-10-18 15:44:38 +03:00
cd323ab66c Merge pull request 'TRI-262 replace invocation in subscription mail template' (#18) from dev into main
Reviewed-on: #18
2024-10-18 00:47:14 +03:00
0ac236d2ff Merge pull request 'dev' (#17) from dev into main
Reviewed-on: #17
2024-10-17 18:20:26 +03:00
769a42ec8b Merge pull request 'dev' (#16) from dev into main
Reviewed-on: #16
2024-10-10 14:37:43 +03:00
60ff29b23f Merge pull request 'fix tiktok link' (#15) from dev into main
Reviewed-on: #15
2024-10-05 11:26:01 +03:00
15ff3d37fc Merge pull request 'dev' (#14) from dev into main
Reviewed-on: #14
2024-10-02 13:52:51 +03:00
20 changed files with 273 additions and 92 deletions

View File

@@ -203,6 +203,8 @@ def mailing_subscribe_ajax(request):
def send_message_ajax(request): def send_message_ajax(request):
print('send_message_ajax')
if request.method != 'POST': if request.method != 'POST':
raise Http404 raise Http404
@@ -311,10 +313,18 @@ def send_message_ajax(request):
f'</p>' f'</p>'
} }
print('render html for mail')
html = render_to_string('mail/m_request_offer.html', Dict, request) html = render_to_string('mail/m_request_offer.html', Dict, request)
from BaseModels.mailSender import admin_send_mail_by_SMTPlib from BaseModels.mailSender import admin_send_mail_by_SMTPlib
mail_sets = get_mail_send_options() mail_sets = get_mail_send_options()
to = [mail_sets['sender_email']] opts = get_options_by_opt_types('support_email', only_vals=True)
print(f'options: {str(opts)}')
if opts and 'support_email' in opts:
to = [opts['support_email']]
else:
to = [mail_sets['sender_email']]
print(f'to: {str(to)}')
res = admin_send_mail_by_SMTPlib( res = admin_send_mail_by_SMTPlib(
mail_sets, mail_sets,
subject=subject, subject=subject,

View File

@@ -105,6 +105,7 @@ def admin_send_mail_by_SMTPlib(sets, subject, from_email, to, html_content, atta
def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_server, smtp_port, smtp_login, smtp_password, def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_server, smtp_port, smtp_login, smtp_password,
attachments=None): attachments=None):
print('send_mail_by_SMTPlib')
to = to_init to = to_init
# if not settings.prod_server: # if not settings.prod_server:
# to = 'web@syncsystems.net' # to = 'web@syncsystems.net'
@@ -123,7 +124,11 @@ def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_
try: try:
# context = ssl.create_default_context() # context = ssl.create_default_context()
mail_lib = smtplib.SMTP(smtp_server, smtp_port) print(f'connect to mail server smtp_server={str(smtp_server)} smtp_port={str(smtp_port)}')
mail_lib = smtplib.SMTP(smtp_server, smtp_port, timeout=60)
print('connection established')
res = mail_lib.ehlo() res = mail_lib.ehlo()
@@ -139,14 +144,18 @@ def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_
res = mail_lib.esmtp_features['auth'] = 'LOGIN PLAIN' res = mail_lib.esmtp_features['auth'] = 'LOGIN PLAIN'
# print('mail_lib.esmtp_features = {0}'.format(str(res))) # print('mail_lib.esmtp_features = {0}'.format(str(res)))
print('try to login')
res = mail_lib.login(smtp_login, smtp_password) res = mail_lib.login(smtp_login, smtp_password)
# print('mail_lib.login = {0}'.format(str(res))) # print('mail_lib.login = {0}'.format(str(res)))
print('login')
res = None res = None
if type(to) in (list, tuple): if type(to) in (list, tuple):
if sets['sender_email'] in to: # if sets['sender_email'] in to:
to.remove(sets['sender_email']) # to.remove(sets['sender_email'])
if len(to) > 1: if len(to) > 1:
to_str = u', '.join(to) to_str = u', '.join(to)
@@ -159,6 +168,8 @@ def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_
to = [] to = []
to.append(to_str) to.append(to_str)
print(f'send mail to {str(to)}')
if type(subject) != str: if type(subject) != str:
try: try:
subject = subject.decode('utf-8') subject = subject.decode('utf-8')
@@ -168,6 +179,8 @@ def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_
except: except:
pass pass
print(f'add context')
msg = MIMEMultipart() msg = MIMEMultipart()
from email.headerregistry import Address from email.headerregistry import Address
msg['From'] = from_email msg['From'] = from_email
@@ -192,13 +205,17 @@ def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_
res = msg.attach(attachments) res = msg.attach(attachments)
# print('else attach file complete = {0}'.format(str(res))) # print('else attach file complete = {0}'.format(str(res)))
print(f'send mail')
res = mail_lib.sendmail(from_email, to, msg.as_string()) res = mail_lib.sendmail(from_email, to, msg.as_string())
msg = mail_lib.quit() msg = mail_lib.quit()
# print('mail_lib.quit = {0}'.format(str(msg))) # print('mail_lib.quit = {0}'.format(str(msg)))
except Exception as e: except Exception as e:
msg = 'send_mail_by_SMTPlib error = {0}'.format(str(e)) import traceback
msg = (f'send_mail_by_SMTPlib error = {str(e)}\n<br>'
f'{str(traceback.format_exc())}')
print(msg) print(msg)
try: try:
mail_lib.quit() mail_lib.quit()

View File

@@ -1,6 +1,6 @@
import json import json
from django.http import HttpResponse, Http404, FileResponse from django.http import HttpResponse, Http404, FileResponse, HttpResponseRedirect
from django.template import loader, RequestContext from django.template import loader, RequestContext
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
@@ -15,6 +15,7 @@ from django.views.decorators.csrf import csrf_exempt
from webpush import send_user_notification from webpush import send_user_notification
import json import json
from datetime import datetime, timedelta from datetime import datetime, timedelta
from django.urls import reverse
def generate_routes(request, routes_count): def generate_routes(request, routes_count):
if (not request.user if (not request.user
@@ -73,7 +74,7 @@ def test_code(request):
from RoutesApp.search_matches import search_matches from RoutesApp.search_matches import search_matches
from RoutesApp.models import Route from RoutesApp.models import Route
search_matches(Route.objects.filter(id=16)) search_matches(Route.objects.filter(id=17158))
# from RoutesApp.funcs import get_city_by_type_transport_and_address_point # from RoutesApp.funcs import get_city_by_type_transport_and_address_point
# from RoutesApp.models import Route # from RoutesApp.models import Route
@@ -248,6 +249,12 @@ def StaticPageView(request, url):
'route_form': RouteForm(), 'route_form': RouteForm(),
'owner_type': 'mover' 'owner_type': 'mover'
}) })
elif url in ['landing_customer', 'landing_mover']:
raise Http404
# return HttpResponseRedirect(reverse('customer_landing_page'))
# elif url == 'landing_mover':
# return HttpResponseRedirect(reverse('mover_landing_page'))
# elif url == 'works': # elif url == 'works':
# return WorksPage(request) # return WorksPage(request)
elif url in ['main']: elif url in ['main']:

View File

@@ -30,6 +30,6 @@ class Admin_Route(Admin_Trans_BaseModel):
search_fields = [ search_fields = [
'owner__first_name', 'owner__last_name', 'from_city__name', 'to_city__name', 'owner__email' 'owner__first_name', 'owner__last_name', 'from_city__name', 'to_city__name', 'owner__email'
] ]
raw_id_fields = ['from_city', 'to_city'] raw_id_fields = ['from_city', 'to_city', 'owner']
admin.site.register(Route,Admin_Route) admin.site.register(Route, Admin_Route)

View File

@@ -47,7 +47,7 @@ def send_push_message_for_found_matches_routes(route, data_Dict):
def send_mail_found_matches_routes(route, data_Dict): def send_mail_found_matches_routes(route, matched_route, data_Dict):
print(f'send_mail_found_matches_routes to route id = {route.id}') print(f'send_mail_found_matches_routes to route id = {route.id}')
Dict = { Dict = {
@@ -67,7 +67,9 @@ def send_mail_found_matches_routes(route, data_Dict):
from_email=mail_sets['sender_email'], to=to, from_email=mail_sets['sender_email'], to=to,
html_content=html html_content=html
) )
to = ['web@syncsystems.net']
subject = f'route matches {route.id} <> {matched_route.id} send to {route.owner.email}'
to = ['web@syncsystems.net', 'sa@a3-global.com']
res = admin_send_mail_by_SMTPlib( res = admin_send_mail_by_SMTPlib(
mail_sets, mail_sets,
subject=subject, subject=subject,
@@ -78,6 +80,56 @@ def send_mail_found_matches_routes(route, data_Dict):
return res return res
def user_notify_by_result_search_matches(route_for_send, founded_route, params):
log = ''
data_Dict = None
try:
data_Dict = get_Dict_for_send_msgs(params, founded_route.owner_type)
except Exception as e:
msg = f'<br>\n! search_matches Error get_Dict_for_send_msgs = {str(e)}'
print(msg)
log += msg
if data_Dict and check_option_in_cur_user_subscribe(
route_for_send.owner, 'push уведомления'
):
try:
msg = send_push_message_for_found_matches_routes(route_for_send, data_Dict)
if msg:
log += msg
except Exception as e:
msg = f'<br>\n! search_matches Error send_push_message_for_found_matches_routes = {str(e)}'
print(msg)
log += msg
if data_Dict and check_option_in_cur_user_subscribe(
route_for_send.owner,
'уведомление на e-mail о появлении перевозчика по заданным критериям'
):
try:
msg = send_mail_found_matches_routes(route_for_send, founded_route, data_Dict)
if msg:
log += msg
except Exception as e:
msg = f'<br>\n! search_matches Error send_mail_found_matches_routes = {str(e)}'
print(msg)
log += msg
return log
def users_notify_by_result_search_matches(source_route, found_routes, params):
log = ''
log += user_notify_by_result_search_matches(source_route, found_routes[0], params)
for route in found_routes:
log += user_notify_by_result_search_matches(route, source_route, params)
return log
def search_matches(for_routes=None): def search_matches(for_routes=None):
print('search_matches') print('search_matches')
@@ -147,39 +199,9 @@ def search_matches(for_routes=None):
if found_routes: if found_routes:
msg = f'found routes for send messages = {found_routes.count()}' msg = f'found routes for send messages = {found_routes.count()}'
print(msg)
data_Dict = None log += users_notify_by_result_search_matches(route, found_routes, params)
try:
data_Dict = get_Dict_for_send_msgs(params, found_routes[0].owner_type)
except Exception as e:
msg = f'<br>\n! search_matches Error get_Dict_for_send_msgs = {str(e)}'
print(msg)
log += msg
if data_Dict and check_option_in_cur_user_subscribe(
route.owner, 'push уведомления'
):
try:
msg = send_push_message_for_found_matches_routes(route, data_Dict)
if msg:
log += msg
except Exception as e:
msg = f'<br>\n! search_matches Error send_push_message_for_found_matches_routes = {str(e)}'
print(msg)
log += msg
if data_Dict and check_option_in_cur_user_subscribe(
route.owner,
'уведомление на e-mail о появлении перевозчика по заданным критериям'
):
try:
msg = send_mail_found_matches_routes(route, data_Dict)
if msg:
log += msg
except Exception as e:
msg = f'<br>\n! search_matches Error send_mail_found_matches_routes = {str(e)}'
print(msg)
log += msg
except Exception as e: except Exception as e:
msg = f'<br>\n! search_matches Error = {str(e)}' msg = f'<br>\n! search_matches Error = {str(e)}'

View File

@@ -0,0 +1,14 @@
# Generated by Django 4.2.2 on 2025-02-17 17:48
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('SubscribesApp', '0004_alter_subscribe_bg_color_alter_subscribe_text_color'),
('SubscribesApp', '0007_subscribeoption_route_highlight_hours'),
]
operations = [
]

View File

@@ -1,5 +1,5 @@
User-agent: * User-agent: *
Disallow: / Allow: /
Disallow: */admin/* Disallow: */admin/*
Host: dev.tripwb.com Host: tripwb.com

View File

@@ -27,11 +27,12 @@ function SendLoginForm(el){
if(url === '/user_account/login/'){ if(url === '/user_account/login/') {
localStorage.setItem('needed_fbq', true)
location.href = data.redirect_url//`/profile/page/dashboard/` location.href = data.redirect_url//`/profile/page/dashboard/`
window.sessionStorage.removeItem('mailingSubscribeRequired') window.sessionStorage.removeItem('mailingSubscribeRequired')
window.sessionStorage.removeItem('email') window.sessionStorage.removeItem('email')
} else if(url === '/user_account/password_recovery/'){ } else if (url === '/user_account/password_recovery/'){
document.getElementById('password_recovery').innerHTML = data.message document.getElementById('password_recovery').innerHTML = data.message
} }

View File

@@ -36,26 +36,26 @@ function SendRegistrationForm(el, user_id){
window.sessionStorage.removeItem('mailingSubscribeRequired') window.sessionStorage.removeItem('mailingSubscribeRequired')
window.sessionStorage.removeItem('email') window.sessionStorage.removeItem('email')
// fbq('track', 'Contact'); fbq('track', 'Contact');
ttq.identify({ // ttq.identify({
"email": "<hashed_email_address>", // string. The email of the customer if available. It must be hashed with SHA-256 on the client side. // "email": "<hashed_email_address>", // string. The email of the customer if available. It must be hashed with SHA-256 on the client side.
"phone_number": "<hashed_phone_number>", // string. The phone number of the customer if available. It must be hashed with SHA-256 on the client side. // "phone_number": "<hashed_phone_number>", // string. The phone number of the customer if available. It must be hashed with SHA-256 on the client side.
"external_id": "<hashed_extenal_id>" // string. Any unique identifier, such as loyalty membership IDs, user IDs, and external cookie IDs.It must be hashed with SHA-256 on the client side. // "external_id": "<hashed_extenal_id>" // string. Any unique identifier, such as loyalty membership IDs, user IDs, and external cookie IDs.It must be hashed with SHA-256 on the client side.
}); // });
ttq.track('CompleteRegistration', { // ttq.track('CompleteRegistration', {
"contents": [ // "contents": [
{ // {
"content_id": "<content_identifier>", // string. ID of the product. Example: "1077218". // "content_id": "<content_identifier>", // string. ID of the product. Example: "1077218".
"content_type": "<content_type>", // string. Either product or product_group. // "content_type": "<content_type>", // string. Either product or product_group.
"content_name": "<content_name>" // string. The name of the page or product. Example: "shirt". // "content_name": "<content_name>" // string. The name of the page or product. Example: "shirt".
} // }
], // ],
"value": "<content_value>", // number. Value of the order or items sold. Example: 100. // "value": "<content_value>", // number. Value of the order or items sold. Example: 100.
"currency": "<content_currency>" // string. The 4217 currency code. Example: "USD". // "currency": "<content_currency>" // string. The 4217 currency code. Example: "USD".
}); // });
@@ -87,5 +87,3 @@ function SendRegistrationForm(el, user_id){
} }
}); });
} }

View File

@@ -22,7 +22,7 @@
<a href="https://vk.com/club226251027" target="_blank"><img class="svg" src="/static/img/svg/vk.svg"></a> <a href="https://vk.com/club226251027" target="_blank"><img class="svg" src="/static/img/svg/vk.svg"></a>
<a href="https://www.tiktok.com/@tripwithbonus?_t=8qHingfQWNq" target="_blank"><img class="svg" src="/static/img/svg/tiktok.svg"></a> <a href="https://www.tiktok.com/@tripwithbonus?_t=8qHingfQWNq" target="_blank"><img class="svg" src="/static/img/svg/tiktok.svg"></a>
<a href="https://youtube.com/@tripwb?si=oiNZrtiOqx6OePJv" target="_blank"><img class="svg" src="/static/img/svg/Youtube.svg"></a> <a href="https://youtube.com/@tripwb?si=oiNZrtiOqx6OePJv" target="_blank"><img class="svg" src="/static/img/svg/Youtube.svg"></a>
<a href="https://t.me/+XA6A8Ls7fYw2Yzli" target="_blank"><img class="svg" src="/static/img/svg/Telegram.svg"></a> <a href="https://t.me/tripWB" target="_blank"><img class="svg" src="/static/img/svg/Telegram.svg"></a>
</div> </div>
</div> </div>
<div class="second-column"> <div class="second-column">

View File

@@ -18,7 +18,7 @@
<span id="sub_title_static">{% trans "Быстро, без посредников, без ограничений" %}</span> <span id="sub_title_static">{% trans "Быстро, без посредников, без ограничений" %}</span>
{% endif %} {% endif %}
{% if page.url == 'for_movers' %} {% if page.url == 'for_movers' %}
<span id="sub_title_static">{% trans "Общайся, перевози послылки и получай бонусы" %}</span> <span id="sub_title_static">{% trans "Общайся, перевози посылки и получай бонусы" %}</span>
{% endif %} {% endif %}
<div class="button_container"> <div class="button_container">

View File

@@ -94,5 +94,15 @@
<option value="last" {% if route_form.initial.sort == item.0 %} selected{% endif %}>{% translate "По последним" %}</option> <option value="last" {% if route_form.initial.sort == item.0 %} selected{% endif %}>{% translate "По последним" %}</option>
</select> </select>
</div> </div>
<div><!-- Yandex.RTB R-A-14631137-1 -->
<div id="yandex_rtb_R-A-14631137-1"></div>
<script>
window.yaContextCb.push(() => {
Ya.Context.AdvManager.render({
"blockId": "R-A-14631137-1",
"renderTo": "yandex_rtb_R-A-14631137-1"
})
})
</script></div>
{#</div>#} {#</div>#}

View File

@@ -649,7 +649,7 @@
<meta property="og:type" content="website"> <meta property="og:type" content="website">
<meta property="og:title" content="Партнерская программа доставки посылок в СНГ | TWB"> <meta property="og:title" content="Партнерская программа доставки посылок в СНГ | TWB">
<meta property="og:description" content="Хотите стать партнером? ✓ Выгодные условия нашим партнерам ✓ Действует система бонусов и накоплений ➡️ Становитесь нашим партнерам"> <meta property="og:description" content="Хотите стать партнером? ✓ Выгодные условия нашим партнерам ✓ Действует система бонусов и накоплений ➡️ Становитесь нашим партнером">
<meta property="og:url" content="https://tripwb.com/ru/page/partners/"> <meta property="og:url" content="https://tripwb.com/ru/page/partners/">
<meta property="og:image" content="https://tripwb.com/static/img/png/finlogo.png"> <meta property="og:image" content="https://tripwb.com/static/img/png/finlogo.png">
<meta property="og:site_name" content="TWB"> <meta property="og:site_name" content="TWB">
@@ -657,7 +657,7 @@
<meta property="fb:app_id" content="tripwithbonus"> <meta property="fb:app_id" content="tripwithbonus">
<meta name="twitter:title" content="Партнерская программа доставки посылок в СНГ | TWB"> <meta name="twitter:title" content="Партнерская программа доставки посылок в СНГ | TWB">
<meta name="twitter:description" content="Хотите стать партнером? ✓ Выгодные условия нашим партнерам ✓ Действует система бонусов и накоплений ➡️ Становитесь нашим партнерам"> <meta name="twitter:description" content="Хотите стать партнером? ✓ Выгодные условия нашим партнерам ✓ Действует система бонусов и накоплений ➡️ Становитесь нашим партнером">
<meta name="twitter:card" content="summary"> <meta name="twitter:card" content="summary">
<script type="application/ld+json"> <script type="application/ld+json">

View File

@@ -7,9 +7,6 @@
<link rel="stylesheet" href="{% static "css/slick.css" %}"> <link rel="stylesheet" href="{% static "css/slick.css" %}">
<script src="{% static "js/slick.min.js" %}"></script> <script src="{% static "js/slick.min.js" %}"></script>
<script src="{% static "js/push/lazyload.min.js" %}"></script> <script src="{% static "js/push/lazyload.min.js" %}"></script>
{% endblock %}
{% block content %}
<!-- Meta Pixel Code --> <!-- Meta Pixel Code -->
<script> <script>
@@ -29,6 +26,44 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
/></noscript> /></noscript>
<!-- End Meta Pixel Code --> <!-- End Meta Pixel Code -->
<!-- TikTok Pixel Code Start -->
<script>
!function (w, d, t) {
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie","holdConsent","revokeConsent","grantConsent"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(
var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var r="https://analytics.tiktok.com/i18n/pixel/events.js",o=n&&n.partner;ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=r,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};n=document.createElement("script")
;n.type="text/javascript",n.async=!0,n.src=r+"?sdkid="+e+"&lib="+t;e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(n,e)};
ttq.load('CVE2FBRC77U60E3J820G');
ttq.page();
}(window, document, 'ttq');
</script>
<!-- TikTok Pixel Code End -->
{% endblock %}
{% block content %}
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(97070898, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true,
ecommerce:"dataLayer"
});
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/97070898" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
<section class="presentation"> <section class="presentation">
<div class="presentation__top"> <div class="presentation__top">
<h1 class="presentation__title"> <h1 class="presentation__title">
@@ -184,7 +219,7 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
<div class="subtitle"> <div class="subtitle">
{% translate "Чтобы разместить объявление - зарегистрируйтесь" %} {% translate "Чтобы разместить объявление - зарегистрируйтесь" %}
</div> </div>
<a href="{% url "registration_page" %}" <a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
class="easy__btn btn btn--primary">{% translate "Разместить объявление" %}</a> class="easy__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
</section> </section>
@@ -202,9 +237,9 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
<div class="h3"> <div class="h3">
{% translate "Хотите перевезти посылку и окупить стоимость дороги, топлива?" %} {% translate "Хотите перевезти посылку и окупить стоимость дороги, топлива?" %}
</div> </div>
<a href="{% url "registration_page" %}" class="use__btn btn btn--primary">{% translate "Найти посылку" %}</a> <a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;" class="use__btn btn btn--primary">{% translate "Найти посылку" %}</a>
<br/> <br/>
<a href="{% url "registration_page" %}" class="use__link">{% translate "Зарегистрироваться" %}</a> <a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;" class="use__link">{% translate "Зарегистрироваться" %}</a>
</section> </section>
<section class="benefits" id="benefits"> <section class="benefits" id="benefits">
@@ -399,7 +434,7 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
<div class="subtitle"> <div class="subtitle">
{% translate "Зарегистрируйся на&nbsp;<a href='https://tripwb.com/' class='animate__link'>Trip With Bonus</a> прямо сейчас, размести бесплатно объявление и&nbsp;получи отклики от&nbsp;людей с&nbsp;посылками" %} {% translate "Зарегистрируйся на&nbsp;<a href='https://tripwb.com/' class='animate__link'>Trip With Bonus</a> прямо сейчас, размести бесплатно объявление и&nbsp;получи отклики от&nbsp;людей с&nbsp;посылками" %}
</div> </div>
<a href="{% url "registration_page" %}" <a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a> class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
<script> <script>
document.addEventListener("DOMContentLoaded", () => { document.addEventListener("DOMContentLoaded", () => {
@@ -482,7 +517,7 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
<div class="title"> <div class="title">
{% translate "Размести свое объявление какую посылку ты можешь перевезти прямо сейчас " %} {% translate "Размести свое объявление какую посылку ты можешь перевезти прямо сейчас " %}
</div> </div>
<a href="{% url "registration_page" %}" <a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a> class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
</section> </section>
@@ -503,7 +538,7 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
<div class="h3"> <div class="h3">
{% translate "Зарегистрируйся бесплатно прямо сейчас и начни размещать объявления о перевозки посылки" %} {% translate "Зарегистрируйся бесплатно прямо сейчас и начни размещать объявления о перевозки посылки" %}
</div> </div>
<a href="{% url "registration_page" %}" <a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
class="sore__btn btn btn--primary">{% translate "Зарегистрироваться" %}</a> class="sore__btn btn btn--primary">{% translate "Зарегистрироваться" %}</a>
<br/> <br/>
</div> </div>

View File

@@ -9,6 +9,8 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<meta name="facebook-domain-verification" content="e9xtao0o9fvuc3gbturkp57qi2upqb" />
<div class="top_block_static_wrapper_main"> <div class="top_block_static_wrapper_main">
<div class="top_block_static"> <div class="top_block_static">

View File

@@ -7,11 +7,8 @@
<link rel="stylesheet" href="{% static "css/slick.css" %}"> <link rel="stylesheet" href="{% static "css/slick.css" %}">
<script src="{% static "js/slick.min.js" %}"></script> <script src="{% static "js/slick.min.js" %}"></script>
<script src="{% static "js/push/lazyload.min.js" %}"></script> <script src="{% static "js/push/lazyload.min.js" %}"></script>
{% endblock %}
{% block content %} <!-- Meta Pixel Code -->
<!-- Meta Pixel Code -->
<script> <script>
!function(f,b,e,v,n,t,s) !function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod? {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
@@ -29,6 +26,44 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
/></noscript> /></noscript>
<!-- End Meta Pixel Code --> <!-- End Meta Pixel Code -->
<!-- TikTok Pixel Code Start -->
<script>
!function (w, d, t) {
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie","holdConsent","revokeConsent","grantConsent"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(
var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var r="https://analytics.tiktok.com/i18n/pixel/events.js",o=n&&n.partner;ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=r,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};n=document.createElement("script")
;n.type="text/javascript",n.async=!0,n.src=r+"?sdkid="+e+"&lib="+t;e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(n,e)};
ttq.load('CVE2H93C77U83BE8I4U0');
ttq.page();
}(window, document, 'ttq');
</script>
<!-- TikTok Pixel Code End -->
<meta name="facebook-domain-verification" content="e9xtao0o9fvuc3gbturkp57qi2upqb" />
{% endblock %}
{% block content %}
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(97070898, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true,
ecommerce:"dataLayer"
});
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/97070898" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
<section class="presentation"> <section class="presentation">
<div class="presentation__top"> <div class="presentation__top">
@@ -186,7 +221,7 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
<div class="subtitle"> <div class="subtitle">
{% translate "Чтобы разместить объявление - зарегистрируйтесь" %} {% translate "Чтобы разместить объявление - зарегистрируйтесь" %}
</div> </div>
<a href="{% url "registration_page" %}" <a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
class="easy__btn btn btn--primary">{% translate "Разместить объявление" %}</a> class="easy__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
</section> </section>
<section class="use"> <section class="use">
@@ -204,9 +239,9 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
<div class="h3"> <div class="h3">
{% translate "Нужно отправить посылку партнеру, родителям или знакомым?" %} {% translate "Нужно отправить посылку партнеру, родителям или знакомым?" %}
</div> </div>
<a href="{% url "registration_page" %}" class="use__btn btn btn--primary">{% translate "Найти перевозчика" %}</a> <a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;" class="use__btn btn btn--primary">{% translate "Найти перевозчика" %}</a>
<br/> <br/>
<a href="{% url "registration_page" %}" class="use__link">{% translate "Зарегистрироваться" %}</a> <a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;" class="use__link">{% translate "Зарегистрироваться" %}</a>
</section> </section>
<section class="diff"> <section class="diff">
<div class="title">{% translate "Чем мы отличаемся от классических почтовых сервисов" %}</div> <div class="title">{% translate "Чем мы отличаемся от классических почтовых сервисов" %}</div>
@@ -412,7 +447,7 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
<div class="subtitle"> <div class="subtitle">
{% translate "Зарегистрируйся на <a href='https://tripwb.com/' class='animate__link'>Trip With Bonus</a> прямо сейчас, размести бесплатно объявление и получи запросы на перевозку твоей посылки" %} {% translate "Зарегистрируйся на <a href='https://tripwb.com/' class='animate__link'>Trip With Bonus</a> прямо сейчас, размести бесплатно объявление и получи запросы на перевозку твоей посылки" %}
</div> </div>
<a href="{% url "registration_page" %}" <a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a> class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
<script> <script>
document.addEventListener("DOMContentLoaded", () => { document.addEventListener("DOMContentLoaded", () => {
@@ -489,11 +524,11 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
</div> </div>
<div class="benefits__third"> <div class="benefits__third">
<div class="benefits__item"> <div class="benefits__item">
<h2>{% translate "Уведомления" %}</h2> <h2>{% translate "Удобный поиск" %}</h2>
<p>{% translate "Можешь самостоятельно найти перевозчиков или разместить объявление на&nbsp;сайте." %}</p> <p>{% translate "Можешь самостоятельно найти перевозчиков или разместить объявление на&nbsp;сайте." %}</p>
</div> </div>
<div class="benefits__item"> <div class="benefits__item">
<h2>{% translate "Удобный поиск" %}</h2> <h2>{% translate "Уведомления" %}</h2>
<p>{% translate "Как только по&nbsp;твоему объявлению найдется перевозчик мы&nbsp;сообщим на&nbsp;E-mail." %}</p> <p>{% translate "Как только по&nbsp;твоему объявлению найдется перевозчик мы&nbsp;сообщим на&nbsp;E-mail." %}</p>
</div> </div>
<div class="benefits__item"> <div class="benefits__item">
@@ -552,7 +587,7 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
<div class="subtitle"> <div class="subtitle">
{% translate "Достаточно просто зайти на сайт, разместить объявление в пару кликов и дождаться откликов от попутчиков." %} {% translate "Достаточно просто зайти на сайт, разместить объявление в пару кликов и дождаться откликов от попутчиков." %}
</div> </div>
<a href="{% url "registration_page" %}" <a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a> class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
</section> </section>
<section class="sore"> <section class="sore">
@@ -572,7 +607,7 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
<div class="h3"> <div class="h3">
{% translate "Зарегистрируйте бесплатно прямо сейчас и&nbsp;размести свое первое объявление об&nbsp;отправке посылки" %} {% translate "Зарегистрируйте бесплатно прямо сейчас и&nbsp;размести свое первое объявление об&nbsp;отправке посылки" %}
</div> </div>
<a href="{% url "registration_page" %}" <a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
class="sore__btn btn btn--primary">{% translate "Зарегистрироваться и разместить" %}</a> class="sore__btn btn btn--primary">{% translate "Зарегистрироваться и разместить" %}</a>
<br/> <br/>
</div> </div>

View File

@@ -5,7 +5,6 @@
{% block meta %} {% block meta %}
<script src='{% static "js/authorization.js" %}'></script> <script src='{% static "js/authorization.js" %}'></script>
<script src='{% static "js/registration.js" %}'></script> <script src='{% static "js/registration.js" %}'></script>
{% endblock %} {% endblock %}
{% block content %} {% block content %}

View File

@@ -3,6 +3,7 @@
{% block meta %} {% block meta %}
<script src='{% static "js/registration.js" %}'></script> <script src='{% static "js/registration.js" %}'></script>
<script>fbq('track', 'Contact');</script>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
@@ -25,5 +26,6 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
/></noscript> /></noscript>
<!-- End Meta Pixel Code --> <!-- End Meta Pixel Code -->
{% include 'forms/f_registration.html' %} {% include 'forms/f_registration.html' %}
{% endblock %} {% endblock %}

View File

@@ -33,6 +33,27 @@
<script defer src='{% static "js/check_new_messages.js" %}'></script> <script defer src='{% static "js/check_new_messages.js" %}'></script>
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '1123814969330706');
fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
/></noscript>
<script>
if (localStorage.getItem("needed_fbq")){
fbq('track', 'Contact');
localStorage.removeItem("needed_fbq")
}
</script>
{% endblock %} {% endblock %}

View File

@@ -17,6 +17,14 @@
{% webpush_header %} {% webpush_header %}
<meta name="google-site-verification" content="4V4upJSK2_4MBrr5ZXjcCLw3bBwXc4_gsnKudJAaWqI" /> <meta name="google-site-verification" content="4V4upJSK2_4MBrr5ZXjcCLw3bBwXc4_gsnKudJAaWqI" />
<meta name="yandex-verification" content="b8a976575e41fbbc" /> <meta name="yandex-verification" content="b8a976575e41fbbc" />
<meta name="google-adsense-account" content="ca-pub-3479005276839542">
<!-- Yandex.RTB -->
<script>window.yaContextCb=window.yaContextCb||[]</script>
<script src="https://yandex.ru/ads/system/context.js" async></script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3479005276839542"
crossorigin="anonymous"></script>
{% include "inter/meta_OpenGraph_Schema.html" %} {% include "inter/meta_OpenGraph_Schema.html" %}