--- inc/pgKalendar.php 2001/10/05 15:10:53 1.1 +++ inc/pgKalendar.php 2001/10/12 09:22:02 1.2 @@ -1,4 +1,5 @@ assign("type", $type); @@ -9,10 +10,58 @@ if (!isset($sort)) $sort = 2; $tpl->assign("sort", $sort); $tpl->assign("kreni", $kreni); + $mjeseci = array("siječanj", "veljača", "ožujak", "travanj", "svibanj", "lipanj", "srpanj", "kolovoz", "rujan", "listopad", "studeni", "prosinac"); + $mj = array("siječnja", "veljače", "ožujka", "travnja", "svibnja", "lipnja", "srpnja", "kolovoza", "rujna", "listopada", "studenog", "prosinca"); + $tpl->assign("mjeseci", $mjeseci); + $sql = "SELECT DISTINCT godina_od, godina_do FROM kongresi"; + $sth = $dbh->prepare($sql); + if (!$sth) error("Cannot prepare query: \"$sql\""); + if (!$sth->execute()) error("Cannot execute query: \"$sql\""); $godine = array(); - for ($i = $date["year"] - 2; $i < $date["year"] + 3; $i++) array_push($godine, $i); + while ($row = $sth->fetchrow_array()) { + list($od, $do) = $row; + $fnd = false; + for ($i = 0; $i < count($godine); $i++) if ($godine[$i] == $od) $fnd = true; + if (!$fnd) array_push($godine, $od); + for ($i = 0; $i < count($godine); $i++) if ($godine[$i] == $do) $fnd = true; + if (!$fnd) array_push($godine, $do); + } + $sth->finish(); $tpl->assign("godine", $godine); if ($kreni) { - // ... + $sql = "SELECT DISTINCT kongresi.kon_id, naziv, dan_od, mjesec_od, godina_od, dan_do, mjesec_do, godina_do, mjesto, organizator, domaci, url, url_naziv, napomena FROM kongresi, kon_spec"; + $uvjeti = array(); + if ($type) array_push($uvjeti, "(".(($type == 1) ? "" : "NOT ")."domaci)"); + if ($month) array_push($uvjeti, "(mjesec_od >= $month) AND (mjesec_do <= $month)"); + if ($year) array_push($uvjeti, "(godina_od >= $year) AND (godina_do <= $year)"); + if ($spec) array_push($uvjeti, "(kon_spec.spec_id = $spec) AND (kon_spec.kon_id = kongresi.kon_id)"); + $uvjeti = implode(" AND ", $uvjeti); + if ($uvjeti) $sql .= " WHERE $uvjeti"; + if ($sort) { + if ($sort == 1) $sql .= " ORDER BY naziv"; + if ($sort == 2) $sql .= " ORDER BY godina_od, mjesec_od, dan_od, godina_do, mjesec_do, dan_do"; + if ($sort == 3) $sql .= " ORDER BY mjesto"; + if ($sort == 4) $sql .= " ORDER BY organizator"; + } + $sth = $dbh->prepare($sql); + if (!$sth) error("Cannot prepare query: \"$sql\""); + if (!$sth->execute()) error("Cannot execute query: \"$sql\""); + $dogadjanja = array(); + while ($row = $sth->fetchrow_array()) { + list($id, $naziv, $od, $om, $og, $dd, $dm, $dg, $mjesto, $org, $dom, $url, $title, $nap) = $row; + array_push($dogadjanja, array( + "naziv" => MyEscape($naziv), + "od_d" => $od, "od_m" => $mj[$om - 1], "od_g" => $og, + "do_d" => $dd, "do_m" => $mj[$dm - 1], "do_g" => $dg, + "organizator" => MyEscape($org), + "mjesto" => MyEscape($mjesto), + "url" => $url, "url_title" => MyEscape($title), + "domaci" => (!$dom || $dom[0] == "f" || $dom[0] == "F") ? false : true, + "napomena" => LinkIt(ParseNewline(MyEscape($nap))) + )); + } + $sth->finish(); + $tpl->assign("dogadjanja", $dogadjanja); } + $dbh->disconnect(); ?>