:::: MENU ::::

WebDevExp

Meine Erfahrungen in der Webentwicklerwelt

Posts Tagged / devshameday

  • Nov 03 / 2010
  • 1
php

Developers Shame Day 2010

PHP hates me Autor Nils nimmt am Developers-Shame-Day 2010 teil und ich dachte mir, ich suche auch mal in den Untiefen meines alten Codes nach einem Schmuckstück. Ursprünglich kam die Idee zum DevShameDay von „Cem, dem PHP-Hacker“. Leider ging in den Jahren einiges verloren, aber ich denke, dass hier ist schlecht genug, um sich dafür zu schämen. Ich Schätze das ist um 2004 entstanden und lieferte Termine bzw. Events von einem bestimmten Tag, das ganze für einen Webkalender ala Google-Calendar. Was ich noch erwähnen sollte…. die Funktion wurde für jeden sichtbaren Kalendertag aufgerufen!

function getevents($year, $month, $day)
    {
        global $SELF;
        $month = (strlen($month) < 2) ? '0' . $month : $month;
        $day = (strlen($day) < 2) ? '0' . $day : $day;
        $str = "$year-$month-$day";
        $strx = "$month-$day";
        $sql = "
           SELECT e.name as ename,
                e.description as edescr,
                e.id as eid,
                t.color as tcolor,
                e.time_start as time_start,
                e.time_end as time_end,
                e.remember as rem,
                e.date_start as date_start,
                e.date_end as date_end,
                t.description as tdescription,
                t.showtime as showtime
           FROM cal_entry e, cal_types t
           WHERE e.types_id = t.id
             AND (e.date_start <= '$str'
             AND ( e.date_end >= '$str' AND e.date_end IS NOT NULL OR e.date_start = '$str' AND e.date_end IS NULL )
             OR(t.id = 1 AND right(e.date_start,5) = '$strx'))
           ORDER BY e.time_start, t.prio
         ";
        $res = mysql_query($sql);
        $out = "$day.$month.";
        while ($row = mysql_fetch_array($res)) {
            $tmp = "";
            $tmp .= $row["ename"];
            $starta = explode("-", $row["date_start"]);
            $outstart = $starta[2] . "." . $starta[1] . "." . $starta[0];
            $enda = explode("-", $row["date_end"]);
            $outend = $enda[2] . "." . $enda[1] . "." . $enda[0];
            $divbody = "";
            if ($row["date_end"] != '' && $row["date_start"] != $row["date_end"]) {
                $divbody .= "";
            } else {
                $divbody .= "Am:$outstart";
            }
            if ($row["showtime"]) {
                if (($row["date_end"] == $row["date_start"] || $row["date_end"] == '') && $row["time_end"] != '') {
                    $divbody .= "";
                    $divbody .= "";
                } elseif ($row["date_start"] < $row["date_end"] && $row["date_start"] == $str && $row["time_start"] != '') {
                    $divbody .= "";
                } elseif ($row["date_start"] < $row["date_end"] && $row["date_end"] == $str && $row["time_end"] != '') {
                    $divbody .= "";
                } elseif (($row["date_end"] == $row["date_start"] || $row["date_end"] == '') && $row["time_end"] == '') {
                    $divbody .= "";
                }
            }
            $rem = ($row["rem"] == true) ? "EMail Erinnerung aktiv" : "EMail Erinnerung inaktiv";
            $divbody .= "
                Von:	$outstart
                Bis:	$outend
                Von:	" . $row["time_start"] . " Uhr
                Bis:	" . $row["time_end"] . " Uhr
                Ab:	" . $row["time_start"] . " Uhr
                Bis:	" . $row["time_end"] . " Uhr
                Ab:	" . $row["time_start"] . " Uhr
            "; 
            $div = ''; 
            $tmp .= "";
            $out .= $div.$tmp;
        }
        return $out;
    }