Ejemplo n.º 1
0
	public static function GetByID($ID)
	{
		return CControllerGroup::GetList(Array(), Array("ID"=>IntVal($ID)));
	}
Ejemplo n.º 2
0
<?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));
 }
Ejemplo n.º 4
0
<?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");
Ejemplo n.º 6
0
 function GetByID($ID)
 {
     return CControllerGroup::GetList(array(), array("ID" => IntVal($ID)));
 }
Ejemplo n.º 7
0
$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");
Ejemplo n.º 8
0
 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;
 }
Ejemplo n.º 9
0
     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"])) {