/[health_html]/inc/pgKnjiznica2-medicus.php
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /inc/pgKnjiznica2-medicus.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations)
Wed Oct 10 12:40:58 2001 UTC (22 years, 6 months ago) by ravilov
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +4 -2 lines
Improved Arhiva, Alergijski semafor and Home. Added a second Q&A page (test version). Other improvements & bugfixes.

1 ravilov 1.1 <?php
2     include("inc/conn.php");
3     include_once("inc/search.php");
4 ravilov 1.2 function MyCmp1($a, $b) { return MyCompare($a["naslov"], $b["naslov"]); }
5     function MyCmp2($a, $b) { return MyCompare($a["l"], $b["l"]); }
6 ravilov 1.1 $fields = array(
7     "broj" => array("dbname" => "broj", "caption" => "Broj èasopisa"),
8     "godina" => array("dbname" => "godina", "caption" => "Godina izdanja"),
9     "naslov" => array("dbname" => "naslov", "caption" => "Naslov broja"),
10     "gost" => array("dbname" => "gost", "caption" => "Gost urednik"),
11     "clanak" => array("dbname" => "clanak", "caption" => "Naslov èlanka"),
12     "autor" => array("dbname" => "autor_ime", "caption" => "Ime autora"),
13     "adresa" => array("dbname" => "autor_adresa", "caption" => "Adresa autora"),
14     "rijeci" => array("dbname" => "keywords", "caption" => "Kljuène rijeèi")
15     );
16     if (!$id) {
17 ravilov 1.2 list($srch, $qry_1, $qry_2) = Search($fields, array("broj", "godina", "naslov", "gost", "clanak", "rijeci", "autor", "adresa"), array(), "naslov");
18 ravilov 1.1 # Win1250 -> ISO8859-2
19     if ($qry_1) $qry_1 = strtr($qry_1, "ŠÐÈƎšðèæž", "©ÐÈÆ®¹ðèæ¾");
20     if ($qry_2) $qry_2 = strtr($qry_2, "ŠÐÈƎšðèæž", "©ÐÈÆ®¹ðèæ¾");
21     $tpl->assign("index", $index);
22     $tpl->assign("srch", ($qry_1 || $qry_2) ? true : false);
23     $tpl->assign("SEARCH", $srch);
24     }
25 ravilov 1.2 if (!$index && !$srch) $index = 1;
26 ravilov 1.1 $letters = Slova();
27     if (!$id && ($index || ($qry_1 || $qry_2))) {
28     $prvo_slovo = "UPPER(SUBSTRING(naslov || ': ' || clanak FROM 1 FOR 1))";
29     $sql = "SELECT medicus_id, $prvo_slovo AS prvo_slovo, naslov, clanak FROM medicus";
30     $uvjet = array();
31     if ($index && $index != 1) {
32     if ($index == '@') for ($i = 0; $i < count($letters); $i++) array_push($uvjet, "($prvo_slovo <> '".$letters[$i]."')");
33     else array_push($uvjet, "($prvo_slovo = '".MyUpper($index)."')");
34     }
35     if ($qry_1) array_push($uvjet, "($qry_1)");
36     $uvjet = implode(" AND ", $uvjet);
37     if ($uvjet) $sql .= " WHERE $uvjet";
38     $sql .= " ORDER BY prvo_slovo, autor_ime, clanak";
39     $sth = $dbh->prepare($sql);
40     if (!$sth) error("Cannot prepare query: \"$sql\"");
41     if (!$sth->execute()) error("Cannot execute query: \"$sql\"");
42     $slova = array();
43     $clanci = array();
44     unset($staro_slovo);
45     while ($row = $sth->fetchrow_array()) {
46     list($id2, $fl, $autor, $naslov) = $row;
47     if (!isset($staro_slovo)) $staro_slovo = $fl;
48     if (!($qry_1 || $qry_2) && $staro_slovo != $fl) {
49     usort($clanci, "MyCmp1");
50     array_push($slova, array("l" => $staro_slovo, "clanci" => $clanci));
51     $staro_slovo = $fl;
52     $clanci = array();
53     }
54     array_push($clanci, array("id" => $id2, "naslov" => MyEscape($naslov), "autor" => MyEscape($autor)));
55     }
56     $sth->finish();
57     if (count($clanci) > 0) {
58     usort($clanci, "MyCmp1");
59     array_push($slova, array("l" => $staro_slovo, "clanci" => $clanci));
60     }
61     usort($slova, "MyCmp2");
62     $records = 0;
63     for ($i = 0; $i < count($slova); $i++) $records += count($slova[$i]["clanci"]);
64     $tpl->assign("records", $records);
65     $tpl->assign("slova", $slova);
66     $tpl->assign("stype", $stype);
67     }
68     if ($id) {
69     $sql = "SELECT broj, godina, naslov, clanak, gost, keywords, autor_ime, autor_adresa, pdf FROM medicus WHERE (medicus_id = $id)";
70     $sth = $dbh->prepare($sql);
71     if (!$sth) error("Cannot prepare query: \"$sql\"");
72     if (!$sth->execute()) error("Cannot execute query: \"$sql\"");
73     $row = $sth->fetchrow_array();
74     $sth->finish();
75     list($broj, $godina, $naslov, $clanak, $gost, $keywords, $autor, $adresa, $pdf) = $row;
76     $tpl->assign("broj", MyEscape($broj));
77     $tpl->assign("godina", MyEscape($godina));
78     $tpl->assign("naslov", MyEscape($naslov));
79     $tpl->assign("clanak", MyEscape($clanak));
80     $tpl->assign("gost", MyEscape($gost));
81     $tpl->assign("keywords", MyEscape($keywords));
82     $tpl->assign("autor", MyEscape($autor));
83     $tpl->assign("adresa", MyEscape($adresa));
84     $tpl->assign("pdf", MyEscape($pdf));
85     }
86     $tpl->assign("letters", $letters);
87     $tpl->assign("ID", $id);
88     $dbh->disconnect();
89     array_push($PATH, "MEDICUS");
90     ?>

  ViewVC Help
Powered by ViewVC 1.1.26