47 global $SERVER_NAME, $CONNECTION_OPENED, $FP;
49 $ServerIP = COption::GetOptionString(
"main",
"update_site",
"www.office.bitrix.ru");
52 if ($CONNECTION_OPENED!=
"Y" || !$FP)
54 $FP = fsockopen($ServerIP, $ServerPort, &$errno, &$errstr, 120);
55 $CONNECTION_OPENED =
"Y";
60 $strRequest =
"POST /updates/$page HTTP/1.0\r\n";
61 $strRequest.=
"User-Agent: BitrixSMUpdater\r\n";
62 $strRequest.=
"Accept: */*\r\n";
63 $strRequest.=
"Host: $ServerIP\r\n";
64 $strRequest.=
"Accept-Language: en\r\n";
65 $strRequest.=
"Content-type: application/x-www-form-urlencoded\r\n";
66 $strRequest.=
"Content-length: ".strlen($strVars).
"\r\n\r\n";
67 $strRequest.=
"$strVars";
70 fputs($FP, $strRequest);
73 while ($line = fgets($FP, 4096))
78 $arAll = explode(
"\r\n",
$strAll);
84 $input_line = Trim($arAll[
$i]);
85 if ($is_headers == 0 && strlen($input_line)>0)
89 if ($is_headers == 1 && $input_line ==
"")
94 $CONNECTION_OPENED =
"N";
100 $strError =
"Error ".$errno.
": ".$errstr;
101 if (IntVal($errno)<=0)
$strError =
"Connection failed. ";
119 $vals = $index = $array =
array();
120 $parser = xml_parser_create();
121 xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
122 xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
123 xml_parse_into_struct($parser,
$data, $vals, $index);
124 xml_parser_free($parser);
128 $tagname = $vals[
$i][
'tag'];
129 if ( isset ($vals[
$i][
'attributes'] ) )
131 $array[$tagname][
'@'] = $vals[
$i][
'attributes'];
133 $array[$tagname][
'@'] =
array();