public function SendCDNRequest($settings, $verb, $bucket, $file_name = '', $params = '', $content = false, $additional_headers = array())
 {
     $arToken = $this->_GetToken($settings["HOST"], $settings["USER"], $settings["KEY"]);
     if (!$arToken) {
         return false;
     }
     if (isset($arToken["X-CDN-Management-Url"])) {
         if (preg_match("#^http://(.*?)(|:\\d+)(/.*)\$#", $arToken["X-CDN-Management-Url"], $arCDN)) {
             $Host = $arCDN[1];
             $Port = $arCDN[2] ? substr($arCDN[2], 1) : 80;
             $Urn = $arCDN[3];
             $Proto = "";
         } elseif (preg_match("#^https://(.*?)(|:\\d+)(/.*)\$#", $arToken["X-CDN-Management-Url"], $arCDN)) {
             $Host = $arCDN[1];
             $Port = $arCDN[2] ? substr($arCDN[2], 1) : 443;
             $Urn = $arCDN[3];
             $Proto = "ssl://";
         } else {
             return false;
         }
     } else {
         return false;
     }
     $obRequest = new CHTTP();
     $obRequest->additional_headers["X-Auth-Token"] = $arToken["X-Auth-Token"];
     foreach ($additional_headers as $key => $value) {
         $obRequest->additional_headers[$key] = $value;
     }
     $obRequest->Query($verb, $Host, $Port, $Urn . CCloudUtil::URLEncode("/" . $bucket . $file_name . $params, "UTF-8"), $content, $Proto);
     return $obRequest;
 }
 function SendRequest($access_key, $secret_key, $verb, $bucket, $file_name = '/', $params = '')
 {
     global $APPLICATION;
     $this->status = 0;
     $RequestMethod = $verb;
     $RequestHost = "sts.amazonaws.com";
     $RequestURI = "/";
     $RequestParams = "";
     $params['SignatureVersion'] = 2;
     $params['SignatureMethod'] = 'HmacSHA1';
     $params['AWSAccessKeyId'] = $access_key;
     $params['Timestamp'] = gmdate('Y-m-d') . 'T' . gmdate('H:i:s');
     //.preg_replace("/(\d\d)\$/", ":\\1", date("O"));
     $params['Version'] = '2011-06-15';
     ksort($params);
     foreach ($params as $name => $value) {
         if ($RequestParams != '') {
             $RequestParams .= '&';
         }
         $RequestParams .= urlencode($name) . "=" . urlencode($value);
     }
     $StringToSign = "{$RequestMethod}\n" . "{$RequestHost}\n" . "{$RequestURI}\n" . "{$RequestParams}";
     $Signature = urlencode(base64_encode($this->hmacsha1($StringToSign, $secret_key)));
     $obRequest = new CHTTP();
     $obRequest->Query($RequestMethod, $RequestHost, 443, $RequestURI . "?{$RequestParams}&Signature={$Signature}", false, 'ssl://');
     $this->status = $obRequest->status;
     $this->headers = $obRequest->headers;
     $this->errno = $obRequest->errno;
     $this->errstr = $obRequest->errstr;
     $this->result = $obRequest->result;
     if ($obRequest->status == 200) {
         if ($obRequest->result) {
             $obXML = new CDataXML();
             $text = preg_replace("/<" . "\\?XML.*?\\?" . ">/i", "", $obRequest->result);
             if ($obXML->LoadString($text)) {
                 $arXML = $obXML->GetArray();
                 if (is_array($arXML)) {
                     return $arXML;
                 }
             }
             //XML parse error
             $APPLICATION->ThrowException(GetMessage('CLO_SECSERV_S3_XML_PARSE_ERROR', array('#errno#' => 1)));
             return false;
         } else {
             //Empty success result
             return array();
         }
     } elseif ($obRequest->status > 0) {
         if ($obRequest->result) {
             $APPLICATION->ThrowException(GetMessage('CLO_SECSERV_S3_XML_ERROR', array('#errmsg#' => $obRequest->result)));
             return false;
         }
         $APPLICATION->ThrowException(GetMessage('CLO_SECSERV_S3_XML_PARSE_ERROR', array('#errno#' => 2)));
         return false;
     } else {
         $APPLICATION->ThrowException(GetMessage('CLO_SECSERV_S3_XML_PARSE_ERROR', array('#errno#' => 3)));
         return false;
     }
 }
 function GetBoardFromSite($queryParameters)
 {
     global $APPLICATION;
     $result = array();
     $ob = new CHTTP();
     $ob->http_timeout = 60;
     $ob->Query("GET", "old.vnukovo.ru", 80, "/rus/for-passengers/board1/data.wbp?" . $queryParameters . '&ts=' . mktime(), false, "", "N");
     $result["ERROR"]["CODE"] = $ob->errno;
     $result["ERROR"]["MESSAGE"] = $ob->errstr;
     if (!intval($result["ERROR"]["CODE"])) {
         $res = $APPLICATION->ConvertCharset($ob->result, "UTF-8", SITE_CHARSET);
         //trace($res);
         $xml = new CDataXML();
         if ($xml->LoadString($res) && ($node = $xml->SelectNodes("/responce/rows"))) {
             $rows = $node->elementsByName("row");
             $akNames = array();
             $akCodes = array();
             $departures = array();
             $arrivals = array();
             $terminals = array();
             foreach ($rows as $row) {
                 $cells = $row->elementsByName("cell");
                 // Определяем код авиакомпании и номер рейса
                 preg_match_all("/([A-Za-zА-Яа-я0-9]{2})[\\s]*([0-9]+)/", $cells[0]->content, $flightNumber, PREG_PATTERN_ORDER);
                 $result["FLIGHTS"][] = array("FLIGHT" => array("AK_CODE" => $flightNumber[1][0], "NUMBER" => $flightNumber[2][0]), "AK_NAME" => htmlspecialcharsEx($cells[1]->content), "DEPARTURE" => htmlspecialcharsEx($cells[2]->content), "ARRIVAL" => htmlspecialcharsEx($cells[3]->content), "STATUS" => CAirportBoard::GetStatusInfo($cells[4]->content), "TIME" => array("PLANNED" => CAirportBoard::GetDateTimeArray($cells[5]->content), "ESTIMATED" => CAirportBoard::GetDateTimeArray($cells[6]->content), "ACTUAL" => CAirportBoard::GetDateTimeArray($cells[7]->content)), "TERMINAL" => htmlspecialcharsEx($cells[8]->content));
                 // Формируем список уникальных авиакомпаний, терминалов и пунктов вылета и прилета для фильтра
                 if (!in_array(htmlspecialcharsEx($cells[1]->content), $akNames)) {
                     $akNames[] = htmlspecialcharsEx($cells[1]->content);
                 }
                 if (!in_array($flightNumber[1][0], $akCodes)) {
                     $akCodes[] = $flightNumber[1][0];
                 }
                 if (!in_array(htmlspecialcharsEx($cells[2]->content), $departures)) {
                     $departures[] = htmlspecialcharsEx($cells[2]->content);
                 }
                 if (!in_array(htmlspecialcharsEx($cells[3]->content), $arrivals)) {
                     $arrivals[] = htmlspecialcharsEx($cells[3]->content);
                 }
                 if (!in_array(htmlspecialcharsEx($cells[8]->content), $terminals)) {
                     $terminals[] = htmlspecialcharsEx($cells[8]->content);
                 }
             }
             sort($akNames);
             sort($akCodes);
             sort($departures);
             sort($arrivals);
             sort($terminals);
             $result["AK_NAMES"] = $akNames;
             $result["AK_CODES"] = $akCodes;
             $result["DEPARTURES"] = $departures;
             $result["ARRIVALS"] = $arrivals;
             $result["TERMINALS"] = $terminals;
         }
     }
     return $result;
 }
 /**
  * Returns action response XML
  *
  * @param string $action
  * @return CDataXML
  * @throws CBitrixCloudException
  */
 protected function action($action)
 {
     /** @global CMain $APPLICATION */
     global $APPLICATION;
     $url = $this->getActionURL(array("action" => $action, "debug" => $this->debug ? "y" : "n"));
     $server = new CHTTP();
     $strXML = $server->Get($url);
     if ($strXML === false) {
         $e = $APPLICATION->GetException();
         if (is_object($e)) {
             throw new CBitrixCloudException($e->GetString(), "");
         } else {
             throw new CBitrixCloudException(GetMessage("BCL_CDN_WS_SERVER", array("#STATUS#" => "-1")), "");
         }
     }
     if ($server->status != 200) {
         throw new CBitrixCloudException(GetMessage("BCL_CDN_WS_SERVER", array("#STATUS#" => (string) $server->status)), "");
     }
     $obXML = new CDataXML();
     if (!$obXML->LoadString($strXML)) {
         throw new CBitrixCloudException(GetMessage("BCL_CDN_WS_XML_PARSE", array("#CODE#" => "1")), "");
     }
     $node = $obXML->SelectNodes("/error/code");
     if (is_object($node)) {
         $error_code = $node->textContent();
         $message_id = "BCL_CDN_WS_" . $error_code;
         /*
         GetMessage("BCL_CDN_WS_LICENSE_EXPIRE");
         GetMessage("BCL_CDN_WS_LICENSE_NOT_FOUND");
         GetMessage("BCL_CDN_WS_QUOTA_EXCEEDED");
         GetMessage("BCL_CDN_WS_CMS_LICENSE_NOT_FOUND");
         GetMessage("BCL_CDN_WS_DOMAIN_NOT_REACHABLE");
         GetMessage("BCL_CDN_WS_LICENSE_DEMO");
         GetMessage("BCL_CDN_WS_LICENSE_NOT_ACTIVE");
         GetMessage("BCL_CDN_WS_NOT_POWERED_BY_BITRIX_CMS");
         GetMessage("BCL_CDN_WS_WRONG_DOMAIN_SPECIFIED");
         */
         $debug_content = "";
         $node = $obXML->SelectNodes("/error/debug");
         if (is_object($node)) {
             $debug_content = $node->textContent();
         }
         //if (HasMessage($message_id))
         //    throw new CBitrixCloudException(GetMessage($message_id), $error_code, $debug_content);
         //else
         //    throw new CBitrixCloudException(GetMessage("BCL_CDN_WS_SERVER", array(
         //        "#STATUS#" => $error_code,
         //    )), $error_code, $debug_content);
     }
     return $obXML;
 }
