[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