diff options
| author | Marc Alexander <admin@m-a-styles.de> | 2014-08-21 00:44:05 +0200 |
|---|---|---|
| committer | Marc Alexander <admin@m-a-styles.de> | 2014-08-21 00:44:05 +0200 |
| commit | 31aac66f5aca218254a6ff199c21a282bc6059bc (patch) | |
| tree | 5237ffca00a3f41fd892398f41aa3b3203ce138a /phpBB/phpbb/db | |
| parent | 421005b28208e91c236a84500f2799a9f6033a03 (diff) | |
| parent | 71f78fb8c6167f33e9e650f97243099fc2bf9a4f (diff) | |
| download | forums-31aac66f5aca218254a6ff199c21a282bc6059bc.tar forums-31aac66f5aca218254a6ff199c21a282bc6059bc.tar.gz forums-31aac66f5aca218254a6ff199c21a282bc6059bc.tar.bz2 forums-31aac66f5aca218254a6ff199c21a282bc6059bc.tar.xz forums-31aac66f5aca218254a6ff199c21a282bc6059bc.zip | |
Merge pull request #2885 from Nicofuma/ticket/12990
[ticket/12990] Use the full services name for the notification's types
Diffstat (limited to 'phpBB/phpbb/db')
| -rw-r--r-- | phpBB/phpbb/db/migration/data/v310/notifications_use_full_name.php | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/phpBB/phpbb/db/migration/data/v310/notifications_use_full_name.php b/phpBB/phpbb/db/migration/data/v310/notifications_use_full_name.php new file mode 100644 index 0000000000..1cb2e250c5 --- /dev/null +++ b/phpBB/phpbb/db/migration/data/v310/notifications_use_full_name.php @@ -0,0 +1,117 @@ +<?php +/** +* +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +namespace phpbb\db\migration\data\v310; + +class notifications_use_full_name extends \phpbb\db\migration\migration +{ + protected $notification_types = array( + 'admin_activate_user', + 'approve_post', + 'approve_topic', + 'bookmark', + 'disapprove_post', + 'disapprove_topic', + 'group_request', + 'group_request_approved', + 'pm', + 'post', + 'post_in_queue', + 'quote', + 'report_pm', + 'report_pm_closed', + 'report_post', + 'report_post_closed', + 'topic', + 'topic_in_queue'); + + protected $notification_methods = array( + 'email', + 'jabber', + ); + + static public function depends_on() + { + return array('\phpbb\db\migration\data\v310\rc3'); + } + + public function update_data() + { + return array( + array('custom', array(array($this, 'update_notifications_name'))), + array('custom', array(array($this, 'update_notifications_method_name'))), + ); + } + + public function revert_data() + { + return array( + array('custom', array(array($this, 'revert_notifications_name'))), + array('custom', array(array($this, 'revert_notifications_method_name'))), + ); + } + + public function update_notifications_method_name() + { + foreach ($this->notification_methods as $notification_method) + { + $sql = 'UPDATE ' . USER_NOTIFICATIONS_TABLE . " + SET method = 'notification.method.${notification_method}' + WHERE method = '${notification_method}'"; + $this->db->sql_query($sql); + } + } + + public function revert_notifications_method_name() + { + foreach ($this->notification_methods as $notification_method) + { + $sql = 'UPDATE ' . USER_NOTIFICATIONS_TABLE . " + SET method = '${notification_method}' + WHERE method = 'notification.method.${notification_method}'"; + $this->db->sql_query($sql); + } + } + + public function update_notifications_name() + { + foreach ($this->notification_types as $notification_type) + { + $sql = 'UPDATE ' . NOTIFICATION_TYPES_TABLE . " + SET notification_type_name = 'notification.type.${notification_type}' + WHERE notification_type_name = '${notification_type}'"; + $this->db->sql_query($sql); + + $sql = 'UPDATE ' . USER_NOTIFICATIONS_TABLE . " + SET item_type = 'notification.type.${notification_type}' + WHERE item_type = '${notification_type}'"; + $this->db->sql_query($sql); + } + } + + public function revert_notifications_name() + { + foreach ($this->notification_types as $notification_type) + { + $sql = 'UPDATE ' . NOTIFICATION_TYPES_TABLE . " + SET notification_type_name = '${notification_type}' + WHERE notification_type_name = 'notification.type.${notification_type}'"; + $this->db->sql_query($sql); + + $sql = 'UPDATE ' . USER_NOTIFICATIONS_TABLE . " + SET item_type = '${notification_type}' + WHERE item_type = 'notification.type.${notification_type}'"; + $this->db->sql_query($sql); + } + } +} |
