diff options
Diffstat (limited to 'web/include')
-rw-r--r-- | web/include/errors.php | 11 | ||||
-rw-r--r-- | web/include/news.php | 42 |
2 files changed, 51 insertions, 2 deletions
diff --git a/web/include/errors.php b/web/include/errors.php index 1c4656b..7db28b4 100644 --- a/web/include/errors.php +++ b/web/include/errors.php @@ -1,7 +1,9 @@ <?php if (!$code) { $code = $_GET['code']; } +if (!$detail) { $error['detail'] = $_GET['detail']; } -switch($code) { +switch($code) +{ case 403: $error['name'] = "Forbidden"; $error['description'] = "You don't have permission to be here. Go away!"; @@ -10,8 +12,13 @@ switch($code) { $error['name'] = "Not Found"; $error['description'] = "The file was not found. We probably screwed up."; break; + case 500: + $error['name'] = "Internal Server Error"; + $error['description'] = "Oh, crap. Something is broke and it's almost definitely our fault!"; + break; } + header("HTTP/1.0 $code" . $error['name']); echo "<h2>$error[name]</h2> -<p>$error[description]</p>"; +<p>$error[description] $error[detail]</p>"; ?> diff --git a/web/include/news.php b/web/include/news.php new file mode 100644 index 0000000..ce544c5 --- /dev/null +++ b/web/include/news.php @@ -0,0 +1,42 @@ +<?php +require("/webspace/icculus.org/news/IcculusNews.php"); + +$id = $_GET['id']; +$news_queue = 2; + +if ($err = news_login($sock, 'localhost', 263, NULL, NULL, $news_queue)) + $err = "Failed to log in: $err"; +else +{ + if (isset($id)) + { + $digestarray[] = array( 'id' => $id ); + } + + else if ($err = news_digest($sock, $digestarray, false, 10)) + { + $err = "Failed to get news digest: $err"; + } + + if (!isset($err)) + { + foreach($digestarray as $digestItem) + { + if ($err = news_get($sock, $digestItem['id'], $item)) + { + $err = "Failed to grab news item: $err"; + break; + } + echo "<h3>" . $item['title'] . "-" . $item['postdate'] . "</h3>\n<p>" . $item['text'] . "</p>" + } + } +} + +news_logout($sock); + +if ($err) { + $code = 500; + $detail = $err; + require("errors.php"); +} +?> |