$arFields = array(); foreach ($arNeededSettings as $key) { if (IsAmPmMode() && ($key == 'UF_TM_MAX_START' || $key == 'UF_TM_MIN_FINISH')) { $v = trim($_REQUEST[$key]); if (strlen($v) > 0) { if (preg_match_all('/^(\\d+):(\\d+)\\s*(am|pm)$/i', $v, $matches)) { $v = intval($matches[1][0]) + (strtolower($matches[3][0]) == 'pm' ? 12 : 0) . ':' . $matches[2][0]; } } $arFields[$key] = $v; } else { $arFields[$key] = $_REQUEST[$key]; } } if ($arFields['UF_TM_ALLOWED_DELTA']) { $arFields['UF_TM_ALLOWED_DELTA'] = CTimeMan::FormatTime($arFields['UF_TM_ALLOWED_DELTA'], true); } $arAllFields = $USER_FIELD_MANAGER->GetUserFields($source == 'department' ? 'IBLOCK_' . COption::GetOptionInt('intranet', 'iblock_structure') . '_SECTION' : 'USER'); $arEnumFields = array('UF_TIMEMAN', 'UF_TM_REPORT_REQ', 'UF_TM_FREE'); foreach ($arEnumFields as $fld) { if ($arFields[$fld]) { $dbRes = CUserFieldEnum::GetList(array(), array('USER_FIELD_ID' => $arAllFields[$fld]['ID'], 'XML_ID' => $arFields[$fld])); if ($arRes = $dbRes->Fetch()) { $arFields[$fld] = $arRes['ID']; } } } if ($source == 'department') { $obSection = new CIBlockSection(); $obSection->Update($ID, $arFields); $CACHE_MANAGER->CleanDir("timeman_structure_" . COption::GetOptionInt('intranet', 'iblock_structure'));
if (strlen($Update) > 0 && strlen($_REQUEST["back_url_settings"]) > 0) { LocalRedirect($_REQUEST["back_url_settings"]); } else { LocalRedirect($APPLICATION->GetCurPage() . "?mid=" . urlencode($mid) . "&lang=" . urlencode(LANGUAGE_ID) . "&back_url_settings=" . urlencode($_REQUEST["back_url_settings"]) . "&" . $tabControl->ActiveTabParam()); } } foreach ($arAllModuleOptions as $tab => $arTabOptions) { foreach ($arTabOptions as $key => $arOptDef) { $value = ''; switch ($arOptDef[1]) { case 'time': $value = COption::GetOptionInt($module_id, $key, $arOptDef[2]); if ($arOptDef[3] == 'clock') { $value = CTimeMan::FormatTimeOut($value); } else { $value = CTimeMan::FormatTime($value, true); } break; case 'int': $value = COption::GetOptionInt($module_id, $key, $arOptDef[2]); break; default: $value = COption::GetOptionString($module_id, $key, $arOptDef[2]); break; } $arAllModuleOptions[$tab][$key][0] = $value; } } $workday_can_edit_current = COption::GetOptionString($module_id, 'workday_can_edit_current', 'Y'); // it's not a mistake! if (!COption::GetOptionString($module_id, "GROUP_DEFAULT_TASK", "")) {