diff options
| author | Nathaniel Guse <nathaniel.guse@gmail.com> | 2013-05-02 15:39:26 -0500 |
|---|---|---|
| committer | Nathaniel Guse <nathaniel.guse@gmail.com> | 2013-05-02 15:39:26 -0500 |
| commit | 07c972f5d71f7aa56d6623774e977ea7958a906e (patch) | |
| tree | 058f5fecc58bc24db0609b580c02a3e37bbc9857 /phpBB | |
| parent | 900467681077b7c4cd48529b53f083c8ea0334f6 (diff) | |
| download | forums-07c972f5d71f7aa56d6623774e977ea7958a906e.tar forums-07c972f5d71f7aa56d6623774e977ea7958a906e.tar.gz forums-07c972f5d71f7aa56d6623774e977ea7958a906e.tar.bz2 forums-07c972f5d71f7aa56d6623774e977ea7958a906e.tar.xz forums-07c972f5d71f7aa56d6623774e977ea7958a906e.zip | |
[ticket/11413] Remove changes for ticket 11420 from this branch
PHPBB3-11413
Diffstat (limited to 'phpBB')
| -rw-r--r-- | phpBB/includes/db/migration/data/310/notifications.php | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/phpBB/includes/db/migration/data/310/notifications.php b/phpBB/includes/db/migration/data/310/notifications.php index 17c939d95a..82bfd4cb2d 100644 --- a/phpBB/includes/db/migration/data/310/notifications.php +++ b/phpBB/includes/db/migration/data/310/notifications.php @@ -91,6 +91,70 @@ class phpbb_db_migration_data_310_notifications extends phpbb_db_migration ), )), array('config.add', array('load_notifications', 1)), + array('custom', array(array($this, 'convert_notifications'))), ); } + + public function convert_notifications() + { + $convert_notifications = array( + array( + 'check' => ($this->config['allow_topic_notify']), + 'item_type' => 'post', + ), + array( + 'check' => ($this->config['allow_forum_notify']), + 'item_type' => 'topic', + ), + array( + 'check' => ($this->config['allow_bookmarks']), + 'item_type' => 'bookmark', + ), + array( + 'check' => ($this->config['allow_privmsg']), + 'item_type' => 'pm', + ), + ); + + foreach ($convert_notifications as $convert_data) + { + if ($convert_data['check']) + { + $sql = 'SELECT user_id, user_notify_type + FROM ' . USERS_TABLE . ' + WHERE user_notify = 1'; + $result = $this->db->sql_query($sql); + while ($row = $this->db->sql_fetchrow($result)) + { + $this->sql_query('INSERT INTO ' . $this->table_prefix . 'user_notifications ' . $this->db->sql_build_array('INSERT', array( + 'item_type' => $convert_data['item_type'], + 'item_id' => 0, + 'user_id' => $row['user_id'], + 'method' => '', + ))); + + if ($row['user_notify_type'] == NOTIFY_EMAIL || $row['user_notify_type'] == NOTIFY_BOTH) + { + $this->sql_query('INSERT INTO ' . $this->table_prefix . 'user_notifications ' . $this->db->sql_build_array('INSERT', array( + 'item_type' => $convert_data['item_type'], + 'item_id' => 0, + 'user_id' => $row['user_id'], + 'method' => 'email', + ))); + } + + if ($row['user_notify_type'] == NOTIFY_IM || $row['user_notify_type'] == NOTIFY_BOTH) + { + $this->sql_query('INSERT INTO ' . $this->table_prefix . 'user_notifications ' . $this->db->sql_build_array('INSERT', array( + 'item_type' => $convert_data['item_type'], + 'item_id' => 0, + 'user_id' => $row['user_id'], + 'method' => 'jabber', + ))); + } + } + $this->db->sql_freeresult($result); + } + } + } } |
