Ejemplo n.º 1
0
 function Connect($arFields = array())
 {
     if (!is_object($this)) {
         $ldap = new CLDAP();
         $ldap->arFields = $arFields;
         if ($ldap->Connect()) {
             return $ldap;
         }
         return false;
     }
     if ($this->conn = @ldap_connect($this->arFields["SERVER"], $this->arFields['PORT'])) {
         @ldap_set_option($this->conn, LDAP_OPT_PROTOCOL_VERSION, 3);
         @ldap_set_option($this->conn, LDAP_OPT_REFERRALS, 0);
         @ldap_set_option($this->conn, LDAP_OPT_SIZELIMIT, COption::GetOptionInt("ldap", "group_limit", 0));
         @ldap_set_option($this->conn, LDAP_OPT_TIMELIMIT, 100);
         @ldap_set_option($this->conn, LDAP_OPT_TIMEOUT, 5);
         @ldap_set_option($this->conn, LDAP_OPT_NETWORK_TIMEOUT, 5);
         if (@ldap_bind($this->conn)) {
             return true;
         }
     }
     return false;
 }
Ejemplo n.º 2
0
/***************************************************************************
									HTML form
****************************************************************************/
require $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/include/prolog_admin_after.php";
$aMenu = array(array("ICON" => "btn_list", "TEXT" => GetMessage("MAIN_ADMIN_MENU_LIST"), "TITLE" => GetMessage("LDAP_EDIT_LIST"), "LINK" => "ldap_server_admin.php?lang=" . LANG));
if ($ID > 0) {
    $aMenu[] = array("ICON" => "btn_new", "TEXT" => GetMessage("MAIN_ADMIN_MENU_CREATE"), "TITLE" => GetMessage("LDAP_EDIT_NEW"), "LINK" => "ldap_server_edit.php?lang=" . LANG);
    if ($MOD_RIGHT == "W") {
        $aMenu[] = array("ICON" => "btn_delete", "TEXT" => GetMessage("MAIN_ADMIN_MENU_DELETE"), "TITLE" => GetMessage("LDAP_EDIT_DEL"), "LINK" => "javascript:if(confirm('" . GetMessage("LDAP_EDIT_DEL_CONF") . "'))window.location='ldap_server_admin.php?action=delete&ID=" . $ID . "&lang=" . LANG . "&" . bitrix_sessid_get() . "';");
    }
}
$context = new CAdminContextMenu($aMenu);
$context->Show();
if (strlen($SERVER) > 0) {
    $ldp = false;
    $ldp = CLDAP::Connect(array("SERVER" => $SERVER, "PORT" => $PORT, "BASE_DN" => $BASE_DN, "ADMIN_LOGIN" => $ADMIN_LOGIN, "ADMIN_PASSWORD" => $ADMIN_PASSWORD, "CONVERT_UTF8" => $CONVERT_UTF8, "GROUP_FILTER" => $GROUP_FILTER, "GROUP_ID_ATTR" => $GROUP_ID_ATTR, "GROUP_NAME_ATTR" => $GROUP_NAME_ATTR, "GROUP_MEMBERS_ATTR" => $GROUP_MEMBERS_ATTR, "USER_FILTER" => $USER_FILTER, "USER_GROUP_ATTR" => $USER_GROUP_ATTR, "USER_GROUP_ACCESSORY" => $USER_GROUP_ACCESSORY, "MAX_PAGE_SIZE" => $MAX_PAGE_SIZE));
}
if ($bPostback) {
    if (!$ldp) {
        $message = new CAdminMessage(array("MESSAGE" => GetMessage("LDAP_ERROR"), "DETAILS" => GetMessage("LDAP_EDIT_ERR_CON"), "TYPE" => "ERROR"));
    } elseif (!$ldp->BindAdmin()) {
        $message = new CAdminMessage(array("MESSAGE" => GetMessage("LDAP_ERROR"), "DETAILS" => GetMessage("LDAP_EDIT_ERR_AUT"), "TYPE" => "ERROR"));
    } elseif (strlen($_REQUEST['refresh_groups']) <= 0) {
        $message = new CAdminMessage(array("MESSAGE" => GetMessage("LDAP_EDIT_OK_CON"), "TYPE" => "OK"));
    }
}
$aTabs = array(array("DIV" => "edit1", "TAB" => GetMessage("LDAP_EDIT_TAB1"), "ICON" => "main_user_edit", "TITLE" => GetMessage("LDAP_EDIT_TAB1_TITLE")), array("DIV" => "edit2", "TAB" => GetMessage("LDAP_EDIT_TAB11"), "ICON" => "main_user_edit", "TITLE" => GetMessage("LDAP_EDIT_TAB11_TITLE")), array("DIV" => "edit3", "TAB" => GetMessage("LDAP_EDIT_TAB2"), "ICON" => "main_user_edit", "TITLE" => GetMessage("LDAP_EDIT_USER_MAP")), array("DIV" => "edit4", "TAB" => GetMessage("LDAP_EDIT_TAB4"), "ICON" => "main_user_edit", "TITLE" => GetMessage("LDAP_EDIT_TAB4_TITLE")));
$tabControl = new CAdminTabControl("tabControl", $aTabs);
if ($message) {
    echo $message->Show();
} else {
Ejemplo n.º 3
0
			$strError = GetMessage("USER_IMPORT_CSV_NOT_FOUND");
	}
	elseif ($dataSource == "ldap")
	{
		$dbLdap = CLdapServer::GetByID($ldapServer);
		if ($arLdap = $dbLdap->Fetch())
		{
			// this is a test connection, thus any parameters other than related to establishing a connection, have no effect here
			$ldp = CLDAP::Connect(
				array(
					"SERVER"		=>	$arLdap['SERVER'],
					"PORT"			=>	$arLdap['PORT'],
					"ADMIN_LOGIN"	=>	$arLdap['ADMIN_LOGIN'],
					"ADMIN_PASSWORD"=>	$arLdap['ADMIN_PASSWORD'],
					"BASE_DN"		=>	$arLdap['BASE_DN'],
					"GROUP_FILTER"	=>	$arLdap['GROUP_FILTER'],
					"GROUP_ID_ATTR"	=>	$arLdap['GROUP_ID_ATTR'],
					"USER_GROUP_ACCESSORY"	=>	$arFields['USER_GROUP_ACCESSORY'],
					"USER_FILTER"	=>	$arLdap['USER_FILTER'],
					"GROUP_NAME_ATTR"=>	$arLdap['GROUP_NAME_ATTR'],
					"CONVERT_UTF8"	=>	$arLdap['CONVERT_UTF8'],
					"MAX_PAGE_SIZE"	=>	$arLdap['MAX_PAGE_SIZE']
				)
			);

			if(!$ldp)
				$strError = GetMessage("USER_IMPORT_LDAP_SERVER_CONN_ERROR");
			elseif(!$ldp->BindAdmin())
			{
				$strError = GetMessage("USER_IMPORT_LDAP_SERVER_AUTH_ERROR");
				$ldp->Disconnect();
			}
Ejemplo n.º 4
0
                 $csvImport->externalAuthID = "LDAP#" . $ldapServer;
             }
         }
         if ($csvImport->IsErrorOccured()) {
             $strError = $csvImport->GetErrorMessage();
         }
     } else {
         $strError = GetMessage("USER_IMPORT_CSV_NOT_FOUND");
     }
 } elseif ($dataSource == "ldap") {
     $dbLdap = CLdapServer::GetByID($ldapServer);
     if ($arLdap = $dbLdap->Fetch()) {
         // this is a test connection, thus any parameters other than related to establishing a connection, have no effect here
         $ldap = new CLDAP();
         $ldap->arFields = array("SERVER" => $arLdap['SERVER'], "PORT" => $arLdap['PORT'], "ADMIN_LOGIN" => $arLdap['ADMIN_LOGIN'], "ADMIN_PASSWORD" => $arLdap['ADMIN_PASSWORD'], "BASE_DN" => $arLdap['BASE_DN'], "GROUP_FILTER" => $arLdap['GROUP_FILTER'], "GROUP_ID_ATTR" => $arLdap['GROUP_ID_ATTR'], "USER_GROUP_ACCESSORY" => $arLdap['USER_GROUP_ACCESSORY'], "USER_FILTER" => $arLdap['USER_FILTER'], "GROUP_NAME_ATTR" => $arLdap['GROUP_NAME_ATTR'], "CONVERT_UTF8" => $arLdap['CONVERT_UTF8'], "MAX_PAGE_SIZE" => $arLdap['MAX_PAGE_SIZE']);
         if ($ldap->Connect()) {
             $ldp = $ldap;
             if (!$ldp->BindAdmin()) {
                 $strError = GetMessage("USER_IMPORT_LDAP_SERVER_AUTH_ERROR");
             }
             $ldp->Disconnect();
         } else {
             $strError = GetMessage("USER_IMPORT_LDAP_SERVER_CONN_ERROR");
         }
     } else {
         $strError = GetMessage("USER_IMPORT_LDAP_SERVER_NOT_FOUND");
     }
 } elseif ($dataSource == "1c" && $create1cUser == "Y") {
     $user = new CUser();
     $arFields = array("EMAIL" => $newUserEmail, "LOGIN" => $newUserLogin, "ACTIVE" => "Y", "PASSWORD" => $newUserPass, "CONFIRM_PASSWORD" => $newUserConfirmPass);
     $userID = $user->Add($arFields);