Example #5
0
	public static function AddByChannel($channelId, $arMessage)
	{
		global $DB;

		if (strlen($arMessage['module_id'])<=0 || strlen($arMessage['command'])<=0)
			return false;


		$arData = Array(
			'module_id' => $arMessage['module_id'],
			'command' => $arMessage['command'],
			'params' => is_array($arMessage['params'])?$arMessage['params']: Array(),
		);
		if (CPullOptions::GetNginxStatus())
		{
			$message = CUtil::PhpToJsObject(Array('CHANNEL_ID' => $channelId, 'MESSAGE' => Array($arData), 'ERROR' => ''));
			if (!defined('BX_UTF') || !BX_UTF)
				$message = $GLOBALS['APPLICATION']->ConvertCharset($message, SITE_CHARSET,'utf-8');

			$CHTTP = new CHTTP();
			$CHTTP->http_timeout = 10;
			if ($CHTTP->HTTPQuery('POST', CPullOptions::GetPublishUrl($channelId), str_replace("\n", " ", $message)))
				$result = $CHTTP->result;
		}
		else
		{
			$arParams = Array(
				'CHANNEL_ID' => $channelId,
				'MESSAGE' => str_replace("\n", " ", serialize($arData)),
				'~DATE_CREATE' => $DB->CurrentTimeFunction(),
			);
			$id = IntVal($DB->Add("b_pull_stack", $arParams, Array("MESSAGE")));
			$result = $id? '{"channel": "'.$channelId.'", "id": "'.$id.'"}': false;
		}

		if (isset($arMessage['push_text']) && strlen($arMessage['push_text'])>0
		&& isset($arMessage['push_user']) && intval($arMessage['push_user'])>0)
		{
			$CPushManager = new CPushManager();
			$CPushManager->AddQueue(Array(
				'USER_ID' => $arMessage['push_user'],
				'MESSAGE' => str_replace("\n", " ", $arMessage['push_text']),
				'PARAMS' => $arMessage['push_params'],
				'TAG' => isset($arMessage['push_tag'])? $arMessage['push_tag']: '',
			));
		}

		return $result;
	}
 function GetOneBoardFromSite($queryParameters, $addQueryParameters)
 {
     global $APPLICATION;
     $ob = new CHTTP();
     $ob->http_timeout = 60;
     $ob->Query("GET", "www.pulkovoairport.ru", 80, "/online_serves/online_timetable/" . $queryParameters . '?ts=' . mktime() . (strlen($addQueryParameters) ? '&' . $addQueryParameters : ''), false, "", "N");
     $res = $APPLICATION->ConvertCharset($ob->result, "KOI8-R", SITE_CHARSET);
     $res = str_replace('<table class="tablo tabloBigNew bigTableZebra" border="0">', "++++", $res);
     $res = str_replace('</div> <!-- / gridTbox -->', "++++", $res);
     $explode = explode("++++", $res);
     $res = $explode[1];
     $res = substr($res, 0, strlen($res) - 22);
     return array("ERROR" => array("CODE" => $ob->errno, "MESSAGE" => $ob->errstr), "HTML" => $res);
     unset($explode, $res);
 }
