Add very basic comment listing which shows the different queues

(approved, unapproved, spam).
This commit is contained in:
Bharat Mediratta
2009-01-07 09:08:53 +00:00
parent 925720ac3d
commit 01dcbbcda5
4 changed files with 152 additions and 1 deletions

View File

@@ -0,0 +1,62 @@
<?php defined("SYSPATH") or die("No direct script access.");
/**
* Gallery - a web based photo album viewer and editor
* Copyright (C) 2000-2008 Bharat Mediratta
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
class Admin_Comments_Controller extends Admin_Controller {
private function _get_base_view($state) {
$view = new Admin_View("admin.html");
$view->content = new View("admin_comments.html");
$view->content->menu = Menu::factory("root")
->append(Menu::factory("link")
->id("published")
->label(_("Published"))
->url(url::site("admin/comments/published")))
->append(Menu::factory("link")
->id("unpublished")
->label(_("Unpublished"))
->url(url::site("admin/comments/unpublished")))
->append(Menu::factory("link")
->id("spam")
->label(_("Spam"))
->url(url::site("admin/comments/spam")));
$view->content->comments = ORM::factory("comment")
->where("state", $state)
->orderby("created", "DESC")
->find_all();
return $view;
}
public function index() {
return $this->published();
}
public function published() {
print $this->_get_base_view("published");
}
public function unpublished() {
print $this->_get_base_view("unpublished");
}
public function spam() {
print $this->_get_base_view("spam");
}
}

View File

@@ -23,7 +23,7 @@ class comment_menu_Core {
->append(Menu::factory("link")
->id("comments")
->label(_("Comments"))
->url("#"));
->url(url::site("admin/comments")));
}
public static function photo($menu, $theme) {

View File

@@ -23,4 +23,8 @@ class Comment_Model extends ORM {
"email" => "valid_email",
"url" => "valid_url",
"text" => "required");
function item() {
return ORM::factory("item", $this->item_id);
}
}

View File

@@ -0,0 +1,85 @@
<?php defined("SYSPATH") or die("No direct script access.") ?>
<div id="gAdminComments">
<h1> <?= _("Comments") ?> </h1>
<div id="gAdminCommentsMenu">
<?= $menu ?>
</div>
<div id="gAdminCommentsList">
<table>
<tr>
<th>
<?= _("Comment") ?>
</th>
<th>
<?= _("Date") ?>
</th>
<th>
<?= _("Actions") ?>
</th>
</tr>
<? foreach ($comments as $comment): ?>
<tr>
<td>
<div>
<b> <?= $comment->author ?> </b>
</div>
<div>
<b> <?= $comment->url ?> </b> | <b> <?= $comment->email ?> </b>
</div>
<div>
<?= $comment->text ?>
</div>
<div>
<? $item = $comment->item(); ?>
<img src="<?= $item->thumb_url() ?>"
alt="<?= $item->title ?>"
<?= photo::img_dimensions($item->thumb_width, $item->thumb_height, 75) ?>
/>
<?= sprintf(_("Comment left on <a href=\"%s\">%s</a>"), $item->url(), $item->title) ?>
</div>
</td>
<td>
<?= date("Y-M-d", $comment->created); ?>
</td>
<td>
<ul>
<? if ($comment->state != "unpublished"): ?>
<li>
<a href="<?= url::site("admin/comments/mark/unpublished/$comment->id?csrf=" . access::csrf_token()) ?>">
<?= _("Unapprove") ?>
</a>
</li>
<? endif ?>
<? if ($comment->state != "published"): ?>
<li>
<a href="<?= url::site("admin/comments/mark/published/$comment->id?csrf=" . access::csrf_token()) ?>">
<?= _("Approve") ?>
</a>
</li>
<? endif ?>
<? if ($comment->state != "spam"): ?>
<li>
<a href="<?= url::site("admin/comments/mark/spam/$comment->id?csrf=" . access::csrf_token()) ?>">
<?= _("Spam") ?>
</a>
</li>
<? endif ?>
<? if ($comment->state != "spam"): ?>
<li>
<a href="<?= url::site("admin/comments/mark/spam/$comment->id?csrf=" . access::csrf_token()) ?>">
<?= _("Delete") ?>
</a>
</li>
<? endif ?>
</ul>
</td>
</tr>
<? endforeach ?>
</table>
</div>
</div>