Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
blackcat.dev-vt2b.ru
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Акимов Владимир
blackcat.dev-vt2b.ru
Commits
95afbbcc
Commit
95afbbcc
authored
Sep 20, 2024
by
Владимир Акимов
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Форма бронирования, расписание
parent
7911a533
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
530 additions
and
99 deletions
+530
-99
add-bron.php
local/ajax/add-bron.php
+2
-0
add-kallbak.php
local/ajax/add-kallbak.php
+30
-0
bron-popup.php
local/ajax/bron-popup.php
+2
-1
.description.php
local/components/vt2b/shedule/.description.php
+15
-0
.parameters.php
local/components/vt2b/shedule/.parameters.php
+74
-0
component.php
local/components/vt2b/shedule/component.php
+49
-0
template.php
...l/components/vt2b/shedule/templates/.default/template.php
+71
-0
init.php
local/php_interface/init.php
+86
-2
.parameters.php
...ckcat/components/bitrix/news.list/podarit/.parameters.php
+26
-0
result_modifier.php
...t/components/bitrix/news.list/podarit/result_modifier.php
+2
-0
style.css
...es/blackcat/components/bitrix/news.list/podarit/style.css
+6
-0
template.php
...blackcat/components/bitrix/news.list/podarit/template.php
+161
-0
result_modifier.php
...ws/quests/bitrix/news.detail/.default/result_modifier.php
+1
-1
template.php
...trix/news/quests/bitrix/news.detail/.default/template.php
+2
-94
down.svg
...nts/bitrix/news/quests/bitrix/news.list/.default/down.svg
+3
-1
No files found.
local/ajax/add-bron.php
View file @
95afbbcc
...
...
@@ -2,10 +2,12 @@
require_once
(
$_SERVER
[
"DOCUMENT_ROOT"
]
.
"/bitrix/modules/main/include/prolog_before.php"
);
CModule
::
IncludeModule
(
"iblock"
);
if
(
$_POST
[
'NAME'
]){
if
(
closed
(
$_POST
[
'DATE'
],
$_POST
[
'TIME'
],
$_POST
[
'QUEST'
])
>
0
){
echo
"error"
;
}
else
{
$el
=
new
CIBlockElement
;
$PROP
=
[];
$PROP
=
$_POST
;
...
...
local/ajax/add-kallbak.php
0 → 100644
View file @
95afbbcc
<?
require_once
(
$_SERVER
[
"DOCUMENT_ROOT"
]
.
"/bitrix/modules/main/include/prolog_before.php"
);
CModule
::
IncludeModule
(
"iblock"
);
?>
<?
if
(
$_POST
[
'NAME'
]){
// добавляем в инфоблок
$el
=
new
CIBlockElement
;
$PROP
=
[];
$PROP
=
$_POST
;
$arLoad
=
Array
(
"MODIFIED_BY"
=>
$USER
->
GetID
(),
// элемент изменен текущим пользователем
"IBLOCK_SECTION_ID"
=>
false
,
// элемент лежит в корне раздела
"IBLOCK_ID"
=>
11
,
"PROPERTY_VALUES"
=>
$PROP
,
"NAME"
=>
$_POST
[
'NAME'
],
"ACTIVE"
=>
"Y"
,
//
);
$el
->
Add
(
$arLoad
);
// отправляек в телеграмм
$text
=
"Отправлена заявка на звонок от "
.
$_POST
[
'NAME'
]
.
". Телефон: "
.
$_POST
[
'PHONE'
];
sendTelegram
(
$text
);
}
?>
local/ajax/bron-popup.php
View file @
95afbbcc
...
...
@@ -8,7 +8,8 @@ if (!empty($_POST)){
$res
=
CIBlockElement
::
GetByID
(
$_POST
[
'quest'
]);
if
(
$ar_res
=
$res
->
GetNext
())
$name
=
$ar_res
[
'NAME'
];
echo
json_encode
([
'name'
=>
$name
,
'date'
=>
rusdate
(
$_POST
[
'date'
])]);
$teas
=
teaBron
(
$_POST
[
'time'
],
$_POST
[
'date'
],
$_POST
[
'quest'
]);
echo
json_encode
([
'name'
=>
$name
,
'date'
=>
rusdate
(
$_POST
[
'date'
]),
'teas'
=>
$teas
]);
}
?>
local/components/vt2b/shedule/.description.php
0 → 100644
View file @
95afbbcc
<?
if
(
!
defined
(
"B_PROLOG_INCLUDED"
)
||
B_PROLOG_INCLUDED
!==
true
)
die
();
$arComponentDescription
=
array
(
"NAME"
=>
"Yandex.map"
,
"DESCRIPTION"
=>
""
,
"ICON"
=>
"/images/news_detail.gif"
,
"SORT"
=>
30
,
"CACHE_PATH"
=>
"Y"
,
"PATH"
=>
array
(
"ID"
=>
"vt2b"
,
),
);
?>
\ No newline at end of file
local/components/vt2b/shedule/.parameters.php
0 → 100644
View file @
95afbbcc
<?
if
(
!
defined
(
"B_PROLOG_INCLUDED"
)
||
B_PROLOG_INCLUDED
!==
true
)
die
();
if
(
!
CModule
::
IncludeModule
(
"iblock"
))
return
;
$arTypes
=
CIBlockParameters
::
GetIBlockTypes
();
$arIBlocks
=
Array
();
$db_iblock
=
CIBlock
::
GetList
(
Array
(
"SORT"
=>
"ASC"
),
Array
(
"SITE_ID"
=>
$_REQUEST
[
"site"
],
"TYPE"
=>
(
$arCurrentValues
[
"IBLOCK_TYPE"
]
!=
"-"
?
$arCurrentValues
[
"IBLOCK_TYPE"
]
:
""
)));
while
(
$arRes
=
$db_iblock
->
Fetch
())
$arIBlocks
[
$arRes
[
"ID"
]]
=
$arRes
[
"NAME"
];
$arSorts
=
Array
(
"ASC"
=>
GetMessage
(
"T_IBLOCK_DESC_ASC"
),
"DESC"
=>
GetMessage
(
"T_IBLOCK_DESC_DESC"
),
);
$arSortFields
=
Array
(
"ID"
=>
GetMessage
(
"T_IBLOCK_DESC_FID"
),
"NAME"
=>
GetMessage
(
"T_IBLOCK_DESC_FNAME"
),
"ACTIVE_FROM"
=>
GetMessage
(
"T_IBLOCK_DESC_FACT"
),
"SORT"
=>
GetMessage
(
"T_IBLOCK_DESC_FSORT"
),
"TIMESTAMP_X"
=>
GetMessage
(
"T_IBLOCK_DESC_FTSAMP"
)
);
$arProperty_LNS
=
array
();
$rsProp
=
CIBlockProperty
::
GetList
(
Array
(
"sort"
=>
"asc"
,
"name"
=>
"asc"
),
Array
(
"ACTIVE"
=>
"Y"
,
"IBLOCK_ID"
=>
(
isset
(
$arCurrentValues
[
"IBLOCK_ID"
])
?
$arCurrentValues
[
"IBLOCK_ID"
]
:
$arCurrentValues
[
"ID"
])));
while
(
$arr
=
$rsProp
->
Fetch
())
{
$arProperty
[
$arr
[
"CODE"
]]
=
"["
.
$arr
[
"CODE"
]
.
"] "
.
$arr
[
"NAME"
];
if
(
in_array
(
$arr
[
"PROPERTY_TYPE"
],
array
(
"L"
,
"N"
,
"S"
)))
{
$arProperty_LNS
[
$arr
[
"CODE"
]]
=
"["
.
$arr
[
"CODE"
]
.
"] "
.
$arr
[
"NAME"
];
}
}
$arUGroupsEx
=
Array
();
$dbUGroups
=
CGroup
::
GetList
(
$by
=
"c_sort"
,
$order
=
"asc"
);
while
(
$arUGroups
=
$dbUGroups
->
Fetch
())
{
$arUGroupsEx
[
$arUGroups
[
"ID"
]]
=
$arUGroups
[
"NAME"
];
}
$arComponentParameters
=
array
(
"GROUPS"
=>
array
(
),
"PARAMETERS"
=>
array
(
"AJAX_MODE"
=>
array
(),
"IBLOCK_TYPE"
=>
Array
(
"PARENT"
=>
"BASE"
,
"NAME"
=>
GetMessage
(
"T_IBLOCK_DESC_LIST_TYPE"
),
"TYPE"
=>
"LIST"
,
"VALUES"
=>
$arTypes
,
"DEFAULT"
=>
"news"
,
"REFRESH"
=>
"Y"
,
),
"IBLOCK_ID"
=>
Array
(
"PARENT"
=>
"BASE"
,
"NAME"
=>
GetMessage
(
"T_IBLOCK_DESC_LIST_ID"
),
"TYPE"
=>
"LIST"
,
"VALUES"
=>
$arIBlocks
,
"DEFAULT"
=>
''
,
"ADDITIONAL_VALUES"
=>
"Y"
,
"REFRESH"
=>
"Y"
,
),
),
);
unset
(
$arComponentParameters
[
"PARAMETERS"
][
"PAGER_SHOW_ALWAYS"
]);
if
(
$arCurrentValues
[
"USE_PERMISSIONS"
]
!=
"Y"
)
unset
(
$arComponentParameters
[
"PARAMETERS"
][
"GROUP_PERMISSIONS"
]);
?>
local/components/vt2b/shedule/component.php
0 → 100644
View file @
95afbbcc
<?
if
(
!
defined
(
"B_PROLOG_INCLUDED"
)
||
B_PROLOG_INCLUDED
!==
true
)
die
();
CModule
::
IncludeModule
(
"iblock"
);
if
(
!
isset
(
$_GET
[
'date'
])){
$date
=
date
(
'd.m.Y'
);
}
else
$date
=
$_GET
[
'date'
];
$arSelect
=
Array
(
"ID"
,
"IBLOCK_ID"
,
"NAME"
);
// получение квестов
$date
=
date
(
'Y-m-d'
,
strtotime
(
$date
));
$arFilter
=
Array
(
"IBLOCK_ID"
=>
1
,
"ACTIVE"
=>
"Y"
,
);
$res
=
CIBlockElement
::
GetList
(
Array
(),
$arFilter
,
false
,
false
,
$arSelect
);
while
(
$ob
=
$res
->
GetNextElement
())
{
$arSelect
=
Array
(
"ID"
,
"IBLOCK_ID"
,
"PROPERTY_*"
);
$arItem
=
$ob
->
GetFields
();
$arFilter1
=
Array
(
"IBLOCK_ID"
=>
12
,
"ACTIVE"
=>
"Y"
,
"PROPERTY_QUEST"
=>
$arItem
[
'ID'
],
"PROPERTY_DATE"
=>
$date
,
);
$res1
=
CIBlockElement
::
GetList
(
array
(
'SORT'
=>
'ASC'
,
'ID'
=>
"ASC"
),
$arFilter1
,
false
,
false
,
$arSelect
);
while
(
$ob1
=
$res1
->
GetNextElement
())
{
$arItem1
=
$ob1
->
GetFields
();
$arItem1
[
'PROPERTIES'
]
=
$ob1
->
GetProperties
();
$arItem
[
'TIMES'
][]
=
$arItem1
;
}
$arResult
[
'ITEMS'
][]
=
$arItem
;
}
$this
->
IncludeComponentTemplate
();
?>
local/components/vt2b/shedule/templates/.default/template.php
0 → 100644
View file @
95afbbcc
<?
if
(
!
defined
(
"B_PROLOG_INCLUDED"
)
||
B_PROLOG_INCLUDED
!==
true
)
die
();
?>
<div
class=
"page_content"
>
<div
class=
"content_box"
>
<h1
class=
"h1_head"
>
Общее расписание
</h1>
<div
class=
"schedules"
>
<div
class=
"date-list"
>
<?
for
(
$i
=
0
;
$i
<=
30
;
$i
++
)
{
$date
=
date
(
'd.m.Y'
,
strtotime
(
'+'
.
$i
.
' days'
));
$dayweek
=
trim
(
dayweek
(
$date
));
if
(
!
isset
(
$_GET
[
'date'
]))
$_GET
[
'date'
]
=
date
(
'd.m.Y'
);
?>
<div
class=
"item-slider"
>
<a
class=
"date-list__elem
<?=
(
$_GET
[
'date'
]
==
$date
)
?
'active'
:
'not-active'
?>
"
href=
"/schedule/?date=
<?=
$date
?>
"
tabindex=
"0"
>
<?=
mb_substr
(
$date
,
0
,
5
)
?>
<br>
<?=
mb_strtolower
(
$dayweek
)
?>
</a>
</div>
<?
}
?>
</div>
<div
class=
"schedules-inner"
>
<div
class=
"schedules-wrapp"
>
<?
foreach
(
$arResult
[
"ITEMS"
]
as
$arItem
){
?>
<div
class=
"quest"
>
<div
class=
"quest__title addr-quests berezka"
>
<div
class=
"quest__title-text"
>
<?=
$arItem
[
'NAME'
]
?>
</div>
</div>
<?
if
(
!
empty
(
$arItem
[
'TIMES'
])){
?>
<div
class=
"slots tt_v1__slots"
>
<?
foreach
(
$arItem
[
'TIMES'
]
as
$item
)
{
$time
=
$item
[
'PROPERTIES'
][
'TIME'
][
'VALUE'
];
$color
=
$item
[
'PROPERTIES'
][
'COLOR'
][
'VALUE'
];
$price
=
$item
[
'PROPERTIES'
][
'PRICE'
][
'VALUE'
];
?>
<?
//если бронь недоступна
if
(
closed
(
$_GET
[
'date'
],
$time
,
$arItem
[
'ID'
])
>
0
){
?>
<button
type=
"button"
data-toggle=
"tooltip"
class=
"item time_table_label closed"
>
<?=
$time
?>
</button>
<?
}
else
{
?>
<button
type=
"button"
data-action=
"show-order-form"
data-quest=
"
<?=
$arItem
[
'ID'
]
?>
"
data-date=
"
<?=
$_GET
[
'date'
]
?>
"
data-time=
"
<?=
$time
?>
"
data-type=
"quest"
data-cost=
"
<?=
$price
?>
"
data-price=
"
<?=
$color
?>
"
class=
"item time_table_label free"
>
<?=
$time
?>
</button>
<?
}
}
?>
</div>
<?
}
?>
</div>
<?
}
?>
</div>
</div>
</div>
</div>
</div>
\ No newline at end of file
local/php_interface/init.php
View file @
95afbbcc
...
...
@@ -3,6 +3,10 @@
// ключи рекапчи
define
(
"RE_SITE_KEY"
,
"6LdUvhMqAAAAAGXFJv_32hIuz8xtsj05pHKoiWIr"
);
define
(
"RE_SEC_KEY"
,
"6LdUvhMqAAAAANE0BPDr9IuMLGeXTKFugQcW1C6d"
);
// токен телеграмма
define
(
"TOKENTG"
,
"7225653216:AAFT5SI0Qm1meCV3pfBf5t3Us_kmBkVxLA4"
);
// функция получения квестов по жанрам
function
quests_genre
(
$genre
){
$genres
=
[];
...
...
@@ -94,7 +98,20 @@ function dayweek($currentDate)
// функция получения что дата и время забронировано
function
closed
(
$date
,
$time
,
$questId
)
{
$locations
=
array
(
4
,
48
,
65
,
76
);
$locations
=
[];
$arSelect
=
Array
(
"ID"
,
"IBLOCK_ID"
);
//IBLOCK_ID и ID обязательно должны быть указаны,
$arFilter
=
Array
(
"IBLOCK_ID"
=>
1
,
"ACTIVE"
=>
"Y"
,
"ID"
=>
$questId
);
$res
=
CIBlockElement
::
GetList
(
Array
(),
$arFilter
,
false
,
false
,
$arSelect
);
while
(
$ob
=
$res
->
GetNextElement
())
{
$prop
=
$ob
->
GetProperties
();
$locations
=
$prop
[
'LOCATION'
][
'VALUE'
];
$locations
[]
=
$questId
;
$locations
=
array_unique
(
$locations
);
}
//$locations = array(4, 48, 65, 76);
$iblockId
=
10
;
$date
=
date
(
'Y-m-d'
,
strtotime
(
$date
));
$arSelect
=
array
(
"ID"
,
"NAME"
,
"DATE_ACTIVE_FROM"
);
...
...
@@ -174,4 +191,71 @@ function price($time,$questId){
}
?>
\ No newline at end of file
// отправка сообщений в телеграмм
function
sendTelegram
(
$text
){
$getQuery
=
array
(
"chat_id"
=>
'-1002160247167'
,
"text"
=>
$text
,
"parse_mode"
=>
"html"
);
$ch
=
curl_init
(
"https://api.telegram.org/bot"
.
TOKENTG
.
"/sendMessage?"
.
http_build_query
(
$getQuery
));
curl_setopt
(
$ch
,
CURLOPT_RETURNTRANSFER
,
true
);
curl_setopt
(
$ch
,
CURLOPT_HEADER
,
false
);
$resultQuery
=
curl_exec
(
$ch
);
curl_close
(
$ch
);
echo
$resultQuery
;
}
// функция опеределяет какая чайная забронирована, чтобы убрать ее из попопа
function
teaBron
(
$time
,
$date
,
$questId
){
$iblockId
=
13
;
// инфоблок чайных
$teas
=
[];
// получаем чайные у квеста
$arSelect
=
Array
(
"ID"
,
"IBLOCK_ID"
);
//IBLOCK_ID и ID обязательно должны быть указаны,
$arFilter
=
Array
(
"IBLOCK_ID"
=>
1
,
"ACTIVE"
=>
"Y"
,
"ID"
=>
$questId
);
$res
=
CIBlockElement
::
GetList
(
Array
(),
$arFilter
,
false
,
false
,
$arSelect
);
while
(
$ob
=
$res
->
GetNextElement
())
{
$prop
=
$ob
->
GetProperties
();
$te
=
$prop
[
'TEAS'
][
'VALUE'
];
}
foreach
(
$te
as
$elementId
)
{
$element
=
\Bitrix\Iblock\Elements\ElementTeasTable
::
getByPrimary
(
$elementId
,
[
'select'
=>
[
'ID'
,
'NAME'
],
])
->
fetch
();
$teas
[
$element
[
'ID'
]]
=
$element
[
'NAME'
];
}
// получаем бронирование чайных
$arSelect
=
Array
(
"ID"
,
"IBLOCK_ID"
,
"PROPERTY_*"
);
$date
=
date
(
'Y-m-d'
,
strtotime
(
$date
));
$arFilter
=
Array
(
"IBLOCK_ID"
=>
$iblockId
,
"ACTIVE"
=>
"Y"
,
"PROPERTY_DATE"
=>
$date
,
);
$res
=
CIBlockElement
::
GetList
(
Array
(),
$arFilter
,
false
,
false
,
$arSelect
);
while
(
$ob
=
$res
->
GetNextElement
()){
$arItem
=
$ob
->
GetFields
();
$arItem
[
'PROPERTIES'
]
=
$ob
->
GetProperties
();
$hourBeg
=
explode
(
':'
,
$arItem
[
'PROPERTIES'
][
'TIME_BEGIN'
][
'VALUE'
]);
$hourBegin
=
$hourBeg
[
0
];
$minBegin
=
$hourBeg
[
1
];
$hourEn
=
explode
(
':'
,
$arItem
[
'PROPERTIES'
][
'TIME_END'
][
'VALUE'
]);
$hourEnd
=
$hourEn
[
0
];
$minEnd
=
$hourBeg
[
1
];
$hou
=
explode
(
':'
,
$time
);
$hour
=
$hou
[
0
];
// если время брони совпадает
if
(
$hour
>=
$hourBegin
&&
$hour
<=
$hourEnd
){
unset
(
$teas
[
$arItem
[
'PROPERTIES'
][
'TEA'
][
'VALUE'
]]);
}
}
return
$teas
;
}
local/templates/blackcat/components/bitrix/news.list/podarit/.parameters.php
0 → 100644
View file @
95afbbcc
<?
if
(
!
defined
(
"B_PROLOG_INCLUDED"
)
||
B_PROLOG_INCLUDED
!==
true
)
die
();
$arTemplateParameters
=
array
(
"DISPLAY_DATE"
=>
Array
(
"NAME"
=>
GetMessage
(
"T_IBLOCK_DESC_NEWS_DATE"
),
"TYPE"
=>
"CHECKBOX"
,
"DEFAULT"
=>
"Y"
,
),
"DISPLAY_NAME"
=>
Array
(
"NAME"
=>
GetMessage
(
"T_IBLOCK_DESC_NEWS_NAME"
),
"TYPE"
=>
"CHECKBOX"
,
"DEFAULT"
=>
"Y"
,
),
"DISPLAY_PICTURE"
=>
Array
(
"NAME"
=>
GetMessage
(
"T_IBLOCK_DESC_NEWS_PICTURE"
),
"TYPE"
=>
"CHECKBOX"
,
"DEFAULT"
=>
"Y"
,
),
"DISPLAY_PREVIEW_TEXT"
=>
Array
(
"NAME"
=>
GetMessage
(
"T_IBLOCK_DESC_NEWS_TEXT"
),
"TYPE"
=>
"CHECKBOX"
,
"DEFAULT"
=>
"Y"
,
),
);
?>
local/templates/blackcat/components/bitrix/news.list/podarit/result_modifier.php
0 → 100644
View file @
95afbbcc
<?
\Bitrix\Main\Loader
::
includeModule
(
'iblock'
);
local/templates/blackcat/components/bitrix/news.list/podarit/style.css
0 → 100644
View file @
95afbbcc
div
.news-list
img
.preview_picture
{
float
:
left
;
margin
:
0
4px
6px
0
;
}
local/templates/blackcat/components/bitrix/news.list/podarit/template.php
0 → 100644
View file @
95afbbcc
<?
if
(
!
defined
(
"B_PROLOG_INCLUDED"
)
||
B_PROLOG_INCLUDED
!==
true
)
die
();
/** @var array $arParams */
/** @var array $arResult */
/** @global CMain $APPLICATION */
/** @global CUser $USER */
/** @global CDatabase $DB */
/** @var CBitrixComponentTemplate $this */
/** @var string $templateName */
/** @var string $templateFile */
/** @var string $templateFolder */
/** @var string $componentPath */
/** @var CBitrixComponent $component */
$this
->
setFrameMode
(
true
);
?>
<div
class=
"present-container"
>
<div
class=
"page-present"
>
<div
class=
"row"
>
<div
class=
"col-sm-12 col-xs-12"
>
<h2>
Подарочные сертификаты на любые квесты!
</h2>
</div>
<div
class=
"col-sm-12 col-xs-12"
>
<p>
Серебрянный ключ - сертификат на любой квест - 2500 руб.
</p>
<p>
Золотой ключ - сертификат на любой перформанс - 3000 руб.
</p></div>
</div>
<div
class=
"buttons-present-block"
data-toggle=
"modal"
data-target=
"#presentModal"
>
<div
class=
"row"
>
<div
class=
"col-sm-3 col-xs-12"
>
<div
class=
"arrow_box"
>
<!--Стоимость карт 2500 руб-->
</div>
</div>
<div
id=
"present"
class=
"col-sm-4 col-sm-offset-3 hidden-xs"
>
<div
class=
"hidden-md hidden-sm"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"280px"
height=
"60px"
>
<path
fill-rule=
"evenodd"
fill=
"rgb(189, 70, 72)"
d=
"M280.012,30.612 L265.118,59.994 L11.303,59.994 L-0.012,30.612 L11.303,0.005 L265.118,0.005 L280.012,30.612 Z"
></path>
<text
font-family=
"Exo 2"
fill=
"rgb(255, 255, 255)"
font-weight=
"bold"
font-size=
"22px"
x=
"40px"
y=
"40px"
>
Сделать подарок
</text>
</svg>
</div>
<div
class=
"visible-md visible-sm"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"224px"
height=
"48px"
>
<path
fill-rule=
"evenodd"
fill=
"rgb(189, 70, 72)"
d=
"M224.009,24.489 L212.094,47.996 L9.042,47.996 L-0.010,24.489 L9.042,0.004 L212.094,0.004 L224.009,24.489 Z"
></path>
<text
font-family=
"Exo 2"
fill=
"rgb(255, 255, 255)"
font-weight=
"bold"
font-size=
"18px"
x=
"27px"
y=
"30px"
>
Сделать подарок
</text>
</svg>
</div>
</div>
<div
class=
"svg-xs col-xs-12 visible-xs"
>
<svg
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"224px"
height=
"48px"
>
<path
fill-rule=
"evenodd"
fill=
"rgb(189, 70, 72)"
d=
"M224.009,24.489 L212.094,47.996 L9.042,47.996 L-0.010,24.489 L9.042,0.004 L212.094,0.004 L224.009,24.489 Z"
></path>
<text
font-family=
"Exo 2"
fill=
"rgb(255, 255, 255)"
font-weight=
"bold"
font-size=
"18px"
x=
"27px"
y=
"30px"
>
Сделать подарок
</text>
</svg>
</div>
</div>
</div>
</div>
</div>
<div
class=
"slider-block slider-block-children"
>
<div
id=
"yw0"
class=
"list-view"
>
<div
class=
"owl-carousel owl-carousel-12"
>
<?
foreach
(
$arResult
[
"ITEMS"
]
as
$slider
)
{
?>
<div
class=
"owl-item"
>
<img
class=
"gallery-image"
src=
"
<?=
$slider
[
'PREVIEW_PICTURE'
][
"SRC"
]
?>
"
alt=
"DSCF8681-1.jpg"
>
</div>
<?
}
?>
</div>
</div>
</div>
<div
id=
"presentModal"
class=
"modal fade"
role=
"dialog"
>
<div
class=
"modal-dialog"
role=
"document"
>
<div
class=
"modal-content"
id=
"modal-body-content-text"
>
<div
class=
"modal-header"
>
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
aria-label=
"Закрыть"
>
<span
aria-hidden=
"true"
>
×
</span>
</button>
<h4
id=
"title-header-callback"
class=
"modal-title"
>
Сделать подарок
</h4>
</div>
<form
class=
"form form"
id=
"presentModalMe"
action=
"#"
method=
"post"
>
<div
class=
"modal-body"
>
<div
class=
"row"
>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"form-group"
><label
class=
"control-label required"
for=
"PresentModel_name"
>
Имя
<span
class=
"required"
>
*
</span></label><input
class=
"form-control"
placeholder=
"Имя"
name=
"NAME"
id=
"PresentModel_name"
type=
"text"
maxlength=
"30"
/>
<div
class=
"help-block1"
>
Необходимо заполнить поле "Имя"
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"form-group"
><label
class=
"control-label required"
for=
"PresentModel_phone"
>
Телефон
<span
class=
"required"
>
*
</span></label><input
data-mask=
"phone"
class=
"form-control"
placeholder=
"Телефон"
name=
"PHONE"
id=
"PresentModel_phone"
type=
"text"
/>
<div
class=
"help-block1"
>
Необходимо заполнить поле "Телефон"
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<div
class=
"form-group"
><label
class=
"control-label required"
for=
"PresentModel_email"
>
E-mail
<span
class=
"required"
>
*
</span></label><input
data-mask=
"email"
class=
"form-control"
placeholder=
"E-mail"
name=
"EMAIL"
id=
"PresentModel_email"
type=
"text"
/>
<div
class=
"help-block1"
>
Необходимо заполнить поле "E-mail"
</div>
</div>
</div>
</div>
<div
class=
"row "
>
<div
class=
"col-sm-12 form-group"
>
<div
class=
"g-recaptcha"
data-sitekey=
"
<?=
RE_SITE_KEY
?>
"
></div>
<div
class=
"help-block-capcha1"
>
Вы не прошли проверку
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-12"
>
<button
type=
"submit"
class=
"btn btn-success"
id=
"callback-send"
>
Отправить
</button>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-xs-12"
>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
\ No newline at end of file
local/templates/blackcat/components/bitrix/news/quests/bitrix/news.detail/.default/result_modifier.php
View file @
95afbbcc
...
...
@@ -47,7 +47,7 @@ $arFilter = Array(
"ACTIVE"
=>
"Y"
,
"PROPERTY_QUEST"
=>
$arResult
[
'ID'
],
);
$res
=
CIBlockElement
::
GetList
(
array
(
'
PRPPERTY_PRICE'
=>
'ASC'
),
$arFilter
,
false
,
false
,
$arSelect
);
$res
=
CIBlockElement
::
GetList
(
array
(
'
SORT'
=>
'ASC'
,
'ID'
=>
"ASC"
),
$arFilter
,
false
,
false
,
$arSelect
);
while
(
$ob
=
$res
->
GetNextElement
())
{
$arItem
=
$ob
->
GetFields
();
$arItem
[
'PROPERTIES'
]
=
$ob
->
GetProperties
();
...
...
local/templates/blackcat/components/bitrix/news/quests/bitrix/news.detail/.default/template.php
View file @
95afbbcc
...
...
@@ -106,7 +106,7 @@ $kol = 3;
<div
id=
"yw0"
class=
"list-view"
>
<div
class=
"owl-carousel owl-carousel-79"
>
<?
foreach
(
$arResult
[
"PROPERTIES"
][
'SLIDER'
][
'VALUE'
]
as
$slider
)
{
$img
=
CFile
::
ResizeImageGet
(
$slider
,
array
(
'width'
=>
400
,
'height'
=>
300
)
$img
=
CFile
::
ResizeImageGet
(
$slider
,
array
(
'width'
=>
821
,
'height'
=>
382
)
,
BX_RESIZE_IMAGE_PROPORTIONAL
,
true
);
?>
<div>
...
...
@@ -151,10 +151,9 @@ $kol = 3;
</div>
</div>
<!--<div class="reservation"></div>-->
<?
//модальное окно отзывов?>
<
script
src
=
"https://www.google.com/recaptcha/api.js"
></
script
>
<
div
class
="
modal
fade
" id="
reviewModal
" tabindex="
-
1
" aria-labelledby="
exampleModalLabel
" aria-hidden="
true
">
<div class="
modal
-
dialog
modal
-
dialog
-
centered
">
...
...
@@ -207,97 +206,6 @@ $kol = 3;
<div
class=
"reservation"
>
<div
class=
"reservation_bottom"
>
<div
class=
"modal fade"
id=
"reserve"
tabindex=
"-1"
role=
"dialog"
aria-labelledby=
"myModalLabel"
aria-hidden=
"true"
>
<div
class=
"modal-dialog"
>
<div
class=
"modal-content"
>
<div
class=
"modal-header"
>
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
aria-hidden=
"true"
>
×
</button>
<h4>
Забронировать квест
<span
id=
"js-quest-title"
></span></h4>
</div>
<div
class=
"modal-body"
>
<div
class=
"info-block"
>
<div
class=
"column quest-date"
>
<i
class=
"fa fa-calendar"
></i>
<span>
20 сентября
</span>
</div>
<div
class=
"column order-price"
>
Стоимость
<br>
<span>
5000 р.
</span></div>
<div
class=
"column quest-time"
>
<i
class=
"fa fa-clock-o"
></i>
<span
id=
"js-quest-time"
>
20:00
</span></div>
</div>
<div
class=
"bron_error"
>
Извините, время уже забронировано
</div>
<form
class=
"form"
id=
"reserve-form"
action=
"#"
method=
"post"
>
<input
name=
"QUEST"
type=
"hidden"
id=
"quest"
value=
""
>
<input
name=
"DATE"
type=
"hidden"
id=
"date"
value=
""
>
<input
name=
"TIME"
type=
"hidden"
id=
"time"
value=
""
>
<div
class=
"modal-body"
>
<div
class=
"body-form"
>
<select
name=
"GAMES"
id=
"games"
>
</select>
<div
class=
"form-group"
>
<label
class=
"control-label required"
for=
"QuestDate_name"
>
Имя и фамилия
<span
class=
"required"
>
*
</span></label><input
class=
"form-control"
name=
"NAME"
id=
"bron1"
type=
"text"
maxlength=
"255"
/>
<div
class=
"help-block-bron"
>
Необходимо заполнить поле "Имя и фамилия"
</div>
</div>
<div
class=
"form-group"
><label
class=
"control-label required"
for=
"QuestDate_phone"
>
Телефон
<span
class=
"required"
>
*
</span></label><input
data-mask=
"phone"
class=
"form-control"
placeholder=
"Телефон"
name=
"PHONE"
id=
"bron2"
type=
"text"
maxlength=
"255"
/>
<div
class=
"help-block-bron"
>
Необходимо заполнить поле "Телефон"
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"control-label required"
for=
"QuestDate_email"
>
Email
<span
class=
"required"
>
*
</span>
</label>
<input
class=
"form-control"
placeholder=
"Email"
name=
"EMAIL"
id=
"bron3"
type=
"text"
/>
<div
class=
"help-block-bron"
>
Необходимо заполнить поле "Телефон"
</div>
</div>
<div
class=
"form-group"
><label
class=
"control-label"
for=
"QuestDate_comment"
>
Коментарий
</label><textarea
placeholder=
"Комментарий:
У вас день рождения, корпоратив, мальчишник, выпускной или другой праздник? Скажите нам это или что-нибудь еще."
rows=
"4"
class=
"form-control"
name=
"COMMENT"
id=
"quest_comment"
maxlength=
"150"
></textarea>
</div>
<?
if
(
!
empty
(
$arResult
[
'TEAS'
])){
?>
<div
class=
"form-group"
>
<select
name=
"TEA"
>
<option
value=
""
>
Выберите чайную комнату
</option>
<?
foreach
(
$arResult
[
"TEAS"
]
as
$item
)
{
?>
<option
value=
"
<?=
$item
[
'ID'
]
?>
"
>
<?=
$item
[
"NAME"
]
?>
</option>
<?
}
?>
</select>
</div>
<?
}
?>
<div
class=
"modal-footer"
>
<input
class=
""
type=
"submit"
name=
"send"
value=
"Отправить"
/>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<span
id=
"needRightTime"
data-toggle=
"modal"
data-target=
"#myModal"
>
Нужное время занято?
</span>
<div
class=
"modal fade"
id=
"myModal"
tabindex=
"-1"
role=
"dialog"
aria-labelledby=
"myModalLabel"
l
aria-hidden=
"true"
>
...
...
local/templates/blackcat/components/bitrix/news/quests/bitrix/news.list/.default/down.svg
View file @
95afbbcc
<svg
fill=
"none"
height=
"8"
viewBox=
"0 0 12 8"
width=
"12"
xmlns=
"http://www.w3.org/2000/svg"
><path
clip-rule=
"evenodd"
d=
"M2.16 2.3a.75.75 0 0 1 1.05-.14L6 4.3l2.8-2.15a.75.75 0 1 1 .9 1.19l-3.24 2.5c-.27.2-.65.2-.92 0L2.3 3.35a.75.75 0 0 1-.13-1.05z"
fill=
"currentColor"
fill-rule=
"evenodd"
></path></svg>
>
<path
d=
"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"
fill=
"white"
></path></svg>
\ No newline at end of file
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
style=
"color: white"
xmlns=
"http://www.w3.org/2000/svg"
viewBox=
"0 0 512 512"
>
<!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.-->
<path
d=
"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"
fill=
"white"
></path></svg>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment