<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if (WIZARD_IS_RERUN) { return; } if (!CModule::IncludeModule("fileman")) { return; } $arAccessRights = array(WIZARD_PORTAL_ADMINISTRATION_GROUP => 'F', WIZARD_PERSONNEL_DEPARTMENT_GROUP => 'F'); $arTaskIDs = array(); $dbRes = CTask::GetList(array(), array('MODULE_ID' => 'fileman', 'SYS' => 'Y', 'LETTER' => implode('|', $arAccessRights), 'BINDING' => 'module')); while ($arRes = $dbRes->Fetch()) { $arTaskIDs[$arRes['LETTER']] = $arRes['ID']; } $arTasksForModule = array(); foreach ($arAccessRights as $group => $letter) { $APPLICATION->SetGroupRight('fileman', $group, $letter); $arTasksForModule[$group] = array('ID' => $arTaskIDs[$letter]); } CGroup::SetTasksForModule('fileman', $arTasksForModule);
$arTasksInModule[$value["ID"]] = Array('ID' => $tid); $subOrdGr = false; if (strlen($tid) > 0 && in_array($nID,CTask::GetOperations($tid)) && isset($_POST['subordinate_groups_'.$value["ID"]])) $subOrdGr = $_POST['subordinate_groups_'.$value["ID"]]; CGroup::SetSubordinateGroups($value["ID"], $subOrdGr); $rt = ($tid) ? CTask::GetLetter($tid) : ''; if (strlen($rt) > 0 && $rt != "NOT_REF") $APPLICATION->SetGroupRight($module_id, $value["ID"], $rt); else $APPLICATION->DelGroupRight($module_id, array($value["ID"])); } CGroup::SetTasksForModule($module_id, $arTasksInModule); if($_REQUEST["back_url_settings"] <> "" && $_REQUEST["Apply"] == "") LocalRedirect($_REQUEST["back_url_settings"]); else LocalRedirect("/freetrix/admin/settings.php?lang=".LANGUAGE_ID."&mid=".urlencode($mid)."&tabControl_active_tab=".urlencode($_REQUEST["tabControl_active_tab"])."&back_url_settings=".urlencode($_REQUEST["back_url_settings"])); } if($SET_LICENSE_KEY == "") $SET_LICENSE_KEY = LICENSE_KEY; if ($_SERVER["REQUEST_METHOD"]=="POST" && $_POST["stop_site"]=="Y" && $USER->CanDoOperation('edit_other_settings') && check_freetrix_sessid()) { COption::SetOptionString("main", "site_stopped", "Y"); CAdminMessage::ShowNote(GetMessage("MAIN_OPTION_PUBL_CLOSES")); }
return; } IncludeModuleLangFile(__FILE__); $module_id = 'timeman'; CModule::IncludeModule($module_id); $arAllModuleOptions = array('edit_wd' => array('workday_start' => array(1 => 'time', 32400, 'clock'), 'workday_finish' => array(1 => 'time', 64800, 'clock'), 'workday_close_undo' => array(1 => 'checkbox', 'Y', 'checkbox'), 'workday_max_start' => array(1 => 'time', 33300, 'clock'), 'workday_min_finish' => array(1 => 'time', 63900, 'clock'), 'workday_min_duration' => array(1 => 'time', 28800, 'text'), 'workday_report_required' => array(1 => 'string', 'A', 'select', array('A' => GetMessage('TM_FIELD_UF_TM_REPORT_REQ_A'), 'Y' => GetMessage('TM_FIELD_UF_TM_REPORT_REQ_Y'), 'N' => GetMessage('TM_FIELD_UF_TM_REPORT_REQ_N'))), 'workday_allowed_delta' => array(1 => 'string', 900, 'text')), 'edit_wr' => array("report_forum_id" => array(1 => 'int', 0, 'selectbox'), "WORK_REPORT_PATH" => array(1 => 'string', "/company/work_report.php", "string"), "TIMEMAN_REPORT_PATH" => array(1 => 'string', "/company/timeman.php", "string"))); $aTabs = array(array("DIV" => "edit_wd", "TAB" => GetMessage("TM_WD_SETTINGS"), "ICON" => "timeman_settings", "TITLE" => GetMessage("TM_WD_SETTINGS_TITLE")), array("DIV" => "edit_access", "TAB" => GetMessage("TM_ACCESS"), "ICON" => "timeman_settings", "TITLE" => GetMessage("TM_ACCESS_TITLE")), array("DIV" => "edit_wr", "TAB" => GetMessage("WR_WORK_REPORTS"), "ICON" => "timeman_settings", "TITLE" => GetMessage("WR_WORK_REPORTS_SETTINGS"))); $tabControl = new CAdminTabControl("tabControl", $aTabs); if ($REQUEST_METHOD == "POST" && strlen($Update . $Apply . $RestoreDefaults) > 0 && check_bitrix_sessid()) { if (strlen($RestoreDefaults) > 0) { COption::RemoveOption($module_id); $z = CGroup::GetList($v1 = "id", $v2 = "asc", array("ACTIVE" => "Y", "ADMIN" => "N")); while ($zr = $z->Fetch()) { $APPLICATION->DelGroupRight($module_id, array($zr["ID"])); } CGroup::SetTasksForModule($module_id, array()); COption::SetOptionString($module_id, "GROUP_DEFAULT_TASK", CTask::GetIdByLetter('N', $module_id)); COption::SetOptionString($module_id, "GROUP_DEFAULT_RIGHT", "N"); } else { foreach ($arAllModuleOptions as $tab => $arAllOptions) { foreach ($arAllOptions as $opt => $arOptDef) { // if (true isset($_REQUEST[$opt])) // { $value = trim($_REQUEST[$opt]); switch ($arOptDef[1]) { case 'time': if (strlen($value) > 0) { list($hour, $min) = explode(':', $value, 2); if (IsAmPmMode() && preg_match('/(am|pm)/i', $min, $match)) { $ampm = strtolower($match[0]); if ($ampm == 'pm' && $hour < 12) {
foreach ($arGroup["TASKS_FILE"] as $arFile) { $taskName = $arFile[0]; $filePath = $arFile[1]; $dbResult = CTask::GetList(array(), array("NAME" => $taskName)); if ($arTask = $dbResult->Fetch()) { CExtranetWizardServices::SetFilePermission(array(WIZARD_SITE_ID, $filePath), array($groupID => "T_" . $arTask["ID"])); } } } // set view perms for employee groups $rsGroupEmployees = CGroup::GetList($by = "c_sort", $order = "asc", array("STRING_ID" => "EMPLOYEES%")); while ($arGroupEmployees = $rsGroupEmployees->Fetch()) { $dbResult = CTask::GetList(array(), array("NAME" => "fm_folder_access_read")); if ($arTask = $dbResult->Fetch()) { CExtranetWizardServices::SetFilePermission(array(WIZARD_SITE_ID, WIZARD_SITE_DIR), array($arGroupEmployees["ID"] => "T_" . $arTask["ID"])); } } $APPLICATION->SetGroupRight("fileman", WIZARD_EXTRANET_ADMIN_GROUP, "F"); $task_id = CTask::GetIdByLetter("F", "fileman"); if (intval($task_id) > 0) { CGroup::SetTasksForModule("fileman", array(WIZARD_EXTRANET_ADMIN_GROUP => array("ID" => $task_id))); } CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/.top.menu.php", array("EXTRANET_ADMIN_GROUP_ID" => $ExtranetAdminGroupID)); $rsUser = CUser::GetList($by = "ID", $order = "desc", array("GROUPS_ID" => array(1))); while ($arAdminUser = $rsUser->Fetch()) { $arUserGroups = CUser::GetUserGroup($arAdminUser["ID"]); if (is_array($arUserGroups) && !in_array(WIZARD_EXTRANET_GROUP, $arUserGroups)) { $arUserGroups[] = WIZARD_EXTRANET_GROUP; CUser::SetUserGroup($arAdminUser["ID"], $arUserGroups); } }
if (!CModule::IncludeModule("timeman")) { return; } if (!WIZARD_IS_RERUN) { $arAccessRights = array(WIZARD_EMPLOYEES_GROUP => 'N', WIZARD_PERSONNEL_DEPARTMENT_GROUP => 'R', WIZARD_DIRECTION_GROUP => 'T'); $arTaskIDs = array(); $dbRes = CTask::GetList(array(), array('MODULE_ID' => 'timeman', 'SYS' => 'Y', 'LETTER' => implode('|', $arAccessRights))); while ($arRes = $dbRes->Fetch()) { $arTaskIDs[$arRes['LETTER']] = $arRes['ID']; } $arTasksForModule = array(); foreach ($arAccessRights as $group => $letter) { $APPLICATION->SetGroupRight('timeman', $group, $letter); $arTasksForModule[$group] = array('ID' => $arTaskIDs[$letter]); } CGroup::SetTasksForModule('timeman', $arTasksForModule); if (CModule::IncludeModule('iblock')) { $fields_file = $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/timeman/install/fields.php"; if (file_exists($fields_file)) { include $fields_file; } $dep = new CIBlockSection(); if ($ib = COption::GetOptionInt('intranet', 'iblock_structure', false)) { $entity_id = 'IBLOCK_' . $ib . '_SECTION'; } $arFields = array("UF_TM_TIME" => "16:00", "UF_TM_DAY" => 5); $entities = CUserTypeEntity::GetList(array(), array("ENTITY_ID" => $entity_id, "FIELD_NAME" => "UF_REPORT_PERIOD")); if ($arEntity = $entities->Fetch()) { $oStatus = CUserFieldEnum::GetList(array(), array("USER_FIELD_ID" => $arEntity["ID"])); while ($result = $oStatus->Fetch()) { if ($result["XML_ID"] == "WEEK") {