Example #7
0
 function __MPF_ImageResizeHandler(&$arCustomFile, $params = array(), $result = array())
 {
     static $arParams = array();
     if (!empty($params)) {
         $arParams = $params;
     }
     static $arResult = array();
     if (!empty($result)) {
         $arResult = $result;
     }
     $fileIdForDelete = 0;
     $arFields = array();
     foreach (array("MELODY_WELCOME", "MELODY_WAIT", "MELODY_HOLD", "MELODY_VOICEMAIL") as $controlID => $inputName) {
         if ($_REQUEST["controlID"] == "voximplant" . $controlID) {
             $fileIdForDelete = $arResult["ITEM"][$inputName];
             $arFields = array($inputName => $arCustomFile["fileID"]);
             break;
         }
     }
     if (!empty($arFields)) {
         $arFile = CFile::GetFileArray($arCustomFile['fileID']);
         $arCustomFile["fileURL"] = CHTTP::URN2URI($arFile["SRC"]);
         Bitrix\Voximplant\ConfigTable::update($arParams["ID"], $arFields);
         CFile::Delete($fileIdForDelete);
     }
 }
Example #8
0
 public function getFriendsList($limit, &$next)
 {
     if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME')) {
         $redirect_uri = static::CONTROLLER_URL . "/redirect.php";
     } else {
         $redirect_uri = \CHTTP::URN2URI("/bitrix/tools/oauth/google.php");
     }
     $ob = $this->getEntityOAuth();
     if ($ob->GetAccessToken($redirect_uri) !== false) {
         $res = $ob->getCurrentUserFriends($limit, $next);
         foreach ($res["items"] as $key => $contact) {
             $contact["uid"] = $contact["id"];
             if (array_key_exists("name", $contact)) {
                 $contact["first_name"] = $contact["name"]["givenName"];
                 $contact["last_name"] = $contact["name"]["familyName"];
             } else {
                 list($contact["first_name"], $contact["last_name"]) = explode(" ", $contact["displayName"], 2);
             }
             if (array_key_exists("image", $contact)) {
                 $contact["picture"] = preg_replace("/\\?.*\$/", "", $contact["image"]["url"]);
             }
             $res["items"][$key] = $contact;
         }
         return $res["items"];
     }
     return false;
 }
 function GetOneBoardFromSite($queryParameters, $addQueryParameters)
 {
     global $APPLICATION;
     $ob = new CHTTP();
     $ob->http_timeout = 60;
     $ob->Query("GET", "www.domodedovo.ru", 80, "/onlinetablo/?" . $queryParameters . (strlen($addQueryParameters) ? '&' . $addQueryParameters : '') . '&ts=' . mktime(), false, "", "N");
     $res = $APPLICATION->ConvertCharset($ob->result, "UTF-8", SITE_CHARSET);
     $res = str_replace('<table cellspacing="1" cellpadding="3" width="100%" border="0" id="onlinetablo" >', "++++", $res);
     $res = str_replace('</form>', "++++", $res);
     $explode = explode("++++", $res);
     $res = $explode[1];
     $res = str_replace('</table>', "++++", $res);
     $explode = explode("++++", $res);
     $res = $explode[0];
     return array("ERROR" => array("CODE" => $ob->errno, "MESSAGE" => $ob->errstr), "HTML" => $res);
     unset($explode, $res);
 }
 public static function Add($userId)
 {
     global $DB, $APPLICATION;
     $channelId = md5(uniqid() . $_SERVER["REMOTE_ADDR"] . $_SERVER["SERVER_NAME"] . (is_object($APPLICATION) ? $APPLICATION->GetServerUniqID() : ''));
     $arParams = array('USER_ID' => intval($userId), 'CHANNEL_ID' => $channelId, 'LAST_ID' => 0, '~DATE_CREATE' => $DB->CurrentTimeFunction());
     $result = IntVal($DB->Add("b_pull_channel", $arParams, array()));
     if (CPullOptions::GetNginxStatus()) {
         $result = false;
         $arData = array('module_id' => 'pull', 'command' => 'open', 'params' => array());
         $CHTTP = new CHTTP();
         $CHTTP->http_timeout = 10;
         if ($CHTTP->HTTPQuery('POST', CPullOptions::GetPublishUrl($channelId), CUtil::PhpToJsObject(array('MESSAGE' => array($arData), 'ERROR' => '')))) {
             $result = $CHTTP->result;
         }
     }
     return $result ? $channelId : false;
 }
Example #11
0
 function MultySend($arNumbers, $message)
 {
     if (!empty($arNumbers)) {
         if (!defined("BX_UTF")) {
             $message = iconv("windows-1251", "utf-8", $message);
         }
         $res = new CHTTP();
         $token = $res->Get("http://sms.ru/auth/get_token");
         $arrep = array(" ", ",", "(", ")", "-");
         foreach ($arNumbers as $k => $v) {
             $arNumbers[$k] = str_replace($arrep, "", $v);
         }
         $arr = array("login" => COption::GetOptionString("echogroup.smsru", "LOGIN"), "sha512" => hash("sha512", COption::GetOptionString("echogroup.smsru", "PASSWORD") . $token . COption::GetOptionString("echogroup.smsru", "API_KEY")), "token" => $token, "to" => implode($arNumbers, $number), "text" => $message);
         $html = $res->Post("http://sms.ru/sms/send", $arr);
         return $html;
     }
 }
