1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
logtag.php
См. документацию.
1
<?php
8
namespace
Bitrix\Socialnetwork;
9
10
use Bitrix\Main\Entity;
11
28
class
LogTagTable
extends
Entity\DataManager
29
{
30
const
ITEM_TYPE_LOG
=
'L'
;
31
const
ITEM_TYPE_COMMENT
=
'LC'
;
32
33
public
static
function
getTableName
()
34
{
35
return
'b_sonet_log_tag'
;
36
}
37
38
public
static
function
getItemTypes
()
39
{
40
return
array
(
41
self::ITEM_TYPE_LOG,
42
self::ITEM_TYPE_COMMENT
43
);
44
}
45
46
public
static
function
getMap
()
47
{
48
return
array
(
49
'LOG_ID'
=>
array
(
50
'data_type'
=>
'integer'
,
51
),
52
'LOG'
=>
array
(
53
'data_type'
=>
'\Bitrix\Socialnetwork\Log'
,
54
'reference'
=>
array
(
'=this.LOG_ID'
=>
'ref.ID'
)
55
),
56
'ITEM_TYPE'
=>
array
(
57
'data_type'
=>
'string'
,
58
'primary'
=>
true
,
59
),
60
'ITEM_ID'
=>
array
(
61
'data_type'
=>
'string'
,
62
'primary'
=>
true
,
63
),
64
'NAME'
=>
array
(
65
'data_type'
=>
'string'
,
66
'primary'
=>
true
67
)
68
);
69
}
70
71
public
static
function
deleteByLogId
(
$params
=
array
())
72
{
73
if
(
74
!is_array(
$params
)
75
|| empty(
$params
[
'logId'
])
76
|| intval(
$params
[
'logId'
]) <= 0
77
)
78
{
79
return
false
;
80
}
81
82
\Bitrix\Main\Application::getConnection
()->queryExecute(
'DELETE FROM '
.self::getTableName().
' WHERE LOG_ID = '
.intval(
$params
[
'logId'
]));
83
return
true
;
84
}
85
86
public
static
function
deleteByItem
(
$params
=
array
())
87
{
88
if
(
89
!is_array(
$params
)
90
|| empty(
$params
[
'itemId'
])
91
|| intval(
$params
[
'itemId'
]) <= 0
92
)
93
{
94
return
false
;
95
}
96
97
if
(
98
empty(
$params
[
'itemType'
])
99
|| !in_array(
$params
[
'itemType'
], self::getItemTypes())
100
)
101
{
102
$params
[
'itemType'
] = self::ITEM_TYPE_LOG;
103
}
104
105
\Bitrix\Main\Application::getConnection
()->queryExecute(
'DELETE FROM '
.self::getTableName().
' WHERE ITEM_TYPE = \''
.
$params
[
'itemType'
].
'\'
AND ITEM_ID =
'.intval($params['
itemId
']));
106
return true;
107
}
108
109
public static function set($params = array())
110
{
111
if (
112
!is_array($params)
113
|| empty($params['
itemId
'])
114
|| intval($params['
itemId
']) <= 0
115
|| !isset($params['
tags
'])
116
|| !is_array($params['
tags
'])
117
)
118
{
119
return false;
120
}
121
122
if (
123
empty($params['
itemType
'])
124
|| !in_array($params['
itemType
'], self::getItemTypes())
125
)
126
{
127
$params['
itemType
'] = self::ITEM_TYPE_LOG;
128
}
129
130
if ($params['
itemType
'] == self::ITEM_TYPE_LOG)
131
{
132
$params['
logId
'] = intval($params['
itemId
']);
133
}
134
elseif (
135
empty($params['
logId
'])
136
|| intval($params['
logId
']) <= 0
137
)
138
{
139
$res = LogCommentTable::getList(array(
140
'
filter
' => array(
141
'
ID
' => intval($params['
itemId
'])
142
),
143
'
select
' => array('
LOG_ID
')
144
));
145
if ($logEntry = $res->fetch())
146
{
147
$params['
logId
'] = intval($logEntry['
LOG_ID
']);
148
}
149
}
150
151
if (
152
empty($params['
logId
'])
153
|| intval($params['
logId
']) <= 0
154
)
155
{
156
return false;
157
}
158
159
self::deleteByItem(array(
160
'
itemType
' => $params['
itemType
'],
161
'
itemId
' => intval($params['
itemId
'])
162
));
163
164
$addedLowerCaseTagsList = [];
165
166
$connection = \Bitrix\Main\Application::getConnection();
167
$sqlHelper = $connection->getSqlHelper();
168
169
foreach($params['
tags
'] as $tag)
170
{
171
$lowerCaseTag = mb_strtolower($tag);
172
if (in_array($lowerCaseTag, $addedLowerCaseTagsList))
173
{
174
continue;
175
}
176
177
$sqlQuery = $connection->getSqlHelper()->getInsertIgnore(
178
self::getTableName(),
179
'
(ITEM_TYPE, ITEM_ID, LOG_ID, NAME)
',
180
"VALUES('
"
181
. $sqlHelper->forSql($params['itemType']) . "
', "
182
. (int)$params['
itemId
'] . ", "
183
. (int)$params['
logId
'] . ", '
"
184
. $sqlHelper->forSql($tag) . "
')"
185
);
186
187
$connection->query($sqlQuery);
188
189
$addedLowerCaseTagsList[] = $lowerCaseTag; // index requirement;
190
}
191
192
return true;
193
}
194
}
select
return select
Определения
access_edit.php:440
Bitrix\Main\Application\getConnection
static getConnection($name="")
Определения
application.php:638
Bitrix\Socialnetwork\LogTagTable
Определения
logtag.php:29
Bitrix\Socialnetwork\LogTagTable\getItemTypes
static getItemTypes()
Определения
logtag.php:38
Bitrix\Socialnetwork\LogTagTable\deleteByLogId
static deleteByLogId($params=array())
Определения
logtag.php:71
Bitrix\Socialnetwork\LogTagTable\getMap
static getMap()
Определения
logtag.php:46
Bitrix\Socialnetwork\LogTagTable\ITEM_TYPE_COMMENT
const ITEM_TYPE_COMMENT
Определения
logtag.php:31
Bitrix\Socialnetwork\LogTagTable\ITEM_TYPE_LOG
const ITEM_TYPE_LOG
Определения
logtag.php:30
Bitrix\Socialnetwork\LogTagTable\deleteByItem
static deleteByItem($params=array())
Определения
logtag.php:86
Bitrix\Socialnetwork\LogTagTable\getTableName
static getTableName()
Определения
logtag.php:33
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
$params
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']
Определения
template.php:799
bitrix
modules
socialnetwork
lib
logtag.php
Создано системой
1.14.0