Guest User

Untitled

a guest
Jun 20th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.05 KB | None | 0 0
  1. <?
  2. header("Content-Type: application/json;charset=utf-8");
  3. $result = array();
  4. $contentType = isset($_SERVER["CONTENT_TYPE"])?trim($_SERVER["CONTENT_TYPE"]):'';
  5. if(strcasecmp($contentType, 'application/json') == 0){
  6.     $content = trim(file_get_contents("php://input"));
  7.     $data = json_decode($content, true);
  8.    
  9.     if(is_array($data)){
  10.        
  11.         if(isset($_SERVER['PHP_AUTH_USER'])){
  12.             $login = $_SERVER['PHP_AUTH_USER'];
  13.             $pass = $_SERVER['PHP_AUTH_PW'];
  14.         }elseif(isset($_SERVER['HTTP_AUTHORIZATION'])){
  15.             if(strpos(strtolower($_SERVER['HTTP_AUTHORIZATION']), 'basic') === 0){
  16.                 list($login, $pass) = explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
  17.             }
  18.         }elseif(isset($_SERVER['REMOTE_USER'])){
  19.             if(strpos(strtolower($_SERVER['REMOTE_USER']), 'basic') === 0){
  20.                 list($login, $pass) = explode(':', base64_decode(substr($_SERVER['REMOTE_USER'], 6)));
  21.             }
  22.         }
  23.         require_once($_SERVER['DOCUMENT_ROOT']."/bitrix/modules/main/include/prolog_before.php");
  24.         $rsUser = new CUser;
  25.        
  26.         $authResult = $rsUser->Login($login, $pass);
  27.         if($authResult === true){
  28.             \Bitrix\Main\Loader::includeModule("iblock");
  29.             $result = array();
  30.             $arrLabs = array();
  31.            
  32.             foreach($data["services"] as $findLabs){
  33.                 $arrLabs[] = $findLabs["serv_id"];
  34.             }
  35.             if($arrLabs){
  36.                 $result["services"] = array();
  37.                 $rsElements = CIBlockElement::GetList(
  38.                     array(),
  39.                     array(
  40.                         "IBLOCK_ID" => GEMOTEST_IBLOCK_ID_CATALOG,
  41.                         "=PROPERTY_CODE_LAB" => $arrLabs,
  42.                         "ACTIVE" => "Y",
  43.                     ),
  44.                     false,
  45.                     false,
  46.                     array("PROPERTY_CODE_LAB", "DETAIL_PAGE_URL")
  47.                 );
  48.                 while($element = $rsElements->GetNext()){
  49.                     $result["services"][] = array(
  50.                         "serv_id" => $element["PROPERTY_CODE_LAB_VALUE"],
  51.                         "serv_url" => "https://".$_SERVER["HTTP_HOST"].$element["DETAIL_PAGE_URL"],
  52.                     );
  53.                 }
  54.             }
  55.            
  56.         }else{
  57.             $result = array("error" => "Error auth");
  58.         }
  59.     }else{
  60.         $result = array("error" => "Empty request");
  61.     }
  62. }else{
  63.     $result = array("error" => "Error content type");
  64. }
  65. echo json_encode($result);
Add Comment
Please, Sign In to add comment