[Funktion(en), Modul: Cal] Algorithmus für wiederkehrende Termine

Begonnen von k00ni, 12. September 2007, 15:23:25

Vorheriges Thema - Nächstes Thema

Dein Skript weigert sich leider nicht, Daten für den 62 Februar 2004 zu berechnen.

k00ni

Sowas gibt man ja auch nicht ein /uploads/emoticons/icon_e_surprised.gif.a8707b3f35a569cb4cfe563fc72ef78d.gif\" alt=\":-o\" />
Wo könnte man das abfangen oder wo liegt der Fehler?

k00ni

Die Ermittlung von $I_last_week_in_month ist etwas unschön. Nur wie will man sonst die letzte Woche sauber bestimmen?[/quote]
Könnte man das nicht mit strtotime () umgehen? Gibts da die Möglichkeit mit etwas wie \"last day in month\" oder ähnlichen, sich den letzten Tag ermitteln zu lassen?
 
Grüße

Wo könnte man das abfangen oder wo liegt der Fehler?[/quote]
Schau dir meinen Quelltext an. Ich prüfe, ob der Parameter int ist, größer als -1 und in ein echtes Datum  gewandelt werden kann.

Könnte man das nicht mit strtotime () umgehen? Gibts da die Möglichkeit mit etwas wie \"last day in month\" oder ähnlichen, sich den letzten Tag ermitteln zu lassen?[/quote]
Nein, das kann strtotime leider nicht.

Schaut euch mal dieses Script an, das ist imho sehr gut gecodet und man kann da so manches daraus lernen... [/uploads/emoticons/icon_e_surprised.gif.a005678239f11b45b64b526b2c82e9a1.gif\" alt=\":o\" />] http://www.event-list.de/\" rel=\"external nofollow\">http://www.event-list.de/

Finde ich nicht. Schon in der index.php sind mir diverse Stelen im Code aufgefallen, die potenziell gefährlich sind.
 

jeschkec@hulsten:~/projekte/calendar$ grep -R -c eval * | awk -F: \'{sum+=$2} END { print sum}\'
893

 
Spricht auch nicht für das Skript.

Ich habe mir mehr andere Dateien genauer angesehen. Aber danke für den Hinweis, Statler! :H:

k00ni


jeschkec@hulsten:~/projekte/calendar$ grep -R -c eval * | awk -F: \'{sum+=$2} END { print sum}\' 
893

 
 
:ugly: Was bedeutet das ?

Was bedeutet das ?[/quote]
Dass in der Applikation ca. 900 mal eval() aufgerufen wird (bei 5000 Zeilen Code ist das ein eval in ca. jeder 5. Zeile). In Anbetracht der sonstigen Qualität des Quellcodes würde ich darauf tippen, dass man irgendwo unbehandelten Code ausführen kann. Man sollte bei eval() genau wissen, was man tut. Diesen Eindruck habe ich nach einer groben  ersten Sicht aber nicht.

k00ni

Ich habe gerade bei der Arbeit mit dem pCal einen netten Codeschnipsel gefunden.Folgender Code ermittelt mir die Gesamtanzahl der Tage eines Monats.
 

// Anzahl der Tage des Monats ermitteln.
$days_month     = date(\"t\", mktime(0,0,0,$month,1,$year));

 
 
Ich habe die Abfrage, obs ein richtiges Datum ist und den Code vom Powie ausm pCal mal in einer angepassten Funktion kombiniert.
 

 Letzte Woche - erste Woche + 1 = Gesamtanzahl Wochen; 
// > Letzte Woche - Timestamp-Woche = Differenz zur letzten Woche.
// --> Gesamtanzahl Wochen - Differenz zur letzten Woche = Nummer der Timestamp-Woche. (1-6)
return $I_last_week_in_month - $I_first_week_in_month + 1 - ($I_last_week_in_month -
$I_timestamp_week);
}
?>

 
 
Grüße

all your base are belong to us