3namespace Bitrix\Socialnetwork\Update;
5use Bitrix\Main\Update\Stepper;
6use Bitrix\Main\Localization\Loc;
7use Bitrix\Main\Config\Option;
9use Bitrix\Socialnetwork\Helper;
11Loc::loadMessages(__FILE__);
28 static::$sourceFilterOptionName !==
''
29 && static::$targetFilterOptionName !==
''
30 && static::$stepperNeedOptionName !==
''
31 && static::$stepperDataOptionName !==
''
32 && Loader::includeModule(static::$moduleId)
33 && Loader::includeModule(
'tasks')
34 && Option::get(
'socialnetwork', static::$stepperNeedOptionName,
'Y') ===
'Y'
43 $params = Option::get(
'socialnetwork', static::$stepperDataOptionName);
60 $result[
'title'] = Loc::getMessage(
'FUPD_WORKGROUP_TASKS_FILTER_MIGRATION_TITLE');
66 SELECT ID, USER_ID, COMMON, VALUE
69 ID > " . (int)
$params[
'lastId'] .
"
70 AND CATEGORY = '" .
$DB->ForSql(static::$filterOptionCategory) .
"'
71 AND NAME = '" .
$DB->ForSql(static::$sourceFilterOptionName) .
"'
77 while ($userOptionFields =
$res->fetch())
79 $userId = (int)$userOptionFields[
'USER_ID'];
80 $common = ($userOptionFields[
'COMMON'] ===
'Y');
81 $value = $userOptionFields[
'VALUE'];
84 $params[
'lastId'] = $userOptionFields[
'ID'];
86 $data = @unserialize($value, [
'allowed_classes' =>
false ]);
94 \CUserOptions::SetOption(
95 static::$filterOptionCategory,
96 static::$targetFilterOptionName,
107 Option::set(
'socialnetwork', static::$stepperDataOptionName, serialize(
$params));
114 if ($found ===
false)
116 Option::delete(
'socialnetwork', [
'name' => static::$stepperDataOptionName ]);
117 Option::set(
'socialnetwork', static::$stepperNeedOptionName,
'N');
128 $res = \CUserOptions::getList(
131 'CATEGORY' => static::$filterOptionCategory,
132 'NAME' => static::$sourceFilterOptionName,
136 while (
$res->fetch())
150 if (
$key ===
'default_presets')
164 $newData[
$key] = $value;
173 static $isExtranetInstalled =
null;
175 if ($isExtranetInstalled ===
null)
177 $isExtranetInstalled = Loader::includeModule(
'extranet');
180 $newPresetsData = [];
181 $modelPresetData = [];
185 $extranetSiteId =
'';
192 $extranetSiteId = \CExtranet::getExtranetSiteID();
197 'extranetSiteId' => $extranetSiteId,
201 foreach ($presetsData as $presetCode => $preset)
204 $newPresetsData[$newPresetCode] = $this->
migratePreset($preset);
207 return $this->
mergeData($modelPresetData, $newPresetsData);
212 $newPresetCode = $presetCode;
217 $newPresetCode =
'my';
219 case 'active_project':
220 $newPresetCode =
'active';
222 case 'inactive_project':
223 $newPresetCode =
'archive';
228 return $newPresetCode;
235 foreach ($presetData as
$key => $value)
237 if (
$key ===
'fields')
243 $newData[
$key] = $value;
252 $newFiltersData = [];
254 foreach ($filtersData as $filterCode =>
$filter)
260 return $newFiltersData;
267 foreach ($filterData as
$key => $value)
269 if (
$key ===
'fields')
279 $newData[
$key] = $value;
288 $newFilterRowsList = [];
290 $filterRowsList = explode(
',', $value);
291 foreach ($filterRowsList as $filterRow)
296 $newFilterRowsList[] =
'MEMBER';
299 $newFilterRowsList[] =
'OWNER';
302 $newFilterRowsList[] =
'TAG';
305 $newFilterRowsList[] =
'VISIBLE';
306 $newFilterRowsList[] =
'OPENED';
307 $newFilterRowsList[] =
'PROJECT';
308 $newFilterRowsList[] =
'EXTRANET';
309 $newFilterRowsList[] =
'LANDING';
312 $newFilterRowsList[] = $filterRow;
316 return implode(
',', $newFilterRowsList);
323 foreach ($fieldsData as
$key => $value)
340 case 'MEMBER_ID_label':
341 $newKey =
'MEMBER_label';
346 case 'OWNER_ID_label':
347 $newKey =
'OWNER_label';
353 $newKey =
'TAG_label';
379 static $typesList =
null;
381 if ($typesList ===
null)
383 $typesList = Helper\Workgroup::getTypes();
386 if (isset($typesList[$projectType]))
388 if (isset($typesList[$projectType][
'VISIBLE']))
390 $newData[
'VISIBLE'] = $typesList[$projectType][
'VISIBLE'];
392 if (isset($typesList[$projectType][
'OPENED']))
394 $newData[
'OPENED'] = $typesList[$projectType][
'OPENED'];
396 if (isset($typesList[$projectType][
'PROJECT']))
398 $newData[
'PROJECT'] = $typesList[$projectType][
'PROJECT'];
400 if (isset($typesList[$projectType][
'EXTERNAL']))
402 $newData[
'EXTRANET'] = $typesList[$projectType][
'EXTERNAL'];
404 if (isset($typesList[$projectType][
'LANDING']))
406 $newData[
'LANDING'] = $typesList[$projectType][
'LANDING'];
411 protected function mergeData($modelPresetData, $newPresetsData)
413 foreach ($modelPresetData as
$code => $modelPreset)
415 if (!isset($newPresetsData[
$code]))
417 $newPresetsData[
$code] = $modelPreset;
421 return $newPresetsData;
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
static getFilterPresetList($params)
mergeData($modelPresetData, $newPresetsData)
migrateFieldValue($value, string $key='', array &$newData=[])
migrateFilters(array $filtersData=[])
migrateFieldKey(string $key='')
migratePreset(array $presetData=[])
static $targetFilterOptionName
migrateFilterRows(string $value='')
static $stepperDataOptionName
migratePresetCode(string $presetCode='')
static $stepperNeedOptionName
migrate(array $data=[], int $userId=0)
static $filterOptionCategory
migratePresets(array $presetsData=[], int $userId=0)
migrateFields(array $fieldsData=[])
migrateFilter(array $filterData=[])
static $sourceFilterOptionName
migrateTypeField(string $projectType, array &$newData=[])
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
if(!is_null($config))($config as $configItem)(! $configItem->isVisible()) $code
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
if(empty($signedUserToken)) $key
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']