Happy happy joy joy, www.infodrom.ffis.de is up!
[infodrom.org/www.infodrom.org] / src / Infodrom / fortunes / fortunes.inc
1 <define-tag format_cookie>
2 <?
3   function format_cookie ($cookie)
4   {
5     $fsource = "<div align=\"right\"><font size=\"-1\"><em>%s</em></font></div>";
6
7     $firstchar = substr ($cookie[0], 0, 1);
8     if ( ($firstchar == "<") || ($firstchar == ">") || ($firstchar == "*") ) {
9       $pre = 1;
10       $result = "<pre>\n";
11     }
12
13     for ($i=0; $i < count ($cookie); $i++) {
14       $line = $cookie[$i];
15       $line = ereg_replace ("<", "&lt;", $line);
16       $line = ereg_replace (">", "&gt;", $line);
17
18       if (ereg ("^      -- ", $line)) {
19         $line = ereg_replace ("^        -- ", "", $line);
20         if ($pre) {
21           $pre = 0;
22           $result .= "</pre>\n";
23         }
24         $result .= sprintf ($fsource, $line);
25       } else {
26         $result .= $line;
27       }
28     }
29     if ($pre) {
30       $pre = 0;
31       $result .= "</pre>\n";
32     }
33
34     return $result;
35   }
36 ?>
37 </define-tag>
38
39 <define-tag display_cookies>
40 <?
41   function display_cookies ($db, $keyword, $skip, $display)
42   {
43     $fortunes = popen ("/usr/games/fortune -s $db -i -m '$keyword'", "r");
44
45     while (!feof ($fortunes) && $skip > 0) {
46       $line = fgets ($fortunes, 255);
47       if ($line == "%\n") {
48         $skip--;
49       }
50     }
51
52     $cookie = array ();
53     $first = 1;
54     $count = 0;
55     while (!feof ($fortunes) && (($display == 0) || ($count < $display))) {
56       $line = fgets ($fortunes, 255);
57       if ($line != "%\n") {
58         $cookie[] = $line;
59       } else {
60         $count++;
61         if ($first) {
62           $first = 0;
63         } else {
64 ?>
65 #<img src=<root_prefix>gifs/imgdot-1x1-transp.gif width=300 height=2 alt="">
66 <br>
67 <line height=1 color=<menucolor>>
68 <br>
69 #<img src=<root_prefix>gifs/imgdot-1x1-transp.gif width=300 height=2 alt="">
70 <?
71         }
72         echo format_cookie ($cookie);
73         $cookie = array ();
74       }
75     }
76     pclose ($fortunes);
77     echo format_cookie ($cookie);
78     return ($count > 0)?1:0;
79   }
80 ?>
81 </define-tag>
82
83 <define-tag display_cookie_file>
84 <?
85   function display_cookie_file ($file)
86   {
87     global $skip;
88     global $display;
89     $defaultdisplay = 20;
90
91     if (!$skip)
92       $skip = 0;
93     if ($display < 0 || !isset ($display))
94       $display = $defaultdisplay;
95
96     $ret = display_cookies ($file, "", $skip, $display);
97
98     if ($display != 0)
99       echo "<div align=\"center\">";
100
101     if ($skip > 0) {
102       $newskip = ($skip > $defaultdisplay) ? $skip - $defaultdisplay : 0;
103       if ($display != $defaultdisplay)
104         printf ("[<b><a href=\"<get-var WML_SRC_BASENAME>.php3?skip=%d&display=%d\">prev</a></b>] ", $newskip, $display);
105       else
106         printf ("[<b><a href=\"<get-var WML_SRC_BASENAME>.php3?skip=%d\">prev</a></b>] ", $newskip);
107     } else {
108       echo "[prev] ";
109     }
110
111     if ($display != 0)
112       printf ("[<b><a href=\"<get-var WML_SRC_BASENAME>.php3?display=0\">all</a></b>] ");
113     else
114       printf ("[all] ");
115
116     if ($ret > 0) {
117       $newskip = $skip + $defaultdisplay;
118       if ($display != $defaultdisplay)
119         printf ("[<b><a href=\"<get-var WML_SRC_BASENAME>.php3?skip=%d&display=%d\">next</a></b>] ", $newskip, $display);
120       else
121         printf ("[<b><a href=\"<get-var WML_SRC_BASENAME>.php3?skip=%d\">next</a></b>] ", $newskip);
122     } else {
123       echo "[next] ";
124     }
125
126     if ($display != 0)
127       echo "<div align=\"/center\">";
128
129   }
130 ?>
131 </define-tag>
132
133
134 # Local variables:
135 # mode: indented-text
136 # mode: auto-fill
137 # end: