function OnExternalLogin(&$arParams)
 {
     global $USER, $APPLICATION;
     $FORMAT_DATE = false;
     $FORMAT_DATETIME = false;
     $prefix = COption::GetOptionString("main", "auth_controller_prefix", "controller");
     if ($prefix != '' && substr(strtolower($arParams["LOGIN"]), 0, strlen($prefix)) == $prefix || $prefix == '' && strpos($arParams["LOGIN"], "\\") === false) {
         $site = $prefix;
         if ($prefix == '') {
             $login = $arParams["LOGIN"];
         } else {
             $login = substr($arParams["LOGIN"], strlen($prefix) + 1);
         }
         $password = $arParams["PASSWORD"];
         $arVars = array("login" => $login, "password" => $password);
         $oRequest = new CControllerClientRequestTo("check_auth", $arVars);
         $oResponse = $oRequest->SendWithCheck();
         if ($oResponse == false) {
             return false;
         }
         if (!$oResponse->OK()) {
             $e = new CApplicationException(GetMessage("MAIN_CMEMBER_ERR1") . ": " . $oResponse->text);
             $APPLICATION->ThrowException($e);
             return false;
         }
         $arUser = $oResponse->arParameters['USER_INFO'];
     } elseif (COption::GetOptionString("main", "auth_controller_sso", "N") == "Y" && strpos($arParams["LOGIN"], "\\") > 0) {
         $site = substr($arParams["LOGIN"], 0, strpos($arParams["LOGIN"], "\\"));
         $login = substr($arParams["LOGIN"], strpos($arParams["LOGIN"], "\\") + 1);
         $password = $arParams["PASSWORD"];
         $arVars = array("login" => $login, "password" => $password, "site" => $site);
         $oRequest = new CControllerClientRequestTo("remote_auth", $arVars);
         $oResponse = $oRequest->SendWithCheck();
         if ($oResponse == false) {
             return false;
         }
         if (!$oResponse->OK()) {
             $e = new CApplicationException(GetMessage("MAIN_CMEMBER_ERR1") . ": " . $oResponse->text);
             $APPLICATION->ThrowException($e);
             return false;
         }
         $arUser = $oResponse->arParameters['USER_INFO'];
     } elseif (COption::GetOptionString("controller", "auth_controller_enabled", "N") === "Y" && strpos($arParams["LOGIN"], "\\") > 0 && CModule::IncludeModule("controller")) {
         $site = substr($arParams["LOGIN"], 0, strpos($arParams["LOGIN"], "\\"));
         $login = substr($arParams["LOGIN"], strpos($arParams["LOGIN"], "\\") + 1);
         $password = $arParams["PASSWORD"];
         $url = strtolower(trim($site, " \t\r\n./"));
         if (substr($url, 0, 7) != "http://" && substr($url, 0, 8) != "https://") {
             $url = array("http://" . $url, "https://" . $url);
         }
         $dbr_mem = CControllerMember::GetList(array(), array("=URL" => $url, "=DISCONNECTED" => "N", "=ACTIVE" => "Y"));
         $ar_mem = $dbr_mem->Fetch();
         if (!$ar_mem) {
             return false;
         }
         $arGroupsMap = unserialize(COption::GetOptionString("controller", "auth_controller", serialize(array())));
         $res = CControllerMember::CheckUserAuth($ar_mem["ID"], $login, $password, $arGroupsMap);
         if (!is_array($res)) {
             return false;
         }
         $arUser = $res['USER_INFO'];
         if (is_array($arUser)) {
             $arUser["CONTROLLER_ADMIN"] = "N";
         }
         if (isset($res["FORMAT_DATE"])) {
             $FORMAT_DATE = $res["FORMAT_DATE"];
         }
         if (isset($res["FORMAT_DATETIME"])) {
             $FORMAT_DATETIME = $res["FORMAT_DATETIME"];
         }
     } else {
         return false;
     }
     ////////////////////////////////////////////////////////
     /// сравнивать не просто логин, а полностью\логин
     /////////////////////////
     if (is_array($arUser) && strtolower($arUser['LOGIN']) == strtolower($login)) {
         //When user did not fill any inforamtion about
         //we'll use first part of his e-mail like login
         if (strlen($arUser["NAME"]) == 0 && strlen($arUser["SECOND_NAME"]) == 0) {
             if (preg_match("/^(.+)@/", $arUser["LOGIN"], $match)) {
                 $arUser["NAME"] = $match[1];
             } else {
                 $arUser["NAME"] = $arUser["LOGIN"];
             }
         }
         if ($site == '') {
             $arUser['LOGIN'] = $arUser['LOGIN'];
         } else {
             $arUser['LOGIN'] = $site . "\\" . $arUser['LOGIN'];
         }
         $USER_ID = CControllerClient::UpdateUser($arUser, $FORMAT_DATE, $FORMAT_DATETIME);
         if ($arUser["CONTROLLER_ADMIN"] == "Y") {
             AddEventHandler("main", "OnAfterUserLogin", array("CControllerClient", "OnAfterUserLogin"));
             $arParams["CONTROLLER_ADMIN"] = "Y";
         }
         $arParams["REMEMBER"] = "N";
         return $USER_ID;
     }
     return false;
 }
 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));
 }
