InternInhaltsverzeichnisGlossarBausteineLinklisteTutorialsKommentare

Thema: Event-Kalender Artikel anzeigen

Jens ✶✶✶✶✶ schrieb am Sonntag, den 12 Juli 2020 #1
@RaHa

Ich meinte die dbexport.php und dbimport.php !


Danke Dir für die Anwort :-)😉
Werner schrieb am Sonntag, den 12 Juli 2020 #2
Zitat von Peter:
Der Kalender ist supergenial... Nur langsam wird das Ganze etwas überladen und unübersichtlich.

Mein Vorschlag: Programmierung auf Modularbasis.

Du meinst sicher das ganze auf OOP (Objektorientierte Programmierung) umschreiben.
Dann wäre es am vernünftigsten den Kalender neu zu erstellen.
Von der OOP verstehe ich leider nicht viel und ist mir auch zu kompliziert, bleibe da lieber bei der prozeduralen Programmierung.

Um eine gewisse Übersichtlichkeit zu wahren, habe ich die PHP-Scripte in mehreren Dateien geschrieben. Das hat auch den Vorteil, wenn eine bestimmte Funktion benötigt wird, das diese erst über einem JavaScript-Aufruf und dann mit include() eingebunden wird.
Werner schrieb am Sonntag, den 12 Juli 2020 #3
@Berthold
Zitat:
Ich würde gerne bei der Eintragung auf folgende Felder/Eingabemöglichkeiten verzichten: Tage, Wiederholung, Ort.-URL Eingabe, Priorität und Aufgabe.
Beim bearbeiten möchte ich gerne auf: Wiederholung, Ort.- URL.., Priorität und Aufgabe verzichten.
Ist das irgendwie zu bewerkstelligen? Zu viele Eingabemöglichkeiten die meine Frau ein wenig durcheinander bringen.

Nachtrag: 13.7.2020
Einzelne Formularfelder können nun ausgeblendet werden.
Siehe Datei: "kalenderstyle.css" beim Abschnitt: /* Formularfelder ausblenden */

1
2
3
4
5
6
7
8
9
10
11
12
table#kalender .ausblenden_dauer,
table#kalender .ausblenden_volltag,
table#kalender .ausblenden_ort,
table#kalender .ausblenden_prioritaet,
table#kalender .ausblenden_kategorie,
table#kalender .ausblenden_kopieren,
table#kalender .ausblenden_wiederholung,
table#kalender .ausblenden_beschreibung,
table#kalender .ausblenden_privat,
table#kalender .ausblenden_aufgabe {
 display: None;
}
RaHa schrieb am Sonntag, den 12 Juli 2020 #4
@Jens

dbexport.php und dbimport.php sind versionsunabhängig. dbexport.php erstellt einfach einen Dump von der Datenbanktabelle und dbimport.php leert die Tabelle, korrigiert ggf. den Tabellennamen mittels $TABLE_PREFIX und importiert die Daten zurück in die Datenbank ohne, dass man dafür phpMyAdmin benötigt.
RaHa ✶✶✶✶✶ schrieb am Montag, den 13 Juli 2020 #5
@Werner

Mensch, mensch Werner, Du bist einfach SPITZE !!

Alle Komentare erfüllt! Das nenn ich "Service" am Kunden!
Ich werd arbeitslos; auf meiner Modifikationsliste bleibt ja nichts mehr übrig 😃😃😃

Vielen, vielen Dank für Deine mühevolle Arbeit und dass es diesen Kalender gibt.

RaHa
RaHa schrieb am Montag, den 13 Juli 2020 #6
@Werner
Die Anzahl Tage setzt doch die Tage hinter einander bei einem Event. Die Wiederholung wiederholt genau diesen Event.

Schau mal bei workon (neues Script) oder hier: event-kalender.checkip.net. Da wird es deutlich.
Werner schrieb am Montag, den 13 Juli 2020 #7
Ja Danke👍 RaHa, ich habe meinen Fehler beim kochen bemerkt. Deswegen habe ich meinen unnützen Kommentar wieder gelöscht.
RaHa schrieb am Dienstag, den 14 Juli 2020 #8
Hallo Werner,

hier hab ich noch einen Vorschlag (erst wenn der Programmierer tot ist 😉):

