From 251349acaf0f8fed47aad1610b5b627a7e684f27 Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Tue, 17 May 2011 17:20:06 -0700 Subject: Added category buttons and categories page --- htdocs/src/Category.inc.php | 86 +++++++++++++++++++++++++++++++++++++++++ htdocs/src/PostIterator.inc.php | 4 ++ htdocs/src/header.inc.php | 27 +++++++++++-- 3 files changed, 114 insertions(+), 3 deletions(-) create mode 100644 htdocs/src/Category.inc.php (limited to 'htdocs/src') diff --git a/htdocs/src/Category.inc.php b/htdocs/src/Category.inc.php new file mode 100644 index 0000000..edc0303 --- /dev/null +++ b/htdocs/src/Category.inc.php @@ -0,0 +1,86 @@ + + * + */ + +require_once "base.inc.php"; + +class Category { + private $info; + + + public function __construct($info=null) { + $this->info = $info; + } + + public static function getCategories() { + $db = getDatabase(); + + $query = "SELECT * FROM category ORDER BY name"; + + $rows = $db->fetchAssocRows($query); + + $result = array(); + foreach ($rows as $row) { + $result[$row['shortname']] = $row['name']; + } + + return $result; + } + + public static function getById($id) { + $where = "id='$id'"; + + return Category::getCategory($where); + } + + public static function getByShortname($shortname) { + $where = "shortname='$shortname'"; + + return Category::getCategory($where); + } + + private static function getCategory($where) { + $query = "SELECT * FROM category WHERE $where"; + + $db = getDatabase(); + + $row = $db->fetchAssocRow($query); + + if ($row) { + $category = new Category(); + $category->info = $row; + + return $category; + + } else { + return false; + } + } + + public function save() { + $db = getDatabase(); + + // TODO: Implement Save + } + + public function getId() { + return $this->info['id']; + } + + public function getName() { + return htmlspecialchars($this->info['name']); + } + + public function getShortname() { + return htmlspecialchars($this->info['shortname']); + } +} + +?> + diff --git a/htdocs/src/PostIterator.inc.php b/htdocs/src/PostIterator.inc.php index 52eb750..cced79b 100644 --- a/htdocs/src/PostIterator.inc.php +++ b/htdocs/src/PostIterator.inc.php @@ -33,6 +33,10 @@ class PostIterator implements Iterator { $this->where[] = "source_id='$source'"; } + public function filterCategory($category_id) { + $this->where[] = "category_id='$category_id'"; + } + public function orderBy($order) { $this->order = $order; } diff --git a/htdocs/src/header.inc.php b/htdocs/src/header.inc.php index f2966e4..856ba32 100644 --- a/htdocs/src/header.inc.php +++ b/htdocs/src/header.inc.php @@ -18,14 +18,35 @@

What are you looking for?

+
+ For Sale +
+ For Sale +
+
+ Events +
+ Events +
+
+ Housing +
+ Housing +
+
+ Jobs +
+ Jobs +
+
-- cgit v1.2.3