/[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.11 - (show annotations)
Thu Oct 4 14:59:35 2001 UTC (22 years, 6 months ago) by ravilov
Branch: MAIN
Changes since 1.10: +11 -8 lines
Added the archive. Some more bug fixes.

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 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 array_push($text, array(
14 "id" => $row[0],
15 "text" => $row[1],
16 "title" => $row[2],
17 "level" => $row[3],
18 "class" => $row[4],
19 "pic" => str_replace("+", "%20", urlencode($row[5])),
20 "alt" => $row[6],
21 "pos" => $row[7],
22 "hl" => $row[8],
23 "exp" => $row[9],
24 "subs" => $subs,
25 "w" => $w,
26 "h" => $h
27 ));
28 }
29 $sth->finish();
30 }
31 function newsLoad($id, $ct = "", $limit = 0, $offset = 0, $npar = 1) {
32 global $dbh, $spec, $isMed;
33 $arts = array();
34 if (!$offset) $offset = 0;
35 $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, ord FROM news".(isset($ct)?", cat_news":"").($spec?", spec_news":"")." WHERE (".($isMed?"":"NOT ")."plivamed)";
36 if ($id > 0) $sql .= " AND (news.news_id = $id)";
37 if ($ct) $sql .= " AND ((category = '$ct') OR ((cat_news.cat_id = '$ct') AND (cat_news.news_id = news.news_id)))";
38 if ($spec) $sql .= " AND (spec_news.news_id = news.news_id) AND (spec_news.spec_id = $spec)";
39 $sql .= " ORDER BY d_orig DESC";
40 if ($limit) $sql .= " LIMIT $limit OFFSET $offset";
41 $sth = $dbh->prepare($sql);
42 if (!$sth) error("Cannot prepare query: \"$sql\"");
43 if (!$sth->execute()) error("Cannot execute query: \"$sql\"");
44 while ($row = $sth->fetchrow_array()) {
45 $art = array();
46 list($art["id"], $art["title"], $art["lead"], $art["pic_url"],
47 $art["pic_alt"], $art["pic_pos"], $art["more"],
48 $art["more_title"], $art["date"], $art["au_pic"],
49 $art["au_alt"], $art["au_info"], $art["au_name"],
50 $ord) = $row;
51 list($art["pic_w"], $art["pic_h"]) = PicSize($art["pic_url"]);
52 $art["more_new"] = strstr($art["more"], "://") ? true : false;
53 global $sysaupicdir;
54 list($art["au_w"], $art["au_h"]) = PicSize($art["au_pic"], $sysaupicdir);
55 $art["pic_url"] = str_replace("+", "%20", urlencode($art["pic_url"]));
56 $art["au_pic"] = str_replace("+", "%20", urlencode($art["au_pic"]));
57 $art["text"] = array();
58 if ($art["id"]) get_sections($art["id"], $art["text"]);
59 $art["order"] = $ord;
60 $art["read"] = (count($art["text"]) > $npar) ? GetRead($art["id"], $ct) : "";
61 $art["category"] = $ct;
62 $art["limit"] = $limit;
63 $art["offset"] = $offset;
64 $art["npar"] = $npar;
65 array_push($arts, $art);
66 }
67 $sth->finish();
68 $foo = true;
69 while ($foo) {
70 $foo = false;
71 for ($i = 0; $i < count($arts); $i++) {
72 if ($arts[$i]["order"] == 0) continue;
73 $j = ($i + $arts[$i]["order"]);
74 $j %= count($arts);
75 if ($j < 0) $j += count($arts);
76 if ($i == $j) continue;
77 $foo = true;
78 $tmp = $arts[$j];
79 $arts[$j] = $arts[$i];
80 $arts[$i] = $tmp;
81 $arts[$j]["order"] = 0;
82 }
83 }
84 return $arts;
85 }
86
87 function newsShow($art) {
88 global $fname, $tpl, $acat, $acat2;
89 $fname = "show.tpl";
90 $tpl->assign("title", MyEscape(convert_html($art["title"])));
91 $tpl->assign("lead", MyEscape(convert_html($art["lead"]), false));
92 $tpl->assign("titlepic_url", MyEscape(convert_html($art["pic_url"])));
93 $tpl->assign("titlepic_alt", MyEscape(convert_html($art["pic_alt"])));
94 $tpl->assign("titlepic_type", $art["pic_pos"]);
95 $tpl->assign("title_url", MyEscape(convert_html($art["more"])));
96 $tpl->assign("title_url_new", $art["more_new"]);
97 $tpl->assign("title_url_title", MyEscape(convert_html($art["more_title"])));
98 $tpl->assign("titlepic_width", $art["pic_w"]);
99 $tpl->assign("titlepic_height", $art["pic_h"]);
100 $tpl->assign("date", $art["date"] ? strftime("%d.%m.%Y.", strtotime($art["date"])) : "");
101 include_once("author.php");
102 $tpl->assign("AUTHOR", GetAuthor($art["au_pic"],
103 $art["au_alt"], $art["au_info"],
104 $art["au_w"], $art["au_h"]));
105 for ($i = 0; $i < count($art["text"]); $i++) {
106 $art["text"][$i]["text"] = ParseNewline(convert_html(
107 MyEscape($art["text"][$i]["text"]), false), true);
108 $art["text"][$i]["hl"] = ParseNewline(convert_html(
109 MyEscape($art["text"][$i]["hl"]), false), true);
110 $art["text"][$i]["exp"] = ParseNewline(convert_html(
111 MyEscape($art["text"][$i]["exp"]), false), true);
112 if ($art["text"][$i]["hl"]) $art["text"][$i]["hl"] = GetHighlight($art["text"][$i]["hl"]);
113 if ($art["text"][$i]["level"]) $art["text"][$i]["level2"] = (($art["text"][$i]["level"] - 1) * 15) + 2;
114 }
115 $tpl->assign("text", $art["text"]);
116 $tpl->assign("cat", $art["category"]);
117 $tpl->assign("acat", $acat);
118 $tpl->assign("acat2", $acat2);
119 global $PATH;
120 if (is_array($PATH)) array_push($PATH,
121 MyUpper(MyEscape(convert_html($art["title"]))));
122 }
123 ?>

  ViewVC Help
Powered by ViewVC 1.1.26