$arGroups = array();
$dbr_groups = CControllerGroup::GetList(array("SORT" => "ASC", "NAME" => "ASC", "ID" => "ASC"));
while ($ar_groups = $dbr_groups->GetNext()) {
    $arGroups[$ar_groups["ID"]] = $ar_groups["NAME"];
}
$filter = new CAdminFilter($sTableID . "_filter_id", array(GetMessage("CTRLR_UPLOAD_FILTER_GROUP")));
$filter->Begin();
?>
<tr>
	<td nowrap><?php 
echo GetMessage("CTRLR_UPLOAD_FILTER_SITE");
?>
:</td>
	<td nowrap>
		<?php 
$dbr_members = CControllerMember::GetList(array("SORT" => "ASC", "NAME" => "ASC", "ID" => "ASC"), array("DISCONNECTED" => "N"));
$arMembers = array();
$c = 0;
while ($ar_member = $dbr_members->Fetch()) {
    $arMembers[$ar_member["ID"]] = $ar_member["NAME"];
    $c++;
    if ($maxSafeCount !== false && $c > $maxSafeCount) {
        $arMembers = array();
        break;
    }
}
if ($arMembers) {
    ?>
			<select name="fcontroller_member_id" id="fcontroller_member_id">
				<option value=""><?php 
    echo GetMessage("CTRLR_UPLOAD_FILTER_SITE_ALL");
    $arCounters[$key] = $arCounter;
    $arHeaders[] = array("id" => $key, "content" => htmlspecialcharsex($arCounter["NAME"]), "sort" => $key, "align" => $arCounter["COUNTER_FORMAT"] == "F" ? "right" : "left");
}
$USER_FIELD_MANAGER->AdminListAddHeaders($entity_id, $arHeaders);
$lAdmin->AddHeaders($arHeaders);
$arSelect = $lAdmin->GetVisibleHeaderColumns();
$arSelect[] = "ID";
$arSelect[] = "DISCONNECTED";
$arSelect[] = "SHARED_KERNEL";
if (in_array("MODIFIED_BY", $arSelect)) {
    $arSelect[] = "MODIFIED_BY_USER";
}
if (in_array("CREATED_BY", $arSelect)) {
    $arSelect[] = "CREATED_BY_USER";
}
$rsData = CControllerMember::GetList(array($by => $order), $arFilter, $arSelect, array(), array("nPageSize" => CAdminResult::GetNavSize($sTableID)));
$rsData = new CAdminResult($rsData, $sTableID);
$rsData->NavStart();
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("CTRL_MEMB_ADMIN_NAVSTRING")));
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 . '</a>] ' . $f_MODIFIED_BY_USER);
    $row->AddViewField("CREATED_BY", '[<a href="user_edit.php?ID=' . $f_CREATED_BY . '">' . $f_CREATED_BY . '</a>] ' . $f_CREATED_BY_USER);
    $row->AddCheckField("ACTIVE");
    if (ControllerIsSharedMode()) {
        $row->AddCheckField("SHARED_KERNEL");
    }
    $row->AddInputField("NAME", array("size" => "35"));
    $row->AddInputField("URL", array("size" => "35"));
    if ($f_DISCONNECTED == 'Y') {
 function GetByGuid($guid)
 {
     return CControllerMember::GetList(array(), array("=MEMBER_ID" => $guid));
 }
     $a = CControllerLog::Add($arControllerLog);
     break;
 case 'join':
     // check rights for add
     $USER->Login($oRequest->arParameters['admin_login'], $oRequest->arParameters['admin_password']);
     $MOD_RIGHT = $APPLICATION->GetGroupRight("controller");
     if ($MOD_RIGHT < "T") {
         $oResponse->status = "413 Bad admin";
         $oResponse->text = GetMessage("CTRLR_WS_ERR_BAD_LEVEL");
         break;
     }
     $oResponse->secret_id = $oRequest->arParameters['member_secret_id'];
     // check if that site is agree?
     //if(!($res = CControllerMember::RegisterMemberByTicket($oRequest->member_id, $oRequest->arParameters['member_secret_id'], $oRequest->arParameters['ticket_id'], $oRequest->arParameters['url'], $oRequest->session_id)))
     $ar_member = array("MEMBER_ID" => $oRequest->member_id, "SECRET_ID" => $oRequest->arParameters['member_secret_id'], "NAME" => strlen($oRequest->arParameters['name']) > 0 ? $oRequest->arParameters['name'] : $oRequest->arParameters['url'], "URL" => $oRequest->arParameters['url'], "EMAIL" => $oRequest->arParameters['email'], "CONTACT_PERSON" => $oRequest->arParameters['contact_person'], "CONTROLLER_GROUP_ID" => $oRequest->arParameters['group_id'] ? $oRequest->arParameters['group_id'] : COption::GetOptionInt("controller", "default_group", 1), "SHARED_KERNEL" => $oRequest->arParameters['shared_kernel'] == "Y" ? "Y" : "N");
     $dbr_mem = CControllerMember::GetList(array(), array("URL" => CControllerMember::_GoodURL($oRequest->arParameters['url']), "DISCONNECTED" => "I"));
     if (($ar_mem = $dbr_mem->Fetch()) && CControllerMember::_GoodURL($ar_mem["URL"]) == CControllerMember::_GoodURL($oRequest->arParameters['url'])) {
         $ar_member["ID"] = $ar_mem["ID"];
     }
     if ($ID = CControllerMember::RegisterMemberByTicket($ar_member, $oRequest->arParameters['ticket_id'], $oRequest->session_id)) {
         $oResponse->status = "200 OK";
         $oResponse->arParameters['ID'] = $ID;
     } else {
         $oResponse->status = "453 RegisterMemberByTicket error";
         $e = $APPLICATION->GetException();
         $oResponse->text = $e->GetString();
     }
     break;
     // all ok? then we need update settings
 // all ok? then we need update settings
 case 'init_group_update':
Example #7
0
        $arParams["TITLE"] = GetMessage("CC_BCSL_TITLE_DEFAULT");
    }
} else {
    $arParams["TITLE"] = GetMessage("CC_BCSL_TITLE_DEFAULT");
}
//Component execution with cache support
if ($this->StartResultCache()) {
    if (!CModule::IncludeModule("controller")) {
        $this->AbortResultCache();
        ShowError(GetMessage("CC_BCSL_MODULE_NOT_INSTALLED"));
        return;
    }
    $arResult["TITLE"] = $arParams["TITLE"];
    $arResult["ITEMS"] = array();
    $arResult["MENU_ITEMS"] = array();
    $arFilter = array("=ACTIVE" => "Y", "=DISCONNECTED" => "N");
    if (count($arParams["GROUP"])) {
        $arFilter["=CONTROLLER_GROUP_ID"] = $arParams["GROUP"];
    }
    $rsMembers = CControllerMember::GetList(array("ID" => "ASC"), $arFilter);
    while ($arMember = $rsMembers->GetNext()) {
        $arResult["ITEMS"][] = $arMember;
        $arResult["MENU_ITEMS"][] = array("ICONCLASS" => 'site-list-icon', "TEXT" => $arMember["NAME"], "ONCLICK" => 'window.location = \'/bitrix/admin/controller_goto.php?member=' . $arMember["ID"] . '&lang=' . LANGUAGE_ID . '\';', "TITLE" => $arMember["URL"]);
    }
    $this->SetResultCacheKeys(array());
    $this->IncludeComponentTemplate();
}
$js = '/bitrix/js/main/utils.js';
$APPLICATION->AddHeadString('<script type="text/javascript" src="' . $js . '?' . filemtime($_SERVER['DOCUMENT_ROOT'] . $js) . '"></script>');
$js = '/bitrix/js/main/popup_menu.js';
$APPLICATION->AddHeadString('<script type="text/javascript" src="' . $js . '?' . filemtime($_SERVER['DOCUMENT_ROOT'] . $js) . '"></script>');
Example #8
0
	public static function GetByGuid($guid)
	{
		return CControllerMember::GetList(Array(), Array("=MEMBER_ID"=>$guid));
	}
