X-Git-Url: https://disinclined.org/git/?a=blobdiff_plain;ds=inline;f=index.php;h=f985f670722d4fa862c7c4c9263b4343c69cff3d;hb=951500cf5077761f65c451d14e30b506c20444a1;hp=a2c85eacf2196dbc8b4a5e75f09efc72ed879b94;hpb=353b047dd912955763184787347927b58bd0e84f;p=dylansserver.git diff --git a/index.php b/index.php index a2c85ea..f985f67 100644 --- a/index.php +++ b/index.php @@ -6,6 +6,7 @@ abstract class cms { protected $db; protected $recaptcha_publickey; protected $recaptcha_privatekey; + protected $scripts; public $title; public $home_link; @@ -39,7 +40,9 @@ abstract class cms { return 'index'; } else if (isset($_GET['project'])) { return 'project'; - } else if (isset($_GET['challenge'])) { + } else if (isset($_GET['rss'])) { + return 'rss'; + } else if (isset($_GET['challenge'])) { return 'captcha'; } } @@ -71,17 +74,9 @@ abstract class cms { public function display_head($title = "dylansserver", $home_link = "/") { - $scripts = ""; + $scripts = $this->scripts; $stylesheets = ""; - if (cms::determine_type() == "index") { - $scripts = ""; - $home_link = "http://validator.w3.org/unicorn/check?ucn_uri=dylansserver.com&ucn_task=conformance#"; - } else if ($this->determine_type() == 'note') { - $scripts = ""; - $scripts .= ""; - $scripts .= ""; - $scripts .= ""; - } + $home_link = "http://validator.w3.org/unicorn/check?ucn_uri=dylansserver.com&ucn_task=conformance#"; echo << @@ -93,7 +88,7 @@ abstract class cms { $this->title - + $stylesheets $scripts @@ -140,6 +135,7 @@ END_OF_CLOSE; class index extends cms { public function display() { + $this->scripts = ""; $this->display_head(); $this->display_exhibits(); echo ""; @@ -174,7 +170,7 @@ class index extends cms { here + "/notes/">here [rss] @@ -282,10 +278,15 @@ class page extends cms { $month_posted = $date_posted[1]; $datetime_posted = explode(' ', $date_posted[2]); $day_posted = $datetime_posted[0]; - echo ""; - echo "$year_posted/$month_posted/$day_posted/$title"; - echo $entry['text']; - echo ""; + $text = $entry['text']; + echo << + + $year_posted/$month_posted/$day_posted/$title + + $text + +END_NOTE; } echo ""; $this->write_navigation(); @@ -294,7 +295,7 @@ class page extends cms { private function write_navigation() { echo ""; - echo ""; + echo ""; if($this->page > 1){ $previous_page = $this->page - 1; echo "prev"; @@ -303,7 +304,7 @@ class page extends cms { $forward_page = $this->page + 1; echo " next"; } - echo ""; + echo ""; echo ""; } @@ -324,6 +325,11 @@ class note extends cms { public $number_of_comments; public function __construct() { + if (isset($_GET['comments'])) { + $this->scripts = " + + "; + } parent::__construct(); if (isset($_GET['comments'])) { $this->comments_enabled = true; @@ -402,7 +408,7 @@ class note extends cms { private function display_note() { echo << - $this->year_posted/$this->month_posted/$this->day_posted/$this->title + $this->year_posted/$this->month_posted/$this->day_posted/$this->title $this->text END_OF_NOTE; @@ -412,14 +418,14 @@ END_OF_NOTE; echo << - + END_OF_NAVIGATION; if (!$this->comments_enabled) { $this->display_comment_link(); } echo <<back to notes/ - + END_OF_NAVIGATION; } @@ -589,9 +595,9 @@ class archive extends cms { $datetime_posted = explode(' ', $date_posted[2]); $day_posted = $datetime_posted[0]; echo ""; - echo ""; + echo ""; echo "$year_posted/$month_posted/$day_posted/"; - echo "$title"; + echo "$title"; echo $entry['text']; echo ""; } @@ -599,7 +605,7 @@ class archive extends cms { $this->write_navigation(); } else { echo ""; - echo "sorry, nothing here"; + echo "sorry, nothing here"; echo "Empty set (0.00 sec)"; } $this->display_close(); @@ -608,15 +614,57 @@ class archive extends cms { private function write_navigation() { echo ""; echo ""; - echo ""; // fill me in! - echo ""; echo ""; } } +class rss extends cms { + public function display() { + $result = $this->db->query("SELECT date_posted, title, text, url + FROM notes ORDER BY date_posted DESC + LIMIT 5"); + echo << + + dylanstestserver.com/notes/rss + http://dylanstestserver.com/notes + dylanstestserver.com/notes/rss + +END_OF_ENTRY; + while ($entry = $result->fetch_object()) { + $title = $entry->title; + $date_posted = $entry->date_posted; + $url = "http://dylanstestserver.com/note/" . $entry->url; + $text = $entry->text; + $text = strip_tags($text); + $end_of_first_sentence = strpos($text, '.'); + if ($end_of_first_sentence) { + $end_of_second_sentence = strpos($text, '.', ($end_of_first_sentence + 1)); + if ($end_of_second_sentence) { + $description = substr($text, '0', ($end_of_second_sentence + 1)); + } else { + $description = substr($text, '0', ($end_of_first_sentence + 1)); + } + } + echo << + $title + $url + $url + $description + +END_OF_ENTRY; + } + echo ""; + echo ""; + + } +} + + class notFound extends Exception { public function __construct() { @@ -663,10 +711,13 @@ switch (cms::determine_type()) { $page = new page; $page->display(); break; + case "rss": + $rss = new rss(); + $rss->display(); case 'archive': $archive = new archive; - $archive->display(); - break; + $archive->display(); + break; case "captcha": $captcha = new captcha; $captcha->display();
Empty set (0.00 sec)