/[cvs]/nfo/site/htdocs/netfraggle.php
ViewVC logotype

Diff of /nfo/site/htdocs/netfraggle.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by joko, Mon Aug 30 11:27:30 2004 UTC revision 1.14 by xabbu, Tue Sep 21 12:04:45 2004 UTC
# Line 22  switch ($type) { Line 22  switch ($type) {
22    case 'XMLRPC':    case 'XMLRPC':
23      include('libs/XML/Server.php');      include('libs/XML/Server.php');
24      $s = new XML_RPC_Server(array(      $s = new XML_RPC_Server(array(
25        "listTopics" => array("function" => "nfo_list_topics"),        "query" => array(
26              "function" => "nfo_query"
27          ),
28          "getContent" => array(
29            "function" => "nfo_get_content",
30            "signature" => array(array('struct', 'string')),
31          ),
32          "listTopics" => array(
33            "function" => "nfo_list_topics",
34            "signature" => array(array('struct', 'struct')),
35          ),
36          "authenticate" => array(
37            "function" => "nfo_authenticate",
38            "signature" => array(array('boolean', 'struct')),
39          ),
40        "listContents" => array("function" => "nfo_list_contents"),        "listContents" => array("function" => "nfo_list_contents"),
       #"getContent" => array("function" => "nfo_get_content", "signature" => array($xmlrpcStruct, xmlrpcString)),  
       "getContent" => array("function" => "nfo_get_content"),  
41        "listUsers" => array("function" => "nfo_list_users"),        "listUsers" => array("function" => "nfo_list_users"),
42      ));      ));
43      break;      break;
44    default:    default:
45      break;      break;
46  }  }
47          #"getContent" => array("function" => "nfo_get_content"),
48            #"signature" => array(array($xmlrpcStruct, $xmlrpcString))
49            #"signature" => array($XML_RPC_Struct, $XML_RPC_String)
50    
51    function nfo_query($params) {
52      
53      $querytxt = $params->getParam(0);
54      $nqlquery = $querytxt->getval();
55      #nfo_debug_clean();
56      #nfo_debug_write($params);
57      #nfo_debug_write($nqlquery);
58      $result = array();
59      cms_query($nqlquery,&$result);
60      #nfo_debug_write($result);
61    
62  function nfo_list_topics() {    $structinfo = array();
63  }    $structcontent = array();
64  function nfo_list_contents() {    $structfields = array();
65      
66      foreach ($result[0] as $key => $value) {
67       $datall = array();
68       if ($key == 'all'){
69        #nfo_debug_write($value);
70        foreach ($result[0][$key] as $keyall => $valall) {
71         $datall2 = array();
72         if ($keyall == 'fieldlist'){
73            foreach ($result[0][$key][$keyall] as $fieldkey => $fieldval)
74            {
75              $datall2[$fieldkey] = new XML_RPC_Value($fieldval,"string");
76            }
77            $datall[$keyall] = new XML_RPC_Value($datall2,"struct");
78         }elseif($keyall == 'with'){
79               //nothing yet
80         }else{
81           $datall[$keyall] = new XML_RPC_Value($valall,"string");
82              }
83        }
84    
85        $structinfo[$key] = new XML_RPC_Value($datall,"struct");
86        
87        }else{
88           $structinfo[$key] = new XML_RPC_Value($value,"string");
89         }
90        }
91    
92       foreach ($result[1] as $key => $value)  {
93            $cdata = array();
94            foreach($value as $item => $data) {
95              $cdata[$item] = new XML_RPC_Value($data,"string");
96            }
97         $structcontent[$key] = new XML_RPC_Value($cdata,"struct");  
98       }
99      
100      foreach ($result[2] as $key => $value) {
101       $structfields[$key] = new XML_RPC_Value($value,"string");
102      }
103      
104      $struct = array();
105      $struct[0] = new XML_RPC_Value($structinfo,"struct");
106      $struct[1] = new XML_RPC_Value($structcontent,"struct");
107      $struct[2] = new XML_RPC_Value($structfields,"struct");
108      
109      $xmldoc = new XML_RPC_Response(new XML_RPC_Value($struct, "struct"));
110      #nfo_debug_write($xmldoc);
111      #nfo_debug_write($xmldoc->serialize());
112    
113    return $xmldoc;
114      
115  }  }
116  function nfo_get_content($ck) {  
117    
118    function nfo_get_content($params) {
119      $ck = $params->getParam(0);
120      $ck = $ck->scalarval();
121    #nfo_debug_clean();    #nfo_debug_clean();
122    #nfo_debug_write("ck: $ck\n");    #nfo_debug_write($ck);
   $ck = 'Home';  
123    $content = cms_getcontent('xmlpage', $ck);    $content = cms_getcontent('xmlpage', $ck);
124    nfo_debug_write($content);    #nfo_debug_write($content);
125    #return new XML_RPC_Response(new XML_RPC_Value("content", "string"));    #return new XML_RPC_Response(new XML_RPC_Value("content", "string"));
126    $struct = array();    $struct = array();
127    foreach ($content as $key => $value) {    foreach ($content as $key => $value) {
128      $struct[$key] = new XML_RPC_Value($value, "string");      $struct[$key] = new XML_RPC_Value($value, "string");
129    }    }
130    $xmldoc = new XML_RPC_Response(new XML_RPC_Value($struct, "struct"));    $xmldoc = new XML_RPC_Response(new XML_RPC_Value($struct, "struct"));
   #nfo_debug_write($xmldoc);  
   nfo_debug_write($xmldoc->serialize());  
131    return $xmldoc;    return $xmldoc;
132  }  }
133    
134    function nfo_list_topics($params) {
135      nfo_debug_clean();
136      nfo_debug_write($params);
137      nfo_debug_write("list_topics");
138      $meta = $params->getParam(0);
139      nfo_debug_write($meta);
140      $type = $meta->structmem('type');
141      $type = $type->scalarval();
142      #nfo_debug_write("$type");
143      $res = cms_getindex($type);
144      #nfo_debug_write($res);
145      $newentries = array();
146      $tmp = new XML_RPC_Value();
147      foreach ($res as $entry) {
148        $newentry = array();
149        foreach ($entry as $key => $value) {
150           $newvalue = new XML_RPC_Value($value, 'string');
151           $newentry[$key] = $newvalue;
152        }
153        #$tmp->addStruct($newentry);
154        array_push($newentries, new XML_RPC_Value($newentry, 'struct'));
155      }
156      $final = new XML_RPC_Value($newentries, 'array');
157      #$final->addArray($tmp);
158      #nfo_debug_write($final);
159      #$res = array('key' => new XML_RPC_Value('value', 'string'));
160      $msg = new XML_RPC_Response($final);
161      #nfo_debug_write($msg);
162      return $msg;
163    }
164    
165    function nfo_authenticate($params) {
166      global $common_sessiondata;
167      #nfo_debug_clean();
168      #nfo_debug_write($params);
169      $meta = $params->getParam(0);
170      $user = $meta->structmem('user');
171      $user = $user->scalarval();
172      $pass = $meta->structmem('pass');
173      $pass = $pass->scalarval();
174      $common_sessiondata['userdata']['name'] = $user;
175      $common_sessiondata['userdata']['password'] = $pass;
176      #nfo_debug_write($common_sessiondata);
177      $retval = common_checkauthorisation();
178      return new XML_RPC_Response(new XML_RPC_Value($retval, 'boolean'));
179    }
180    
181    function nfo_list_contents() {
182    }
183    
184  function nfo_list_users() {  function nfo_list_users() {
185  }  }
186    
187  function nfo_debug_clean() {  function nfo_debug_clean() {
188    #`rm dump`;    `rm dump`;
189  }  }
190    
191  function nfo_debug_write($data) {  function nfo_debug_write($data) {
192    ob_start();    ob_start();
193    print_r($data);    print_r($data);
194    $data = ob_get_clean();    $data = ob_get_clean();
195    $f = fopen('dump', 'w+');    $f = fopen('dump', 'a');
196    fputs($f, $data);    fputs($f, $data . "\n");
197    fclose($f);    fclose($f);
198  }  }
199    

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.14

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed