php require news INewsDB class php function db2Arr sqlliteResult resul

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
require "../news/INewsDB.class.php";
function db2Arr($sqlliteResult){
$result = [];
while ($row = $sqlliteResult->fetchArray(SQLITE3_ASSOC)) {
$result[] = $row;
return $result;
}
}
$request_xml = file_get_contents("php://input");
/* Создаем XML-RPC сервер */
$xmlrpc_server = xmlrpc_server_create();
/* Регистрируем метод класса */
xmlrpc_server_register_method($xmlrpc_server, "getNewsById", array(new NewsService, "xmlRpcGetNewsById")); /*Отдаем правильный заголовок*/
header('Content-Type: text/xml;charset=utf-8');
/* Отдаем результат */
print xmlrpc_server_call_method($xmlrpc_server, $request_xml, null);
header('Content-Type: text/html;charset=utf-8'); /* Сюда приходят данные с сервера */
$output = array();
/* Основная функция */
function make_request($request_xml, &$output) { /* НАЧАЛО ЗАПРОСА */
$opts = array(
'http'=>array(
'method'=>"POST",
) );
'header'=>"User-Agent: PHPRPC/1.0\r\n" .
"Content-Type: text/xml\r\n" .
"Content-length: " . strlen($request_xml) . "\r\n",
'content'=>"$request_xml"
$context = stream_context_create($opts);
$retval = file_get_contents('http://mysite.local/xml-rpc/xml-rpc-server.php', false, $context); /* КОНЕЦ ЗАПРОСА */
$data = xmlrpc_decode($retval);
if (is_array($data) && xmlrpc_is_fault($data)){
$output = $data;
}else{
$output = unserialize(base64_decode($data));
}
}
/* Идентификатор статьи */
$id = 1;
$request_xml = xmlrpc_encode_request('getNewsById', array($id));
make_request($request_xml, $output);
/* Вывод результата */
var_dump($output);
?>