/[health_html]/inc/newsShow.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

Contents of /inc/newsShow.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.20 - (show annotations)
Tue Oct 30 16:11:28 2001 UTC (17 years, 7 months ago) by ravilov
Branch: MAIN
CVS Tags: HEAD
Changes since 1.19: +1 -0 lines
Added the "pošalji e-mailom" feature. Added the ability to register on "Kalendar ovulacije" for e-mail notifications. Other fixes/improvements.

1 <?php
2 function get_sections($nid, &$text, $par = 0) {
3 global $dbh;
4 if (!isset($nid)) return array();
5 if (!$par) $par = "NULL";
6 $sql = "SELECT paragraph_id, text, title, level, class, pic, alt, pos, hl, pic_title, full_pic FROM paragraphs, par_levels WHERE (news_id = $nid) AND (level = level_id) AND (parent = $par)";
7 $sth = $dbh->prepare($sql);
8 if (!$sth) error("Cannot prepare query: \"$sql\"");
9 if (!$sth->execute()) error("Cannot execute query: \"$sql\"");
10 while ($row = $sth->fetchrow_array()) {
11 $subs = get_sections($nid, $text, $row[0]);
12 list($w, $h) = PicSize($row[5]);
13 list($w2, $h2) = PicSize($row[10]);
14 array_push($text, array(
15 "id" => $row[0],
16 "text" => $row[1],
17 "title" => $row[2],
18 "level" => $row[3],
19 "class" => $row[4],
20 "pic" => str_replace("+", "%20", urlencode($row[5])),
21 "alt" => $row[6],
22 "pos" => $row[7],
23 "hl" => $row[8],
24 "exp" => $row[9],
25 "full" => $row[10],
26 "fw" => $w2,
27 "fh" => $h2,
28 "subs" => $subs,
29 "w" => $w,
30 "h" => $h
31 ));
32 }
33 $sth->finish();
34 }
35 function newsLoad($id, $ct = "", $limit = 0, $offset = 0, $npar = 1) {
36 global $dbh, $spec, $isMed, $isEdit;
37 $arts = array();
38 if (!$offset) $offset = 0;
39 if (!$spec && $isMed) $spec = 0;
40 $conds = array();
41 if (!$isEdit) array_push($conds, "(prikazi)");
42 if (!$id || $id < 0) array_push($conds, $isMed ? "(plivamed)" : "(NOT plivamed)");
43 if ($id > 0) array_push($conds, "(news.news_id = $id)");
44 if ($ct) array_push($conds, "((category = '$ct') OR ((cat_news.cat_id = '$ct') AND (cat_news.news_id = news.news_id)))");
45 if (isset($spec) && (!$id || $id < 0)) array_push($conds, "((spec_news.news_id = news.news_id) AND (spec_news.spec_id = $spec))");
46 # if ($limit && $isEdit) array_push($conds, "");
47 $sql = "SELECT DISTINCT news.news_id, title, lead, title_pic, title_alt, title_pos, url, url_title, d_orig, author_pic, author_alt, author_info, author_name, autor_cv, ord, prikazi, exclusive FROM news".(isset($ct)?", cat_news":"").((isset($spec)&&(!$id||$id<0))?", spec_news":"");
48 $conds = implode(" AND ", $conds);
49 if ($conds) $sql .= " WHERE ".$conds;
50 $sql .= " ORDER BY d_orig DESC, title";
51 if ($limit && !$isEdit) $sql .= " LIMIT $limit";
52 if ($offset) $sql .= " OFFSET $offset";
53 $sth = $dbh->prepare($sql);
54 if (!$sth) error("Cannot prepare query: \"$sql\"");
55 if (!$sth->execute()) error("Cannot execute query: \"$sql\"");
56 while ($row = $sth->fetchrow_array()) {
57 $art = array();
58 list($art["id"], $art["title"], $art["lead"], $art["pic_url"],
59 $art["pic_alt"], $art["pic_pos"], $art["more"],
60 $art["more_title"], $art["date"], $art["au_pic"],
61 $art["au_alt"], $art["au_info"], $art["au_name"],
62 $art["au_cv"], $ord, $art["show"], $art["ex"]) = $row;
63 $art["show"] = ($art["show"][0] == "f" || $art["show"][0] == "F") ? false : true;
64 $art["ex"] = ($art["ex"][0] == "f" || $art["ex"][0] == "F") ? false : true;
65 list($art["pic_w"], $art["pic_h"]) = PicSize($art["pic_url"]);
66 $art["more_new"] = strstr($art["more"], "://") ? true : false;
67 global $sysaupicdir;
68 list($art["au_w"], $art["au_h"]) = PicSize($art["au_pic"], $sysaupicdir);
69 $art["pic_url"] = str_replace("+", "%20", urlencode($art["pic_url"]));
70 $art["au_pic"] = str_replace("+", "%20", urlencode($art["au_pic"]));
71 $art["text"] = array();
72 if ($art["id"]) get_sections($art["id"], $art["text"]);
73 $art["order"] = $ord;
74 $sql = "SELECT rel_id FROM related WHERE (news_id = ".$art["id"].")";
75 $sth2 = $dbh->prepare($sql);
76 if (!$sth2) error("Cannot prepare query: \"$sql\"");
77 if (!$sth2->execute()) error("Cannot execute query: \"$sql\"");
78 $row = $sth2->fetchrow_array();
79 $sth2->finish();
80 $art["related"] = $row ? true : false;
81 $art["read"] = (count($art["text"]) > $npar || $art["more"] || $art["related"]) ? GetRead($art["id"], $ct) : "";
82 $art["category"] = $ct;
83 $art["limit"] = $limit;
84 $art["offset"] = $offset;
85 $art["npar"] = $npar;
86 array_push($arts, $art);
87 }
88 $sth->finish();
89 $foo = true;
90 while ($foo) {
91 $foo = false;
92 for ($i = 0; $i < count($arts); $i++) {
93 if ($arts[$i]["order"] == 0) continue;
94 $j = ($i + $arts[$i]["order"]);
95 $j %= count($arts);
96 if ($j < 0) $j += count($arts);
97 if ($i == $j) continue;
98 $foo = true;
99 $tmp = $arts[$j];
100 $arts[$j] = $arts[$i];
101 $arts[$i] = $tmp;
102 $arts[$j]["order"] = 0;
103 }
104 }
105 return $arts;
106 }
107
108 function newsShow($art) {
109 global $fname, $tpl, $acat, $acat2, $dbh;
110 $fname = "show.tpl";
111 $tpl->assign("title", MyEscape(convert_html($art["title"])));
112 $tpl->assign("lead", ParseNewline(MyEscape(convert_html($art["lead"]), false), false));
113 $tpl->assign("titlepic_url", MyEscape(convert_html($art["pic_url"])));
114 $tpl->assign("titlepic_alt", MyEscape(convert_html($art["pic_alt"])));
115 $tpl->assign("titlepic_type", $art["pic_pos"]);
116 $tpl->assign("title_url", MyEscape(convert_html($art["more"])));
117 $tpl->assign("title_url_new", $art["more_new"]);
118 $tpl->assign("title_url_title", MyEscape(convert_html($art["more_title"])));
119 $tpl->assign("titlepic_width", $art["pic_w"]);
120 $tpl->assign("titlepic_height", $art["pic_h"]);
121 $tpl->assign("date", $art["date"] ? strftime("%d.%m.%Y.", strtotime($art["date"])) : "");
122 $tpl->assign("AUTHOR", GetAuthor($art["au_pic"], $art["au_alt"],
123 $art["au_info"], $art["au_w"], $art["au_h"], $art["au_cv"]));
124 $tpl->assign("exclusive", $art["ex"]);
125 $some_title = false;
126 for ($i = 0; $i < count($art["text"]); $i++) {
127 if ($art["text"][$i]["title"]) $some_title = true;
128 if ($art["text"][$i]["text"]) {
129 $art["text"][$i]["text"] = ParseNewline(MyEscape(
130 convert_html($art["text"][$i]["text"]), false), true);
131 }
132 if ($art["text"][$i]["exp"]) {
133 $art["text"][$i]["exp"] = ParseNewline(MyEscape(
134 convert_html($art["text"][$i]["exp"]), false), true);
135 }
136 if ($art["text"][$i]["hl"]) {
137 $art["text"][$i]["hl"] = GetHighlight(ParseNewline(
138 MyEscape($art["text"][$i]["hl"], false), false));
139 }
140 if ($art["text"][$i]["level"]) $art["text"][$i]["level2"] = (($art["text"][$i]["level"] - 1) * 15) + 2;
141 }
142 $tpl->assign("id", $art["id"]);
143 $tpl->assign("text", $art["text"]);
144 $tpl->assign("cat", $art["category"]);
145 $tpl->assign("acat", $acat);
146 $tpl->assign("acat2", $acat2);
147 $tpl->assign("pgfs", count($art["text"]));
148 $tpl->assign("some_title", $some_title);
149 if ($art["id"]) {
150 $sql = "SELECT news.news_id, news.category, news.title, news.lead, news.title_pic, news.title_alt FROM news, related WHERE (news.news_id = related.rel_id) AND (related.news_id = ".$art["id"].") AND (prikazi) ORDER BY d_orig DESC";
151 $sth = $dbh->prepare($sql);
152 if (!$sth) error("Cannot prepare query: \"$sql\"");
153 if (!$sth->execute()) error("Cannot execute query: \"$sql\"");
154 $related = array();
155 while ($row = $sth->fetchrow_array()) {
156 list($id, $cat, $title, $lead, $pic, $alt) = $row;
157 if ($pic) list($w, $h) = PicSize($pic);
158 array_push($related, array(
159 "id" => $id,
160 "title" => MyEscape($title),
161 "lead" => ParseNewline(MyEscape($lead), false),
162 "pic" => MyEscape($pic), "w" => $w, "h" => $h,
163 "alt" => MyEscape($alt),
164 "read" => GetRead($id, $cat)
165 ));
166 }
167 $sth->finish();
168 $tpl->assign("related", $related);
169 }
170 global $PATH;
171 if (is_array($PATH)) array_push($PATH,
172 MyUpper(MyEscape(convert_html($art["title"]))));
173 }
174 ?>

  ViewVC Help
Powered by ViewVC 1.1.26