Files
gallery3/modules/comment/helpers/comment_event.php
Tim Almdal 90465012d1 Patch to clean up loose ends when a user is deleted.
* For items and tasks the owner id is set to admin
* For notification subscriptions, the subscription is deleted
* For comments, I've extracted the user name, email and url and set the guest_name, guest_email and guest_url columns while setting the author_id to identity::guest()->id
Fix for ticket #777.
2009-10-30 14:23:57 -07:00

64 lines
2.2 KiB
PHP

<?php defined("SYSPATH") or die("No direct script access.");
/**
* Gallery - a web based photo album viewer and editor
* Copyright (C) 2000-2009 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 comment_event_Core {
static function item_deleted($item) {
Database::instance()->delete("comments", array("item_id" => $item->id));
}
static function user_deleted($user) {
$guest = identity::guest();
Database::instance()
->query("UPDATE {comments}
SET author_id = {$guest->id},
guest_email = '{$user->email}',
guest_name = '{$user->name}',
guest_url = '{$user->url}'
WHERE author_id = {$user->id}");
}
static function admin_menu($menu, $theme) {
$menu->get("content_menu")
->append(Menu::factory("link")
->id("comments")
->label(t("Comments"))
->url(url::site("admin/comments")));
}
static function photo_menu($menu, $theme) {
$menu
->append(Menu::factory("link")
->id("comments")
->label(t("View comments on this item"))
->url("#comments")
->css_id("g-comments-link"));
}
static function item_index_data($item, $data) {
foreach (Database::instance()
->select("text")
->from("comments")
->where("item_id", $item->id)
->get()
->as_array() as $row) {
$data[] = $row->text;
}
}
}