Verzeichnisstruktur phpBB-3.2.0
- Veröffentlicht
- 06.01.2017
So funktioniert es
|
Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück |
Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis. |
|
(Beispiel Datei-Icons)
|
Auf das Icon klicken um den Quellcode anzuzeigen |
report_pm_closed.php
001 <?php
002 /**
003 *
004 * This file is part of the phpBB Forum Software package.
005 *
006 * @copyright (c) phpBB Limited <https://www.phpbb.com>
007 * @license GNU General Public License, version 2 (GPL-2.0)
008 *
009 * For full copyright and license information, please see
010 * the docs/CREDITS.txt file.
011 *
012 */
013
014 namespace phpbb\notification\type;
015
016 /**
017 * PM report closed notifications class
018 * This class handles notifications for when reports are closed on PMs (for the one who reported the PM)
019 */
020
021 class report_pm_closed extends \phpbb\notification\type\pm
022 {
023 /**
024 * Get notification type name
025 *
026 * @return string
027 */
028 public function get_type()
029 {
030 return 'notification.type.report_pm_closed';
031 }
032
033 /**
034 * Email template to use to send notifications
035 *
036 * @var string
037 */
038 public $email_template = '';
039
040 /**
041 * Language key used to output the text
042 *
043 * @var string
044 */
045 protected $language_key = 'NOTIFICATION_REPORT_CLOSED';
046
047 public function is_available()
048 {
049 return false;
050 }
051
052 /**
053 * Find the users who want to receive notifications
054 *
055 * @param array $pm Data from submit_pm
056 * @param array $options Options for finding users for notification
057 *
058 * @return array
059 */
060 public function find_users_for_notification($pm, $options = array())
061 {
062 if ($pm['reporter'] == $this->user->data['user_id'])
063 {
064 return array();
065 }
066
067 return array($pm['reporter'] => $this->notification_manager->get_default_methods());
068 }
069
070 /**
071 * Get email template
072 *
073 * @return string|bool
074 */
075 public function get_email_template()
076 {
077 return false;
078 }
079
080 /**
081 * Get email template variables
082 *
083 * @return array
084 */
085 public function get_email_template_variables()
086 {
087 return array();
088 }
089
090 /**
091 * Get the url to this item
092 *
093 * @return string URL
094 */
095 public function get_url()
096 {
097 return '';
098 }
099
100 /**
101 * Get the HTML formatted title of this notification
102 *
103 * @return string
104 */
105 public function get_title()
106 {
107 $username = $this->user_loader->get_username($this->get_data('closer_id'), 'no_profile');
108
109 return $this->language->lang(
110 $this->language_key,
111 $username
112 );
113 }
114
115 /**
116 * Get the HTML formatted reference of the notification
117 *
118 * @return string
119 */
120 public function get_reference()
121 {
122 return $this->language->lang(
123 'NOTIFICATION_REFERENCE',
124 censor_text($this->get_data('message_subject'))
125 );
126 }
127
128 /**
129 * Get the user's avatar
130 */
131 public function get_avatar()
132 {
133 return $this->user_loader->get_avatar($this->get_data('closer_id'), false, true);
134 }
135
136 /**
137 * Users needed to query before this notification can be displayed
138 *
139 * @return array Array of user_ids
140 */
141 public function users_to_query()
142 {
143 return array($this->get_data('closer_id'));
144 }
145
146 /**
147 * {@inheritdoc}
148 */
149 public function create_insert_array($pm, $pre_create_data = array())
150 {
151 $this->set_data('closer_id', $pm['closer_id']);
152
153 parent::create_insert_array($pm, $pre_create_data);
154
155 $this->notification_time = time();
156 }
157
158 /**
159 * {@inheritdoc}
160 */
161 public function get_insert_array()
162 {
163 $data = parent::get_insert_array();
164 $data['notification_time'] = $this->notification_time;
165
166 return $data;
167 }
168 }
169