Example #12
0
function Redirect404()
{
    if (!defined('ADMIN_SECTION') && defined('ERROR_404')) {
        global $APPLICATION;
        $APPLICATION->RestartBuffer();
        CHTTP::SetStatus('404 Not Found');
        $tplPath = BASE_PATH . '/local/templates/404/';
        include "{$tplPath}/header.php";
        include "{$tplPath}/footer.php";
    }
}
 /**
  * Returns URL to backup webservice
  *
  * @param array[string]string $arParams
  * @return string
  *
  */
 protected function getActionURL($arParams = array())
 {
     $arParams["license"] = md5(LICENSE_KEY);
     $arParams["spd"] = $this->spd;
     $arParams["lang"] = LANGUAGE_ID;
     $arParams["file_name"] = $this->file_name;
     $arParams["check_word"] = $this->check_word;
     $url = COption::GetOptionString("bitrixcloud", "backup_policy_url");
     $url = CHTTP::urlAddParams($url, $arParams, array("encode" => true));
     return $url;
 }
 /**
  * Returns URL to backup webservice
  *
  * @param array[string]string $arParams
  * @return string
  *
  */
 protected function getActionURL($arParams = array())
 {
     $arParams["license"] = md5(LICENSE_KEY);
     $arParams["spd"] = CUpdateClient::getSpd();
     foreach ($this->addParams as $key => $value) {
         $arParams[$key] = $value;
     }
     $url = COption::GetOptionString("bitrixcloud", "monitoring_policy_url");
     $url = CHTTP::urlAddParams($url, $arParams, array("encode" => true)) . $this->addStr;
     return $url;
 }
