caldav
This commit is contained in:
parent
7ec1602335
commit
3c185e9635
|
@ -1,15 +1,13 @@
|
||||||
|
|
||||||
SET NAMES utf8;
|
SET NAMES utf8;
|
||||||
SET time_zone = '+00:00';
|
SET time_zone = '+00:00';
|
||||||
SET foreign_key_checks = 0;
|
SET foreign_key_checks = 0;
|
||||||
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
|
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
|
||||||
|
|
||||||
INSERT IGNORE INTO `niveau01` (`id`, `label`, `siren`) VALUES
|
INSERT IGNORE INTO `niveau01` (`id`, `label`, `siren`) VALUES
|
||||||
(-100, 'ldapbundle', '0000000A');
|
(-100, 'BER', 'BERSIREN');
|
||||||
|
|
||||||
INSERT IGNORE INTO `user` (`id`, `niveau01_id`, `username`, `firstname`, `lastname`, `password`, `email`, `avatar`, `role`,`siren`,`authlevel`) VALUES
|
INSERT IGNORE INTO `user` (`id`, `niveau01_id`, `username`, `firstname`, `lastname`, `password`, `email`, `avatar`, `role`,`siren`,`authlevel`) VALUES
|
||||||
(-100, -100, 'admin', 'Administrateur', 'ldapbundle', 'PWD_CAS', 'admin@ldapbundle.ac-arno.fr', 'admin.jpg', 'ROLE_ADMIN', '0000000A', 'simple');
|
(-100, -100, 'admin', 'Administrateur', 'BER', '', 'admin.ber-assos.fr', 'admin.jpg', 'ROLE_ADMIN', 'BERSIREN', 'simple');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TRUNCATE TABLE sidebar;
|
TRUNCATE TABLE sidebar;
|
||||||
|
@ -47,7 +45,7 @@ INSERT IGNORE INTO `config` (`order`, `visible`, `changeable`, `required`, `type
|
||||||
('002', 1, 0, 1, 'string', 'version', '1.0.0', '', 'Version de l\'application'),
|
('002', 1, 0, 1, 'string', 'version', '1.0.0', '', 'Version de l\'application'),
|
||||||
('003', 1, 1, 0, 'string', 'subappname', 'Portail', '', 'Le sous titre de votre site'),
|
('003', 1, 1, 0, 'string', 'subappname', 'Portail', '', 'Le sous titre de votre site'),
|
||||||
('004', 1, 1, 1, 'logo', 'logo', 'uploads/logo/logo.png', '', 'Le logo de votre site'),
|
('004', 1, 1, 1, 'logo', 'logo', 'uploads/logo/logo.png', '', 'Le logo de votre site'),
|
||||||
('005', 0, 1, 0, 'theme', 'theme', '', '', 'Le theme de votre site'),
|
('005', 1, 1, 0, 'theme', 'theme', '', '', 'Le theme de votre site'),
|
||||||
|
|
||||||
|
|
||||||
('040', 1, 1, 1, 'boolean', 'fgheader', '1', '', 'Utiliser une image en bannière du site'),
|
('040', 1, 1, 1, 'boolean', 'fgheader', '1', '', 'Utiliser une image en bannière du site'),
|
||||||
|
@ -60,6 +58,6 @@ INSERT IGNORE INTO `config` (`order`, `visible`, `changeable`, `required`, `type
|
||||||
('060', 1, 1, 1, 'font', 'fontfacetitle', 'Anton-Regular', '', 'Police des titres de votre site'),
|
('060', 1, 1, 1, 'font', 'fontfacetitle', 'Anton-Regular', '', 'Police des titres de votre site'),
|
||||||
('061', 1, 1, 1, 'font', 'fontfacebody', 'Helvetica', '', 'Police des titres de votre site'),
|
('061', 1, 1, 1, 'font', 'fontfacebody', 'Helvetica', '', 'Police des titres de votre site'),
|
||||||
|
|
||||||
('200', 1, 0, 1, 'boolean', 'PROXYactivate', '1', '', 'Définit un Proxy'),
|
('200', 1, 0, 1, 'boolean', 'PROXYactivate', '0', '', 'Définit un Proxy'),
|
||||||
('201', 1, 0, 1, 'string', 'PROXYserver', '192.168.57.160', 'PROXYactivate','Adresse du Proxy'),
|
('201', 1, 0, 1, 'string', 'PROXYserver', '', 'PROXYactivate','Adresse du Proxy'),
|
||||||
('202', 1, 0, 1, 'string', 'PROXYport', '8080', 'PROXYactivate','Port du Proxy');
|
('202', 1, 0, 1, 'string', 'PROXYport', '', 'PROXYactivate','Port du Proxy');
|
||||||
|
|
|
@ -547,26 +547,38 @@ class SynchroICSCommand extends Command
|
||||||
$this->writeln("connected");
|
$this->writeln("connected");
|
||||||
$this->writeln("");
|
$this->writeln("");
|
||||||
$tbuid=array();
|
$tbuid=array();
|
||||||
$arrayOfCalendars = $client->findCalendars();
|
$arrayOfCalendars = $client->findCalendars("afornerot");
|
||||||
foreach($arrayOfCalendars as $calcalendar) {
|
foreach($arrayOfCalendars as $calcalendar) {
|
||||||
|
if($calcalendar->getDisplayName()!=$calendar->getCaldavname()) continue;
|
||||||
|
|
||||||
$client->setCalendar($calcalendar);
|
$client->setCalendar($calcalendar);
|
||||||
$events = $client->getEvents();
|
$events = $client->getEvents();
|
||||||
|
|
||||||
foreach ($events as $calevent) {
|
foreach ($events as $calevent) {
|
||||||
$event=$this->icsToArray($calevent->getData())[2];
|
$event=$this->icsToArray($calevent->getData())[2];
|
||||||
|
|
||||||
|
foreach($event as $key => $value) {
|
||||||
|
if (strpos($key, 'DTSTART') === 0) $event["DTSTART"]=new \datetime($value);
|
||||||
|
if (strpos($key, 'DTEND') === 0) $event["DTEND"]=new \datetime($value);
|
||||||
|
}
|
||||||
|
|
||||||
$event["SUMMARY"] = (isset($event["SUMMARY"])?$event["SUMMARY"]:"");
|
$event["SUMMARY"] = (isset($event["SUMMARY"])?$event["SUMMARY"]:"");
|
||||||
$event["DESCRIPTION"] = (isset($event["DESCRIPTION"])?$event["DESCRIPTION"]:"");
|
$event["DESCRIPTION"] = (isset($event["DESCRIPTION"])?$event["DESCRIPTION"]:"");
|
||||||
$event["DTSTART"] = (isset($event["DTSTART;VALUE=DATE"])?new \datetime($event["DTSTART;VALUE=DATE"]):"");
|
|
||||||
$event["DTEND"] = (isset($event["DTEND;VALUE=DATE"])?new \datetime($event["DTEND;VALUE=DATE"]):"");
|
|
||||||
$event["ALLDAY"] = (isset($event["ALLDAY"])?$event["ALLDAY"]:"");
|
$event["ALLDAY"] = (isset($event["ALLDAY"])?$event["ALLDAY"]:"");
|
||||||
$event["SEQUENCE"] = (isset($event["SEQUENCE"])?$event["SEQUENCE"]:"");
|
$event["SEQUENCE"] = (isset($event["SEQUENCE"])?$event["SEQUENCE"]:"");
|
||||||
$event["UID"] = (isset($event["UID"])?$event["UID"]:"");
|
$event["UID"] = (isset($event["UID"])?$event["UID"]:"");
|
||||||
|
$event["DURATION"] = (isset($event["DURATION"])?$event["DURATION"]:"");
|
||||||
|
|
||||||
if($event["UID"]!="") {
|
if($event["UID"]!="") {
|
||||||
// On sauvegarde l'uid
|
// On sauvegarde l'uid
|
||||||
array_push($tbuid,$event["UID"]);
|
array_push($tbuid,$event["UID"]);
|
||||||
|
|
||||||
|
if(!isset($event["DTEND"])&&isset($event["DURATION"])) {
|
||||||
|
$event["DTEND"]=clone $event["DTSTART"];
|
||||||
|
$event["DTEND"]->add(new \DateInterval($event["DURATION"]));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Allday ?
|
// Allday ?
|
||||||
$allday=0;
|
$allday=0;
|
||||||
if($event["ALLDAY"]==1||$event["SEQUENCE"]>=1)
|
if($event["ALLDAY"]==1||$event["SEQUENCE"]>=1)
|
||||||
|
@ -641,7 +653,7 @@ class SynchroICSCommand extends Command
|
||||||
//dump($subValue);
|
//dump($subValue);
|
||||||
$subValueArr = explode(":", $subValue, 2);
|
$subValueArr = explode(":", $subValue, 2);
|
||||||
//dump($subValueArr);
|
//dump($subValueArr);
|
||||||
$icsDates[$key][$subValueArr[0]] = $subValueArr[1];
|
if(key_exists(1,$subValueArr)) $icsDates[$key][$subValueArr[0]] = $subValueArr[1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,6 +67,12 @@ class Calendar
|
||||||
*/
|
*/
|
||||||
private $login;
|
private $login;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string
|
||||||
|
*
|
||||||
|
* @ORM\Column(name="caldavname", type="string", nullable=true)
|
||||||
|
*/
|
||||||
|
private $caldavname;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
|
@ -340,7 +346,29 @@ class Calendar
|
||||||
return $this->login;
|
return $this->login;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set caldavname
|
||||||
|
*
|
||||||
|
* @param string $caldavname
|
||||||
|
*
|
||||||
|
* @return Calendar
|
||||||
|
*/
|
||||||
|
public function setCaldavname($caldavname)
|
||||||
|
{
|
||||||
|
$this->caldavname = $caldavname;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get caldavname
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getCaldavname()
|
||||||
|
{
|
||||||
|
return $this->caldavname;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set salt
|
* Set salt
|
||||||
|
|
|
@ -49,6 +49,11 @@ class CalendarType extends AbstractType
|
||||||
'required' => false,
|
'required' => false,
|
||||||
])
|
])
|
||||||
|
|
||||||
|
->add('caldavname', TextType::class, [
|
||||||
|
'label' => "Nom du Calendrier CalDAV",
|
||||||
|
'required' => false,
|
||||||
|
])
|
||||||
|
|
||||||
->add('login', TextType::class, [
|
->add('login', TextType::class, [
|
||||||
'label' => "Login",
|
'label' => "Login",
|
||||||
'required' => false,
|
'required' => false,
|
||||||
|
|
|
@ -58,6 +58,7 @@
|
||||||
{{ form_row(form.url) }}
|
{{ form_row(form.url) }}
|
||||||
</div>
|
</div>
|
||||||
<div id="login" style="display:none">
|
<div id="login" style="display:none">
|
||||||
|
{{ form_row(form.caldavname) }}
|
||||||
{{ form_row(form.login) }}
|
{{ form_row(form.login) }}
|
||||||
{{ form_row(form.password) }}
|
{{ form_row(form.password) }}
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue