Files
gallery3/modules/notification/helpers/notification_installer.php
Bharat Mediratta cc399bf4f0 Track the language of the user receiving the notification and send the
email in that user's language.  Incidentally, send one email per
recipient, else we're leaking email addresses which is bad for
community sites. Bump notification module to v2 in the process.

Fixes ticket #1287.
2010-09-06 16:20:37 -07:00

56 lines
2.1 KiB
PHP

<?php defined("SYSPATH") or die("No direct script access.");
/**
* Gallery - a web based photo album viewer and editor
* Copyright (C) 2000-2010 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 notification_installer {
static function install() {
$db = Database::instance();
$db->query("CREATE TABLE IF NOT EXISTS {subscriptions} (
`id` int(9) NOT NULL auto_increment,
`item_id` int(9) NOT NULL,
`user_id` int(9) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY (`item_id`, `user_id`),
UNIQUE KEY (`user_id`, `item_id`))
DEFAULT CHARSET=utf8;");
$db->query("CREATE TABLE IF NOT EXISTS {pending_notifications} (
`id` int(9) NOT NULL auto_increment,
`email` varchar(128) NOT NULL,
`subject` varchar(255) NOT NULL,
`text` text,
PRIMARY KEY (`id`))
DEFAULT CHARSET=utf8;");
module::set_version("notification", 1);
}
static function upgrade($version) {
$db = Database::instance();
if ($version == 1) {
$db->query("ALTER TABLE {pending_notifications} ADD COLUMN `locale` char(10) default NULL");
module::set_version("notification", $version = 2);
}
}
static function uninstall() {
$db = Database::instance();
$db->query("DROP TABLE IF EXISTS {subscriptions};");
$db->query("DROP TABLE IF EXISTS {pending_notifications};");
}
}