[horde] import calendar events into kronolith - using xmlRPC?

Daniel horde at daniu.de
Thu Jan 21 15:27:17 UTC 2016


Hi,

I am new to the list - hope my request is in the right place here:

My final goal is to get a calendar from google into kronolith.  
Unfortunately my provider did not setup kronolith so that I can do  
that with kronolith itsself so I think of a cron-job that does that  
with a php script (I am not talking about syncing - just copying the  
google calendar to kronolith. Since the google calendar itsself gets  
populated with a cron-job itsself it's ok to have accurate data only  
after copying). I can already read all appointments from google  
(caldav still works) - so I got a string with Vevent infos. The plan  
is to purge the existing calendar in kronolith and write all events  
from the string into the existing calendar.

I tried to adjust this: http://theupstairsroom.com/66 but don't seem  
to get it working at all. Partly because I don't have access to horde  
sources on the server from which I connect to the Horde - so I need to  
use another RPC-client. I would like to use the RPC-client built in  
php (epinion.com) which is turned on according to phpinfo. Somehow I  
cannot really find a good tutorial how to do that.

Adjusting a script from php.net gave me the attached attempt. That one  
does nothing unfortunately ... (but at least no error message)

Can someone point me in the right direction? Or is there a simpler way  
to achieve what I want to do?

Is https a problem for what I want to do? Are my adjustments for that correct?

Looking at the api it seems like the purge function from import in the  
GUI did not make it in there ... any chance to still do it or get it  
in the api?

Thanks for any input!

(BTW: there is a sourceforge project with exactly that topic, but it  
does not work any more and the author did not maintain it - I even  
asked him and he says he cannot help -  
http://sourceforge.net/projects/kron2gcalsync/)

***
function do_call($host, $port, $request) {

      $url = "https://$host:$port/";
      //echo $url;
      $header[] = "Content-type: text/xml";
      $header[] = "Content-length: ".strlen($request);
      $to['user']='username';
      $to['pass']='password';
      $userpwd = $to['user'] .":". $to['pass'];


      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_TIMEOUT, 1);
      curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
      curl_setopt($ch, CURLOPT_USERPWD, $userpwd);
      curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
      curl_setopt($ch, CURLOPT_POSTFIELDS, $request);

      $data = curl_exec($ch);
      if (curl_errno($ch)) {
          print curl_error($ch);
      } else {
          curl_close($ch);
          return $data;
      }
}

$host="path/rpc.php";
$port=443;
$request = xmlrpc_encode_request('kronolith.listCalendars', array());
$response = do_call($host, $port, $request);
echo $response;
***

regards



More information about the horde mailing list