Verzeichnisstruktur phpBB-3.1.0


Veröffentlicht
27.10.2014

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.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

(Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

report_post_closed.php

Zuletzt modifiziert: 09.10.2024, 12:54 - Dateigröße: 3.21 KiB


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  * Post report closed notifications class
018  * This class handles notifications for when reports are closed on posts (for the one who reported the post)
019  */
020   
021  class report_post_closed extends \phpbb\notification\type\post
022  {
023      /**
024      * Get notification type name
025      *
026      * @return string
027      */
028      public function get_type()
029      {
030          return 'notification.type.report_post_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      /**
048      * Inherit notification read status from post.
049      *
050      * @var bool
051      */
052      protected $inherit_read_status = false;
053   
054      public function is_available()
055      {
056          return false;
057      }
058   
059      /**
060      * Find the users who want to receive notifications
061      *
062      * @param array $post Data from submit_post
063      * @param array $options Options for finding users for notification
064      *
065      * @return array
066      */
067      public function find_users_for_notification($post, $options = array())
068      {
069          if ($post['reporter'] == $this->user->data['user_id'])
070          {
071              return array();
072          }
073   
074          return array($post['reporter'] => array(''));
075      }
076   
077      /**
078      * Get email template
079      *
080      * @return string|bool
081      */
082      public function get_email_template()
083      {
084          return false;
085      }
086   
087      /**
088      * Get email template variables
089      *
090      * @return array
091      */
092      public function get_email_template_variables()
093      {
094          return array();
095      }
096   
097      /**
098      * Get the url to this item
099      *
100      * @return string URL
101      */
102      public function get_url()
103      {
104          return '';
105      }
106   
107      /**
108      * Get the HTML formatted title of this notification
109      *
110      * @return string
111      */
112      public function get_title()
113      {
114          $username = $this->user_loader->get_username($this->get_data('closer_id'), 'no_profile');
115   
116          return $this->user->lang(
117              $this->language_key,
118              $username
119          );
120      }
121   
122      /**
123      * Get the HTML formatted reference of the notification
124      *
125      * @return string
126      */
127      public function get_reference()
128      {
129          return $this->user->lang(
130              'NOTIFICATION_REFERENCE',
131              censor_text($this->get_data('post_subject'))
132          );
133      }
134   
135      /**
136      * Get the user's avatar
137      */
138      public function get_avatar()
139      {
140          return $this->user_loader->get_avatar($this->get_data('closer_id'));
141      }
142   
143      /**
144      * Users needed to query before this notification can be displayed
145      *
146      * @return array Array of user_ids
147      */
148      public function users_to_query()
149      {
150          return array($this->get_data('closer_id'));
151      }
152   
153      /**
154      * Function for preparing the data for insertion in an SQL query
155      * (The service handles insertion)
156      *
157      * @param array $post Data from submit_post
158      * @param array $pre_create_data Data from pre_create_insert_array()
159      *
160      * @return array Array of data ready to be inserted into the database
161      */
162      public function create_insert_array($post, $pre_create_data = array())
163      {
164          $this->set_data('closer_id', $post['closer_id']);
165   
166          $data = parent::create_insert_array($post, $pre_create_data);
167   
168          $this->notification_time = $data['notification_time'] = time();
169   
170          return $data;
171      }
172  }
173