freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.

Μετατροπή custom ημερολογίου σε vCalendar


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » PHP Προγραμματισμός και εφαρμογές » PHP τα δικά μας scripts
Moderators:  PHP Moderators, Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [1 Μήνυμα]      Bookmarks Tags: μετατροπήcustom Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
ΑποστολέαςΜήνυμα
cherouvim
Script Master

Μέλος από: 13 Ιουλ 2005
Βοηθήματα: 7
Νέα: 1
Scripts: 1
Μηνύματα: 256+

Περιοχή: Athens, Greece
View users profile Visit posters website
blog linkedin twitter 
ΜήνυμαΣτις: 05 Αυγ 2006 16:42    Θέμα: Μετατροπή custom ημερολογίου σε vCalendar Απάντηση με παράθεση  Mark this post and the followings unread

Μερικοί από εμάς ίσως έχουν φτιάξει κάποιο web based ημερολόγιο για να κρατάνε σημειώσεις και γεγονότα. Εγώ τουλάχιστον είμουν ένας από αυτούς. Είχα εκατοντάδες events μέσα σε διάστημα 5 ετών, αποθηκευμένα σε ένα database table, μέχρι που κατάλαβα ότι ήρθε η ώρα να τα μετακινήσω σε κάτι πιό standard. Επέλεξα το mozilla sunbird το οποίο κάνει import από διάφορα formats, μεταξύ αυτών, και vCalendar. Επίσης κυκλοφορεί και σε portable έκδοση, που δεν χρειάζεται install και τρέχει από USB. Φυσικά το format αυτό το υποστηρίζουν πολλές εφαρμογές (Outlook κτλ).

Έχω λοιπόν το table μου:

και με το εξής script παράγω ένα .vcs αρχείο, έτοιμο προς εισαγωγή στο sunbird.
κώδικας:
<?php
   function vcalDate($date) {
      $date = str_replace("-", "", $date);
      $date = str_replace(":", "", $date);
      $date = str_replace(" ", "T", $date);
      return $date;
   }

   header("Content-Type: text/html; charset=utf-8");
   header("Content-disposition: attachment; filename=vcalendar.vcs");

   include "db2.php";
   $events = get_events();

?>
BEGIN:VCALENDAR
VERSION:1.0
PRODID:freestuff vcalendar convertor
METHOD:PUBLISH

<?   foreach($events as $event) {?>
BEGIN:VEVENT
SUMMARY:<?=$event['event']?>

DTSTART:<?=vcalDate($event['datetime'])?>

LOCATION:<?=$event['location']?>

END:VEVENT

<?}?>
END:VCALENDAR

Η get_events() τρέχει ένα query της μορφής SELECT * FROM events;
Το αποτέλεσμα όταν καλέσουμε το script μέσα από το browser, είναι να κατέβει το αρχείο vcalendar.vcs
κώδικας:
BEGIN:VCALENDAR
VERSION:1.0
PRODID:freestuff vcalendar convertor
METHOD:PUBLISH

BEGIN:VEVENT
SUMMARY:Javapolis conference
DTSTART:20061211T100000
LOCATION:Belgium
END:VEVENT

BEGIN:VEVENT
SUMMARY:Tom's Party
DTSTART:20061206T140000
LOCATION:Athens
END:VEVENT

BEGIN:VEVENT
SUMMARY:Dentist
DTSTART:20061218T183000
LOCATION:Athens
END:VEVENT

END:VCALENDAR

...το οποίο κάνουμε import στο sunbird.



vCalendar/iCalendar formats
http://tools.ietf.org/html/rfc2445
http://www.imc.org/pdi/
http://en.wikipedia.org/wiki/VCalendar
http://en.wikipedia.org/wiki/ICalendar

sunbird
http://www.mozilla.org/projects/calendar/sunbird/

portable sunbird
http://portableapps.com/apps/office/sunbird_portable

_________________
blog
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [1 Μήνυμα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » PHP Προγραμματισμός και εφαρμογές » PHP τα δικά μας scripts
Τώρα είναι 04 Δεκ 2016 14:14 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos