1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
taskstask.php
См. документацию.
1
<?php
2
namespace
Bitrix\Socialnetwork\Livefeed;
3
4
use Bitrix\Main\Loader;
5
use Bitrix\Main\Config\Option;
6
use Bitrix\Main\Localization\Loc;
7
8
Loc::loadMessages(__FILE__);
9
10
final
class
TasksTask
extends
Provider
11
{
12
public
const
PROVIDER_ID
=
'TASK'
;
13
public
const
CONTENT_TYPE_ID
=
'TASK'
;
14
15
protected
static
$tasksTaskClass
= \CTasks::class;
16
17
public
static
function
getId
(): string
18
{
19
return
static::PROVIDER_ID;
20
}
21
22
public
function
getEventId
():
array
23
{
24
return
[
25
'tasks'
,
26
'crm_activity_add'
27
];
28
}
29
30
public
function
getType
(): string
31
{
32
return
Provider::TYPE_POST
;
33
}
34
35
public
function
getCommentProvider
(): Provider
36
{
37
return
new
ForumPost
();
38
}
39
40
public
function
initSourceFields
()
41
{
42
static
$cache = [];
43
44
$taskId =
$this->entityId
;
45
46
if
($taskId <= 0)
47
{
48
return
;
49
}
50
51
$checkAccess = ($this->
getOption
(
'checkAccess'
) !==
false
);
52
$cacheKey = $taskId .
'_'
. ($checkAccess ?
'Y'
:
'N'
);
53
54
if
(isset($cache[$cacheKey]))
55
{
56
$task = $cache[$cacheKey];
57
}
58
elseif
(Loader::includeModule(
'tasks'
))
59
{
60
$res
= self::$tasksTaskClass::getByID($taskId, $checkAccess);
61
$task =
$res
->fetch();
62
$cache[$cacheKey] = $task;
63
}
64
65
if
(empty($task))
66
{
67
return
;
68
}
69
70
$this->
setSourceFields
($task);
71
$this->
setSourceDescription
($task[
'DESCRIPTION'
]);
72
$this->
setSourceTitle
($task[
'TITLE'
]);
73
$this->
setSourceAttachedDiskObjects
($this->
getAttachedDiskObjects
($this->cloneDiskObjects));
74
$this->
setSourceDiskObjects
($this->
getDiskObjects
($taskId, $this->cloneDiskObjects));
75
76
}
77
78
public
function
getPinnedTitle
(): string
79
{
80
$result
=
''
;
81
82
if
(empty($this->sourceFields))
83
{
84
$this->
initSourceFields
();
85
}
86
87
$task = $this->
getSourceFields
();
88
if
(empty($task))
89
{
90
return
$result
;
91
}
92
93
return
(
string
)Loc::getMessage(
'SONET_LIVEFEED_TASKS_TASK_PINNED_TITLE'
, [
94
'#TITLE#'
=> $task[
'TITLE'
]
95
]);
96
}
97
98
public
function
getPinnedDescription
(): string
99
{
100
$result
=
''
;
101
102
if
(empty($this->sourceFields))
103
{
104
$this->
initSourceFields
();
105
}
106
107
$task = $this->
getSourceFields
();
108
if
(empty($task))
109
{
110
return
$result
;
111
}
112
113
return
(
string
)Loc::getMessage(
'SONET_LIVEFEED_TASKS_TASK_PINNED_DESCRIPTION'
, [
114
'#RESPONSIBLE#'
=> \CUser::formatName(
115
\CSite::getNameFormat(),
116
[
117
'NAME'
=> $task[
'RESPONSIBLE_NAME'
],
118
'LAST_NAME'
=> $task[
'RESPONSIBLE_LAST_NAME'
],
119
'SECOND_NAME'
=> $task[
'RESPONSIBLE_SECOND_NAME'
]
120
],
121
true
,
122
false
123
)
124
]);
125
}
126
127
protected
function
getAttachedDiskObjects
($clone =
false
):
array
128
{
129
return
$this->
getEntityAttachedDiskObjects
([
130
'userFieldEntity'
=>
'TASKS_TASK'
,
131
'userFieldCode'
=>
'UF_TASK_WEBDAV_FILES'
,
132
'clone'
=> $clone,
133
]);
134
}
135
136
public
static
function
canRead
(
$params
): bool
137
{
138
return
true
;
139
}
140
141
protected
function
getPermissions
(
array
$post
): string
142
{
143
return
self::PERMISSION_READ;
144
}
145
146
public
function
getLiveFeedUrl
(): string
147
{
148
$pathToTask =
''
;
149
$userPage = Option::get(
'socialnetwork'
,
'user_page'
,
''
,
SITE_ID
);
150
if
(
151
!empty($userPage)
152
&& ($task = $this->
getSourceFields
())
153
&& !empty($task)
154
)
155
{
156
$pathToTask =
\CComponentEngine::makePathFromTemplate
($userPage.
"user/#user_id#/tasks/task/#action#/#task_id#/"
,
array
(
157
"user_id"
=> $task[
"CREATED_BY"
],
158
"action"
=>
"view"
,
159
"task_id"
=> $task[
"ID"
]
160
));
161
}
162
163
return
$pathToTask;
164
}
165
}
Bitrix\Socialnetwork\Livefeed\ForumPost
Определения
forumpost.php:22
Bitrix\Socialnetwork\Livefeed\Provider\setSourceFields
setSourceFields(array $fields)
Определения
provider.php:639
Bitrix\Socialnetwork\Livefeed\Provider\getOption
getOption(string $key)
Определения
provider.php:118
Bitrix\Socialnetwork\Livefeed\Provider\setSourceTitle
setSourceTitle($title)
Определения
provider.php:677
Bitrix\Socialnetwork\Livefeed\Provider\setSourceDiskObjects
setSourceDiskObjects(array $files)
Определения
provider.php:756
Bitrix\Socialnetwork\Livefeed\Provider\getSourceFields
getSourceFields()
Определения
provider.php:649
Bitrix\Socialnetwork\Livefeed\Provider\setSourceAttachedDiskObjects
setSourceAttachedDiskObjects(array $diskAttachedObjects)
Определения
provider.php:751
Bitrix\Socialnetwork\Livefeed\Provider\getEntityAttachedDiskObjects
getEntityAttachedDiskObjects(array $params=[])
Определения
provider.php:1495
Bitrix\Socialnetwork\Livefeed\Provider\TYPE_POST
const TYPE_POST
Определения
provider.php:25
Bitrix\Socialnetwork\Livefeed\Provider\setSourceDescription
setSourceDescription($description)
Определения
provider.php:654
Bitrix\Socialnetwork\Livefeed\Provider\$entityId
$entityId
Определения
provider.php:53
Bitrix\Socialnetwork\Livefeed\Provider\getDiskObjects
getDiskObjects($entityId, $clone=false)
Определения
provider.php:834
Bitrix\Socialnetwork\Livefeed\TasksTask
Определения
taskstask.php:11
Bitrix\Socialnetwork\Livefeed\TasksTask\initSourceFields
initSourceFields()
Определения
taskstask.php:40
Bitrix\Socialnetwork\Livefeed\TasksTask\getCommentProvider
getCommentProvider()
Определения
taskstask.php:35
Bitrix\Socialnetwork\Livefeed\TasksTask\CONTENT_TYPE_ID
const CONTENT_TYPE_ID
Определения
taskstask.php:13
Bitrix\Socialnetwork\Livefeed\TasksTask\getPinnedTitle
getPinnedTitle()
Определения
taskstask.php:78
Bitrix\Socialnetwork\Livefeed\TasksTask\getPermissions
getPermissions(array $post)
Определения
taskstask.php:141
Bitrix\Socialnetwork\Livefeed\TasksTask\getAttachedDiskObjects
getAttachedDiskObjects($clone=false)
Определения
taskstask.php:127
Bitrix\Socialnetwork\Livefeed\TasksTask\getType
getType()
Определения
taskstask.php:30
Bitrix\Socialnetwork\Livefeed\TasksTask\getLiveFeedUrl
getLiveFeedUrl()
Определения
taskstask.php:146
Bitrix\Socialnetwork\Livefeed\TasksTask\getEventId
getEventId()
Определения
taskstask.php:22
Bitrix\Socialnetwork\Livefeed\TasksTask\canRead
static canRead($params)
Определения
taskstask.php:136
Bitrix\Socialnetwork\Livefeed\TasksTask\$tasksTaskClass
static $tasksTaskClass
Определения
taskstask.php:15
Bitrix\Socialnetwork\Livefeed\TasksTask\getId
static getId()
Определения
taskstask.php:17
Bitrix\Socialnetwork\Livefeed\TasksTask\PROVIDER_ID
const PROVIDER_ID
Определения
taskstask.php:12
Bitrix\Socialnetwork\Livefeed\TasksTask\getPinnedDescription
getPinnedDescription()
Определения
taskstask.php:98
CComponentEngine\makePathFromTemplate
static makePathFromTemplate($template, $arParams=array())
Определения
component_engine.php:355
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
elseif
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения
prolog_main_admin.php:393
$params
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']
Определения
template.php:799
$post
$post
Определения
template.php:8
SITE_ID
const SITE_ID
Определения
sonet_set_content_view.php:12
bitrix
modules
socialnetwork
lib
livefeed
taskstask.php
Создано системой
1.14.0