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

type_interface.php

Zuletzt modifiziert: 09.10.2024, 12:54 - Dateigröße: 5.15 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  * Base notifications interface
 018  */
 019  interface type_interface
 020  {
 021      /**
 022      * Get notification type name
 023      *
 024      * @return string
 025      */
 026      public function get_type();
 027   
 028      /**
 029      * Set initial data from the database
 030      *
 031      * @param array $data Row directly from the database
 032      */
 033      public function set_initial_data($data);
 034   
 035      /**
 036      * Get the id of the item
 037      *
 038      * @param array $type_data The type specific data
 039      */
 040      public static function get_item_id($type_data);
 041   
 042      /**
 043      * Get the id of the parent
 044      *
 045      * @param array $type_data The type specific data
 046      */
 047      public static function get_item_parent_id($type_data);
 048   
 049      /**
 050      * Is this type available to the current user (defines whether or not it will be shown in the UCP Edit notification options)
 051      *
 052      * @return bool True/False whether or not this is available to the user
 053      */
 054      public function is_available();
 055   
 056      /**
 057      * Find the users who want to receive notifications
 058      *
 059      * @param array $type_data The type specific data
 060      * @param array $options Options for finding users for notification
 061      *         ignore_users => array of users and user types that should not receive notifications from this type because they've already been notified
 062      *                         e.g.: array(2 => array(''), 3 => array('', 'email'), ...)
 063      *
 064      * @return array
 065      */
 066      public function find_users_for_notification($type_data, $options);
 067   
 068      /**
 069      * Users needed to query before this notification can be displayed
 070      *
 071      * @return array Array of user_ids
 072      */
 073      public function users_to_query();
 074   
 075      /**
 076      * Get the special items to load
 077      *
 078      * @return array Data will be combined sent to load_special() so you can run a single query and get data required for this notification type
 079      */
 080      public function get_load_special();
 081   
 082      /**
 083      * Load the special items
 084      *
 085      * @param array $data Data from get_load_special()
 086      * @param array $notifications Array of notifications (key is notification_id, value is the notification objects)
 087      */
 088      public function load_special($data, $notifications);
 089   
 090      /**
 091      * Get the CSS style class of the notification
 092      *
 093      * @return string
 094      */
 095      public function get_style_class();
 096   
 097      /**
 098      * Get the HTML formatted title of this notification
 099      *
 100      * @return string
 101      */
 102      public function get_title();
 103   
 104      /**
 105      * Get the HTML formatted reference of the notification
 106      *
 107      * @return string
 108      */
 109      public function get_reference();
 110   
 111      /**
 112      * Get the forum of the notification reference
 113      *
 114      * @return string
 115      */
 116      public function get_forum();
 117   
 118      /**
 119      * Get the url to this item
 120      *
 121      * @return string URL
 122      */
 123      public function get_url();
 124   
 125      /**
 126      * Get the url to redirect after the item has been marked as read
 127      *
 128      * @return string URL
 129      */
 130      public function get_redirect_url();
 131   
 132      /**
 133      * URL to unsubscribe to this notification
 134      *
 135      * @param string|bool $method Method name to unsubscribe from (email|jabber|etc), False to unsubscribe from all notifications for this item
 136      */
 137      public function get_unsubscribe_url($method);
 138   
 139      /**
 140      * Get the user's avatar (the user who caused the notification typically)
 141      *
 142      * @return string
 143      */
 144      public function get_avatar();
 145   
 146      /**
 147      * Prepare to output the notification to the template
 148      */
 149      public function prepare_for_display();
 150   
 151      /**
 152      * Get email template
 153      *
 154      * @return string|bool
 155      */
 156      public function get_email_template();
 157   
 158      /**
 159      * Get email template variables
 160      *
 161      * @return array
 162      */
 163      public function get_email_template_variables();
 164   
 165      /**
 166      * Pre create insert array function
 167      * This allows you to perform certain actions, like run a query
 168      * and load data, before create_insert_array() is run. The data
 169      * returned from this function will be sent to create_insert_array().
 170      *
 171      * @param array $type_data The type specific data
 172      * @param array $notify_users Notify users list
 173      *         Formated from find_users_for_notification()
 174      * @return array Whatever you want to send to create_insert_array().
 175      */
 176      public function pre_create_insert_array($type_data, $notify_users);
 177   
 178      /**
 179      * Function for preparing the data for insertion in an SQL query
 180      * (The service handles insertion)
 181      *
 182      * @param array $type_data The type specific data
 183      * @param array $pre_create_data Data from pre_create_insert_array()
 184      *
 185      * @return array Array of data ready to be inserted into the database
 186      */
 187      public function create_insert_array($type_data, $pre_create_data);
 188   
 189      /**
 190      * Function for preparing the data for update in an SQL query
 191      * (The service handles insertion)
 192      *
 193      * @param array $type_data Data unique to this notification type
 194      *
 195      * @return array Array of data ready to be updated in the database
 196      */
 197      public function create_update_array($type_data);
 198   
 199      /**
 200      * Mark this item read
 201      *
 202      * @param bool $return True to return a string containing the SQL code to update this item, False to execute it (Default: False)
 203      * @return string
 204      */
 205      public function mark_read($return);
 206   
 207      /**
 208      * Mark this item unread
 209      *
 210      * @param bool $return True to return a string containing the SQL code to update this item, False to execute it (Default: False)
 211      * @return string
 212      */
 213      public function mark_unread($return);
 214  }
 215