Files
gallery3/modules/comment/controllers/admin_comments.php
Bharat Mediratta 9e0631ab0d Provide a "default moderate" option for comments. The default behavior
is unchanged, but you now have the option to set all new comments to
be unpublished and then moderate them through the Admin > Content >
Comments interface.

Fixes #2126.
2014-05-28 14:54:02 -04:00

68 lines
3.0 KiB
PHP

<?php defined("SYSPATH") or die("No direct script access.");
/**
* Gallery - a web based photo album viewer and editor
* Copyright (C) 2000-2013 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 {
public function index() {
$view = new Admin_View("admin.html");
$view->page_title = t("Comment settings");
$view->content = new View("admin_comments.html");
$view->content->form = $this->_get_admin_form();
print $view;
}
public function save() {
access::verify_csrf();
$form = $this->_get_admin_form();
$form->validate();
module::set_var("comment", "access_permissions",
$form->comment_settings->access_permissions->value);
module::set_var("comment", "rss_visible",
$form->comment_settings->rss_visible->value);
module::set_var("comment", "initial_state",
$form->comment_settings->initial_state->value);
message::success(t("Comment settings updated"));
url::redirect("admin/comments");
}
private function _get_admin_form() {
$form = new Forge("admin/comments/save", "", "post",
array("id" => "g-comments-admin-form"));
$comment_settings = $form->group("comment_settings")->label(t("Permissions"));
$comment_settings->dropdown("access_permissions")
->label(t("Who can leave comments?"))
->options(array("everybody" => t("Everybody"),
"registered_users" => t("Only registered users")))
->selected(module::get_var("comment", "access_permissions"));
$comment_settings->dropdown("initial_state")
->label(t("Are new comments published or unpublished by default?"))
->options(array("published" => t("Published"),
"unpublished" => t("Unpublished")))
->selected(module::get_var("comment", "initial_state"));
$comment_settings->dropdown("rss_visible")
->label(t("Which RSS feeds can users see?"))
->options(array("all" => t("All comment feeds"),
"newest" => t("New comments feed only"),
"per_item" => t("Comments on photos, movies and albums only")))
->selected(module::get_var("comment", "rss_visible"));
$comment_settings->submit("save")->value(t("Save"));
return $form;
}
}