Example #9
0
             if (strncmp($arMember["URL"], "http://", 7) === 0) {
                 $arMember["URL"] = substr($arMember["URL"], 7);
             }
             echo $arMember["URL"], $arParams["SEPARATOR"], "FOUND", $arParams["SEPARATOR"], $arMember["DISCONNECTED"] == "I" ? "R" : $arMember["ACTIVE"], "\n";
         } while ($arMember = $rsMember->Fetch());
     } else {
         echo "200 OK\n";
     }
     break;
 case "getlist":
     if (isset($_REQUEST["date_format"])) {
         $arOptions = array("date_format" => $_REQUEST["date_format"]);
     } else {
         $arOptions = array();
     }
     $rsMember = CControllerMember::GetList($_REQUEST["order"], $_REQUEST["filter"], $_REQUEST["select"], $arOptions, $_REQUEST["limit"] > 0 ? array("nTopCount" => $_REQUEST["limit"]) : false);
     if ($arMember = $rsMember->Fetch()) {
         echo "210 OK\n";
         echo "<sitelist date_format=\"" . htmlspecialcharsbx($_REQUEST["date_format"]) . "\">\n";
         do {
             echo "\t<site>\n";
             foreach ($arMember as $key => $value) {
                 echo "\t\t<", $key, ">", htmlspecialcharsbx($value), "</", $key, ">\n";
             }
             echo "\t</site>\n";
         } while ($arMember = $rsMember->Fetch());
         echo "</sitelist>";
     } else {
         echo "200 OK\n";
     }
     break;
    $arCounters[$key] = $arCounter;
    $arHeaders[] = array("id" => $key, "content" => htmlspecialcharsex($arCounter["NAME"]), "sort" => $key, "align" => $arCounter["COUNTER_FORMAT"] == "F" ? "right" : "left");
}
$USER_FIELD_MANAGER->AdminListAddHeaders($entity_id, $arHeaders);
$lAdmin->AddHeaders($arHeaders);
$arSelect = $lAdmin->GetVisibleHeaderColumns();
$arSelect[] = "ID";
$arSelect[] = "DISCONNECTED";
$arSelect[] = "SHARED_KERNEL";
if (in_array("MODIFIED_BY", $arSelect)) {
    $arSelect[] = "MODIFIED_BY_USER";
}
if (in_array("CREATED_BY", $arSelect)) {
    $arSelect[] = "CREATED_BY_USER";
}
$rsData = CControllerMember::GetList(array($by => $order), $arFilter, $arSelect);
$rsData = new CAdminResult($rsData, $sTableID);
$rsData->NavStart();
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("CTRL_MEMB_ADMIN_NAVSTRING")));
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 . '</a>] ' . $f_MODIFIED_BY_USER);
    $row->AddViewField("CREATED_BY", '[<a href="user_edit.php?ID=' . $f_CREATED_BY . '">' . $f_CREATED_BY . '</a>] ' . $f_CREATED_BY_USER);
    $row->AddCheckField("ACTIVE");
    if (ControllerIsSharedMode()) {
        $row->AddCheckField("SHARED_KERNEL");
    }
    $row->AddInputField("NAME", array("size" => "35"));
    $row->AddInputField("URL", array("size" => "35"));
    if ($f_DISCONNECTED == 'Y') {
Example #11
0
             if (strncmp($arMemeber["URL"], "http://", 7) === 0) {
                 $arMemeber["URL"] = substr($arMemeber["URL"], 7);
             }
             echo $arMemeber["URL"], $arParams["SEPARATOR"], "FOUND", $arParams["SEPARATOR"], $arMemeber["DISCONNECTED"] == "I" ? "R" : $arMemeber["ACTIVE"], "\n";
         } while ($arMemeber = $rsMember->Fetch());
     } else {
         echo "200 OK\n";
     }
     break;
 case "getlist":
     if (isset($_REQUEST["date_format"])) {
         $arOptions = array("date_format" => $_REQUEST["date_format"]);
     } else {
         $arOptions = array();
     }
     $rsMember = CControllerMember::GetList($_REQUEST["order"], $_REQUEST["filter"], $_REQUEST["select"], $arOptions);
     if ($arMemeber = $rsMember->Fetch()) {
         echo "210 OK\n";
         echo "<sitelist date_format=\"" . htmlspecialcharsbx($_REQUEST["date_format"]) . "\">\n";
         do {
             echo "\t<site>\n";
             foreach ($arMemeber as $key => $value) {
                 echo "\t\t<", $key, ">", htmlspecialcharsbx($value), "</", $key, ">\n";
             }
             echo "\t</site>\n";
         } while ($arMemeber = $rsMember->Fetch());
         echo "</sitelist>";
     } else {
         echo "200 OK\n";
     }
     break;
