1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
gratitude.php
См. документацию.
1
<?php
8
namespace
Bitrix\Socialnetwork\Helper;
9
10
use Bitrix\Main\Loader;
11
use Bitrix\Main\Localization\Loc;
12
13
Loc::loadMessages(__FILE__);
14
15
class
Gratitude
16
{
17
const
SOCIALNETWORK_GRATITUDE_IBLOCK_TYPE_ID
=
'structure'
;
18
const
SOCIALNETWORK_GRATITUDE_IBLOCK_CODE
=
'honour'
;
19
const
SOCIALNETWORK_GRATITUDE_PROPERTY_CODE
=
'GRATITUDE'
;
20
21
public
static
function
getPropertyData
()
22
{
23
static
$result
=
null
;
24
25
if
(
$result
===
null
)
26
{
27
$result
= [];
28
29
if
(!Loader::includeModule(
'iblock'
))
30
{
31
return
$result
;
32
}
33
34
$res
= \Bitrix\Iblock\PropertyEnumerationTable::getList(
array
(
35
'select'
=> [
'ID'
,
'VALUE'
,
'SORT'
,
'XML_ID'
],
36
'filter'
=> [
37
'=PROPERTY.IBLOCK_ID'
=> self::getIblockId(),
38
'=PROPERTY.CODE'
=> self::SOCIALNETWORK_GRATITUDE_PROPERTY_CODE
39
],
40
'order'
=> [
'SORT'
=>
'ASC'
]
41
));
42
while
($enumFields =
$res
->fetch())
43
{
44
$result
[$enumFields[
'XML_ID'
]] = $enumFields;
45
}
46
}
47
48
return
$result
;
49
}
50
51
public
static
function
getIblockId
()
52
{
53
static
$result
=
null
;
54
55
if
(
$result
===
null
)
56
{
57
$result
=
false
;
58
59
if
(!Loader::includeModule(
'iblock'
))
60
{
61
return
$result
;
62
}
63
64
$res
=
\Bitrix\Iblock\IblockTable::getList
(
array
(
65
'filter'
=> [
66
'=CODE'
=> self::SOCIALNETWORK_GRATITUDE_IBLOCK_CODE,
67
'=IBLOCK_TYPE_ID'
=> self::SOCIALNETWORK_GRATITUDE_IBLOCK_TYPE_ID
68
],
69
'select'
=> [
'ID'
]
70
));
71
if
($iblockFields =
$res
->fetch())
72
{
73
$result
= (int)($iblockFields[
'ID'
]);
74
}
75
}
76
77
return
$result
;
78
}
79
80
public
static
function
create
(
array
$params
= [])
81
{
82
global
$CACHE_MANAGER
;
83
84
$result
=
null
;
85
86
if
(!Loader::includeModule(
'iblock'
))
87
{
88
return
$result
;
89
}
90
91
$medal = (!empty(
$params
[
'medal'
]) ? trim(
$params
[
'medal'
]) :
''
);
92
$employees = (is_array(
$params
[
'employees'
]) && !empty(
$params
[
'employees'
]) ?
$params
[
'employees'
] : []);
93
if
(
94
$medal ===
''
95
|| empty($employees)
96
)
97
{
98
return
$result
;
99
}
100
101
$gratitudesIblockId =
\Bitrix\Socialnetwork\Component\LogList\Gratitude::getGratitudesIblockId
();
102
if
(!$gratitudesIblockId)
103
{
104
return
$result
;
105
}
106
107
$gratitudesPropertyData =
self::getPropertyData
();
108
if
(!array_key_exists($medal, $gratitudesPropertyData))
109
{
110
return
$result
;
111
}
112
113
$gratitudeEnumFields = $gratitudesPropertyData[$medal];
114
115
$gratitudeElement = new \CIBlockElement;
116
$result
= $gratitudeElement->add(
117
[
118
'IBLOCK_ID'
=> $gratitudesIblockId,
119
'DATE_ACTIVE_FROM'
=>
new
\
Bitrix
\
Main
\
Type
\
DateTime
(),
120
'NAME'
=> str_replace(
'#GRAT_NAME#'
, $gratitudeEnumFields[
'VALUE'
], Loc::getMessage(
'SOCIALNETWORK_HELPER_GRATITUDE_IBLOCKELEMENT_NAME'
))
121
],
122
false
,
123
false
124
);
125
126
if
(
$result
)
127
{
128
\CIBlockElement::setPropertyValuesEx(
129
$result
,
130
$gratitudesIblockId,
131
[
132
'USERS'
=> $employees,
133
self::SOCIALNETWORK_GRATITUDE_PROPERTY_CODE => [
'VALUE'
=> $gratitudeEnumFields[
'ID'
] ]
134
]
135
);
136
137
if
(defined(
"BX_COMP_MANAGED_CACHE"
))
138
{
139
foreach
($employees as $employeeId)
140
{
141
$CACHE_MANAGER
->clearByTag(
'BLOG_POST_GRATITUDE_TO_USER_'
.$employeeId);
142
}
143
}
144
}
145
146
return
$result
;
147
}
148
}
149
?>
Bitrix\Main\ORM\Data\DataManager\getList
static getList(array $parameters=array())
Определения
datamanager.php:431
Bitrix\Main\Type\DateTime
Определения
datetime.php:9
Bitrix\Socialnetwork\Component\LogList\Gratitude\getGratitudesIblockId
static getGratitudesIblockId()
Определения
gratitude.php:96
Bitrix\Socialnetwork\Helper\Gratitude
Определения
gratitude.php:16
Bitrix\Socialnetwork\Helper\Gratitude\SOCIALNETWORK_GRATITUDE_IBLOCK_TYPE_ID
const SOCIALNETWORK_GRATITUDE_IBLOCK_TYPE_ID
Определения
gratitude.php:17
Bitrix\Socialnetwork\Helper\Gratitude\getPropertyData
static getPropertyData()
Определения
gratitude.php:21
Bitrix\Socialnetwork\Helper\Gratitude\getIblockId
static getIblockId()
Определения
gratitude.php:51
Bitrix\Socialnetwork\Helper\Gratitude\SOCIALNETWORK_GRATITUDE_PROPERTY_CODE
const SOCIALNETWORK_GRATITUDE_PROPERTY_CODE
Определения
gratitude.php:19
Bitrix\Socialnetwork\Helper\Gratitude\SOCIALNETWORK_GRATITUDE_IBLOCK_CODE
const SOCIALNETWORK_GRATITUDE_IBLOCK_CODE
Определения
gratitude.php:18
Bitrix\Socialnetwork\Helper\Gratitude\create
static create(array $params=[])
Определения
gratitude.php:80
$CACHE_MANAGER
global $CACHE_MANAGER
Определения
clear_component_cache.php:7
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
$res
$res
Определения
filter_act.php:7
$result
$result
Определения
get_property_values.php:14
Bitrix\Main\Type
Определения
collection.php:2
Bitrix\Main
Bitrix
$params
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']
Определения
template.php:799
bitrix
modules
socialnetwork
lib
helper
gratitude.php
Создано системой
1.14.0