1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
message.php
См. документацию.
1
<?php
2
3
4
namespace
Bitrix\Forum\Integration\Search
;
5
6
7
use
Bitrix\Main
;
8
use
Bitrix\Forum
;
9
use
Bitrix\Forum\Permission
;
10
11
class
Message
12
{
13
public
static
function
index
(
Forum
\
Forum
$forum,
Forum
\
Topic
$topic,
array
$message
)
14
{
15
if
(!
Main
\
Loader::includeModule
(
"search"
) ||
$message
[
"SERVICE_TYPE"
] > 0)
16
{
17
return
;
18
}
19
20
if
(
Main
\
Config
\Option::get(
"forum"
,
"FILTER"
,
"Y"
) ==
"Y"
&&
$message
[
"POST_MESSAGE_FILTER"
] !==
null
)
21
{
22
$message
[
"POST_MESSAGE"
] =
$message
[
"POST_MESSAGE_FILTER"
];
23
}
24
25
$arParams
= [
26
"PERMISSION"
=> [1],
27
"SITE"
=> $forum->getSites(),
28
"DEFAULT_URL"
=>
"/"
29
];
30
31
foreach
($forum->getPermissions() as $groupId => $permission)
32
{
33
if
(
34
$message
[
"APPROVED"
] ==
"Y"
&& $permission >=
Permission::CAN_READ
35
||
36
$message
[
"APPROVED"
] !=
"Y"
&& $permission >=
Permission::CAN_MODERATE
37
)
38
{
39
$arParams
[
"PERMISSION"
][] = $groupId;
40
}
41
}
42
43
44
$arSearchInd =
array
(
45
"LID"
=>
array
(),
46
"LAST_MODIFIED"
=>
$message
[
"POST_DATE"
],
47
"PARAM1"
=>
$message
[
"FORUM_ID"
],
48
"PARAM2"
=>
$message
[
"TOPIC_ID"
],
49
"ENTITY_TYPE_ID"
=> (
$message
[
"NEW_TOPIC"
] ==
"Y"
?
"FORUM_TOPIC"
:
"FORUM_POST"
),
50
"ENTITY_ID"
=> (
$message
[
"NEW_TOPIC"
] ==
"Y"
?
$message
[
"TOPIC_ID"
]:
$message
[
"ID"
]),
51
"USER_ID"
=>
$message
[
"AUTHOR_ID"
],
52
"PERMISSIONS"
=>
$arParams
[
"PERMISSION"
],
53
"TITLE"
=> $topic[
"TITLE"
].(
$message
[
"NEW_TOPIC"
] ==
"Y"
&& !empty($topic[
"DESCRIPTION"
]) ?
", "
.$topic[
"DESCRIPTION"
] :
""
),
54
"TAGS"
=> (
$message
[
"NEW_TOPIC"
] ==
"Y"
? $topic[
"TAGS"
] :
""
),
55
"BODY"
=>
GetMessage
(
"AVTOR_PREF"
).
" "
.
$message
[
"AUTHOR_NAME"
].
". "
.(\
CSearch::KillTags
(\
forumTextParser::clearAllTags
(
$message
[
"POST_MESSAGE"
]))),
56
"URL"
=>
""
,
57
"INDEX_TITLE"
=>
$message
[
"NEW_TOPIC"
] ==
"Y"
,
58
);
59
60
// get mentions
61
$arMentionedUserID =
\CForumMessage::GetMentionedUserID
(
$message
[
"POST_MESSAGE"
]);
62
if
(!empty($arMentionedUserID))
63
{
64
$arSearchInd[
"PARAMS"
] =
array
(
65
"mentioned_user_id"
=> $arMentionedUserID
66
);
67
}
68
69
$urlPatterns =
array
(
70
"FORUM_ID"
=>
$message
[
"FORUM_ID"
],
71
"TOPIC_ID"
=>
$message
[
"TOPIC_ID"
],
72
"TITLE_SEO"
=> $topic[
"TITLE_SEO"
],
73
"MESSAGE_ID"
=>
$message
[
"ID"
],
74
"SOCNET_GROUP_ID"
=> $topic[
"SOCNET_GROUP_ID"
],
75
"OWNER_ID"
=> $topic[
"OWNER_ID"
],
76
"PARAM1"
=>
$message
[
"PARAM1"
],
77
"PARAM2"
=>
$message
[
"PARAM2"
]);
78
foreach
(
$arParams
[
"SITE"
] as
$key
=>
$val
)
79
{
80
$arSearchInd[
"LID"
][
$key
] =
\CForumNew::PreparePath2Message
(
$val
, $urlPatterns);
81
if
(empty($arSearchInd[
"URL"
]) && !empty($arSearchInd[
"LID"
][
$key
]))
82
$arSearchInd[
"URL"
] = $arSearchInd[
"LID"
][
$key
];
83
}
84
85
if
(empty($arSearchInd[
"URL"
]) && (
$res
= \CLang::GetByID(
SITE_ID
)->fetch()))
86
{
87
$arParams
[
"DEFAULT_URL"
] .=
$res
[
"DIR"
].
88
Main\Config\Option::get
(
"forum"
,
"REL_FPATH"
,
""
).
89
"forum/read.php?FID=#FID#&TID=#TID#&MID=#MID##message#MID#"
;
90
$arSearchInd[
"URL"
] =
\CForumNew::PreparePath2Message
(
$arParams
[
"DEFAULT_URL"
], $urlPatterns);
91
}
92
/***************** Events onMessageIsIndexed ***********************/
93
$index =
true
;
94
foreach
(
GetModuleEvents
(
"forum"
,
"onMessageIsIndexed"
,
true
) as $arEvent)
95
{
96
if
(
ExecuteModuleEventEx
($arEvent,
array
(
$message
[
"ID"
],
$message
, &$arSearchInd)) ===
false
)
97
{
98
$index =
false
;
99
break
;
100
}
101
}
102
/***************** /Events *****************************************/
103
if
($index ==
true
)
104
{
105
\CSearch::Index
(
"forum"
,
$message
[
"ID"
], $arSearchInd,
true
);
106
}
107
}
108
109
public
static
function
deleteIndex
(
array
$message
)
110
{
111
if
(
Main
\
Loader::includeModule
(
"search"
))
112
{
113
\CSearch::DeleteIndex
(
"forum"
,
$message
[
'ID'
]);
114
}
115
}
116
}
$arParams
$arParams
Определения
access_dialog.php:21
Bitrix\Forum\Integration\Search\Message
Определения
message.php:12
Bitrix\Forum\Integration\Search\Message\index
static index(Forum\Forum $forum, Forum\Topic $topic, array $message)
Определения
message.php:13
Bitrix\Forum\Integration\Search\Message\deleteIndex
static deleteIndex(array $message)
Определения
message.php:109
Bitrix\Forum\Integration\Search\Topic
Определения
topic.php:9
Bitrix\Forum\Permission
Определения
permission.php:66
Bitrix\Forum\Permission\CAN_READ
const CAN_READ
Определения
permission.php:68
Bitrix\Forum\Permission\CAN_MODERATE
const CAN_MODERATE
Определения
permission.php:71
Bitrix\Main\Config\Option\get
static get($moduleId, $name, $default="", $siteId=false)
Определения
option.php:30
Bitrix\Main\Loader\includeModule
static includeModule($moduleName)
Определения
loader.php:67
CAllForumMessage\GetMentionedUserID
static GetMentionedUserID($strMessage)
Определения
message.php:1176
CAllForumNew\PreparePath2Message
static PreparePath2Message($strPath, $arVals=array())
Определения
forum_new.php:1801
CAllSearch\DeleteIndex
static DeleteIndex($MODULE_ID, $ITEM_ID=false, $PARAM1=false, $PARAM2=false, $SITE_ID=false)
Определения
search.php:2922
CAllSearch\KillTags
static KillTags($str)
Определения
search.php:2092
CAllSearch\Index
static Index($MODULE_ID, $ITEM_ID, $arFields, $bOverWrite=false, $SEARCH_SESS_ID='')
Определения
search.php:1302
CTextParser\clearAllTags
static clearAllTags($text)
Определения
textparser.php:2358
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
ExecuteModuleEventEx
ExecuteModuleEventEx($arEvent, $arParams=[])
Определения
tools.php:5214
GetModuleEvents
GetModuleEvents($MODULE_ID, $MESSAGE_ID, $bReturnArray=false)
Определения
tools.php:5177
GetMessage
GetMessage($name, $aReplace=null)
Определения
tools.php:3397
Bitrix\Forum\Integration\Search
Определения
message.php:4
Bitrix\Forum
Bitrix\Main\Config
Определения
configuration.php:3
Bitrix\Main
$message
$message
Определения
payment.php:8
$key
if(empty($signedUserToken)) $key
Определения
quickway.php:257
$val
$val
Определения
options.php:1793
SITE_ID
const SITE_ID
Определения
sonet_set_content_view.php:12
bitrix
modules
forum
lib
integration
search
message.php
Создано системой
1.14.0