mirror of
https://github.com/Pathduck/gallery3.git
synced 2026-04-21 13:09:17 -04:00
Add very basic comment listing which shows the different queues
(approved, unapproved, spam).
This commit is contained in:
62
modules/comment/controllers/admin_comments.php
Normal file
62
modules/comment/controllers/admin_comments.php
Normal 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");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
85
modules/comment/views/admin_comments.html.php
Normal file
85
modules/comment/views/admin_comments.html.php
Normal 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>
|
||||
Reference in New Issue
Block a user