Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/webservice/lib/ |
Upload File : |
<?php namespace Bitrix\WebService; use Bitrix\Intranet\OutlookApplication; use Bitrix\Main\Authentication\ApplicationManager; use Bitrix\Main\Authentication\ApplicationPasswordTable; use Bitrix\Main\Context; use Bitrix\Main\Loader; use Bitrix\Main\Text\HtmlFilter; use Bitrix\Main\Type\DateTime; class StsSync { const SERVICE_PATH = '/stssync/'; public static function getUrl($type, $servicePath, $linkUrl, $prefix, $name, $guid) { \CJSCore::Init(array('stssync')); $port = Context::getCurrent()->getRequest()->isHttps() ? 443 : 80; if(Loader::includeModule('ldap')) { $port = \CLdapUtil::getTargetPort(); } return 'BX.StsSync.sync(\''.$type.'\', \''.static::SERVICE_PATH.$servicePath.'\', \''.\CUtil::jsEscape($linkUrl).'\', \''.\CUtil::jsEscape($prefix).'\', \''.\CUtil::jsEscape($name).'\', \''.$guid.'\', '.intval($port).')'; } public static function checkAuth($userId, $ap) { global $USER; if(Loader::includeModule('intranet')) { $appPassword = ApplicationPasswordTable::findPassword($userId, $ap); if($appPassword !== false) { if($appPassword["APPLICATION_ID"] === OutlookApplication::ID) { $appManager = ApplicationManager::getInstance(); if($appManager->checkScope($appPassword["APPLICATION_ID"]) === true) { ApplicationPasswordTable::update($appPassword["ID"], array( 'DATE_LOGIN' => new DateTime(), 'LAST_IP' => Context::getCurrent()->getRequest()->getRemoteAddress(), )); setSessionExpired(true); return $USER->Authorize($userId); } } } } return false; } public static function getAuth($type = '') { if(Loader::includeModule('intranet')) { return \Bitrix\Intranet\OutlookApplication::generateAppPassword($type); } else { return false; } } }