Example #12
0
 $site_url = "http://" . $site_id . "." . $URL_SUBDOMAIN . "/";
 if (preg_match('#[^a-z1-9\\.-]#i' . BX_UTF_PCRE_MODIFIER, $_REQUEST['domain_name'])) {
     $arError[] = GetMessage('CSA_ERROR_DOMAIN_NAME');
 }
 if (!preg_match('#^0[0-7]{3}$#' . BX_UTF_PCRE_MODIFIER, $arParams["DIR_PERMISSIONS"])) {
     $arError[] = GetMessage('CSA_ERROR_DIR_PERMISSIONS');
 }
 if (!preg_match('#^0[0-7]{3}$#' . BX_UTF_PCRE_MODIFIER, $arParams["FILE_PERMISSIONS"])) {
     $arError[] = GetMessage('CSA_ERROR_FILE_PERMISSIONS');
 }
 if (!preg_match('#^\\d+M$#i' . BX_UTF_PCRE_MODIFIER, $arParams["MEMORY_LIMIT"])) {
     $arError[] = GetMessage('CSA_ERROR_MEMORY_LIMIT');
 }
 if (!count($arError)) {
     //check for URL with trailing / and without it
     $db_members = CControllerMember::GetList(array(), array("=URL" => array($site_url, substr($site_url, 0, -1))));
     if ($ar_member = $db_members->Fetch()) {
         $arError[] = GetMessage('CSA_ERROR_NAME_EXISTS');
     }
 }
 //Create database
 $db_name = "db_" . str_replace(".", "_", $site_id);
 $mysql_path = __ConvPathParam($arParams['MYSQL_PATH']);
 $mysql_db_path = __ConvPathParam($arParams['MYSQL_DB_PATH']);
 if (!is_file($mysql_path) || !is_executable($mysql_path)) {
     $arError[] = GetMessage('CSA_ERROR_BAD_MYSQL_PATH');
 }
 if (!is_file($mysql_db_path) || !is_readable($mysql_db_path)) {
     $arError[] = GetMessage('CSA_ERROR_DB_FILEDUMP');
 }
 if (!count($arError)) {