public static function GetByID($ID) { return CControllerGroup::GetList(Array(), Array("ID"=>IntVal($ID))); }
<?php $module_id = "controller"; $M_RIGHT = $APPLICATION->GetGroupRight($module_id); if ($M_RIGHT >= "R" && CModule::IncludeModule("controller")) { IncludeModuleLangFile($_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/options.php"); IncludeModuleLangFile(__FILE__); $arGroups = array(); $dbr_groups = CControllerGroup::GetList(array("SORT" => "ASC", "ID" => "ASC")); while ($ar_groups = $dbr_groups->GetNext()) { $arGroups[$ar_groups["ID"]] = $ar_groups["NAME"] . " [" . $ar_groups["ID"] . "]"; } $arOptions = array(array("default_group", GetMessage("CTRLR_OPTIONS_DEF_GROUP"), 1, array("selectbox", $arGroups)), array("group_update_time", GetMessage("CTRLR_OPTIONS_TIME_AUTOUPDATE"), 0, array("text", 5))); if (ControllerIsSharedMode()) { $arOptions[] = array("shared_kernel_path", GetMessage("CTRLR_OPTIONS_SHARED_KERNEL_PATH"), "", array("text", 50)); } $aTabs = array(array("DIV" => "edit1", "TAB" => GetMessage("MAIN_TAB_SET"), "ICON" => "main_settings", "TITLE" => GetMessage("MAIN_TAB_TITLE_SET")), array("DIV" => "edit3", "TAB" => GetMessage("MAIN_TAB_RIGHTS"), "ICON" => "main_settings", "TITLE" => GetMessage("MAIN_TAB_TITLE_RIGHTS"))); $tabControl = new CAdminTabControl("tabControl", $aTabs); if ($REQUEST_METHOD == "POST" && strlen($Update . $Apply . $RestoreDefaults) > 0 && $M_RIGHT >= "W" && check_bitrix_sessid()) { if (strlen($RestoreDefaults) > 0) { COption::RemoveOption("controller"); $z = CGroup::GetList($v1 = "id", $v2 = "asc", array("ACTIVE" => "Y", "ADMIN" => "N")); while ($zr = $z->Fetch()) { $APPLICATION->DelGroupRight($module_id, array($zr["ID"])); } } else { $prev_group_update_time = COption::GetOptionInt("controller", "group_update_time"); __AdmSettingsSaveOptions("controller", $arOptions); if ($prev_group_update_time != COption::GetOptionInt("controller", "group_update_time")) { CAgent::RemoveAgent("CControllerGroup::CheckDefaultUpdate();", "controller"); if (COption::GetOptionInt("controller", "group_update_time") > 0) {
public static function GetPropertiesDialog($documentType, $activityName, $arWorkflowTemplate, $arWorkflowParameters, $arWorkflowVariables, $arCurrentValues = null, $formName = "") { $runtime = CBPRuntime::GetRuntime(); if (!is_array($arWorkflowParameters)) { $arWorkflowParameters = array(); } if (!is_array($arWorkflowVariables)) { $arWorkflowVariables = array(); } if (!is_array($arCurrentValues)) { $arCurrentValues = array("sites_filter_type" => "all"); $arCurrentActivity =& CBPWorkflowTemplateLoader::FindActivityByName($arWorkflowTemplate, $activityName); if (is_array($arCurrentActivity["Properties"])) { $arCurrentValues["sites_filter_type"] = $arCurrentActivity["Properties"]["SitesFilterType"]; $arCurrentValues["sites_filter_groups"] = $arCurrentActivity["Properties"]["SitesFilterGroups"]; if (!is_array($arCurrentValues["sites_filter_groups"])) { $arCurrentValues["sites_filter_groups"] = array(); } $arCurrentValues["sites_filter_sites_group"] = $arCurrentActivity["Properties"]["SitesFilterSitesGroup"]; $arCurrentValues["sites_filter_sites"] = $arCurrentActivity["Properties"]["SitesFilterSites"]; if (!is_array($arCurrentValues["sites_filter_sites"])) { $arCurrentValues["sites_filter_sites"] = array(); } $arCurrentValues["sync_time"] = $arCurrentActivity["Properties"]["SyncTime"]; } } $arSiteGroups = array(); $arSites = array(); if (CModule::IncludeModule('controller')) { $rsSiteGroups = CControllerGroup::GetList(array("ID" => "ASC")); while ($arSiteGroup = $rsSiteGroups->GetNext()) { $arSiteGroups[$arSiteGroup["ID"]] = $arSiteGroup["NAME"]; } $rsSites = CControllerMember::GetList(array("ID" => "ASC"), array("=ACTIVE" => "Y", "=DISCONNECTED" => "N")); while ($arSite = $rsSites->GetNext()) { if (!array_key_exists($arSite["CONTROLLER_GROUP_ID"], $arSites)) { $arSites[$arSite["CONTROLLER_GROUP_ID"]] = array(); } $arSites[$arSite["CONTROLLER_GROUP_ID"]][$arSite["ID"]] = $arSite["NAME"]; } } return $runtime->ExecuteResourceFile(__FILE__, "properties_dialog.php", array("arCurrentValues" => $arCurrentValues, "formName" => $formName, "is_module_installed" => IsModuleInstalled('controller'), "arSiteGroups" => $arSiteGroups, "arSites" => $arSites)); }
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if (!CModule::IncludeModule("controller")) { return; } $arSiteGroups = array(); $rsSiteGroups = CControllerGroup::GetList(array("ID" => "ASC")); while ($arSiteGroup = $rsSiteGroups->Fetch()) { $arSiteGroups[$arSiteGroup["ID"]] = $arSiteGroup["NAME"]; } $arComponentParameters = array("GROUPS" => array(), "PARAMETERS" => array("TITLE" => array("PARENT" => "BASE", "NAME" => GetMessage("CP_BCSL_TITLE"), "TYPE" => "STRING", "DEFAULT" => GetMessage("CP_BCSL_TITLE_DEFAULT")), "GROUP" => array("PARENT" => "BASE", "NAME" => GetMessage("CP_BCSL_GROUP"), "TYPE" => "LIST", "MULTIPLE" => "Y", "VALUES" => $arSiteGroups, "DEFAULT" => 1), "CACHE_TIME" => array("DEFAULT" => 3600)));
$ID = IntVal($ID); switch ($_REQUEST['action']) { case "delete": @set_time_limit(0); $DB->StartTransaction(); if (!CControllerGroup::Delete($ID)) { $e = $APPLICATION->GetException(); $DB->Rollback(); $lAdmin->AddGroupError(GetMessage("CTRLR_GR_AD_ERR2") . ":" . $e->GetString(), $ID); } $DB->Commit(); break; } } } $rsData = CControllerGroup::GetList(array($by => $order), $arFilter); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("CTRLR_GR_AD_NAV"))); $arHeaders = array(); $arHeaders[] = array("id" => "NAME", "content" => GetMessage("CTRLR_GR_AD_COL_NAME"), "default" => true, "sort" => "name"); $arHeaders[] = array("id" => "TIMESTAMP_X", "content" => GetMessage("CTRLR_GR_AD_COL_MOD"), "default" => true, "sort" => "timestamp_x"); $arHeaders[] = array("id" => "MODIFIED_BY", "content" => GetMessage("CTRLR_GR_AD_COL_MODBY"), "default" => true, "sort" => "modified_by"); $arHeaders[] = array("id" => "DATE_CREATE", "content" => GetMessage("CTRLR_GR_AD_COL_CRE"), "sort" => "DATE_CREATE"); $arHeaders[] = array("id" => "CREATED_BY", "content" => GetMessage("CTRLR_GR_AD_COL_CREBY"), "sort" => "CREATED_BY"); $arHeaders[] = array("id" => "DESCRIPTION", "content" => GetMessage("CTRLR_GR_AD_COL_DESC")); $arHeaders[] = array("id" => "COUNTER_UPDATE_PERIOD", "content" => GetMessage("CTRLE_GR_AD_COUNTER_UPD_PER"), "sort" => "COUNTER_UPDATE_PERIOD"); $arHeaders[] = array("id" => "CHECK_COUNTER_FREE_SPACE", "content" => GetMessage("CTRLE_GR_AD_COUNTER_FREE"), "sort" => "CHECK_COUNTER_FREE_SPACE"); $arHeaders[] = array("id" => "CHECK_COUNTER_SITES", "content" => GetMessage("CTRLE_GR_AD_COUNTER_SITES"), "sort" => "CHECK_COUNTER_SITES"); $arHeaders[] = array("id" => "CHECK_COUNTER_USERS", "content" => GetMessage("CTRLE_GR_AD_COUNTER_USERS"), "sort" => "CHECK_COUNTER_USERS"); $arHeaders[] = array("id" => "CHECK_COUNTER_LAST_AUTH", "content" => GetMessage("CTRLE_GR_AD_COUNTER_LAST_AU"), "sort" => "CHECK_COUNTER_LAST_AUTH");
function GetByID($ID) { return CControllerGroup::GetList(array(), array("ID" => IntVal($ID))); }
$arHeaders = array(); $arHeaders[] = array("id" => "NAME", "content" => GetMessage("CTRLR_GR_AD_COL_NAME"), "default" => true, "sort" => "name"); $arHeaders[] = array("id" => "TIMESTAMP_X", "content" => GetMessage("CTRLR_GR_AD_COL_MOD"), "default" => true, "sort" => "timestamp_x"); $arHeaders[] = array("id" => "MODIFIED_BY", "content" => GetMessage("CTRLR_GR_AD_COL_MODBY"), "default" => true, "sort" => "modified_by"); $arHeaders[] = array("id" => "DATE_CREATE", "content" => GetMessage("CTRLR_GR_AD_COL_CRE"), "sort" => "DATE_CREATE"); $arHeaders[] = array("id" => "CREATED_BY", "content" => GetMessage("CTRLR_GR_AD_COL_CREBY"), "sort" => "CREATED_BY"); $arHeaders[] = array("id" => "DESCRIPTION", "content" => GetMessage("CTRLR_GR_AD_COL_DESC")); $arHeaders[] = array("id" => "COUNTER_UPDATE_PERIOD", "content" => GetMessage("CTRLE_GR_AD_COUNTER_UPD_PER"), "sort" => "COUNTER_UPDATE_PERIOD"); $arHeaders[] = array("id" => "CHECK_COUNTER_FREE_SPACE", "content" => GetMessage("CTRLE_GR_AD_COUNTER_FREE"), "sort" => "CHECK_COUNTER_FREE_SPACE"); $arHeaders[] = array("id" => "CHECK_COUNTER_SITES", "content" => GetMessage("CTRLE_GR_AD_COUNTER_SITES"), "sort" => "CHECK_COUNTER_SITES"); $arHeaders[] = array("id" => "CHECK_COUNTER_USERS", "content" => GetMessage("CTRLE_GR_AD_COUNTER_USERS"), "sort" => "CHECK_COUNTER_USERS"); $arHeaders[] = array("id" => "CHECK_COUNTER_LAST_AUTH", "content" => GetMessage("CTRLE_GR_AD_COUNTER_LAST_AU"), "sort" => "CHECK_COUNTER_LAST_AUTH"); $arHeaders[] = array("id" => "ID", "content" => "ID", "default" => true, "sort" => "id"); $USER_FIELD_MANAGER->AdminListAddHeaders($entity_id, $arHeaders); $lAdmin->AddHeaders($arHeaders); $rsData = CControllerGroup::GetList(array($by => $order), $arFilter, $lAdmin->GetVisibleHeaderColumns()); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("CTRLR_GR_AD_NAV"))); while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arRes); $USER_FIELD_MANAGER->AddUserFields($entity_id, $arRes, $row); $row->AddViewField("MODIFIED_BY", '<a href="user_edit.php?ID=' . $f_MODIFIED_BY . '">(' . $f_MODIFIED_BY_LOGIN . ') ' . $f_MODIFIED_BY_NAME . ' ' . $f_MODIFIED_BY_LAST_NAME) . '</a>'; $row->AddViewField("CREATED_BY", '<a href="user_edit.php?ID=' . $f_CREATED_BY . '">(' . $f_CREATED_BY_LOGIN . ') ' . $f_CREATED_BY_NAME . ' ' . $f_CREATED_BY_LAST_NAME) . '</a>'; $row->AddInputField("NAME", array("size" => "35")); $row->AddViewField("NAME", '<a href="controller_group_edit.php?ID=' . $f_ID . '&lang=' . LANG . '">' . $f_NAME . '</a>'); $row->AddInputField("COUNTER_UPDATE_PERIOD", array("size" => "5")); $row->AddCheckField("CHECK_COUNTER_FREE_SPACE"); $row->AddCheckField("CHECK_COUNTER_SITES"); $row->AddCheckField("CHECK_COUNTER_USERS"); $row->AddCheckField("CHECK_COUNTER_LAST_AUTH");
public static function UpdateCounters($member_id, $task_id = false) { /** @global CMain $APPLICATION */ global $APPLICATION; global $DB; $member_id = intval($member_id); $arMember = CControllerMember::GetMember($member_id); if (!$arMember) { $e = new CApplicationException("Member #" . $member_id . " is not found."); $APPLICATION->ThrowException($e); return false; } $dbr_group = CControllerGroup::GetList(array(), array("=ID" => $arMember["CONTROLLER_GROUP_ID"]), array("UF_*")); if (!($ar_group = $dbr_group->Fetch())) { $e = new CApplicationException("Group #" . $arMember["CONTROLLER_GROUP_ID"] . " is not found."); $APPLICATION->ThrowException($e); return false; } $strCommand = '$arResult = array("DATE_FORMAT" => CSite::GetDateFormat());'; if ($ar_group["CHECK_COUNTER_FREE_SPACE"] == "Y") { $strCommand .= "\n" . '$quota = new CDiskQuota(); $disk_quota = $quota->GetDiskQuota(); if(is_bool($disk_quota))$arResult["COUNTER_FREE_SPACE"] = -1; else $arResult["COUNTER_FREE_SPACE"] = round($disk_quota/1024, 2);'; } if ($ar_group["CHECK_COUNTER_SITES"] == "Y") { $strCommand .= "\n" . '$dbr = CSite::GetList(($by="sort"), ($order="asc"), array("ACTIVE"=>Y)); $arResult["COUNTER_SITES"] = $dbr->SelectedRowsCount();'; } if ($ar_group["CHECK_COUNTER_USERS"] == "Y") { $strCommand .= "\n" . '$dbr = $GLOBALS["DB"]->Query("SELECT COUNT(1) as USER_COUNT FROM b_user U WHERE (U.EXTERNAL_AUTH_ID IS NULL OR U.EXTERNAL_AUTH_ID=\'\')"); $ar = $dbr->Fetch(); $arResult["COUNTER_USERS"] = $ar["USER_COUNT"];'; } if ($ar_group["CHECK_COUNTER_LAST_AUTH"] == "Y") { $strCommand .= "\n" . '$dbr = $GLOBALS["DB"]->Query("SELECT MAX(U.LAST_LOGIN) as LAST_LOGIN FROM b_user U"); $ar = $dbr->Fetch(); $arResult["COUNTER_LAST_AUTH"] = $ar["LAST_LOGIN"];'; } $rsCounters = CControllerCounter::GetMemberCounters($member_id); while ($arCounter = $rsCounters->Fetch()) { $strCommand .= "\n" . '$arResult[' . $arCounter['ID'] . '] = eval("' . EscapePHPString($arCounter["COMMAND"]) . '");'; } $strCommand .= "\n" . 'foreach($arResult as $k=>$v) echo urlencode($k),"=",urlencode($v),"&";'; foreach (GetModuleEvents("controller", "OnBeforeUpdateCounters", true) as $arEvent) { ExecuteModuleEventEx($arEvent, array($arMember, $ar_group, &$strCommand)); } $command_result = CControllerMember::RunCommand($member_id, $strCommand, array(), $task_id, 'run_immediate'); if ($command_result === false) { $e = $APPLICATION->GetException(); if (!is_object($e)) { $e = new CApplicationException("Command execution error."); $APPLICATION->ThrowException($e); } return false; } $ar_command_result = array(); parse_str($command_result, $ar_command_result); //Try to guess encoding and convert to controller site charset foreach ($ar_command_result as $k => $v) { $ar_command_result[$k] = CUtil::ConvertToLangCharset($v); } $arFields = array("TIMESTAMP" => $arMember["TIMESTAMP_X"], "~COUNTERS_UPDATED" => $DB->CurrentTimeFunction()); if (array_key_exists('COUNTER_FREE_SPACE', $ar_command_result)) { $arFields['COUNTER_FREE_SPACE'] = intval($ar_command_result['COUNTER_FREE_SPACE']); } if (array_key_exists('COUNTER_SITES', $ar_command_result)) { $arFields['COUNTER_SITES'] = intval($ar_command_result['COUNTER_SITES']); } if (array_key_exists('COUNTER_USERS', $ar_command_result)) { $arFields['COUNTER_USERS'] = intval($ar_command_result['COUNTER_USERS']); } if (array_key_exists('COUNTER_LAST_AUTH', $ar_command_result)) { $arFields['COUNTER_LAST_AUTH'] = $DB->FormatDate($ar_command_result['COUNTER_LAST_AUTH'], 'YYYY-MM-DD HH:MI:SS', CSite::GetDateFormat()); } if (!CControllerMember::Update($member_id, $arFields)) { $e = $APPLICATION->GetException(); $e = new CApplicationException(GetMessage("CTRLR_MEM_COUNTERS_ERR1") . $e->GetString()); $APPLICATION->ThrowException($e); return false; } CControllerCounter::UpdateMemberValues($member_id, $ar_command_result); return $arFields; }
if ($arMember["ACTIVE"] != $arFields["ACTIVE"]) { if (!CControllerMember::Update($ID, $arFields, $arParams["NOTES"])) { if ($e = $APPLICATION->GetException()) { echo "401 ER\n", GetMessage("CC_BCSC_UPDATE_ERROR", array("#ID#" => $ID, "#MESSAGE#" => $e->GetString())); } else { echo "500 ER\n"; } } else { echo "200 OK\n"; } } else { echo "200 OK\n"; } break; case "group": $rsGroup = CControllerGroup::GetList(array("SORT" => "ASC"), array("NAME" => $arParams["ACTION"])); if ($arGroup = $rsGroup->Fetch()) { if ($arMember["CONTROLLER_GROUP_ID"] != $arGroup["ID"]) { $arFields = array("CONTROLLER_GROUP_ID" => $arGroup['ID']); if (!CControllerMember::Update($arMember["ID"], $arFields, $arParams["NOTES"])) { echo "401 ER\n"; if ($e = $APPLICATION->GetException()) { echo "401 ER\n", GetMessage("CC_BCSC_UPDATE_ERROR", array("#ID#" => $ID, "#MESSAGE#" => $e->GetString())); } else { echo "500 ER\n"; } } else { CControllerMember::UpdateCounters($arMember["ID"]); echo "200 OK\n"; } } elseif (strlen($arParams["NOTES"])) {