3namespace Bitrix\Socialnetwork\Update;
5use Bitrix\Main\Entity\ReferenceField;
6use Bitrix\Main\ORM\Query\Query;
7use Bitrix\Main\Update\Stepper;
8use Bitrix\Main\Localization\Loc;
9use Bitrix\Main\Config\Option;
10use Bitrix\Main\Loader;
11use Bitrix\Socialnetwork\Component\WorkgroupList;
12use Bitrix\Socialnetwork\WorkgroupPinTable;
13use Bitrix\Socialnetwork\WorkgroupTable;
14use Bitrix\Tasks\Internals\Project\UserOption\UserOptionTypeDictionary;
15use Bitrix\Tasks\Internals\Task\ProjectUserOptionTable;
17Loc::loadMessages(__FILE__);
27 Loader::includeModule(self::$moduleId)
28 && Loader::includeModule(
'tasks')
29 && Option::get(
'socialnetwork',
'needWorkgroupTaskPinMigration',
'Y') ===
'Y'
38 $params = Option::get(
'socialnetwork',
'workgrouptaskspinmigration');
47 'count' => $this->getCount(),
53 $result[
'title'] = Loc::getMessage(
'FUPD_WORKGROUP_TASKS_PIN_MIGRATION_TITLE');
58 $res = (new \Bitrix\Main\Entity\Query(ProjectUserOptionTable::getEntity()))
59 ->registerRuntimeField(
62 WorkgroupTable::getEntity(),
63 [
'=this.PROJECT_ID' =>
'ref.ID' ],
64 [
'join_type' =>
'INNER' ]
67 ->addFilter(
'>ID',
$params[
'lastId'])
68 ->addFilter(
'=OPTION_CODE', UserOptionTypeDictionary::OPTION_PINNED)
70 ->addSelect(
'PROJECT_ID')
71 ->addSelect(
'USER_ID')
72 ->addSelect(
'PROJECT.SCRUM_MASTER_ID')
78 while ($userOptionItem =
$res->fetchObject())
80 $groupId = $userOptionItem->get(
'PROJECT_ID');
81 $userId = $userOptionItem->get(
'USER_ID');
82 $projectItem = $userOptionItem->get(
'PROJECT');
84 (int)$projectItem->get(
'SCRUM_MASTER_ID') > 0
85 ? WorkgroupList::MODE_TASKS_SCRUM
86 : WorkgroupList::MODE_TASKS_PROJECT
90 $params[
'lastId'] = $userOptionItem->getId();
92 if (WorkgroupPinTable::getList([
94 '=GROUP_ID' => $groupId,
103 WorkgroupPinTable::add([
104 'GROUP_ID' => $groupId,
114 Option::set(
'socialnetwork',
'workgrouptaskspinmigration', serialize(
$params));
121 if ($found ===
false)
123 Option::delete(
'socialnetwork', [
'name' =>
'workgrouptaskspinmigration' ]);
124 Option::set(
'socialnetwork',
'needWorkgroupTaskPinMigration',
'N');
131 private function getCount(): int
134 ->addFilter(
'=OPTION_CODE', UserOptionTypeDictionary::OPTION_PINNED)
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']