aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--web/include/errors.php11
-rw-r--r--web/include/news.php42
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");
+}
+?>