From 8439ed9ba5b36fa382e32ea883a0877d6ec536c0 Mon Sep 17 00:00:00 2001 From: Jesse Morgan Date: Thu, 9 Jun 2011 16:56:39 -0700 Subject: Finished added prices. Added more buttons to the headers. Fixed the categories. --- htdocs/categories.php | 7 ++++++- htdocs/index.php | 7 ++++++- htdocs/new-post.php | 18 ++++++++++++++++-- htdocs/postings.php | 9 ++++++++- htdocs/src/Category.inc.php | 20 ++++++++++++++++---- htdocs/src/Post.inc.php | 25 ++++++++++++++++++++++--- htdocs/src/header.inc.php | 10 ++++++++++ 7 files changed, 84 insertions(+), 12 deletions(-) (limited to 'htdocs') diff --git a/htdocs/categories.php b/htdocs/categories.php index a3e8ba2..86e5f9a 100644 --- a/htdocs/categories.php +++ b/htdocs/categories.php @@ -56,12 +56,17 @@ function displayEvents($category) { if ($posts->valid()) { foreach ($posts as $id => $post) { + $title = $post->getName(); + if ($post->getPrice() != 0) { + $title .= ' - $' . $post->getPrice(); + } + printf("

%s

" . "
%s" . " %s
", - $id, $post->getName(), $post->getLocation(), $post->getAge()); + $id, $title, $post->getLocation(), $post->getAge()); } } else { diff --git a/htdocs/index.php b/htdocs/index.php index 148cfd6..b09c4bf 100644 --- a/htdocs/index.php +++ b/htdocs/index.php @@ -22,12 +22,17 @@ $posts->query(); if ($posts->valid()) { foreach ($posts as $id => $post) { + $title = $post->getName(); + if ($post->getPrice() != 0) { + $title .= ' - $' . $post->getPrice(); + } + printf("

%s

" . "
%s" . " %s
", - $id, $post->getName(), $post->getLocation(), $post->getAge()); + $id, $title, $post->getLocation(), $post->getAge()); } } else { diff --git a/htdocs/new-post.php b/htdocs/new-post.php index 961cdda..e421d3c 100644 --- a/htdocs/new-post.php +++ b/htdocs/new-post.php @@ -99,7 +99,7 @@ function finish_category() { if (isset($_GET['category'])) { $category = Category::getByShortname(addslashes($_GET['category'])); if ($category) { - $post->setCategory($category->getId()); + $post->setCategory($category); return true; } } @@ -168,6 +168,11 @@ function finish_post() { $post->setName($values['title']); $post->setDescription($values['description']); $post->setLocation($values['location']); + + // Price is optional + if (isset($_POST['price'])) { + $post->setPrice($_POST['price']); + } if ($post->save()) { return true; @@ -293,8 +298,10 @@ require_once "src/footer.inc.php"; function render_form($error="") { + $category = $_SESSION['newpost']->getCategory(); $title = isset($_POST['title']) ? $_POST['title'] : ''; + $price = isset($_POST['price']) ? $_POST['price'] : ''; $location = isset($_POST['location']) ? $_POST['location'] : ''; $description = isset($_POST['description']) ? $_POST['description'] : ''; $email = isset($_POST['email']) ? $_POST['email'] : ''; @@ -304,7 +311,14 @@ function render_form($error="") { echo "
$error
"; } - echo "

"; + echo "

"; + + if ($category->getOption('price')) { + echo " "; + } + + + echo "

"; echo "

"; diff --git a/htdocs/postings.php b/htdocs/postings.php index b69767e..a52d939 100644 --- a/htdocs/postings.php +++ b/htdocs/postings.php @@ -48,7 +48,14 @@ if (isset($_GET['moderate'])) { // Display the post. -echo "

". $post->getName() ."

"; +echo "

". $post->getName(); + +if ($post->getPrice() != 0) { + echo ' - $' . $post->getPrice(); +} + +echo "

"; + echo "

Date: ". date('r', $post->getTimestamp()) ."

"; echo "

Email: getPublicEmail() ."\">" diff --git a/htdocs/src/Category.inc.php b/htdocs/src/Category.inc.php index fdcd210..cfef06b 100644 --- a/htdocs/src/Category.inc.php +++ b/htdocs/src/Category.inc.php @@ -12,10 +12,16 @@ require_once "base.inc.php"; class Category { private $info; - + private $options = array('price' => false); public function __construct($info=null) { $this->info = $info; + + if (isset($this->info['options'])) { + foreach (split(',', $this->info['options']) as $op) { + $this->options[$op] = true; + } + } } public static function getCategories() { @@ -54,8 +60,7 @@ class Category { $row = $db->fetchAssocRow($query); if ($row) { - $category = new Category(); - $category->info = $row; + $category = new Category($row); return $category; @@ -85,7 +90,14 @@ class Category { public function getDescription() { return htmlspecialchars($this->info['description']); } + + public function getOption($name) { + return $this->options[$name]; + } + + public function setOption($value) { + $this->options[$name] = $value; + } } ?> - diff --git a/htdocs/src/Post.inc.php b/htdocs/src/Post.inc.php index 9747d3f..d887694 100644 --- a/htdocs/src/Post.inc.php +++ b/htdocs/src/Post.inc.php @@ -14,6 +14,7 @@ class Post { private $info; private $indatabase = false; private $images; + private $category; public function __construct($info=null) { @@ -26,7 +27,8 @@ class Post { $this->indatabase = false; } - $images = null; + $this->images = null; + $this->category = null; } public static function getById($id) { @@ -205,8 +207,17 @@ class Post { $this->info['email'] = $value; } - public function setCategory($value) { - $this->info['category_id'] = $value; + public function setCategory(Category $cat) { + $this->info['category_id'] = $cat->getId(); + $this->category = $cat; + } + + public function getCategory() { + if ($this->category == NULL) { + $this->category = Categories::getById($this->info['category_id']); + } + + return $this->category; } public function getAge() { @@ -237,6 +248,14 @@ class Post { $this->info['location'] = $value; } + public function getPrice() { + return $this->info['price']; + } + + public function setPrice($value) { + $this->info['price'] = $value; + } + public function getImages() { if ($this->images == null) { $this->loadImages(); diff --git a/htdocs/src/header.inc.php b/htdocs/src/header.inc.php index 839ebaf..856022e 100644 --- a/htdocs/src/header.inc.php +++ b/htdocs/src/header.inc.php @@ -30,11 +30,21 @@

What are you looking for?

+
+ Free Items +
+ Free Items +
For Sale
For Sale
+
+ Needs +
+ Needs +
Events
-- cgit v1.2.3