Example #15
0
 static function getRightsLinks($arPage)
 {
     global $arParams, $APPLICATION;
     if (!is_array($arPage)) {
         $arPage = array($arPage);
     }
     $arLinks = array();
     $arParams['ELEMENT_NAME'] = htmlspecialcharsback($arParams['ELEMENT_NAME']);
     $arParams['ELEMENT_NAME'] = urlencode($arParams['ELEMENT_NAME']);
     if (in_array('categories', $arPage)) {
         return array();
     }
     if (in_array('article', $arPage) && !in_array('add', $arPage)) {
         $arLinks['article'] = array('NAME' => GetMessage('PAGE_ARTICLE'), 'TITLE' => GetMessage('PAGE_ARTICLE_TITLE'), 'CURRENT' => in_array('article', $arPage), 'LINK' => CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST'], array('wiki_name' => $arParams['ELEMENT_NAME'], 'group_id' => CWikiSocnet::$iSocNetId)), 'ID' => 'article', 'TYPE' => 'page', 'IS_RED' => in_array('add', $arPage) ? 'Y' : 'N');
     }
     if (self::IsWriteable() && ((!in_array('history', $arPage) || in_array('history_diff', $arPage)) && (!in_array('add', $arPage) && !in_array('edit', $arPage) && !in_array('delete', $arPage) && !in_array('rename', $arPage)))) {
         if (IsModuleInstalled('bizproc')) {
             $arLinks['history'] = array('NAME' => GetMessage('PAGE_HISTORY'), 'TITLE' => GetMessage('PAGE_HISTORY_TITLE'), 'CURRENT' => in_array('history', $arPage), 'LINK' => CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_HISTORY'], array('wiki_name' => $arParams['ELEMENT_NAME'], 'group_id' => CWikiSocnet::$iSocNetId)), $arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N' ? array($arParams['OPER_VAR'] => 'history') : array()), 'ID' => 'history', 'TYPE' => 'page', 'IS_RED' => 'N');
         }
     }
     if ($arParams['USE_REVIEW'] == 'Y') {
         $arLinks['discussion'] = array('NAME' => GetMessage('PAGE_DISCUSSION'), 'TITLE' => GetMessage('PAGE_DISCUSSION_TITLE'), 'CURRENT' => in_array('discussion', $arPage), 'LINK' => CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_DISCUSSION'], array('wiki_name' => $arParams['ELEMENT_NAME'], 'group_id' => CWikiSocnet::$iSocNetId)), $arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N' ? array($arParams['OPER_VAR'] => 'discussion') : array()), 'ID' => 'discussion', 'TYPE' => 'page', 'IS_RED' => 'N');
     }
     if (self::IsWriteable() && (!in_array('history', $arPage) && !in_array('history_diff', $arPage))) {
         $arLinks['add'] = array('NAME' => GetMessage('PAGE_ADD'), 'TITLE' => GetMessage('PAGE_ADD_TITLE'), 'CURRENT' => in_array('add', $arPage), 'LINK' => CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST_EDIT'], array('wiki_name' => GetMessage('WIKI_NEW_PAGE_TITLE'), 'group_id' => CWikiSocnet::$iSocNetId)), array($arParams['OPER_VAR'] => 'add')), 'ID' => 'add', 'TYPE' => 'edit', 'IS_RED' => in_array('add', $arPage) ? 'Y' : 'N');
         if (!in_array('add', $arPage)) {
             $arLinks['edit'] = array('NAME' => GetMessage('PAGE_EDIT'), 'TITLE' => GetMessage('PAGE_EDIT_TITLE'), 'CURRENT' => in_array('edit', $arPage), 'LINK' => CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST_EDIT'], array('wiki_name' => $arParams['ELEMENT_NAME'], 'group_id' => CWikiSocnet::$iSocNetId)), $arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N' ? array($arParams['OPER_VAR'] => 'edit') : array()), 'ID' => 'edit', 'TYPE' => 'edit', 'IS_RED' => in_array('add', $arPage) ? 'Y' : 'N');
             $url = $APPLICATION->GetPopupLink(array('URL' => CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST_EDIT'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId)), array($arParams['OPER_VAR'] => 'rename')), 'PARAMS' => array('width' => 400, 'height' => 150, 'resizable' => false)));
             $arLinks['rename'] = array('NAME' => GetMessage('WIKI_PAGE_RENAME'), 'TITLE' => GetMessage('WIKI_PAGE_RENAME_TITLE'), 'CURRENT' => in_array('rename', $arPage), 'LINK' => 'javascript:' . $url, 'ID' => 'rename', 'TYPE' => 'page');
             if (self::IsDeleteable()) {
                 $url = $APPLICATION->GetPopupLink(array('URL' => CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST_EDIT'], array('wiki_name' => $arParams['ELEMENT_ID'], 'group_id' => CWikiSocnet::$iSocNetId)), array($arParams['OPER_VAR'] => 'delete')), 'PARAMS' => array('width' => 400, 'height' => 150, 'resizable' => false)));
                 $arLinks['delete'] = array('NAME' => GetMessage('PAGE_DELETE'), 'TITLE' => GetMessage('PAGE_DELETE_TITLE'), 'CURRENT' => in_array('delete', $arPage), 'LINK' => 'javascript:' . $url, 'ID' => 'delete', 'TYPE' => 'edit', 'IS_RED' => 'N');
             }
         }
         /**	$arLinks['access'] = array(
         				'NAME' => GetMessage('PAGE_ACCESS'),
         				'TITLE' => GetMessage('PAGE_ACCESS_TITLE'),
         				'CURRENT' => in_array('access', $arPage),
         				'LINK' => CHTTP::urlAddParams(
         					CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST_EDIT'],
         						array(
         							'wiki_name' => $arParams['ELEMENT_NAME'],
         							'group_id' => CWikiSocnet::$iSocNetId
         						)
         					),
         					array($arParams['OPER_VAR'] => 'access')
         				),
         				'ID' => 'access',
         				'TYPE' => 'edit',
         				'IS_RED' => 'N'
         			); **/
     }
     return $arLinks;
 }
Example #16
0
 /**
  * Returns URL to backup webservice
  *
  * @param array[string]string $arParams
  * @return string
  *
  */
 protected function getActionURL($arParams = array())
 {
     $arParams["license"] = md5(LICENSE_KEY);
     $arParams["lang"] = LANGUAGE_ID;
     foreach ($this->addParams as $key => $value) {
         $arParams[$key] = $value;
     }
     $url = COption::GetOptionString("bitrixcloud", "backup_policy_url");
     $url = CHTTP::urlAddParams($url, $arParams, array("encode" => true)) . $this->addStr;
     return $url;
 }
Example #17
0
 function findCorrectFile($path, &$strWarn, $warning = false)
 {
     $arUrl = CHTTP::ParseURL($path);
     if ($arUrl && is_array($arUrl)) {
         if (isset($arUrl['host'], $arUrl['scheme'])) {
             if (strpos($arUrl['host'], 'xn--') !== false) {
                 // Do nothing
             } else {
                 $originalPath = $path;
                 $path = $arUrl['scheme'] . '://' . $arUrl['host'];
                 $arErrors = array();
                 if (defined("BX_UTF")) {
                     $punicodedPath = CBXPunycode::ToUnicode($path, $arErrors);
                 } else {
                     $punicodedPath = CBXPunycode::ToASCII($path, $arErrors);
                 }
                 if ($punicodedPath == $path) {
                     return $originalPath;
                 } else {
                     $path = $punicodedPath;
                 }
                 if ($arUrl['port'] && ($arUrl['port'] != 80 && $arUrl['port'] != 443)) {
                     $path .= ':' . $arUrl['port'];
                 }
                 $path .= $arUrl['path_query'];
             }
         } else {
             $DOC_ROOT = $_SERVER["DOCUMENT_ROOT"];
             $path = Rel2Abs("/", $path);
             $path_ = $path;
             $io = CBXVirtualIo::GetInstance();
             if (!$io->FileExists($DOC_ROOT . $path)) {
                 if (CModule::IncludeModule('clouds')) {
                     $path = CCloudStorage::FindFileURIByURN($path, "component:player");
                     if ($path == "") {
                         if ($warning) {
                             $strWarn .= $warning . "<br />";
                         }
                         $path = $path_;
                     }
                 } else {
                     if ($warning) {
                         $strWarn .= $warning . "<br />";
                     }
                     $path = $path_;
                 }
             }
         }
     }
     return $path;
 }
Example #18
0
 /**
  * Returns action response XML
  *
  * @param string $action
  * @return CDataXML
  *
  */
 protected function action($action)
 {
     global $APPLICATION;
     $url = $this->getActionURL(array("action" => $action));
     $server = new CHTTP();
     $strXML = $server->Get($url);
     if ($strXML === false) {
         $e = $APPLICATION->GetException();
         if (is_object($e)) {
             throw new CBitrixCloudException($e->GetString(), "");
         } else {
             throw new CBitrixCloudException(GetMessage("BCL_CDN_WS_SERVER", array("#STATUS#" => "-1")), "");
         }
     }
     if ($server->status != 200) {
         throw new CBitrixCloudException(GetMessage("BCL_CDN_WS_SERVER", array("#STATUS#" => (string) $server->status)), "");
     }
     $obXML = new CDataXML();
     if (!$obXML->LoadString($strXML)) {
         throw new CBitrixCloudException(GetMessage("BCL_CDN_WS_XML_PARSE", array("#CODE#" => "1")), "");
     }
     $node = $obXML->SelectNodes("/error/code");
     if (is_object($node)) {
         $error_code = $node->textContent();
         $message_id = "BCL_CDN_WS_" . $error_code;
         /*
         GetMessage("BCL_CDN_WS_LICENSE_EXPIRE");
         GetMessage("BCL_CDN_WS_LICENSE_NOT_FOUND");
         GetMessage("BCL_CDN_WS_QUOTA_EXCEEDED");
         */
         if (HasMessage($message_id)) {
             throw new CBitrixCloudException(GetMessage($message_id), $error_code);
         } else {
             throw new CBitrixCloudException(GetMessage("BCL_CDN_WS_SERVER", array("#STATUS#" => $error_code)), $error_code);
         }
     }
     return $obXML;
 }
Example #19
0
 public static function AddByChannel($channelId, $arMessage)
 {
     global $DB;
     if (strlen($arMessage['module_id']) <= 0 || strlen($arMessage['command']) <= 0) {
         return false;
     }
     $arData = array('module_id' => $arMessage['module_id'], 'command' => $arMessage['command'], 'params' => is_array($arMessage['params']) ? $arMessage['params'] : array());
     if (CPullOptions::GetNginxStatus()) {
         $CHTTP = new CHTTP();
         $CHTTP->http_timeout = 10;
         if ($CHTTP->HTTPQuery('POST', CPullOptions::GetPublishUrl($channelId), str_replace("\n", " ", CUtil::PhpToJsObject(array('CHANNEL_ID' => $channelId, 'MESSAGE' => array($arData), 'ERROR' => ''))))) {
             $result = $CHTTP->result;
         }
     } else {
         $arParams = array('CHANNEL_ID' => $channelId, 'MESSAGE' => str_replace("\n", " ", serialize($arData)), '~DATE_CREATE' => $DB->CurrentTimeFunction());
         $id = IntVal($DB->Add("b_pull_stack", $arParams, array("MESSAGE")));
         $result = $id ? '{"channel": "' . $channelId . '", "id": "' . $id . '"}' : false;
     }
     if (isset($arMessage['push_text']) && strlen($arMessage['push_text']) > 0 && isset($arMessage['push_user']) && intval($arMessage['push_user']) > 0) {
         $CPushManager = new CPushManager();
         $CPushManager->AddQueue(array('USER_ID' => $arMessage['push_user'], 'MESSAGE' => str_replace("\n", " ", $arMessage['push_text']), 'PARAMS' => $arMessage['push_params'], 'TAG' => isset($arMessage['push_tag']) ? $arMessage['push_tag'] : ''));
     }
     return $result;
 }
 /**
  * Returns URL to update policy
  *
  * @param array[string]string $arParams
  * @return string
  *
  */
 protected function getActionURL($arParams = array())
 {
     $arErrors = array();
     $domainTmp = CBXPunycode::ToASCII($this->domain, $arErrors);
     if (strlen($domainTmp) > 0) {
         $domain = $domainTmp;
     } else {
         $domain = $this->domain;
     }
     $arParams["license"] = md5(LICENSE_KEY);
     $arParams["domain"] = $domain;
     $url = COption::GetOptionString("bitrixcloud", "cdn_policy_url");
     $url = CHTTP::urlAddParams($url, $arParams, array("encode" => true));
     return $url;
 }
Example #21
0
function hrefHtml()
{
    $result = '';
    $params = array();
    $key = '';
    $argNum = func_num_args();
    for ($i = 0; $i < $argNum; $i++) {
        if ($i == 0) {
            $result = func_get_arg($i);
        } elseif ($i % 2) {
            $key = func_get_arg($i);
        } else {
            $params[$key] = func_get_arg($i);
        }
    }
    $result = CHTTP::urlAddParams($result, $params, array("encode" => true));
    return htmlspecialcharsbx($result);
}
Example #22
0
 /**
  * Returns script filename by URL
  *
  * @param string $site Site ID.
  * @param string $url URL.
  * @return string|null
  */
 public static function getRealPath($site, $url)
 {
     $docRoot = rtrim(\Bitrix\Main\SiteTable::getDocumentRoot($site), '/');
     $url = str_replace('\\', '/', $url);
     $url = \CHTTP::urnEncode($url);
     $uri = new Web\Uri($url);
     $path = \CHTTP::urnDecode($uri->getPath());
     if (substr($path, -1, 1) == '/') {
         $path .= 'index.php';
     }
     $file = new IO\File($docRoot . $path);
     if ($file->isExists()) {
         return substr($file->getPath(), strlen($docRoot));
     }
     if ($rewriteRules = AdminHelper::getRewriteRules($site)) {
         $pathQuery = \CHTTP::urnDecode($uri->getPathQuery());
         foreach ($rewriteRules as &$item) {
             if (preg_match($item['CONDITION'], $pathQuery)) {
                 $url = empty($item['PATH']) && !empty($item['RULE']) ? preg_replace($item['CONDITION'], $item['RULE'], $pathQuery) : $item['PATH'];
                 $url = \CHTTP::urnEncode($url);
                 $uri = new Web\Uri($url);
                 $path = \CHTTP::urnDecode($uri->getPath());
                 $file = new IO\File($docRoot . $path);
                 if ($file->isExists()) {
                     $pathTmp = str_replace('.', '', strtolower(ltrim($path, '/\\')));
                     $pathTmp7 = substr($pathTmp, 0, 7);
                     if ($pathTmp7 == 'upload/' || $pathTmp7 == 'bitrix/') {
                         continue;
                     }
                     if ($file->getExtension() != 'php') {
                         continue;
                     }
                     return substr($file->getPath(), strlen($docRoot));
                 }
             }
         }
     }
     return null;
 }
Example #23
0
 /**
  * Performs actions enabled by its parameters.
  *
  * @param string $message Message to show with bitrix:system.show_message component.
  * @param bool $defineConstant If true then ERROR_404 constant defined.
  * @param bool $setStatus If true sets http response status.
  * @param bool $showPage If true then work area will be cleaned and /404.php will be included.
  * @param string $pageFile Alternative file to /404.php.
  *
  * @return void
  */
 public static function process404($message = "", $defineConstant = true, $setStatus = true, $showPage = false, $pageFile = "")
 {
     /** @global \CMain $APPLICATION */
     global $APPLICATION;
     if ($message != "") {
         $APPLICATION->includeComponent("bitrix:system.show_message", ".default", array("MESSAGE" => $message, "STYLE" => "errortext"), null, array("HIDE_ICONS" => "Y"));
     }
     if ($defineConstant && !defined("ERROR_404")) {
         define("ERROR_404", "Y");
     }
     if ($setStatus) {
         \CHTTP::setStatus("404 Not Found");
     }
     if ($showPage) {
         if ($APPLICATION->RestartWorkarea()) {
             if ($pageFile) {
                 require \Bitrix\Main\Application::getDocumentRoot() . rel2abs("/", "/" . $pageFile);
             } else {
                 require \Bitrix\Main\Application::getDocumentRoot() . "/404.php";
             }
             die;
         }
     }
 }
Example #24
0
    function NewMediaObject($params)
    {
        global $USER, $DB;
        $blogId = IntVal(CBlogMetaWeblog::DecodeParams($params[0]["#"]["value"][0]["#"]));
        $user = CBlogMetaWeblog::DecodeParams($params[1]["#"]["value"][0]["#"]);
        $password = CBlogMetaWeblog::DecodeParams($params[2]["#"]["value"][0]["#"]);
        $arImage = $params[3]["#"]["value"][0]["#"]["struct"][0]["#"]["member"];
        foreach ($arImage as $val) {
            $arImageInfo[$val["#"]["name"][0]["#"]] = CBlogMetaWeblog::DecodeParams($val["#"]["value"][0]["#"]);
        }
        if (CBlogMetaWeblog::Authorize($user, $password)) {
            $result = '';
            $userId = $USER->GetID();
            if (IntVal($blogId) > 0) {
                $dbBlog = CBlog::GetList(array(), array("GROUP_SITE_ID" => SITE_ID, "ACTIVE" => "Y", "ID" => $blogId), false, false, array("ID", "URL", "NAME"));
                if ($arBlog = $dbBlog->GetNext()) {
                    $filename = trim(str_replace("\\", "/", trim($arImageInfo["name"])), "/");
                    $DIR_NAME = CTempFile::GetDirectoryName(12);
                    $FILE_NAME = rel2abs($DIR_NAME, "/" . $filename);
                    if (strlen($FILE_NAME) > 1 && $FILE_NAME === "/" . $filename) {
                        $ABS_FILE_NAME = $DIR_NAME . $FILE_NAME;
                    } else {
                        $ABS_FILE_NAME = "";
                    }
                    CheckDirPath($DIR_NAME);
                    if (strlen($ABS_FILE_NAME) > 0 && ($fp = fopen($ABS_FILE_NAME, "ab"))) {
                        $result = fwrite($fp, $arImageInfo["bits"]);
                        if ($result !== (function_exists("mb_strlen") ? mb_strlen($arImageInfo["bits"], 'latin1') : strlen($arImageInfo["bits"]))) {
                            return '<fault>
									<value>
										<struct>
											<member>
												<name>faultCode</name>
												<value><int>3</int></value>
												</member>
											<member>
												<name>faultString</name>
												<value><string>Error on saving media object</string></value>
												</member>
											</struct>
										</value>
									</fault>';
                        }
                        fclose($fp);
                    } else {
                        return '<fault>
								<value>
									<struct>
										<member>
											<name>faultCode</name>
											<value><int>3</int></value>
											</member>
										<member>
											<name>faultString</name>
											<value><string>Error on saving media object</string></value>
											</member>
										</struct>
									</value>
								</fault>';
                    }
                    $arFields = array("BLOG_ID" => $arBlog["ID"], "USER_ID" => $userId, "=TIMESTAMP_X" => $DB->GetNowFunction(), "FILE_ID" => array("name" => $arImageInfo["name"], "tmp_name" => $ABS_FILE_NAME, "MODULE_ID" => "blog", "type" => $arImageInfo["type"]));
                    $imageId = CBlogImage::Add($arFields);
                    $arImg = CBlogImage::GetByID($imageId);
                    $arFile = CFile::GetFileArray($arImg["FILE_ID"]);
                    $path = $arFile["SRC"];
                    $dbSite = CSite::GetByID(SITE_ID);
                    $arSite = $dbSite->Fetch();
                    $serverName = htmlspecialcharsEx($arSite["SERVER_NAME"]);
                    if (strlen($serverName) <= 0) {
                        if (defined("SITE_SERVER_NAME") && strlen(SITE_SERVER_NAME) > 0) {
                            $serverName = SITE_SERVER_NAME;
                        } else {
                            $serverName = COption::GetOptionString("main", "server_name", "www.bitrixsoft.com");
                        }
                    }
                    if (strlen($path) > 0) {
                        return '<params>
							<param>
								<value>
									<struct>
									<member>
									<name>url</name>
									<value>
									<string>' . CHTTP::URN2URI($path, $serverName) . '</string>
									</value>
									</member>
									</struct>
								</value>
							</param>
						</params>';
                    }
                }
            }
            return '<fault>
				<value>
					<struct>
						<member>
							<name>faultCode</name>
							<value><int>3</int></value>
							</member>
						<member>
							<name>faultString</name>
							<value><string>Error on saving media object</string></value>
							</member>
						</struct>
					</value>
				</fault>';
        } else {
            return '<fault>
				<value>
					<struct>
						<member>
							<name>faultCode</name>
							<value><int>3</int></value>
							</member>
						<member>
							<name>faultString</name>
							<value><string>' . $arAuthResult["MESSAGE"] . '</string></value>
							</member>
						</struct>
					</value>
				</fault>';
        }
    }
Example #25
0
 protected function unEscape($data)
 {
     global $APPLICATION;
     if (is_array($data)) {
         $res = array();
         foreach ($data as $k => $v) {
             $k = $APPLICATION->ConvertCharset(\CHTTP::urnDecode($k), "UTF-8", LANG_CHARSET);
             $res[$k] = $this->unEscape($v);
         }
     } else {
         $res = $APPLICATION->ConvertCharset(\CHTTP::urnDecode($data), "UTF-8", LANG_CHARSET);
     }
     return $res;
 }
Example #26
0
        $arResult["CURRENT"]["COUNT"] = CIBlockElement::GetList(array(), $arFilter, array());
        foreach ($arResult["NEXT"] as $key => $value) {
            $arResult["NEXT"][$key]["PICTURE"] = CFile::GetFileArray($value["PREVIEW_PICTURE"]);
        }
        foreach ($arResult["PREV"] as $key => $value) {
            $arResult["PREV"][$key]["PICTURE"] = CFile::GetFileArray($value["PREVIEW_PICTURE"]);
        }
        //echo "<pre>",htmlspecialcharsbx(print_r($arResult,true)),"</pre>";
        $this->SetResultCacheKeys(array("ID", "IBLOCK_ID", "IBLOCK_SECTION_ID", "LIST_PAGE_URL", "PROPERTIES", "NAME", "SECTION"));
        $this->IncludeComponentTemplate();
    } else {
        $this->AbortResultCache();
        ShowError(GetMessage("PHOTO_ELEMENT_NOT_FOUND"));
        @define("ERROR_404", "Y");
        if ($arParams["SET_STATUS_404"] === "Y") {
            CHTTP::SetStatus("404 Not Found");
        }
    }
}
/*************************************************************************
	Any actions without cache (if there was some to display)
*************************************************************************/
if (isset($arResult["ID"])) {
    $arTitleOptions = null;
    if (CModule::IncludeModule("iblock")) {
        CIBlockElement::CounterInc($arResult["ID"]);
        if ($USER->IsAuthorized()) {
            if ($APPLICATION->GetShowIncludeAreas() || $arParams["SET_TITLE"] || isset($arResult[$arParams["BROWSER_TITLE"]])) {
                $arReturnUrl = array("add_element" => CIBlock::GetArrayByID($arResult["IBLOCK_ID"], "DETAIL_PAGE_URL"), "delete_element" => isset($arResult["SECTION"]) ? $arResult["SECTION"]["SECTION_PAGE_URL"] : $arResult["LIST_PAGE_URL"]);
                $arButtons = CIBlock::GetPanelButtons($arResult["IBLOCK_ID"], $arResult["ID"], $arResult["IBLOCK_SECTION_ID"], array("RETURN_URL" => $arReturnUrl));
                if ($APPLICATION->GetShowIncludeAreas()) {
Example #27
0
                }
            }
        }
        // obtain a list of pictures page
        $arResult['IMAGES'] = array();
        if (!empty($arResult['ELEMENT']['IMAGES'])) {
            foreach ($arResult['ELEMENT']['IMAGES'] as $_imgID) {
                $rsFile = CFile::GetByID($_imgID);
                $arFile = $rsFile->Fetch();
                $aImg = array();
                $aImg['ID'] = $_imgID;
                $aImg['ORIGINAL_NAME'] = $arFile['ORIGINAL_NAME'];
                $aImg['FILE_SHOW'] = CFile::ShowImage($_imgID, 100, 100, "id=\"{$_imgID}\" border=\"0\" style=\"cursor:pointer;\" onclick=\"doInsert('[File:" . CUtil::JSEscape(htmlspecialcharsbx($arFile['ORIGINAL_NAME'])) . "]','',false, '{$_imgID}')\" title='" . GetMessage('WIKI_IMAGE_INSERT') . "'");
                $arResult['IMAGES'][] = $aImg;
            }
        }
        include_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/components/bitrix/wiki/include/nav.php';
        $arResult['PATH_TO_POST_EDIT'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST_EDIT'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId)), $arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N' ? array($arParams['OPER_VAR'] => $arResult['WIKI_oper']) : array());
        $arResult['~PATH_TO_POST_EDIT'] = urldecode($arResult['PATH_TO_POST_EDIT']);
        //because it can change the page name, and hence the path for the parameter "Action" in tag "Form"
        if (strpos(POST_FORM_ACTION_URI, 'SEF_APPLICATION_CUR_PAGE_URL=') !== false) {
            $arResult['PATH_TO_POST_EDIT_SUBMIT'] = CHTTP::urlAddParams(CHTTP::urlDeleteParams(POST_FORM_ACTION_URI, array('SEF_APPLICATION_CUR_PAGE_URL')), array('SEF_APPLICATION_CUR_PAGE_URL' => urlencode($arResult['~PATH_TO_POST_EDIT'])));
        } else {
            $arResult['PATH_TO_POST_EDIT_SUBMIT'] = $arResult['PATH_TO_POST_EDIT'];
        }
        $sCatName = '';
        $arResult["IS_CATEGORY_PAGE"] = CWikiUtils::IsCategoryPage($arResult['ELEMENT']['NAME_LOCALIZE'], $sCatName);
    }
}
$this->IncludeComponentTemplate();
unset($GLOBALS['arParams']);
Example #28
0
    }
}
$arInputNames["set_filter"] = true;
$arInputNames["del_filter"] = true;
$arSkip = array("AUTH_FORM" => true, "TYPE" => true, "USER_LOGIN" => true, "USER_CHECKWORD" => true, "USER_PASSWORD" => true, "USER_CONFIRM_PASSWORD" => true, "USER_EMAIL" => true, "captcha_word" => true, "captcha_sid" => true, "login" => true, "Login" => true, "backurl" => true, "ajax" => true, "mode" => true, "bxajaxid" => true, "AJAX_CALL" => true);
$arResult["FORM_ACTION"] = $clearURL;
$arResult["HIDDEN"] = array();
foreach (array_merge($_GET, $_POST) as $key => $value) {
    if (!isset($arInputNames[$key]) && !isset($arSkip[$key]) && !is_array($value)) {
        $arResult["HIDDEN"][] = array("CONTROL_ID" => htmlspecialcharsbx($key), "CONTROL_NAME" => htmlspecialcharsbx($key), "HTML_VALUE" => htmlspecialcharsbx($value));
    }
}
if ($arParams["XML_EXPORT"] === "Y" && $arResult["SECTION"] && $arResult["SECTION"]["RIGHT_MARGIN"] - $arResult["SECTION"]["LEFT_MARGIN"] === 1) {
    $exportUrl = CHTTP::urlAddParams($clearURL, array("mode" => "xml"));
    $APPLICATION->AddHeadString('<meta property="ya:interaction" content="XML_FORM" />');
    $APPLICATION->AddHeadString('<meta property="ya:interaction:url" content="' . CHTTP::urn2uri($exportUrl) . '" />');
}
if ($arParams["XML_EXPORT"] === "Y" && $_REQUEST["mode"] === "xml") {
    $this->setFrameMode(false);
    ob_start();
    $this->IncludeComponentTemplate("xml");
    $xml = ob_get_contents();
    $APPLICATION->RestartBuffer();
    while (ob_end_clean()) {
    }
    header("Content-Type: text/xml; charset=utf-8");
    echo $APPLICATION->convertCharset($xml, LANG_CHARSET, "utf-8");
    require_once $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/include/epilog_after.php";
    die;
} elseif (isset($_REQUEST["ajax"]) && $_REQUEST["ajax"] === "y") {
    $this->setFrameMode(false);
Example #29
0
	private function _query($method, $params = array())
	{
		global $APPLICATION;

		if ($this->arLink)
		{
			if (!$method)
				$method = 'lead.add';

			$arPostFields = array(
				'method' => $method
			);

			if ($this->arAuth)
			{
				$arPostFields['LOGIN'] = $this->arAuth['LOGIN'];
				$arPostFields['PASSWORD'] = $this->arAuth['PASSWORD'];
			}
			else
			{
				$arPostFields['AUTH'] = $this->arLink['AUTH_HASH'];
			}

			$arPostFields = array_merge($params, $arPostFields);
			$arPostFields = $APPLICATION->ConvertCharsetArray($arPostFields, LANG_CHARSET, 'UTF-8');

			$obHTTP = new CHTTP();
			$result_text = $obHTTP->Post($this->arLink['URL'], $arPostFields);

			$version_header = $obHTTP->headers['X-CRM-Version'];
			if (strlen($version_header) <= 0 || version_compare($version_header, "11.5.0") < 0)
			{
				$result_text = '{"error":"500","error_message":"'.GetMessage('FORM_CRM_VERSION_FAILURE').'"}';
			}
			else
			{
				$result_text = $APPLICATION->ConvertCharset($result_text, 'UTF-8', LANG_CHARSET);
			}

			$this->lastResult = new _CFormCrmSenderResult($result_text);

			if ($this->lastResult->field('AUTH'))
			{
				$this->_setAuthHash($this->lastResult->field('AUTH'));
			}

			return $this->lastResult;
		}

		return false;
	}
Example #30
0
	public function GetCurrentUser()
	{
		if($this->access_token === false)
			return false;

		$result = CHTTP::sGet(self::CONTACTS_URL."?access_token=".urlencode($this->access_token));
		if(!defined("BX_UTF"))
			$result = CharsetConverter::ConvertCharset($result, "utf-8", LANG_CHARSET);

		return CUtil::JsObjectToPhp($result);
	}