diff options
-rwxr-xr-x | DB/Sprache.sql | 4 | ||||
-rw-r--r-- | DB/UserCVS.sql | 8 | ||||
-rw-r--r-- | DEV/HOWTO_create_new_file | 7 | ||||
-rwxr-xr-x | includes/header.php | 36 | ||||
-rwxr-xr-x | includes/header_start.php | 37 | ||||
-rwxr-xr-x | www-ssl/nonpublic/myschichtplan.php | 5 | ||||
-rwxr-xr-x | www-ssl/nonpublic/myschichtplan_ical.php | 52 | ||||
-rwxr-xr-x | www-ssl/nonpublic/schichtplan_beamer.php | 5 |
8 files changed, 112 insertions, 42 deletions
diff --git a/DB/Sprache.sql b/DB/Sprache.sql index 955482af..333cd8c5 100755 --- a/DB/Sprache.sql +++ b/DB/Sprache.sql @@ -528,6 +528,8 @@ INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES ('nonpublic/schichtpl INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES ('nonpublic/schichtplan_add.php', 'EN', ' ');
INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES ('nonpublic/myschichtplan.php', 'DE', 'Mein Schichtplan');
INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES ('nonpublic/myschichtplan.php', 'EN', 'My Shifts');
+INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES ('nonpublic/myschichtplan_ical.php', 'DE', ' ');
+INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES ('nonpublic/myschichtplan_ical.php', 'EN', ' ');
INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES ('nonpublic/einstellungen.php', 'DE', 'Einstellungen');
INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES ('nonpublic/einstellungen.php', 'EN', 'Options');
INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES ('nonpublic/wecken.php', 'DE', 'Wecken');
@@ -600,3 +602,5 @@ INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES ('admin/sprache.php', INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES ('admin/sprache.php', 'EN', 'Language');
INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES ('admin/faq.php', 'DE', 'FAQ');
INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES ('admin/faq.php', 'EN', 'FAQ');
+INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES ('pub_myschichtplan_ical', 'DE', 'export my Shifts as iCal file');
+INSERT INTO `Sprache` (`TextID`, `Sprache`, `Text`) VALUES ('pub_myschichtplan_ical', 'EN', 'iCal File exportieren');
diff --git a/DB/UserCVS.sql b/DB/UserCVS.sql index 971567cc..bddaac10 100644 --- a/DB/UserCVS.sql +++ b/DB/UserCVS.sql @@ -28,6 +28,8 @@ CREATE TABLE `UserCVS` ( `nonpublic/newsAddMeting` char(1) NOT NULL default 'N', `nonpublic/news_comments.php` char(1) NOT NULL default 'Y', `nonpublic/myschichtplan.php` char(1) NOT NULL default 'Y', + `nonpublic/myschichtplan_ical.php` char(1) NOT NULL default 'Y', + `nonpublic/schichtplan_beamer.php` char(1) NOT NULL default 'Y', `nonpublic/engelbesprechung.php` char(1) NOT NULL default 'Y', `nonpublic/schichtplan.php` char(1) NOT NULL default 'Y', `nonpublic/schichtplan_add.php` char(1) NOT NULL default 'Y', @@ -67,9 +69,9 @@ CREATE TABLE `UserCVS` ( -- Daten für Tabelle `UserCVS` -- -INSERT INTO `UserCVS` (`UID`, `index.php`, `logout.php`, `faq.php`, `lageplan.php`, `makeuser.php`, `nonpublic/index.php`, `nonpublic/news.php`, `nonpublic/newsAddMeting`, `nonpublic/news_comments.php`, `nonpublic/myschichtplan.php`, `nonpublic/engelbesprechung.php`, `nonpublic/schichtplan.php`, `nonpublic/schichtplan_add.php`, `nonpublic/wecken.php`, `nonpublic/waeckliste.php`, `nonpublic/messages.php`, `nonpublic/faq.php`, `nonpublic/einstellungen.php`, `admin/index.php`, `admin/room.php`, `admin/EngelType.php`, `admin/schichtplan.php`, `admin/shiftadd.php`, `admin/schichtplan_druck.php`, `admin/user.php`, `admin/user2.php`, `admin/userDefaultSetting.php`, `admin/UserPicture.php`, `admin/aktiv.php`, `admin/tshirt.php`, `admin/news.php`, `admin/faq.php`, `admin/free.php`, `admin/sprache.php`, `admin/dect.php`, `admin/dect_call.php`, `admin/dbUpdateFromXLS.php`, `admin/Recentchanges.php`, `admin/debug.php`, `Herald`, `Info`, `Conference`) VALUES +INSERT INTO `UserCVS` (`UID`, `index.php`, `logout.php`, `faq.php`, `lageplan.php`, `makeuser.php`, `nonpublic/index.php`, `nonpublic/news.php`, `nonpublic/newsAddMeting`, `nonpublic/news_comments.php`, `nonpublic/myschichtplan.php`, `nonpublic/myschichtplan_ical.php`, `nonpublic/engelbesprechung.php`, `nonpublic/schichtplan.php`, `nonpublic/schichtplan_add.php`, `nonpublic/wecken.php`, `nonpublic/waeckliste.php`, `nonpublic/messages.php`, `nonpublic/faq.php`, `nonpublic/einstellungen.php`, `admin/index.php`, `admin/room.php`, `admin/EngelType.php`, `admin/schichtplan.php`, `admin/shiftadd.php`, `admin/schichtplan_druck.php`, `admin/user.php`, `admin/user2.php`, `admin/userDefaultSetting.php`, `admin/UserPicture.php`, `admin/aktiv.php`, `admin/tshirt.php`, `admin/news.php`, `admin/faq.php`, `admin/free.php`, `admin/sprache.php`, `admin/dect.php`, `admin/dect_call.php`, `admin/dbUpdateFromXLS.php`, `admin/Recentchanges.php`, `admin/debug.php`, `Herald`, `Info`, `Conference`) VALUES -(-1, 'Y', 'N', 'Y', 'N', 'Y', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N'), +(-1, 'Y', 'N', 'Y', 'N', 'Y', 'Y', 'N', 'N', 'N', 'N', 'N ', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N'), -- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 -(1, 'N', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N'); +(1, 'N', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N'); diff --git a/DEV/HOWTO_create_new_file b/DEV/HOWTO_create_new_file new file mode 100644 index 00000000..bb6eb02b --- /dev/null +++ b/DEV/HOWTO_create_new_file @@ -0,0 +1,7 @@ +1. Create file +2. Create DB entry in table UserCVS (admin/userDefaultSetting.php9 +3. update file DB/UserCVS.sql +4. Create DB entry in table Sprache (admin/sprache.php) + When you down't wont a menupount set the Text to ' ' +5. update file DB/Sprache.sql + diff --git a/includes/header.php b/includes/header.php index 54880705..62eaf47a 100755 --- a/includes/header.php +++ b/includes/header.php @@ -1,39 +1,5 @@ <?PHP -ini_set( "session.gc_maxlifetime", "65535"); - -include ("config.php"); -include ("error_handler.php"); -include ("config_db.php"); -include ("funktion_lang.php"); -include ("funktion_faq.php"); //für noAnswer() im menu -include ("funktion_menu.php"); -include ("funktion_user.php"); - -if( !isset($_SESSION)) - session_start(); -include ("secure.php"); - -if( !isset($_SESSION['IP'])) - $_SESSION['IP'] = $_SERVER['REMOTE_ADDR']; - -if (IsSet($_SESSION['UID']) and ($_SESSION['IP'] <> $_SERVER['REMOTE_ADDR'])) -{ - session_destroy (); - header("Location: $url". substr($ENGEL_ROOT,1) ); -} - -include ("UserCVS.php"); - - -//UPdate LASTlogin -if( isset($_SESSION['UID'])) -{ - $SQLlastLogIn = "UPDATE `User` SET ". - "`lastLogIn` = '". gmdate("Y-m-j H:i:s", time()). "'". - " WHERE `UID` = '". $_SESSION['UID']. "' LIMIT 1;"; - mysql_query ($SQLlastLogIn, $con); -} - +include ("header_start.php"); echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n"; ?> diff --git a/includes/header_start.php b/includes/header_start.php new file mode 100755 index 00000000..218a30ec --- /dev/null +++ b/includes/header_start.php @@ -0,0 +1,37 @@ +<?PHP +ini_set( "session.gc_maxlifetime", "65535"); + +include ("config.php"); +include ("error_handler.php"); +include ("config_db.php"); +include ("funktion_lang.php"); +include ("funktion_faq.php"); //für noAnswer() im menu +include ("funktion_menu.php"); +include ("funktion_user.php"); + +if( !isset($_SESSION)) + session_start(); +include ("secure.php"); + +if( !isset($_SESSION['IP'])) + $_SESSION['IP'] = $_SERVER['REMOTE_ADDR']; + +if (IsSet($_SESSION['UID']) and ($_SESSION['IP'] <> $_SERVER['REMOTE_ADDR'])) +{ + session_destroy (); + header("Location: $url". substr($ENGEL_ROOT,1) ); +} + +include ("UserCVS.php"); + + +//UPdate LASTlogin +if( isset($_SESSION['UID'])) +{ + $SQLlastLogIn = "UPDATE `User` SET ". + "`lastLogIn` = '". gmdate("Y-m-j H:i:s", time()). "'". + " WHERE `UID` = '". $_SESSION['UID']. "' LIMIT 1;"; + mysql_query ($SQLlastLogIn, $con); +} + +?> diff --git a/www-ssl/nonpublic/myschichtplan.php b/www-ssl/nonpublic/myschichtplan.php index 89791343..5c7b304e 100755 --- a/www-ssl/nonpublic/myschichtplan.php +++ b/www-ssl/nonpublic/myschichtplan.php @@ -110,6 +110,11 @@ If( !IsSet($_GET["action"]) ) } echo "</table>\n\n"; +if( $_SESSION['CVS'][ "nonpublic/myschichtplan_ical.php" ] == "Y" ) +{ + echo "<br><a href=\"./myschichtplan_ical.php\">". Get_Text("pub_myschichtplan_ical"). "</a>\n"; +} + } else { diff --git a/www-ssl/nonpublic/myschichtplan_ical.php b/www-ssl/nonpublic/myschichtplan_ical.php new file mode 100755 index 00000000..dfe06f07 --- /dev/null +++ b/www-ssl/nonpublic/myschichtplan_ical.php @@ -0,0 +1,52 @@ +<?php +include ("../../includes/header_start.php"); + +include ("../../includes/funktion_schichtplan_aray.php"); + +$SQL = "SELECT *, `ShiftEntry`.`Comment`, `ShiftEntry`.`TID` FROM `Shifts` ". + "INNER JOIN `ShiftEntry` ". + "ON `Shifts`.`SID`=`ShiftEntry`.`SID` ". + "WHERE `ShiftEntry`.`UID`='". $_SESSION['UID']. "' ". + "ORDER BY `DateS`"; +$erg = mysql_query($SQL, $con); + + +//HEADER +header("Content-Type: text/x-vCalendar"); +header("Content-Disposition: attachment; filename=\"Schichtplan.ics\"" ); + +//DATA +echo "BEGIN:VCALENDAR\n"; +echo "PRODID:-//Engelsystem//DE-EN\n"; +echo "VERSION:2.0\n"; +echo "PRODID:". md5('icalschichtplan:'.$_SESSION['UID']). "\n"; +echo "METHOD:PUBLISH\n"; +echo "CALSCALE:GREGORIAN\n"; +echo "METHOD:PUBLISH\n"; +echo "X-WR-CALNAME;VALUE=TEXT:". "Himmel - Schichtplan\n"; + +for( $i=0; $i<mysql_num_rows( $erg ); $i++ ) +{ + echo "BEGIN:VEVENT\n"; + echo "UID:". md5(mysql_result( $erg, $i, "Man" ). mysql_result( $erg, $i, "DateS" ))."\n"; + echo "METHOD:PUBLISH\n"; + echo "DTSTART;TZID=Europe/Berlin:". date( 'Ymd\THis', strtotime( mysql_result( $erg, $i, "DateS" ) ) ). "\n"; + echo "DTEND;TZID=Europe/Berlin:". date( 'Ymd\THis', strtotime( mysql_result( $erg, $i, "DateE" ) ) ). "\n"; + echo "SUMMARY:". str_replace( ',', '\\,',mysql_result( $erg, $i, "Man" ) ). "\n"; + echo "CLASS:PUBLIC\n"; + echo "STATUS:CONFIRMED\n"; + echo "URL:". $url. substr($ENGEL_ROOT,1). "nonpublic/myschichtplan.php\n"; + echo "LOCATION:". $RoomID[mysql_result( $erg, $i, "RID" )]. "\n"; + echo "BEGIN:VALARM\n"; + echo "TRIGGER;VALUE=DURATION:-PT5M\n"; + echo "DESCRIPTION:". str_replace( ',', '\\,',mysql_result( $erg, $i, "Man" ) ). "\n"; + echo "ACTION:DISPLAY\n"; + echo "END:VALARM\n"; + echo "END:VEVENT\n"; +} +echo "END:VCALENDAR\n"; + +include( "../../includes/funktion_counter.php"); + +?> + diff --git a/www-ssl/nonpublic/schichtplan_beamer.php b/www-ssl/nonpublic/schichtplan_beamer.php index 66795a82..25979db2 100755 --- a/www-ssl/nonpublic/schichtplan_beamer.php +++ b/www-ssl/nonpublic/schichtplan_beamer.php @@ -1,9 +1,6 @@ <?php -include ("../../includes/config.php"); -include ("../../includes/config_db.php"); -include ("../../includes/funktion_lang.php"); +include ("../../includes/header_start.php"); -include ("../../includes/funktion_user.php"); include ("../../includes/funktionen.php"); include ("../../includes/funktion_schichtplan_beamer.php"); |