commiting uncommited changes on live site
[weblabels.fsf.org.git] / crm.fsf.org / 20131203 / files / sites / all / modules-old / civicrm / CRM / Core / DAO / Address.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | CiviCRM version 4.6 |
5 +--------------------------------------------------------------------+
6 | Copyright CiviCRM LLC (c) 2004-2015 |
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
9 | |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
13 | |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
18 | |
19 | You should have received a copy of the GNU Affero General Public |
20 | License and the CiviCRM Licensing Exception along |
21 | with this program; if not, contact CiviCRM LLC |
22 | at info[AT]civicrm[DOT]org. If you have questions about the |
23 | GNU Affero General Public License or the licensing of CiviCRM, |
24 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
25 +--------------------------------------------------------------------+
26 */
27 /**
28 * @package CRM
29 * @copyright CiviCRM LLC (c) 2004-2015
30 *
31 * Generated from xml/schema/CRM/Core/Address.xml
32 * DO NOT EDIT. Generated by CRM_Core_CodeGen
33 */
34 require_once 'CRM/Core/DAO.php';
35 require_once 'CRM/Utils/Type.php';
36 require_once 'CRM/Core/DAO/County.php';
37 require_once 'CRM/Core/DAO/StateProvince.php';
38 require_once 'CRM/Core/DAO/Country.php';
39 class CRM_Core_DAO_Address extends CRM_Core_DAO {
40 /**
41 * static instance to hold the table name
42 *
43 * @var string
44 */
45 static $_tableName = 'civicrm_address';
46 /**
47 * static instance to hold the field values
48 *
49 * @var array
50 */
51 static $_fields = null;
52 /**
53 * static instance to hold the keys used in $_fields for each field.
54 *
55 * @var array
56 */
57 static $_fieldKeys = null;
58 /**
59 * static instance to hold the FK relationships
60 *
61 * @var string
62 */
63 static $_links = null;
64 /**
65 * static instance to hold the values that can
66 * be imported
67 *
68 * @var array
69 */
70 static $_import = null;
71 /**
72 * static instance to hold the values that can
73 * be exported
74 *
75 * @var array
76 */
77 static $_export = null;
78 /**
79 * static value to see if we should log any modifications to
80 * this table in the civicrm_log table
81 *
82 * @var boolean
83 */
84 static $_log = true;
85 /**
86 * Unique Address ID
87 *
88 * @var int unsigned
89 */
90 public $id;
91 /**
92 * FK to Contact ID
93 *
94 * @var int unsigned
95 */
96 public $contact_id;
97 /**
98 * Which Location does this address belong to.
99 *
100 * @var int unsigned
101 */
102 public $location_type_id;
103 /**
104 * Is this the primary address.
105 *
106 * @var boolean
107 */
108 public $is_primary;
109 /**
110 * Is this the billing address.
111 *
112 * @var boolean
113 */
114 public $is_billing;
115 /**
116 * Concatenation of all routable street address components (prefix, street number, street name, suffix, unit
117 number OR P.O. Box). Apps should be able to determine physical location with this data (for mapping, mail
118 delivery, etc.).
119 *
120 * @var string
121 */
122 public $street_address;
123 /**
124 * Numeric portion of address number on the street, e.g. For 112A Main St, the street_number = 112.
125 *
126 * @var int
127 */
128 public $street_number;
129 /**
130 * Non-numeric portion of address number on the street, e.g. For 112A Main St, the street_number_suffix = A
131 *
132 * @var string
133 */
134 public $street_number_suffix;
135 /**
136 * Directional prefix, e.g. SE Main St, SE is the prefix.
137 *
138 * @var string
139 */
140 public $street_number_predirectional;
141 /**
142 * Actual street name, excluding St, Dr, Rd, Ave, e.g. For 112 Main St, the street_name = Main.
143 *
144 * @var string
145 */
146 public $street_name;
147 /**
148 * St, Rd, Dr, etc.
149 *
150 * @var string
151 */
152 public $street_type;
153 /**
154 * Directional prefix, e.g. Main St S, S is the suffix.
155 *
156 * @var string
157 */
158 public $street_number_postdirectional;
159 /**
160 * Secondary unit designator, e.g. Apt 3 or Unit # 14, or Bldg 1200
161 *
162 * @var string
163 */
164 public $street_unit;
165 /**
166 * Supplemental Address Information, Line 1
167 *
168 * @var string
169 */
170 public $supplemental_address_1;
171 /**
172 * Supplemental Address Information, Line 2
173 *
174 * @var string
175 */
176 public $supplemental_address_2;
177 /**
178 * Supplemental Address Information, Line 3
179 *
180 * @var string
181 */
182 public $supplemental_address_3;
183 /**
184 * City, Town or Village Name.
185 *
186 * @var string
187 */
188 public $city;
189 /**
190 * Which County does this address belong to.
191 *
192 * @var int unsigned
193 */
194 public $county_id;
195 /**
196 * Which State_Province does this address belong to.
197 *
198 * @var int unsigned
199 */
200 public $state_province_id;
201 /**
202 * Store the suffix, like the +4 part in the USPS system.
203 *
204 * @var string
205 */
206 public $postal_code_suffix;
207 /**
208 * Store both US (zip5) AND international postal codes. App is responsible for country/region appropriate
209 validation.
210 *
211 * @var string
212 */
213 public $postal_code;
214 /**
215 * USPS Bulk mailing code.
216 *
217 * @var string
218 */
219 public $usps_adc;
220 /**
221 * Which Country does this address belong to.
222 *
223 * @var int unsigned
224 */
225 public $country_id;
226 /**
227 * Latitude
228 *
229 * @var float
230 */
231 public $geo_code_1;
232 /**
233 * Longitude
234 *
235 * @var float
236 */
237 public $geo_code_2;
238 /**
239 * Is this a manually entered geo code
240 *
241 * @var boolean
242 */
243 public $manual_geo_code;
244 /**
245 * Timezone expressed as a UTC offset - e.g. United States CST would be written as "UTC-6".
246 *
247 * @var string
248 */
249 public $timezone;
250 /**
251 *
252 * @var string
253 */
254 public $name;
255 /**
256 * FK to Address ID
257 *
258 * @var int unsigned
259 */
260 public $master_id;
261 /**
262 * class constructor
263 *
264 * @return civicrm_address
265 */
266 function __construct() {
267 $this->__table = 'civicrm_address';
268 parent::__construct();
269 }
270 /**
271 * Returns foreign keys and entity references
272 *
273 * @return array
274 * [CRM_Core_Reference_Interface]
275 */
276 static function getReferenceColumns() {
277 if (!self::$_links) {
278 self::$_links = static ::createReferenceColumns(__CLASS__);
279 self::$_links[] = new CRM_Core_Reference_Basic(self::getTableName() , 'contact_id', 'civicrm_contact', 'id');
280 self::$_links[] = new CRM_Core_Reference_Basic(self::getTableName() , 'county_id', 'civicrm_county', 'id');
281 self::$_links[] = new CRM_Core_Reference_Basic(self::getTableName() , 'state_province_id', 'civicrm_state_province', 'id');
282 self::$_links[] = new CRM_Core_Reference_Basic(self::getTableName() , 'country_id', 'civicrm_country', 'id');
283 self::$_links[] = new CRM_Core_Reference_Basic(self::getTableName() , 'master_id', 'civicrm_address', 'id');
284 }
285 return self::$_links;
286 }
287 /**
288 * Returns all the column names of this table
289 *
290 * @return array
291 */
292 static function &fields() {
293 if (!(self::$_fields)) {
294 self::$_fields = array(
295 'id' => array(
296 'name' => 'id',
297 'type' => CRM_Utils_Type::T_INT,
298 'title' => ts('Address ID') ,
299 'description' => 'Unique Address ID',
300 'required' => true,
301 ) ,
302 'contact_id' => array(
303 'name' => 'contact_id',
304 'type' => CRM_Utils_Type::T_INT,
305 'title' => ts('Contact ID') ,
306 'description' => 'FK to Contact ID',
307 'FKClassName' => 'CRM_Contact_DAO_Contact',
308 ) ,
309 'location_type_id' => array(
310 'name' => 'location_type_id',
311 'type' => CRM_Utils_Type::T_INT,
312 'title' => ts('Address Location Type') ,
313 'description' => 'Which Location does this address belong to.',
314 'html' => array(
315 'type' => 'Select',
316 ) ,
317 'pseudoconstant' => array(
318 'table' => 'civicrm_location_type',
319 'keyColumn' => 'id',
320 'labelColumn' => 'display_name',
321 )
322 ) ,
323 'is_primary' => array(
324 'name' => 'is_primary',
325 'type' => CRM_Utils_Type::T_BOOLEAN,
326 'title' => ts('Is Address Primary?') ,
327 'description' => 'Is this the primary address.',
328 ) ,
329 'is_billing' => array(
330 'name' => 'is_billing',
331 'type' => CRM_Utils_Type::T_BOOLEAN,
332 'title' => ts('Is Billing Address') ,
333 'description' => 'Is this the billing address.',
334 ) ,
335 'street_address' => array(
336 'name' => 'street_address',
337 'type' => CRM_Utils_Type::T_STRING,
338 'title' => ts('Street Address') ,
339 'description' => 'Concatenation of all routable street address components (prefix, street number, street name, suffix, unit
340 number OR P.O. Box). Apps should be able to determine physical location with this data (for mapping, mail
341 delivery, etc.).
342 ',
343 'maxlength' => 96,
344 'size' => CRM_Utils_Type::HUGE,
345 'import' => true,
346 'where' => 'civicrm_address.street_address',
347 'headerPattern' => '/(street|address)/i',
348 'dataPattern' => '/^(\d{1,5}( [0-9A-Za-z]+)+)$|^(P\.?O\.\? Box \d{1,5})$/i',
349 'export' => true,
350 ) ,
351 'street_number' => array(
352 'name' => 'street_number',
353 'type' => CRM_Utils_Type::T_INT,
354 'title' => ts('Street Number') ,
355 'description' => 'Numeric portion of address number on the street, e.g. For 112A Main St, the street_number = 112.',
356 'export' => true,
357 'where' => 'civicrm_address.street_number',
358 'headerPattern' => '',
359 'dataPattern' => '',
360 ) ,
361 'street_number_suffix' => array(
362 'name' => 'street_number_suffix',
363 'type' => CRM_Utils_Type::T_STRING,
364 'title' => ts('Street Number Suffix') ,
365 'description' => 'Non-numeric portion of address number on the street, e.g. For 112A Main St, the street_number_suffix = A
366 ',
367 'maxlength' => 8,
368 'size' => CRM_Utils_Type::EIGHT,
369 'export' => true,
370 'where' => 'civicrm_address.street_number_suffix',
371 'headerPattern' => '',
372 'dataPattern' => '',
373 ) ,
374 'street_number_predirectional' => array(
375 'name' => 'street_number_predirectional',
376 'type' => CRM_Utils_Type::T_STRING,
377 'title' => ts('Street Direction Prefix') ,
378 'description' => 'Directional prefix, e.g. SE Main St, SE is the prefix.',
379 'maxlength' => 8,
380 'size' => CRM_Utils_Type::EIGHT,
381 ) ,
382 'street_name' => array(
383 'name' => 'street_name',
384 'type' => CRM_Utils_Type::T_STRING,
385 'title' => ts('Street Name') ,
386 'description' => 'Actual street name, excluding St, Dr, Rd, Ave, e.g. For 112 Main St, the street_name = Main.',
387 'maxlength' => 64,
388 'size' => CRM_Utils_Type::BIG,
389 'export' => true,
390 'where' => 'civicrm_address.street_name',
391 'headerPattern' => '',
392 'dataPattern' => '',
393 ) ,
394 'street_type' => array(
395 'name' => 'street_type',
396 'type' => CRM_Utils_Type::T_STRING,
397 'title' => ts('Street Type') ,
398 'description' => 'St, Rd, Dr, etc.',
399 'maxlength' => 8,
400 'size' => CRM_Utils_Type::EIGHT,
401 ) ,
402 'street_number_postdirectional' => array(
403 'name' => 'street_number_postdirectional',
404 'type' => CRM_Utils_Type::T_STRING,
405 'title' => ts('Street Direction Suffix') ,
406 'description' => 'Directional prefix, e.g. Main St S, S is the suffix.',
407 'maxlength' => 8,
408 'size' => CRM_Utils_Type::EIGHT,
409 ) ,
410 'street_unit' => array(
411 'name' => 'street_unit',
412 'type' => CRM_Utils_Type::T_STRING,
413 'title' => ts('Street Unit') ,
414 'description' => 'Secondary unit designator, e.g. Apt 3 or Unit # 14, or Bldg 1200',
415 'maxlength' => 16,
416 'size' => CRM_Utils_Type::TWELVE,
417 'export' => true,
418 'where' => 'civicrm_address.street_unit',
419 'headerPattern' => '',
420 'dataPattern' => '',
421 ) ,
422 'supplemental_address_1' => array(
423 'name' => 'supplemental_address_1',
424 'type' => CRM_Utils_Type::T_STRING,
425 'title' => ts('Supplemental Address 1') ,
426 'description' => 'Supplemental Address Information, Line 1',
427 'maxlength' => 96,
428 'size' => CRM_Utils_Type::HUGE,
429 'import' => true,
430 'where' => 'civicrm_address.supplemental_address_1',
431 'headerPattern' => '/(supplemental(\s)?)?address(\s\d+)?/i',
432 'dataPattern' => '/unit|ap(ar)?t(ment)?\s(\d|\w)+/i',
433 'export' => true,
434 ) ,
435 'supplemental_address_2' => array(
436 'name' => 'supplemental_address_2',
437 'type' => CRM_Utils_Type::T_STRING,
438 'title' => ts('Supplemental Address 2') ,
439 'description' => 'Supplemental Address Information, Line 2',
440 'maxlength' => 96,
441 'size' => CRM_Utils_Type::HUGE,
442 'import' => true,
443 'where' => 'civicrm_address.supplemental_address_2',
444 'headerPattern' => '/(supplemental(\s)?)?address(\s\d+)?/i',
445 'dataPattern' => '/unit|ap(ar)?t(ment)?\s(\d|\w)+/i',
446 'export' => true,
447 ) ,
448 'supplemental_address_3' => array(
449 'name' => 'supplemental_address_3',
450 'type' => CRM_Utils_Type::T_STRING,
451 'title' => ts('Supplemental Address 3') ,
452 'description' => 'Supplemental Address Information, Line 3',
453 'maxlength' => 96,
454 'size' => CRM_Utils_Type::HUGE,
455 ) ,
456 'city' => array(
457 'name' => 'city',
458 'type' => CRM_Utils_Type::T_STRING,
459 'title' => ts('City') ,
460 'description' => 'City, Town or Village Name.',
461 'maxlength' => 64,
462 'size' => CRM_Utils_Type::BIG,
463 'import' => true,
464 'where' => 'civicrm_address.city',
465 'headerPattern' => '/city/i',
466 'dataPattern' => '/^[A-Za-z]+(\.?)(\s?[A-Za-z]+){0,2}$/',
467 'export' => true,
468 ) ,
469 'county_id' => array(
470 'name' => 'county_id',
471 'type' => CRM_Utils_Type::T_INT,
472 'title' => ts('County') ,
473 'description' => 'Which County does this address belong to.',
474 'FKClassName' => 'CRM_Core_DAO_County',
475 'html' => array(
476 'type' => 'Select',
477 ) ,
478 'pseudoconstant' => array(
479 'table' => 'civicrm_county',
480 'keyColumn' => 'id',
481 'labelColumn' => 'name',
482 )
483 ) ,
484 'state_province_id' => array(
485 'name' => 'state_province_id',
486 'type' => CRM_Utils_Type::T_INT,
487 'title' => ts('State') ,
488 'description' => 'Which State_Province does this address belong to.',
489 'FKClassName' => 'CRM_Core_DAO_StateProvince',
490 'html' => array(
491 'type' => 'Select',
492 ) ,
493 'pseudoconstant' => array(
494 'table' => 'civicrm_state_province',
495 'keyColumn' => 'id',
496 'labelColumn' => 'name',
497 )
498 ) ,
499 'postal_code_suffix' => array(
500 'name' => 'postal_code_suffix',
501 'type' => CRM_Utils_Type::T_STRING,
502 'title' => ts('Postal Code Suffix') ,
503 'description' => 'Store the suffix, like the +4 part in the USPS system.',
504 'maxlength' => 12,
505 'size' => CRM_Utils_Type::TWELVE,
506 'import' => true,
507 'where' => 'civicrm_address.postal_code_suffix',
508 'headerPattern' => '/p(ostal)\sc(ode)\ss(uffix)/i',
509 'dataPattern' => '/\d?\d{4}(-\d{4})?/',
510 'export' => true,
511 ) ,
512 'postal_code' => array(
513 'name' => 'postal_code',
514 'type' => CRM_Utils_Type::T_STRING,
515 'title' => ts('Postal Code') ,
516 'description' => 'Store both US (zip5) AND international postal codes. App is responsible for country/region appropriate
517 validation.
518 ',
519 'maxlength' => 12,
520 'size' => CRM_Utils_Type::TWELVE,
521 'import' => true,
522 'where' => 'civicrm_address.postal_code',
523 'headerPattern' => '/postal|zip/i',
524 'dataPattern' => '/\d?\d{4}(-\d{4})?/',
525 'export' => true,
526 ) ,
527 'usps_adc' => array(
528 'name' => 'usps_adc',
529 'type' => CRM_Utils_Type::T_STRING,
530 'title' => ts('USPS Code') ,
531 'description' => 'USPS Bulk mailing code.',
532 'maxlength' => 32,
533 'size' => CRM_Utils_Type::MEDIUM,
534 ) ,
535 'country_id' => array(
536 'name' => 'country_id',
537 'type' => CRM_Utils_Type::T_INT,
538 'title' => ts('Country') ,
539 'description' => 'Which Country does this address belong to.',
540 'FKClassName' => 'CRM_Core_DAO_Country',
541 'html' => array(
542 'type' => 'Select',
543 ) ,
544 'pseudoconstant' => array(
545 'table' => 'civicrm_country',
546 'keyColumn' => 'id',
547 'labelColumn' => 'name',
548 'nameColumn' => 'iso_code',
549 )
550 ) ,
551 'geo_code_1' => array(
552 'name' => 'geo_code_1',
553 'type' => CRM_Utils_Type::T_FLOAT,
554 'title' => ts('Latitude') ,
555 'description' => 'Latitude',
556 'import' => true,
557 'where' => 'civicrm_address.geo_code_1',
558 'headerPattern' => '/geo/i',
559 'dataPattern' => '',
560 'export' => true,
561 ) ,
562 'geo_code_2' => array(
563 'name' => 'geo_code_2',
564 'type' => CRM_Utils_Type::T_FLOAT,
565 'title' => ts('Longitude') ,
566 'description' => 'Longitude',
567 'import' => true,
568 'where' => 'civicrm_address.geo_code_2',
569 'headerPattern' => '/geo/i',
570 'dataPattern' => '',
571 'export' => true,
572 ) ,
573 'manual_geo_code' => array(
574 'name' => 'manual_geo_code',
575 'type' => CRM_Utils_Type::T_BOOLEAN,
576 'title' => ts('Is manually geocoded') ,
577 'description' => 'Is this a manually entered geo code',
578 ) ,
579 'timezone' => array(
580 'name' => 'timezone',
581 'type' => CRM_Utils_Type::T_STRING,
582 'title' => ts('Timezone') ,
583 'description' => 'Timezone expressed as a UTC offset - e.g. United States CST would be written as "UTC-6".',
584 'maxlength' => 8,
585 'size' => CRM_Utils_Type::EIGHT,
586 ) ,
587 'address_name' => array(
588 'name' => 'name',
589 'type' => CRM_Utils_Type::T_STRING,
590 'title' => ts('Address Name') ,
591 'maxlength' => 255,
592 'size' => CRM_Utils_Type::HUGE,
593 'import' => true,
594 'where' => 'civicrm_address.name',
595 'headerPattern' => '/^location|(l(ocation\s)?name)$/i',
596 'dataPattern' => '/^\w+$/',
597 'export' => true,
598 ) ,
599 'master_id' => array(
600 'name' => 'master_id',
601 'type' => CRM_Utils_Type::T_INT,
602 'title' => ts('Master Address Belongs To') ,
603 'description' => 'FK to Address ID',
604 'import' => true,
605 'where' => 'civicrm_address.master_id',
606 'headerPattern' => '',
607 'dataPattern' => '',
608 'export' => true,
609 'FKClassName' => 'CRM_Core_DAO_Address',
610 ) ,
611 );
612 }
613 return self::$_fields;
614 }
615 /**
616 * Returns an array containing, for each field, the arary key used for that
617 * field in self::$_fields.
618 *
619 * @return array
620 */
621 static function &fieldKeys() {
622 if (!(self::$_fieldKeys)) {
623 self::$_fieldKeys = array(
624 'id' => 'id',
625 'contact_id' => 'contact_id',
626 'location_type_id' => 'location_type_id',
627 'is_primary' => 'is_primary',
628 'is_billing' => 'is_billing',
629 'street_address' => 'street_address',
630 'street_number' => 'street_number',
631 'street_number_suffix' => 'street_number_suffix',
632 'street_number_predirectional' => 'street_number_predirectional',
633 'street_name' => 'street_name',
634 'street_type' => 'street_type',
635 'street_number_postdirectional' => 'street_number_postdirectional',
636 'street_unit' => 'street_unit',
637 'supplemental_address_1' => 'supplemental_address_1',
638 'supplemental_address_2' => 'supplemental_address_2',
639 'supplemental_address_3' => 'supplemental_address_3',
640 'city' => 'city',
641 'county_id' => 'county_id',
642 'state_province_id' => 'state_province_id',
643 'postal_code_suffix' => 'postal_code_suffix',
644 'postal_code' => 'postal_code',
645 'usps_adc' => 'usps_adc',
646 'country_id' => 'country_id',
647 'geo_code_1' => 'geo_code_1',
648 'geo_code_2' => 'geo_code_2',
649 'manual_geo_code' => 'manual_geo_code',
650 'timezone' => 'timezone',
651 'name' => 'address_name',
652 'master_id' => 'master_id',
653 );
654 }
655 return self::$_fieldKeys;
656 }
657 /**
658 * Returns the names of this table
659 *
660 * @return string
661 */
662 static function getTableName() {
663 return self::$_tableName;
664 }
665 /**
666 * Returns if this table needs to be logged
667 *
668 * @return boolean
669 */
670 function getLog() {
671 return self::$_log;
672 }
673 /**
674 * Returns the list of fields that can be imported
675 *
676 * @param bool $prefix
677 *
678 * @return array
679 */
680 static function &import($prefix = false) {
681 if (!(self::$_import)) {
682 self::$_import = array();
683 $fields = self::fields();
684 foreach($fields as $name => $field) {
685 if (CRM_Utils_Array::value('import', $field)) {
686 if ($prefix) {
687 self::$_import['address'] = & $fields[$name];
688 } else {
689 self::$_import[$name] = & $fields[$name];
690 }
691 }
692 }
693 self::$_import = array_merge(self::$_import, CRM_Core_DAO_County::import(true));
694 self::$_import = array_merge(self::$_import, CRM_Core_DAO_StateProvince::import(true));
695 self::$_import = array_merge(self::$_import, CRM_Core_DAO_Country::import(true));
696 }
697 return self::$_import;
698 }
699 /**
700 * Returns the list of fields that can be exported
701 *
702 * @param bool $prefix
703 *
704 * @return array
705 */
706 static function &export($prefix = false) {
707 if (!(self::$_export)) {
708 self::$_export = array();
709 $fields = self::fields();
710 foreach($fields as $name => $field) {
711 if (CRM_Utils_Array::value('export', $field)) {
712 if ($prefix) {
713 self::$_export['address'] = & $fields[$name];
714 } else {
715 self::$_export[$name] = & $fields[$name];
716 }
717 }
718 }
719 self::$_export = array_merge(self::$_export, CRM_Core_DAO_County::export(true));
720 self::$_export = array_merge(self::$_export, CRM_Core_DAO_StateProvince::export(true));
721 self::$_export = array_merge(self::$_export, CRM_Core_DAO_Country::export(true));
722 }
723 return self::$_export;
724 }
725 }