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 |
type_interface.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\profilefields\type;
015
016 interface type_interface
017 {
018 /**
019 * Get the translated name of the type
020 *
021 * @return string Translated name of the field type
022 */
023 public function get_name();
024
025 /**
026 * Get the short name of the type, used for error messages and template loops
027 *
028 * @return string lowercase version of the fields type
029 */
030 public function get_name_short();
031
032 /**
033 * Get the name of service representing the type
034 *
035 * @return string lowercase version of the fields type
036 */
037 public function get_service_name();
038
039 /**
040 * Get the name of template file for this type
041 *
042 * @return string Returns the name of the template file
043 */
044 public function get_template_filename();
045
046 /**
047 * Get dropdown options for second step in ACP
048 *
049 * @param string $default_lang_id ID of the default language
050 * @param array $field_data Array with data for this field
051 * @return array with the acp options
052 */
053 public function get_options($default_lang_id, $field_data);
054
055 /**
056 * Get default values for the options of this type
057 *
058 * @return array with values like default field size and more
059 */
060 public function get_default_option_values();
061
062 /**
063 * Get default value for this type
064 *
065 * @param array $field_data Array with data for this field
066 * @return mixed default value for new users when no value is given
067 */
068 public function get_default_field_value($field_data);
069
070 /**
071 * Get profile field value on submit
072 *
073 * @param array $profile_row Array with data for this field
074 * @return mixed Submitted value of the profile field
075 */
076 public function get_profile_field($profile_row);
077
078 /**
079 * Validate entered profile field data
080 *
081 * @param mixed $field_value Field value to validate
082 * @param array $field_data Array with requirements of the field
083 * @return mixed String with the error message
084 */
085 public function validate_profile_field(&$field_value, $field_data);
086
087 /**
088 * Get Profile Value for display
089 *
090 * @param mixed $field_value Field value as stored in the database
091 * @param array $field_data Array with requirements of the field
092 * @return mixed Field value to display
093 */
094 public function get_profile_value($field_value, $field_data);
095
096 /**
097 * Get Profile Value ID for display (the raw, unprocessed user data)
098 *
099 * @param mixed $field_value Field value as stored in the database
100 * @param array $field_data Array with requirements of the field
101 * @return mixed Field value ID to display
102 */
103 public function get_profile_value_raw($field_value, $field_data);
104
105 /**
106 * Get Profile Value for display
107 *
108 * When displaying a contact field, we don't want to have links already parsed and more
109 *
110 * @param mixed $field_value Field value as stored in the database
111 * @param array $field_data Array with requirements of the field
112 * @return mixed Field value to display
113 */
114 public function get_profile_contact_value($field_value, $field_data);
115
116 /**
117 * Generate the input field for display
118 *
119 * @param array $profile_row Array with data for this field
120 * @param mixed $preview_options When previewing we use different data
121 * @return null
122 */
123 public function generate_field($profile_row, $preview_options = false);
124
125 /**
126 * Get the ident of the field
127 *
128 * Some types are multivalue, we can't give them a field_id
129 * as we would not know which to pick.
130 *
131 * @param array $field_data Array with data for this field
132 * @return string ident of the field
133 */
134 public function get_field_ident($field_data);
135
136 /**
137 * Get the localized name of the field
138 *
139 * @param string $field_name Unlocalized name of this field
140 * @return string Localized name of the field
141 */
142 public function get_field_name($field_name);
143
144 /**
145 * Get the column type for the database
146 *
147 * @return string Returns the database column type
148 */
149 public function get_database_column_type();
150
151 /**
152 * Get the options we need to display for the language input fields in the ACP
153 *
154 * @param array $field_data Array with data for this field
155 * @return array Returns the language options we need to generate
156 */
157 public function get_language_options($field_data);
158
159 /**
160 * Get the input for the supplied language options
161 *
162 * @param array $field_data Array with data for this field
163 * @return array Returns the language options we need to generate
164 */
165 public function get_language_options_input($field_data);
166
167 /**
168 * Allows exclusion of options in single steps of the creation process
169 *
170 * @param array $exclude_options Array with options that should be excluded in the steps
171 * @param array $visibility_options Array with options responsible for the fields visibility
172 * @return mixed Returns the provided language options
173 */
174 public function prepare_options_form(&$exclude_options, &$visibility_options);
175
176 /**
177 * Allows exclusion of options in single steps of the creation process
178 *
179 * @param array $error Array with error messages
180 * @param array $field_data Array with data for this field
181 * @return array Array with error messages
182 */
183 public function validate_options_on_submit($error, $field_data);
184
185 /**
186 * Allows manipulating the intended variables if needed
187 *
188 * @param string $key Name of the option
189 * @param string $action Currently performed action (create|edit)
190 * @param mixed $current_value Currently value of the option
191 * @param array $field_data Array with data for this field
192 * @param int $step Step on which the option is excluded
193 * @return mixed Final value of the option
194 */
195 public function get_excluded_options($key, $action, $current_value, &$field_data, $step);
196
197 /**
198 * Allows manipulating the intended variables if needed
199 *
200 * @param int $step Step on which the option is hidden
201 * @param string $key Name of the option
202 * @param string $action Currently performed action (create|edit)
203 * @param array $field_data Array with data for this field
204 * @return mixed Final value of the option
205 */
206 public function prepare_hidden_fields($step, $key, $action, &$field_data);
207
208 /**
209 * Allows assigning of additional template variables
210 *
211 * @param array $template_vars Template variables we are going to assign
212 * @param array $field_data Array with data for this field
213 * @return null
214 */
215 public function display_options(&$template_vars, &$field_data);
216
217 /**
218 * Return templated value/field. Possible values for $mode are:
219 * change == user is able to set/enter profile values; preview == just show the value
220 *
221 * @param string $mode Mode for displaying the field (preview|change)
222 * @param array $profile_row Array with data for this field
223 * @return null
224 */
225 public function process_field_row($mode, $profile_row);
226 }
227