echo GetMessage('TASK_BINDING'); ?> :</td> <td> <?php if (!isset($arBindings[$str_MODULE_ID]) || count($arBindings[$str_MODULE_ID]) < 1) { $arBindings[$str_MODULE_ID] = array('module'); } ?> <select name="BINDING" id="__binding_select"> <?php for ($i = 0, $l = count($arBindings[$str_MODULE_ID]); $i < $l; $i++) { $b = $arBindings[$str_MODULE_ID][$i]; $bindingTitle = CTask::GetLangTitle($b, $str_MODULE_ID); if ($bindingTitle == $b) { $bindingTitle = CTask::GetLangTitle($bindingTitle, "main"); } echo '<option value="' . $b . '" ' . ($b == $str_BINDING ? 'selected' : '') . '>' . $bindingTitle . '</option>'; } ?> </select> </td> </tr> <tr> <td><?php echo GetMessage('LETTER'); ?> :</td> <td> <input type="text" name="LETTER" size="1" maxlength="1" value="<?php echo $str_LETTER;
function GetTasksInModules($mode = false, $module_id = false, $binding = false) { global $DB; $arFilter = array(); if ($module_id !== false) { $arFilter["MODULE_ID"] = $module_id; } if ($binding !== false) { $arFilter["BINDING"] = $binding; } $z = CTask::GetList(array("MODULE_ID" => "asc", "LETTER" => "asc"), $arFilter); $arr = array(); if ($mode) { while ($r = $z->Fetch()) { if (!is_array($arr[$r['MODULE_ID']])) { $arr[$r['MODULE_ID']] = array('reference_id' => array(), 'reference' => array()); } $arr[$r['MODULE_ID']]['reference_id'][] = $r['ID']; $arr[$r['MODULE_ID']]['reference'][] = '[' . ($r['LETTER'] ? $r['LETTER'] : '..') . '] ' . CTask::GetLangTitle($r['NAME']); } } else { while ($r = $z->Fetch()) { if (!is_array($arr[$r['MODULE_ID']])) { $arr[$r['MODULE_ID']] = array(); } $arr[$r['MODULE_ID']][] = $r; } } return $arr; }
?> ";<?php } $arOperations[COperation::GetLangTitle($arOperation["NAME"])] = array('ID' => $arOperation["ID"], 'NAME' => $arOperation["NAME"], 'BINDING' => $arOperation["BINDING"], 'MODULE_ID' => $arOperation["MODULE_ID"], 'DESCRIPTION' => COperation::GetLangDescription($arOperation["NAME"], $arOperation["DESCRIPTION"])); } ?> </script><?php ksort($arOperations); ?> <tr class="adm-detail-required-field"> <td width="40%"><?php echo GetMessage('NAME'); ?> </td> <td width="60%"><input type="text" name="NAME" size="40" maxlength="100" value="<?php echo CTask::GetLangTitle($str_NAME); ?> "></td> </tr> <tr class="adm-detail-required-field"> <td><?php echo GetMessage('MODULE_ID'); ?> </td> <td> <script> var arModules = ['main']; </script> <select name="MODULE_ID" id="__module_id_select"> <option value="main" <?php echo $str_MODULE_ID == 'main' ? 'selected' : '';
if (strlen($currentPath)<=0) break; } foreach($arUserGroupsID as $key=>$val) if(preg_match('/^[0-9]+$/', $val)) $arUserGroupsID[$key] = "G".$val; $arUserGroupsID = array_unique($arUserGroupsID); //Get all tasks $arPermTypes = array(); $obTask = CTask::GetList(array("LETTER" => "ASC"), array("MODULE_ID" => "main", "BINDING" => "file")); while($arTask = $obTask->Fetch()) $arPermTypes[$arTask["ID"]] = CTask::GetLangTitle($arTask["NAME"]); //Current file/folder permissions $currentPermission = array(); if($io->FileExists($documentRoot.$assignFolderName.".access.php")) { $PERM = array(); include($io->GetPhysicalName($documentRoot.$assignFolderName.".access.php")); foreach($PERM as $file => $arPerm) foreach($arPerm as $code => $permission) $currentPermission[$file][(preg_match('/^[0-9]+$/', $code)? "G".$code : $code)] = $permission; } $strWarning = "";
/** * @return array of possible rights. Example of array item: * $arPossibleRights['ID'] = array( * 'name' => 'NAME', * 'name_human' => $nameUpperCase, * 'sys' => 'SYS', * 'description' => 'DESCRIPTION', * 'description_human' => $descrUpperCase, * 'binding' => 'BINDING' * ); */ public static function ListAllPossibleRights() { global $DB, $MESS; $rc = $DB->Query("SELECT ID, NAME, SYS, DESCRIPTION, BINDING FROM b_task WHERE MODULE_ID = 'learning'"); if ($rc === false) { throw new LearnException('EA_SQLERROR', LearnException::EXC_ERR_ALL_ACCESS_DENIED | LearnException::EXC_ERR_ALL_GIVEUP); } $arPossibleRights = array(); while ($row = $rc->Fetch()) { $nameUpperCase = strtoupper($row['NAME']); $arPossibleRights[$row['ID']] = array('name' => $row['NAME'], 'name_human' => CTask::GetLangTitle($nameUpperCase, "learning"), 'sys' => $row['SYS'], 'description' => $row['DESCRIPTION'], 'description_human' => CTask::GetLangDescription($nameUpperCase, "", "learning"), 'binding' => $row['BINDING']); } return $arPossibleRights; }
?> </td> </tr> <tr> <td nowrap><?php echo GetMessage("TASK_FILTER_BINDING"); ?> :</td> <td nowrap> <?php $bindings = COperation::GetBindingList(); $arRef = array(GetMessage("TASK_FILTER_ANY")); $arRefId = array(''); foreach ($bindings as $binding) { if (!isset($arRefId[$binding["BINDING"]])) { $arRef[$binding["BINDING"]] = CTask::GetLangTitle($binding["BINDING"], $binding["MODULE_ID"]); $arRefId[$binding["BINDING"]] = $binding["BINDING"]; } } $arr = array("reference" => $arRef, "reference_id" => $arRefId); echo SelectBoxFromArray("find_binding", array("reference" => $arRef, "reference_id" => $arRefId), htmlspecialcharsbx($find_binding)); ?> </td> </tr> <?php $oFilter->Buttons(array("table_id" => htmlspecialcharsbx($sTableID), "url" => $APPLICATION->GetCurPage(), "form" => "find_form")); $oFilter->End(); ?> </form> <?php $lAdmin->DisplayList();
$MOD_RIGHT = $APPLICATION->GetGroupRight("controller"); if ($MOD_RIGHT < "W") { $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); } IncludeModuleLangFile(__FILE__); require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/controller/include.php"; $err_mess = "File: " . __FILE__ . "<br>Line: "; $arThirdSettings = CControllerGroupSettings::Get3rdPartyOptions(); $subordinate_id = COperation::GetIDByName('edit_subordinate_users'); $arMainSubordinateTask = array(); $db_task = CTask::GetList(array("MODULE_ID" => "asc", "LETTER" => "asc"), array("BINDING" => 'module')); while ($ar_task = $db_task->GetNext()) { if (!isset($arTasksModules[$ar_task['MODULE_ID']])) { $arTasksModules[$ar_task['MODULE_ID']] = array("reference" => array(), "reference_id" => array()); } $arTasksModules[$ar_task['MODULE_ID']]["reference"][] = '[' . ($ar_task['LETTER'] ? $ar_task['LETTER'] : '..') . '] ' . CTask::GetLangTitle($ar_task['NAME']); $arTasksModules[$ar_task['MODULE_ID']]["reference_id"][] = $ar_task['NAME']; if ($ar_task['MODULE_ID'] == 'main') { $arOpInTask = CTask::GetOperations($ar_task['ID']); if (in_array($subordinate_id, $arOpInTask)) { $arMainSubordinateTask[] = $ar_task['NAME']; } } } if ($REQUEST_METHOD == "POST" && $COUNTER_UPDATE_PERIOD_TYPE != '' && (strlen($save) > 0 || strlen($apply) > 0) && $MOD_RIGHT >= "W") { if ($COUNTER_UPDATE_PERIOD_TYPE == 'H') { $COUNTER_UPDATE_PERIOD = $COUNTER_UPDATE_PERIOD * 60; } elseif ($COUNTER_UPDATE_PERIOD_TYPE == 'D') { $COUNTER_UPDATE_PERIOD = $COUNTER_UPDATE_PERIOD * 60 * 24; } elseif ($COUNTER_UPDATE_PERIOD_TYPE == 'W') { $COUNTER_UPDATE_PERIOD = $COUNTER_UPDATE_PERIOD * 60 * 24 * 7;
'ID' => $arOperation["ID"], 'NAME' => $arOperation["NAME"], 'BINDING' => $arOperation["BINDING"], 'MODULE_ID' => $arOperation["MODULE_ID"], 'DESCRIPTION' => COperation::GetLangDescription($arOperation["NAME"],$arOperation["DESCRIPTION"]) ); } ?></script><? ksort($arOperations); ?> <tr class="adm-detail-required-field"> <td width="40%"><?php echo GetMessage('NAME'); ?> </td> <td width="60%"><input type="text" name="NAME" size="40" maxlength="100" value="<? echo CTask::GetLangTitle($str_NAME);?>"></td> </tr> <tr class="adm-detail-required-field"> <td><?php echo GetMessage('MODULE_ID'); ?> </td> <td> <script> var arModules = ['main']; </script> <select name="MODULE_ID" id="__module_id_select"> <option value="main" <? echo ($str_MODULE_ID == 'main') ? 'selected' : '';?>><?php echo GetMessage('KERNEL'); ?> </option>