Changeset 111399 in spip-zone
- Timestamp:
- Aug 22, 2018, 2:26:03 PM (2 years ago)
- Location:
- _plugins_/import_ics/trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/import_ics/trunk/import_ics_fonctions.php
r102454 r111399 38 38 if (!$all_day and is_array($decalage) 39 39 and isset($decalage['ete']) 40 and isset($decalage[' ete'])){40 and isset($decalage['hiver'])){ 41 41 if ($date_ete){ 42 42 $decalage = $decalage['ete']; -
_plugins_/import_ics/trunk/inc/import_ics.php
r110018 r111399 113 113 **/ 114 114 function importer_evenement($objet_evenement,$id_almanach,$id_article,$decalage,$statut,$mots){ 115 115 $champs_sql = array_merge( 116 116 evenement_ical_to_sql($objet_evenement,$decalage), 117 117 array( … … 120 120 ) 121 121 ); 122 122 123 # création de l'evt 123 124 autoriser_exception('creer','evenement',''); … … 168 169 # récupérer la date de début et la formater correctement 169 170 $dtstart_array = $objet_evenement->getProperty("dtstart", 1, TRUE); 170 171 list ($date_debut,$start_all_day) = date_ical_to_sql($dtstart_array,$decalage); 171 172 #les 3 lignes suivantes servent à récupérer la date de fin et à la mettre dans le bon format 172 $dtend_array = $objet_evenement->getProperty("dtend", 1, TRUE); 173 if (is_array($dtend_array)){ 174 list ($date_fin,$end_all_day) = date_ical_to_sql($dtend_array,$decalage); 173 $dtend_array = $objet_evenement->getProperty("dtend", 1, TRUE); 174 if (is_array($dtend_array)) { 175 list ($date_fin,$end_all_day) = date_ical_to_sql($dtend_array,$decalage); 176 } else { 177 $duration_array = $objet_evenement->getProperty("duration", 1, TRUE); 178 if ($duration_array["value"]<>''){ 179 $date_deb = date_ical_to_sql($dtstart_array,'', TRUE); 180 $date_ete = intval(affdate($date_deb,'I'));//Est-on en heure d'été? 181 if (!$all_day AND is_array($decalage) AND isset($decalage['ete']) AND isset($decalage['hiver'])) { 182 if ($date_ete) { 183 $decalageheure = $decalage['ete']; 184 } else { 185 $decalageheure = $decalage['hiver']; 186 } 187 } 188 $duree_seconde=($duration_array["value"]["hour"]+$decalageheure)*60*60+$duration_array["value"]["min"]*60+$duration_array["value"]["sec"] ; 189 $date_fin = "DATE_ADD('$date_deb', INTERVAL $duree_seconde SECOND)"; 175 190 } else { 176 191 $date_fin = $date_debut; 177 192 $end_all_day = $debut_all_day; 178 193 } 194 } 195 179 196 // Est-ce que l'evt dure toute la journée? 180 197 if ($end_all_day and $start_all_day){ -
_plugins_/import_ics/trunk/paquet.xml
r110018 r111399 2 2 prefix="import_ics" 3 3 categorie="date" 4 version="4.4. 2"4 version="4.4.3" 5 5 etat="stable" 6 6 compatibilite="[3.0.7;3.2.*]" -
_plugins_/import_ics/trunk/todo.txt
r101487 r111399 1 -gérer correctement la suppression des almanachs, puisqu'il ne suffit pas d'avoir un statut poubelle pour que cela soit effacé régulièrement (prendre aussi en compte le cas où on aurait le plugin corbeille2 -gérer les répetitions d'evt. C'est complexe. cf http://www.kanzaki.com/docs/ical/recur.html3 1 [ ] gérer correctement la suppression des almanachs, puisqu'il ne suffit pas d'avoir un statut poubelle pour que cela soit effacé régulièrement (prendre aussi en compte le cas où on aurait le plugin corbeille 2 [ ] gérer les répetitions d'evt. C'est complexe. cf http://www.kanzaki.com/docs/ical/recur.html 3 [x] gérer les événements ayant une durée (duration) à la plac d'une date de fin
Note: See TracChangeset
for help on using the changeset viewer.