[Ref] Use variables directly
[civicrm-core.git] / CRM / Core / I18n / SchemaStructure.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
5 | |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
10 */
11
12 /**
13 *
14 * @package CRM
15 * @copyright CiviCRM LLC https://civicrm.org/licensing
16 *
17 * Generated from schema_structure.tpl
18 * DO NOT EDIT. Generated by CRM_Core_CodeGen
19 */
20 class CRM_Core_I18n_SchemaStructure {
21
22 /**
23 * Get translatable columns.
24 *
25 * @return array
26 * A table-indexed array of translatable columns.
27 */
28 public static function &columns() {
29 static $result = NULL;
30 if (!$result) {
31 $result = [
32 'civicrm_location_type' => [
33 'display_name' => "varchar(64) COMMENT 'Location Type Display Name.'",
34 ],
35 'civicrm_option_group' => [
36 'title' => "varchar(255) COMMENT 'Option Group title.'",
37 'description' => "varchar(255) COMMENT 'Option group description.'",
38 ],
39 'civicrm_relationship_type' => [
40 'label_a_b' => "varchar(64) COMMENT 'label for relationship of contact_a to contact_b.'",
41 'label_b_a' => "varchar(64) COMMENT 'Optional label for relationship of contact_b to contact_a.'",
42 'description' => "varchar(255) COMMENT 'Optional verbose description of the relationship type.'",
43 ],
44 'civicrm_contact_type' => [
45 'label' => "varchar(64) COMMENT 'localized Name of Contact Type.'",
46 'description' => "text COMMENT 'localized Optional verbose description of the type.'",
47 ],
48 'civicrm_batch' => [
49 'title' => "varchar(255) COMMENT 'Friendly Name.'",
50 'description' => "text COMMENT 'Description of this batch set.'",
51 ],
52 'civicrm_premiums' => [
53 'premiums_intro_title' => "varchar(255) COMMENT 'Title for Premiums section.'",
54 'premiums_intro_text' => "text COMMENT 'Displayed in <div> at top of Premiums section of page. Text and HTML allowed.'",
55 'premiums_nothankyou_label' => "varchar(255) COMMENT 'Label displayed for No Thank-you option in premiums block (e.g. No thank you)'",
56 ],
57 'civicrm_membership_status' => [
58 'label' => "varchar(128) COMMENT 'Label for Membership Status'",
59 ],
60 'civicrm_survey' => [
61 'title' => "varchar(255) NOT NULL COMMENT 'Title of the Survey.'",
62 'instructions' => "text COMMENT 'Script instructions for volunteers to use for the survey.'",
63 'thankyou_title' => "varchar(255) COMMENT 'Title for Thank-you page (header title tag, and display at the top of the page).'",
64 'thankyou_text' => "text COMMENT 'text and html allowed. displayed above result on success page'",
65 ],
66 'civicrm_participant_status_type' => [
67 'label' => "varchar(255) COMMENT 'localized label for display of this status type'",
68 ],
69 'civicrm_case_type' => [
70 'title' => "varchar(64) NOT NULL COMMENT 'Natural language name for Case Type'",
71 'description' => "varchar(255) COMMENT 'Description of the Case Type'",
72 ],
73 'civicrm_tell_friend' => [
74 'title' => "varchar(255)",
75 'intro' => "text COMMENT 'Introductory message to contributor or participant displayed on the Tell a Friend form.'",
76 'suggested_message' => "text COMMENT 'Suggested message to friends, provided as default on the Tell A Friend form.'",
77 'thankyou_title' => "varchar(255) COMMENT 'Text for Tell a Friend thank you page header and HTML title.'",
78 'thankyou_text' => "text COMMENT 'Thank you message displayed on success page.'",
79 ],
80 'civicrm_custom_group' => [
81 'title' => "varchar(64) NOT NULL COMMENT 'Friendly Name.'",
82 'help_pre' => "text COMMENT 'Description and/or help text to display before fields in form.'",
83 'help_post' => "text COMMENT 'Description and/or help text to display after fields in form.'",
84 ],
85 'civicrm_custom_field' => [
86 'label' => "varchar(255) NOT NULL COMMENT 'Text for form field label (also friendly name for administering this custom property).'",
87 'help_pre' => "text COMMENT 'Description and/or help text to display before this field.'",
88 'help_post' => "text COMMENT 'Description and/or help text to display after this field.'",
89 ],
90 'civicrm_option_value' => [
91 'label' => "varchar(512) NOT NULL COMMENT 'Option string as displayed to users - e.g. the label in an HTML OPTION tag.'",
92 'description' => "text COMMENT 'Optional description.'",
93 ],
94 'civicrm_group' => [
95 'title' => "varchar(255) NOT NULL COMMENT 'Name of Group.'",
96 'frontend_title' => "varchar(255) DEFAULT NULL COMMENT 'Alternative public title for this Group.'",
97 'frontend_description' => "text DEFAULT NULL COMMENT 'Alternative public description of the group.'",
98 ],
99 'civicrm_contribution_page' => [
100 'title' => "varchar(255) COMMENT 'Contribution Page title. For top of page display'",
101 'intro_text' => "text COMMENT 'Text and html allowed. Displayed below title.'",
102 'pay_later_text' => "text COMMENT 'The text displayed to the user in the main form'",
103 'pay_later_receipt' => "text COMMENT 'The receipt sent to the user instead of the normal receipt text'",
104 'initial_amount_label' => "varchar(255) COMMENT 'Initial amount label for partial payment'",
105 'initial_amount_help_text' => "text COMMENT 'Initial amount help text for partial payment'",
106 'thankyou_title' => "varchar(255) COMMENT 'Title for Thank-you page (header title tag, and display at the top of the page).'",
107 'thankyou_text' => "text COMMENT 'text and html allowed. displayed above result on success page'",
108 'thankyou_footer' => "text COMMENT 'Text and html allowed. displayed at the bottom of the success page. Common usage is to include link(s) to other pages such as tell-a-friend, etc.'",
109 'receipt_from_name' => "varchar(255) COMMENT 'FROM email name used for receipts generated by contributions to this contribution page.'",
110 'receipt_text' => "text COMMENT 'text to include above standard receipt info on receipt email. emails are text-only, so do not allow html for now'",
111 'footer_text' => "text COMMENT 'Text and html allowed. Displayed at the bottom of the first page of the contribution wizard.'",
112 'frontend_title' => "varchar(255) DEFAULT NULL COMMENT 'Contribution Page Public title'",
113 ],
114 'civicrm_product' => [
115 'name' => "varchar(255) NOT NULL COMMENT 'Required product/premium name'",
116 'description' => "text COMMENT 'Optional description of the product/premium.'",
117 'options' => "text COMMENT 'Store comma-delimited list of color, size, etc. options for the product.'",
118 ],
119 'civicrm_payment_processor' => [
120 'title' => "varchar(127) COMMENT 'Payment Processor Descriptive Name.'",
121 ],
122 'civicrm_membership_type' => [
123 'name' => "varchar(128) NOT NULL COMMENT 'Name of Membership Type'",
124 'description' => "varchar(255) COMMENT 'Description of Membership Type'",
125 ],
126 'civicrm_membership_block' => [
127 'new_title' => "varchar(255) COMMENT 'Title to display at top of block'",
128 'new_text' => "text COMMENT 'Text to display below title'",
129 'renewal_title' => "varchar(255) COMMENT 'Title for renewal'",
130 'renewal_text' => "text COMMENT 'Text to display for member renewal'",
131 ],
132 'civicrm_price_set' => [
133 'title' => "varchar(255) NOT NULL COMMENT 'Displayed title for the Price Set.'",
134 'help_pre' => "text COMMENT 'Description and/or help text to display before fields in form.'",
135 'help_post' => "text COMMENT 'Description and/or help text to display after fields in form.'",
136 ],
137 'civicrm_dashboard' => [
138 'label' => "varchar(255) COMMENT 'dashlet title'",
139 ],
140 'civicrm_uf_group' => [
141 'title' => "varchar(64) NOT NULL COMMENT 'Form title.'",
142 'frontend_title' => "varchar(64) COMMENT 'Profile Form Public title'",
143 'help_pre' => "text COMMENT 'Description and/or help text to display before fields in form.'",
144 'help_post' => "text COMMENT 'Description and/or help text to display after fields in form.'",
145 'cancel_button_text' => "varchar(64) DEFAULT NULL COMMENT 'Custom Text to display on the Cancel button when used in create or edit mode'",
146 'submit_button_text' => "varchar(64) DEFAULT NULL COMMENT 'Custom Text to display on the submit button on profile edit/create screens'",
147 ],
148 'civicrm_uf_field' => [
149 'help_post' => "text COMMENT 'Description and/or help text to display after this field.'",
150 'help_pre' => "text COMMENT 'Description and/or help text to display before this field.'",
151 'label' => "varchar(255) NOT NULL COMMENT 'To save label for fields.'",
152 ],
153 'civicrm_price_field' => [
154 'label' => "varchar(255) NOT NULL COMMENT 'Text for form field label (also friendly name for administering this field).'",
155 'help_pre' => "text COMMENT 'Description and/or help text to display before this field.'",
156 'help_post' => "text COMMENT 'Description and/or help text to display after this field.'",
157 ],
158 'civicrm_price_field_value' => [
159 'label' => "varchar(255) DEFAULT NULL COMMENT 'Price field option label'",
160 'description' => "text DEFAULT NULL COMMENT 'Price field option description.'",
161 'help_pre' => "text DEFAULT NULL COMMENT 'Price field option pre help text.'",
162 'help_post' => "text DEFAULT NULL COMMENT 'Price field option post field help.'",
163 ],
164 'civicrm_pcp_block' => [
165 'link_text' => "varchar(255) DEFAULT NULL COMMENT 'Link text for PCP.'",
166 ],
167 'civicrm_event' => [
168 'title' => "varchar(255) COMMENT 'Event Title (e.g. Fall Fundraiser Dinner)'",
169 'summary' => "text COMMENT 'Brief summary of event. Text and html allowed. Displayed on Event Registration form and can be used on other CMS pages which need an event summary.'",
170 'description' => "text COMMENT 'Full description of event. Text and html allowed. Displayed on built-in Event Information screens.'",
171 'registration_link_text' => "varchar(255) COMMENT 'Text for link to Event Registration form which is displayed on Event Information screen when is_online_registration is true.'",
172 'event_full_text' => "text COMMENT 'Message to display on Event Information page and INSTEAD OF Event Registration form if maximum participants are signed up. Can include email address/info about getting on a waiting list, etc. Text and html allowed.'",
173 'fee_label' => "varchar(255)",
174 'intro_text' => "text COMMENT 'Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.'",
175 'footer_text' => "text COMMENT 'Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.'",
176 'confirm_title' => "varchar(255) DEFAULT NULL COMMENT 'Title for Confirmation page.'",
177 'confirm_text' => "text COMMENT 'Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.'",
178 'confirm_footer_text' => "text COMMENT 'Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.'",
179 'confirm_email_text' => "text COMMENT 'text to include above standard event info on confirmation email. emails are text-only, so do not allow html for now'",
180 'confirm_from_name' => "varchar(255) COMMENT 'FROM email name used for confirmation emails.'",
181 'thankyou_title' => "varchar(255) DEFAULT NULL COMMENT 'Title for ThankYou page.'",
182 'thankyou_text' => "text COMMENT 'ThankYou Text.'",
183 'thankyou_footer_text' => "text COMMENT 'Footer message.'",
184 'pay_later_text' => "text COMMENT 'The text displayed to the user in the main form'",
185 'pay_later_receipt' => "text COMMENT 'The receipt sent to the user instead of the normal receipt text'",
186 'initial_amount_label' => "varchar(255) COMMENT 'Initial amount label for partial payment'",
187 'initial_amount_help_text' => "text COMMENT 'Initial amount help text for partial payment'",
188 'waitlist_text' => "text COMMENT 'Text to display when the event is full, but participants can signup for a waitlist.'",
189 'approval_req_text' => "text COMMENT 'Text to display when the approval is required to complete registration for an event.'",
190 'template_title' => "varchar(255) COMMENT 'Event Template Title'",
191 ],
192 ];
193 }
194 return $result;
195 }
196
197 /**
198 * Get a table indexed array of the indices for translatable fields.
199 *
200 * @return array
201 * Indices for translatable fields.
202 */
203 public static function &indices() {
204 static $result = NULL;
205 if (!$result) {
206 $result = [
207 'civicrm_custom_group' => [
208 'UI_title_extends' => [
209 'name' => 'UI_title_extends',
210 'field' => [
211 'title',
212 'extends',
213 ],
214 'unique' => 1,
215 ],
216 ],
217 'civicrm_custom_field' => [
218 'UI_label_custom_group_id' => [
219 'name' => 'UI_label_custom_group_id',
220 'field' => [
221 'label',
222 'custom_group_id',
223 ],
224 'unique' => 1,
225 ],
226 ],
227 'civicrm_group' => [
228 'UI_title' => [
229 'name' => 'UI_title',
230 'field' => [
231 'title',
232 ],
233 'unique' => 1,
234 ],
235 ],
236 ];
237 }
238 return $result;
239 }
240
241 /**
242 * Get tables with translatable fields.
243 *
244 * @return array
245 * Array of names of tables with fields that can be translated.
246 */
247 public static function &tables() {
248 static $result = NULL;
249 if (!$result) {
250 $result = array_keys(self::columns());
251 }
252 return $result;
253 }
254
255 /**
256 * Get a list of widgets for editing translatable fields.
257 *
258 * @return array
259 * Array of the widgets for editing translatable fields.
260 */
261 public static function &widgets() {
262 static $result = NULL;
263 if (!$result) {
264 $result = [
265 'civicrm_location_type' => [
266 'display_name' => [
267 'type' => "Text",
268 ],
269 ],
270 'civicrm_option_group' => [
271 'title' => [
272 'type' => "Text",
273 ],
274 'description' => [
275 'type' => "Text",
276 ],
277 ],
278 'civicrm_relationship_type' => [
279 'label_a_b' => [
280 'type' => "Text",
281 ],
282 'label_b_a' => [
283 'type' => "Text",
284 ],
285 'description' => [
286 'type' => "Text",
287 ],
288 ],
289 'civicrm_contact_type' => [
290 'label' => [
291 'type' => "Text",
292 ],
293 'description' => [
294 'type' => "TextArea",
295 'rows' => "2",
296 'cols' => "60",
297 ],
298 ],
299 'civicrm_batch' => [
300 'title' => [
301 'type' => "Text",
302 ],
303 'description' => [
304 'type' => "TextArea",
305 'rows' => "4",
306 'cols' => "80",
307 ],
308 ],
309 'civicrm_premiums' => [
310 'premiums_intro_title' => [
311 'type' => "Text",
312 ],
313 'premiums_intro_text' => [
314 'type' => "Text",
315 ],
316 'premiums_nothankyou_label' => [
317 'type' => "Text",
318 ],
319 ],
320 'civicrm_membership_status' => [
321 'label' => [
322 'type' => "Text",
323 ],
324 ],
325 'civicrm_survey' => [
326 'title' => [
327 'type' => "Text",
328 'required' => "true",
329 ],
330 'instructions' => [
331 'type' => "TextArea",
332 'rows' => "20",
333 'cols' => "80",
334 ],
335 'thankyou_title' => [
336 'type' => "Text",
337 ],
338 'thankyou_text' => [
339 'type' => "TextArea",
340 'rows' => "8",
341 'cols' => "60",
342 ],
343 ],
344 'civicrm_participant_status_type' => [
345 'label' => [
346 'type' => "Text",
347 ],
348 ],
349 'civicrm_case_type' => [
350 'title' => [
351 'type' => "Text",
352 'required' => "true",
353 ],
354 'description' => [
355 'type' => "Text",
356 ],
357 ],
358 'civicrm_tell_friend' => [
359 'title' => [
360 'type' => "Text",
361 ],
362 'intro' => [
363 'type' => "Text",
364 ],
365 'suggested_message' => [
366 'type' => "Text",
367 ],
368 'thankyou_title' => [
369 'type' => "Text",
370 ],
371 'thankyou_text' => [
372 'type' => "Text",
373 ],
374 ],
375 'civicrm_custom_group' => [
376 'title' => [
377 'type' => "Text",
378 'required' => "true",
379 ],
380 'help_pre' => [
381 'type' => "TextArea",
382 'rows' => "4",
383 'cols' => "80",
384 ],
385 'help_post' => [
386 'type' => "TextArea",
387 'rows' => "4",
388 'cols' => "80",
389 ],
390 ],
391 'civicrm_custom_field' => [
392 'label' => [
393 'type' => "Text",
394 'required' => "true",
395 ],
396 'help_pre' => [
397 'type' => "Text",
398 ],
399 'help_post' => [
400 'type' => "Text",
401 ],
402 ],
403 'civicrm_option_value' => [
404 'label' => [
405 'type' => "Text",
406 'required' => "true",
407 ],
408 'description' => [
409 'type' => "TextArea",
410 'rows' => "8",
411 'cols' => "60",
412 ],
413 ],
414 'civicrm_group' => [
415 'title' => [
416 'type' => "Text",
417 'required' => "true",
418 ],
419 'frontend_title' => [
420 'type' => "Text",
421 ],
422 'frontend_description' => [
423 'type' => "TextArea",
424 'rows' => "2",
425 'cols' => "60",
426 ],
427 ],
428 'civicrm_contribution_page' => [
429 'title' => [
430 'type' => "Text",
431 ],
432 'intro_text' => [
433 'type' => "RichTextEditor",
434 'rows' => "6",
435 'cols' => "50",
436 ],
437 'pay_later_text' => [
438 'type' => "Text",
439 ],
440 'pay_later_receipt' => [
441 'type' => "Text",
442 ],
443 'initial_amount_label' => [
444 'type' => "Text",
445 ],
446 'initial_amount_help_text' => [
447 'type' => "Text",
448 ],
449 'thankyou_title' => [
450 'type' => "Text",
451 ],
452 'thankyou_text' => [
453 'type' => "RichTextEditor",
454 'rows' => "8",
455 'cols' => "60",
456 ],
457 'thankyou_footer' => [
458 'type' => "RichTextEditor",
459 'rows' => "8",
460 'cols' => "60",
461 ],
462 'receipt_from_name' => [
463 'type' => "Text",
464 ],
465 'receipt_text' => [
466 'type' => "TextArea",
467 'rows' => "6",
468 'cols' => "50",
469 ],
470 'footer_text' => [
471 'type' => "RichTextEditor",
472 'rows' => "6",
473 'cols' => "50",
474 ],
475 'frontend_title' => [
476 'type' => "Text",
477 ],
478 ],
479 'civicrm_product' => [
480 'name' => [
481 'type' => "Text",
482 'required' => "true",
483 ],
484 'description' => [
485 'type' => "Text",
486 ],
487 'options' => [
488 'type' => "Text",
489 ],
490 ],
491 'civicrm_payment_processor' => [
492 'title' => [
493 'type' => "Text",
494 ],
495 ],
496 'civicrm_membership_type' => [
497 'name' => [
498 'type' => "Text",
499 'label' => "Name",
500 'required' => "true",
501 ],
502 'description' => [
503 'type' => "TextArea",
504 'rows' => "6",
505 'cols' => "50",
506 'label' => "Description",
507 ],
508 ],
509 'civicrm_membership_block' => [
510 'new_title' => [
511 'type' => "Text",
512 ],
513 'new_text' => [
514 'type' => "Text",
515 ],
516 'renewal_title' => [
517 'type' => "Text",
518 ],
519 'renewal_text' => [
520 'type' => "Text",
521 ],
522 ],
523 'civicrm_price_set' => [
524 'title' => [
525 'type' => "Text",
526 'required' => "true",
527 ],
528 'help_pre' => [
529 'type' => "TextArea",
530 'rows' => "4",
531 'cols' => "80",
532 ],
533 'help_post' => [
534 'type' => "TextArea",
535 'rows' => "4",
536 'cols' => "80",
537 ],
538 ],
539 'civicrm_dashboard' => [
540 'label' => [
541 'type' => "Text",
542 ],
543 ],
544 'civicrm_uf_group' => [
545 'title' => [
546 'type' => "Text",
547 'required' => "true",
548 ],
549 'frontend_title' => [
550 'type' => "Text",
551 ],
552 'help_pre' => [
553 'type' => "TextArea",
554 'rows' => "4",
555 'cols' => "80",
556 ],
557 'help_post' => [
558 'type' => "TextArea",
559 'rows' => "4",
560 'cols' => "80",
561 ],
562 'cancel_button_text' => [
563 'type' => "Text",
564 ],
565 'submit_button_text' => [
566 'type' => "Text",
567 ],
568 ],
569 'civicrm_uf_field' => [
570 'help_post' => [
571 'type' => "Text",
572 ],
573 'help_pre' => [
574 'type' => "Text",
575 ],
576 'label' => [
577 'type' => "Text",
578 'required' => "true",
579 ],
580 ],
581 'civicrm_price_field' => [
582 'label' => [
583 'type' => "Text",
584 'required' => "true",
585 ],
586 'help_pre' => [
587 'type' => "TextArea",
588 'rows' => "4",
589 'cols' => "80",
590 ],
591 'help_post' => [
592 'type' => "TextArea",
593 'rows' => "4",
594 'cols' => "80",
595 ],
596 ],
597 'civicrm_price_field_value' => [
598 'label' => [
599 'type' => "Text",
600 ],
601 'description' => [
602 'type' => "TextArea",
603 'rows' => "2",
604 'cols' => "60",
605 ],
606 'help_pre' => [
607 'type' => "TextArea",
608 'rows' => "2",
609 'cols' => "60",
610 ],
611 'help_post' => [
612 'type' => "TextArea",
613 'rows' => "2",
614 'cols' => "60",
615 ],
616 ],
617 'civicrm_pcp_block' => [
618 'link_text' => [
619 'type' => "Text",
620 ],
621 ],
622 'civicrm_event' => [
623 'title' => [
624 'type' => "Text",
625 ],
626 'summary' => [
627 'type' => "TextArea",
628 'rows' => "4",
629 'cols' => "60",
630 ],
631 'description' => [
632 'type' => "RichTextEditor",
633 'rows' => "8",
634 'cols' => "60",
635 ],
636 'registration_link_text' => [
637 'type' => "Text",
638 ],
639 'event_full_text' => [
640 'type' => "TextArea",
641 'rows' => "4",
642 'cols' => "60",
643 ],
644 'fee_label' => [
645 'type' => "Text",
646 ],
647 'intro_text' => [
648 'type' => "RichTextEditor",
649 'rows' => "6",
650 'cols' => "50",
651 ],
652 'footer_text' => [
653 'type' => "RichTextEditor",
654 'rows' => "6",
655 'cols' => "50",
656 ],
657 'confirm_title' => [
658 'type' => "Text",
659 ],
660 'confirm_text' => [
661 'type' => "RichTextEditor",
662 'rows' => "6",
663 'cols' => "50",
664 ],
665 'confirm_footer_text' => [
666 'type' => "RichTextEditor",
667 'rows' => "6",
668 'cols' => "50",
669 ],
670 'confirm_email_text' => [
671 'type' => "TextArea",
672 'rows' => "4",
673 'cols' => "50",
674 ],
675 'confirm_from_name' => [
676 'type' => "Text",
677 ],
678 'thankyou_title' => [
679 'type' => "Text",
680 ],
681 'thankyou_text' => [
682 'type' => "RichTextEditor",
683 'rows' => "6",
684 'cols' => "50",
685 ],
686 'thankyou_footer_text' => [
687 'type' => "RichTextEditor",
688 'rows' => "6",
689 'cols' => "50",
690 ],
691 'pay_later_text' => [
692 'type' => "RichTextEditor",
693 ],
694 'pay_later_receipt' => [
695 'type' => "Text",
696 ],
697 'initial_amount_label' => [
698 'type' => "Text",
699 ],
700 'initial_amount_help_text' => [
701 'type' => "Text",
702 ],
703 'waitlist_text' => [
704 'type' => "TextArea",
705 'rows' => "4",
706 'cols' => "60",
707 ],
708 'approval_req_text' => [
709 'type' => "TextArea",
710 'rows' => "4",
711 'cols' => "60",
712 ],
713 'template_title' => [
714 'type' => "Text",
715 ],
716 ],
717 ];
718 }
719 return $result;
720 }
721
722 }