[+] CalDav support
[*] fix caldav option [*] review fixes [*] review fixes
This commit is contained in:
parent
8ccef14a7c
commit
99b0078b18
6 changed files with 50 additions and 1 deletions
23
caldav.php
Normal file
23
caldav.php
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
|
||||
function makeCaldavSettings($caldav_entries, $caldav_base_url, $ldap_entryuuid) {
|
||||
foreach ($caldav_entries as $cal) {
|
||||
$cal_uuid = $cal[uuid];
|
||||
$cal_color = $cal[color];
|
||||
$cal_name = $cal[name];
|
||||
$cal_id = $cal[id];
|
||||
$ret .= 'pref("calendar.registry.'.$cal_uuid.'.cache.enabled", true);
|
||||
pref("calendar.registry.'.$cal_uuid.'.color", "'.$cal_color.'");
|
||||
pref("calendar.registry.'.$cal_uuid.'.imip.identity.key", "id1");
|
||||
pref("calendar.registry.'.$cal_uuid.'.name", "'.$cal_name.'");
|
||||
pref("calendar.registry.'.$cal_uuid.'.readOnly", false);
|
||||
pref("calendar.registry.'.$cal_uuid.'.type", "caldav");
|
||||
pref("calendar.registry.'.$cal_uuid.'.uri", "'.$caldav_base_url.'/'.$ldap_entryuuid.'/'.$cal_id.'/");
|
||||
';
|
||||
if ($cal === end($caldav_entries)) {
|
||||
$ret = rtrim($ret);
|
||||
}
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
?>
|
||||
|
|
@ -33,6 +33,12 @@ $ldap_nonascii_desc = 'Domain';
|
|||
$ldap_nonascii_uri = "ldap://$ldap_host/$ldap_base??sub?(objectClass=posixAccount)";
|
||||
$quicktext_default_import = '/home/exchange/quicktext.xml';
|
||||
$messenger_save_dir = '/tmp';
|
||||
//Caldav
|
||||
$caldav_enable = true;
|
||||
$caldav_base_url = 'https://calendar.example.com/remote.php/dav/calendars/';
|
||||
$caldav_entries = array (
|
||||
array (name => 'Personal', id => 'personal', color => '#3300ff', uuid => uniqid())
|
||||
);
|
||||
// Signature
|
||||
$siga_marketing = "Marketing bullshit<br>";
|
||||
$siga_prefix = "Best regards, ";
|
||||
|
|
|
|||
|
|
@ -5,4 +5,17 @@ $ldap_givenname = '';
|
|||
$ldap_sn = '';
|
||||
$ldap_title = '';
|
||||
$ldap_mail = '';
|
||||
$ldap_attributes = array(
|
||||
"gidnumber",
|
||||
"givenname",
|
||||
"sn",
|
||||
"title",
|
||||
"mail",
|
||||
"telephonenumber",
|
||||
"telexnumber",
|
||||
"pager",
|
||||
"homephone",
|
||||
"entryuuid"
|
||||
);
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -79,6 +79,7 @@ try {
|
|||
defaultPref("quicktext.defaultImport", "$quicktext_default_import");
|
||||
defaultPref("quicktext.firstTime", false);
|
||||
defaultPref("messenger.save.dir", "$messenger_save_dir");
|
||||
$caldav_settings
|
||||
lockPref("mail.identity.id1.htmlSigFormat", true);
|
||||
lockPref("mail.identity.id1.htmlSigText", "$signature");
|
||||
} catch(e) {
|
||||
|
|
|
|||
|
|
@ -7,4 +7,5 @@ $ldap_mail = ($info[0]["mail"][0]);
|
|||
$ldap_givenname_exploded = explode(" ",$ldap_givenname);
|
||||
$ldap_givenname_exploded = $ldap_givenname_exploded[0];
|
||||
$ldap_mail_replaced = preg_replace('+@+','%40', $ldap_mail);
|
||||
$ldap_entryuuid = $info[0]["entryuuid"][0];
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
require_once 'ldap.cfg.php';
|
||||
require_once 'ldap.defaults.php';
|
||||
require_once 'ldap.siga.php';
|
||||
require_once 'caldav.php';
|
||||
|
||||
if(empty($_GET['user'])) {
|
||||
exit('Error: user not present');
|
||||
|
|
@ -20,7 +21,7 @@ if(!$ldap_bind) {
|
|||
exit('Error (' . ldap_errno($link) . '): ' . $ldap_error . "\n");
|
||||
}
|
||||
|
||||
$result_uid = ldap_search($link, $ldap_base, $ldap_filter);
|
||||
$result_uid = ldap_search($link, $ldap_base, $ldap_filter, $ldap_attributes);
|
||||
$entry_uid = ldap_first_entry($link, $result_uid);
|
||||
|
||||
if($entry_uid == false) {
|
||||
|
|
@ -82,6 +83,10 @@ else {
|
|||
}
|
||||
}
|
||||
|
||||
if ($caldav_enable == true) {
|
||||
$caldav_settings = makeCaldavSettings($caldav_entries, $caldav_base_url, $ldap_entryuuid);
|
||||
}
|
||||
|
||||
ldap_unbind($link);
|
||||
require_once 'ldap.settings.php';
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue