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':
$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>');
public static function GetByGuid($guid) { return CControllerMember::GetList(Array(), Array("=MEMBER_ID"=>$guid)); }
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') {
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;
$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)) {