9 static $arSyncFields =
false;
10 if(!is_array($arSyncFields))
13 $arSyncFields = Array(
14 "ACTIVE" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_ACTIVE"),
"AD"=>
"UserAccountControl&2"),
15 "EMAIL" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_EMAIIL"),
"AD"=>
"mail",
"LDAP"=>
"email"),
16 "NAME" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_NAME"),
"AD"=>
"givenName",
"LDAP"=>
"cn"),
17 "LAST_NAME" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_LAST_NAME"),
"AD"=>
"sn",
"LDAP"=>
"sn"),
18 "SECOND_NAME" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_SECOND_NAME")),
19 "PERSONAL_GENDER" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_GENDER")),
20 "PERSONAL_BIRTHDAY" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_BIRTHDAY")),
21 "PERSONAL_PROFESSION" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_PROF")),
22 "PERSONAL_PHOTO" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_PHOTO"),
"AD"=>
"thumbnailPhoto",
"LDAP"=>
"jpegPhoto"),
23 "PERSONAL_WWW" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_WWW"),
"AD"=>
"wWWHomePage"),
24 "PERSONAL_ICQ" =>Array(
"NAME" =>
"ICQ"),
25 "PERSONAL_PHONE" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_PHONE"),
"AD"=>
"homePhone"),
26 "PERSONAL_FAX" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_FAX")),
27 "PERSONAL_MOBILE" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_MOB"),
"AD"=>
"mobile"),
28 "PERSONAL_PAGER" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_PAGER")),
29 "PERSONAL_STREET" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_STREET"),
"AD"=>
"streetAddress"),
30 "PERSONAL_MAILBOX" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_MAILBOX"),
"AD"=>
"postOfficeBox"),
31 "PERSONAL_CITY" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_CITY"),
"AD"=>
"l"),
32 "PERSONAL_STATE" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_STATE"),
"AD"=>
"st"),
33 "PERSONAL_ZIP" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_ZIP"),
"AD"=>
"postalCode"),
34 "PERSONAL_COUNTRY" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_COUNTRY"),
"AD"=>
"c"),
36 "WORK_COMPANY" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_COMPANY"),
"AD"=>
"company"),
37 "WORK_DEPARTMENT" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_DEP"),
"AD"=>
"department"),
38 "WORK_POSITION" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_POS"),
"AD"=>
"title"),
40 "WORK_PHONE" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_WORK_PHONE"),
"AD"=>
"telephoneNumber"),
41 "WORK_FAX" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_WORK_FAX"),
"AD"=>
"facsimileTelephoneNumber"),
42 "WORK_PAGER" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_WORK_PAGER")),
51 "ADMIN_NOTES" =>Array(
"NAME" =>
GetMessage(
"LDAP_FIELD_ADMIN_NOTES"),
"AD"=>
"description"),
54 $arRes =
$GLOBALS[
"USER_FIELD_MANAGER"]->GetUserFields(
"USER", 0, LANGUAGE_ID);
55 foreach(
$arRes as $pr_id=>$pr_v)
56 if($pr_v[
"EDIT_FORM_LABEL"]!=
'')
57 $arSyncFields[$pr_id] = Array(
"NAME"=>$pr_v[
"EDIT_FORM_LABEL"]);
65 if(mb_substr(
$key, 0, 1) ==
"!")
68 $cOperationType =
"N";
73 $cOperationType =
"?";
78 $cOperationType =
"GE";
83 $cOperationType =
"G";
88 $cOperationType =
"LE";
93 $cOperationType =
"L";
96 $cOperationType =
"E";
98 return Array(
"FIELD"=>
$key,
"OPERATION"=>$cOperationType);
101 public static function FilterCreate($fname, $vals,
$type, $cOperationType=
false, $bSkipEmpty =
true)
106 public static function FilterCreateEx($fname, $vals,
$type, &$bFullJoin, $cOperationType=
false, $bSkipEmpty =
true)
114 if(is_bool($cOperationType))
116 if($cOperationType===
true)
117 $cOperationType =
"N";
119 $cOperationType =
"E";
122 if($cOperationType==
"G")
124 elseif($cOperationType==
"GE")
125 $strOperation =
">=";
126 elseif($cOperationType==
"LE")
127 $strOperation =
"<=";
128 elseif($cOperationType==
"L")
134 $bWasLeftJoin =
false;
145 if($cOperationType==
"?")
153 $res[] = ($cOperationType==
"N"?
"NOT":
"").
"(".$fname.
" IS NULL OR ".
$DB->Length($fname).
"<=0)";
155 $res[] = ($cOperationType==
"N"?
" ".$fname.
" IS NULL OR NOT ":
"").
"(".
CLdapUtil::_Upper($fname).$strOperation.CLdapUtil::_Upper(
"'".
$DB->ForSql(
$val).
"'").
")";
159 if($cOperationType==
"?")
171 $res[] = ($cOperationType==
"N"?
"NOT":
"").
"(".$fname.
" IS NULL OR ".
$DB->Length($fname).
"<=0)";
173 if($strOperation==
"=")
174 $res[] = ($cOperationType ==
"N" ?
" " . $fname .
" IS NULL OR NOT " :
"") .
"(" . $fname .
" LIKE '" .
$DB->ForSqlLike(
$val) .
"')";
176 $res[] = ($cOperationType ==
"N" ?
" " . $fname .
" IS NULL OR NOT " :
"") .
"(" . $fname .
" " . $strOperation .
" '" .
$DB->ForSql(
$val) .
"')";
181 $res[] = ($cOperationType==
"N"?
"NOT":
"").
"(".$fname.
" IS NULL)";
183 $res[] = ($cOperationType==
"N"?
" ".$fname.
" IS NULL OR NOT ":
"").
"(".$fname.
" ".$strOperation.
" ".
$DB->CharToDateFunction(
$DB->ForSql(
$val),
"FULL").
")";
186 if($cOperationType==
"?")
190 $res[] =
"(" . $sqlHelper->castToChar($fname) .
" LIKE '%" .
$DB->ForSqlLike(trim(
$val)) .
"%' AND " . $fname .
" IS NOT NULL)";
195 $res[] = ($cOperationType==
"N"?
"NOT":
"").
"(".$fname.
" IS NULL)";
197 $res[] = ($cOperationType==
"N"?
" ".$fname.
" IS NULL OR NOT ":
"").
"(".$fname.
" ".$strOperation.
" '".DoubleVal(
$val).
"')";
202 $res[] = ($cOperationType==
"N"?
"NOT":
"").
"(".$fname.
" IS NULL)";
204 $res[] = ($cOperationType==
"N"?
" ".$fname.
" IS NULL OR NOT ":
"").
"(".$fname.
" ".$strOperation.
" '".
$DB->ForSql(
$val).
"')";
209 if(
$val <> '' && $cOperationType!=
"N")
212 $bWasLeftJoin =
true;
220 $strResult .= ($cOperationType==
"N"?
" AND ":
" OR ");
221 $strResult .=
"(".$res[
$i].
")";
224 $strResult =
"(".$strResult.
")";
226 if($bFullJoin && $bWasLeftJoin && $cOperationType!=
"N")
235 return (
$DB->type ===
'PGSQL' ?
'UPPER(' .
$str .
')' :
$str);
247 if (CModule::IncludeModule(
'iblock'))
249 $iblockId=COption::GetOptionInt(
"intranet",
"iblock_structure",
false,
false);
264 $iblockId=COption::GetOptionInt(
"intranet",
"iblock_structure",
false,
false);
271 $obS =
new CIBlockSection();
272 if ($obS->Update($sectionId,
array(
'UF_HEAD' =>
$userId),
false,
false))
297 if(defined(
"LDAP_NO_PORT_REDIRECTION"))
302 if(
$USER->IsAuthorized())
304 $authNet = COption::GetOptionString(
"ldap",
'bitrixvm_auth_net',
'');
307 if(self::IsIpFromNet(
$_SERVER[
'REMOTE_ADDR'],$authNet)===
false)
310 $backUrl = isset($_GET[
'back_url']) ? $_GET[
'back_url'] :
"/";
312 if (
$_SERVER[
'SERVER_PORT'] ==
'8890')
314 if (
$_SERVER[
'SERVER_PORT'] ==
'8891')
328 if(defined(
"LDAP_NO_PORT_REDIRECTION"))
333 if(!
$USER->IsAuthorized())
335 $authNet = COption::GetOptionString(
"ldap",
'bitrixvm_auth_net',
'');
338 if(self::IsIpFromNet(
$_SERVER[
'REMOTE_ADDR'],$authNet)===
false)
343 if (
$_SERVER[
'SERVER_PORT'] ==
'80')
356 return !empty($hndl);
365 COption::SetOptionString(
"ldap",
"bitrixvm_auth_support",
"Y");
368 COption::SetOptionString(
"ldap",
"bitrixvm_auth_net", $netAndMask);
377 COption::SetOptionString(
"ldap",
"bitrixvm_auth_support",
"N");
388 if((
string)$ip ===
"")
393 if((
string)$netsAndMasks ===
"")
398 $arNetsMasks = explode(
";", $netsAndMasks);
400 foreach ($arNetsMasks as $netAndMask)
402 $netAndMask = trim($netAndMask);
407 if((!preg_match(
"#^(\d{1,3}\.){3,3}(\d{1,3})/(\d{1,3}\.){3,3}(\d{1,3})$#",$netAndMask) && !preg_match(
"#^(\d{1,3}\.){3,3}(\d{1,3})/(\d{1,3})$#",$netAndMask)) || !preg_match(
"#^(\d{1,3}\.){3,3}(\d{1,3})$#",$ip))
410 $arNetAndMask = explode(
"/", $netAndMask);
412 $net = $arNetAndMask[0];
414 if(mb_strpos($arNetAndMask[1],
".") !==
false)
415 $mask = $arNetAndMask[1];
417 $mask=long2ip(
'11111111111111111111111111111111'<<(32-$arNetAndMask[1]));
419 $newNet = long2ip(ip2long($ip) & ip2long($mask));
440 $signature = mb_substr($signature, 0, 12);
444 "\xff\xd8\xff" =>
"jpg",
445 "\x89\x50\x4e" =>
"png",
450 "\xff\x4f\xff" =>
"jpc",
451 "II\x2a\x00" =>
"tif",
452 "MM\x00\x2a" =>
"tif",
454 "\x00\x00\x01\x00" =>
"ico",
455 "\x0d\x0a\x87\x0a" =>
"jp2"
458 foreach ($arSigs as $sig =>
$type)
459 if(preg_match(
"/^".$sig.
"/x", $signature))
477 $authNet = COption::GetOptionString(
"ldap",
'bitrixvm_auth_net',
'');
478 return trim($authNet) <>
'';
487 if($serverPort ===
false)
488 $serverPort =
$_SERVER[
"SERVER_PORT"];
492 $vmAuth = COption::GetOptionString(
"ldap",
"bitrixvm_auth_support",
"N") ==
"Y";
493 $useNtlm = COption::GetOptionString(
"ldap",
"use_ntlm",
"N") ==
"Y";
494 $isNtlmOn = $vmAuth && $useNtlm;
496 if($serverPort ==
"80")
497 $result = $isNtlmOn ?
"8890" :
"80";
498 elseif($serverPort ==
"443")
499 $result = $isNtlmOn ?
"8891" :
"443";
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
static getConnection($name="")
static getTargetPort($serverPort=false)
static isNtlmRedirectNetRangeDefined()
static isBitrixVMAuthSupported()
static MkOperationFilter($key)
static IsIpFromNet($ip, $netsAndMasks)
static SetDepartmentHead($userId, $sectionId)
static FilterCreateEx($fname, $vals, $type, &$bFullJoin, $cOperationType=false, $bSkipEmpty=true)
static UnSetBitrixVMAuthSupport($unSetOption=false)
static SetBitrixVMAuthSupport($setOption=false, $netAndMask=false)
static FilterCreate($fname, $vals, $type, $cOperationType=false, $bSkipEmpty=true)
static isLdapPaginationAviable()
static OnAfterUserAuthorizeHandler()
static bitrixVMAuthorize()
static GetImgTypeBySignature($signature)
static getDepartmentListFromSystem($arFilter=Array())
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
if($request->getPost('Update') !==null) elseif( $request->getPost( 'Apply') !==null) elseif($request->getPost('RestoreDefaults') !==null) $backUrl
$_SERVER["DOCUMENT_ROOT"]
IsModuleInstalled($module_id)
RegisterModuleDependences($FROM_MODULE_ID, $MESSAGE_ID, $TO_MODULE_ID, $TO_CLASS="", $TO_METHOD="", $SORT=100, $TO_PATH="", $TO_METHOD_ARG=[])
UnRegisterModuleDependences($FROM_MODULE_ID, $MESSAGE_ID, $TO_MODULE_ID, $TO_CLASS="", $TO_METHOD="", $TO_PATH="", $TO_METHOD_ARG=[])
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
GetMessage($name, $aReplace=null)
LocalRedirect($url, $skip_security_check=false, $status="302 Found")
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
if(empty($signedUserToken)) $key
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
$GLOBALS['_____370096793']