// E-Mail-Adresse Kategorie
// Versand der E-Mail erfolgt bei speichern/ ändern des Events wenn Benachrichtung ja und isset($KATEGORIEN_EMAIL ["#XXXXX"])
$KATEGORIEN_EMAIL ["#C199C1"] = "webmaster@checkip.net";
$KATEGORIEN_EMAIL ["#FF97FF"] = "mailer_geschaeftsstelle@checkip.net";
$KATEGORIEN_EMAIL ["#73AAD2"] = "mailer_stifter@checkip.net";
$KATEGORIEN_EMAIL ["#73AABB"] = "mailer_ehrenamt@checkip.net";
// ..
// Die E-Mail enthält alle Daten des Events, eventuell einzele Datenfelder mit Parameter festlegbar
// Obige Mail-Adressen sind erfunden
Berthold schrieb am Dienstag, den 14 Juli 2020 #9
Die neuste Version ist durch das Hinzufügen von der Turnus Möglichkeit perfekt.

Habe aber noch eine Bitte.

Bei Markierung eines Eventes als "Privat" und der dazughörigen Einstellung werden im angemeldeten Modus dem Eingeloggten nur seine eigenen eingetragenen Events angezeigt. Wenn aber mehrere daran arbeiten und eintragen dann werden die anderen Events nicht angezeigt.

Wenn man aber diese private Möglichkeit nutzen möchte dann will man ja zu den vorhandenen Terminen auch die eigenen Termine hinzupacken.

BSP: Ich nutze den Kalender mit 4 Personen, jeder trägt seine Termine und seine Raumbelegung ein. Die Termine kennzeichnen alle als Privat. (farblich abgegrenzt). Aber wenn ich mich einlogge möchte ich alle Raumbelegungen sehen und zusätzlich meine privaten Termine. Momentan ist es so das wenn ich in der verbindung.php die eigenen Events auf ja stelle, sehe ich im ausgeloggten Zustand alle Raumbelegungen. Logge ich mich mit meinem Account ein sehe ich nur die Raumbelegung die ich selbst erstellt habe und meine privat gekennzeichneten Termine.

Stelle ich das auf nein, sehe ich alle Raumbelegungen und nach dem einloggen sehe ich alle eingtragenen privaten Termine aber von allen.

Geht das nicht so das man die privat eingetragenen Termine und ALLE weiteren Raumbelegungen sieht.

Ich habe die Ziffern aus der Priorität in die Räume verwandelt und Kategorien zu den unterschiedlichen Personen zugewiesen. Räume sind farblich abgehoben und die Personen auch. So erkenne ich vorne welche Person die Räume reserviert hat und hinten welcher Raum genutzt wird. Aber meine privaten Termine gehen meinen Mitarbeiter nichts an, genauso auch anders herum. Ich versuche zu erkennen welchen Raum ich für meine privaten Termine nutzen kann. Dafür muss ich aber die gesamten Events sehen.
RaHa schrieb am Mittwoch, den 15 Juli 2020 #10
@Berthold
Es ist immer schwierig in einem für die Allgemeinheit verfügbar gemachten freiem Programm kundenspezifische Wünsche zu erfüllen bzw. das Programm dahin gehend zu modifizieren.

Private markierte Einträge sind immer privat, das heißt diese gehören dem User, der sie eingetragen hat. Deine Mitarbeiter dürfen die Events für alle nicht privat setzen.

Bei folgendem Code kann der Admin mit dieser Modifikation immer alle Events sehen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// kalender.php

// SQL - Private Events
//$sqlAndPrivat = isset($_SESSION["name"]) ? ' AND `privat` >= 0 ' : ' AND `privat` = 0 ';
//$sqlAndEinzelperson = isset($_SESSION["name"]) && $EINZELPERSON_ANZEIGE == "ja" ? ' AND `name` = "' . $_SESSION["name"] . '" ' : '';

// modify RaHa
if (isset($_SESSION["name"])) {
   if ($_SESSION["name"] == $NAME ) {
   // Admin darf immer alles sehen
     $sqlAndPrivat = '';
     $sqlAndEinzelperson = '';
   } else {
     $sqlAndPrivat = ' AND `privat` >= 0 ';
     if($EINZELPERSON_ANZEIGE == "ja") { $sqlAndEinzelperson = ' AND `name` = "' . $_SESSION["name"] . '" ';
       } else { $sqlAndEinzelperson = '';
     }
  }
} else {
  $sqlAndPrivat = ' `privat` = 0 ';
  $sqlAndEinzelperson = ''; 
}  
// modify RaHa

Hier könnstest Du Deine Modifikation ansetzen bei $_SESSION["name"] == XXXXX