source: admin-center/trunk/fuentes/admin-center.install/usr/share/admin-center/n4d.php @ 1512

Last change on this file since 1512 was 1512, checked in by joamuran, 4 years ago

version 4.4.5

File size: 2.9 KB
Line 
1<?php
2//require_once("logServer.php"); -> No s'usa!
3//require_once('php_lib/wsclient/vendor/autoload.php'); -> No s'usa !
4//use WebSocket\Client; -> No s'usa!
5
6
7// require_once('php_lib/logListener.php');  -> S'utilitza?
8// use logListener;  -> S'utilitza?
9
10
11// Class for make n4d calls asyncronous
12/*class n4dAsync extends Thread {
13    public function run($method, $args) {
14        n4d($method, $args);
15    }
16}*/
17// End async
18
19
20if(!session_id()) session_start();
21//$logServer = new logServer();
22
23
24function writeHeader(){
25  header('Content-type: application/json');
26  header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
27  header("Cache-Control: post-check=0, pre-check=0", false);
28  header("Pragma: no-cache");
29}
30
31function n4d($method, $args){
32 
33  writeHeader();
34  $url='https://127.0.0.1:9779';
35  $request=xmlrpc_encode_request($method, $args);
36  //error_log($request);
37    $header[] = "Content-type: text/xml";
38    $header[] = "Content-length: ".strlen($request);
39 
40    $ch = curl_init();
41    curl_setopt($ch, CURLOPT_URL, $url);
42    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
43    curl_setopt($ch, CURLOPT_TIMEOUT, 10000);
44    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
45    curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
46   
47    curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);  // async
48    curl_setopt($ch, CURLOPT_TIMEOUT, 1);       // async
49 
50    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
51    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
52    curl_setopt($ch, CURLOPT_CAINFO, getcwd() . "/n4dcert.pem");
53 
54 
55    $data = curl_exec($ch);
56    curl_close($ch);
57   
58    error_log(curl_errno($ch));
59    if (curl_errno($ch)) {
60      $xml_snippet=simplexml_load_string($data);
61      $json=json_encode($xml_snippet);
62      echo ($json);
63    } else {
64        $xmlobj=xmlrpc_decode($data);
65        $json=json_encode($xmlobj);
66        var_error_log($data);
67        var_error_log($xmlobj);
68        var_error_log($json);
69        if ($json=="") {
70          $json=$xmlobj;}
71          var_error_log($json);
72        echo ($json);
73    }
74 
75}
76
77
78function var_error_log( $object=null ){
79    ob_start();                    // start buffer capture
80    var_dump( $object );           // dump the values
81    $contents = ob_get_contents(); // put the buffer into a variable
82    ob_end_clean();                // end capture
83    error_log( $contents );        // log contents of the result of var_dump( $object )
84}
85
86
87
88try{
89// Getting $_POST parameters
90  $method=$_POST["method"];
91  $args=json_decode($_POST["args"]);
92  $myfile = fopen("/tmp/n4dlog","a");
93  fwrite($myfile,$method);
94  fwrite($myfile,$_POST["args"]);
95  fwrite($myfile,"******\n");
96  fclose($myfile);
97  error_log($method);
98 
99  if (isset($_POST['log'])) $log=$_POST["log"];
100    else $log="false";
101   
102  n4d($method, $args);
103  //$n4d_async = new n4dAsync();
104  //$n4d_async ->start($method, $args);
105 
106} catch(Exception $e){
107  error_log("Exception in n4d.php: ".$e);
108}
109?>
Note: See TracBrowser for help on using the repository browser.