ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ilDclTextFieldModel Class Reference

Class ilDclTextFieldModel. More...

+ Inheritance diagram for ilDclTextFieldModel:
+ Collaboration diagram for ilDclTextFieldModel:

Public Member Functions

 getRecordQueryFilterObject ($filter_value="", ilDclBaseFieldModel $sort_field=null)
 
 getRecordQuerySortObject ($direction="asc", $sort_by_status=false)
 
 checkValidityFromForm (ilPropertyFormGUI &$form, $record_id=null)
 
 checkValidity ($value, $record_id=null)
 
 checkFieldCreationInput (ilPropertyFormGUI $form)
 
 getValidFieldProperties ()
 
 strlen ($value, $encoding='UTF-8')
 
 fillHeaderExcel (ilExcel $worksheet, &$row, &$col)
 
 checkTitlesForImport (array &$titles, array &$import_fields)
 
- Public Member Functions inherited from ilDclBaseFieldModel
 __construct ($a_id=0)
 
 setId ($a_id)
 Set field id. More...
 
 getId ()
 Get field id. More...
 
 setTableId ($a_id)
 Set table id. More...
 
 getTableId ()
 Get table id. More...
 
 setTitle ($a_title)
 Set title. More...
 
 getTitle ()
 Get title. More...
 
 setDescription ($a_desc)
 Set description. More...
 
 getDescription ()
 Get description. More...
 
 setDatatypeId ($a_id)
 Set datatype id. More...
 
 getDatatypeId ()
 Get datatype_id. More...
 
 setRequired ($a_required)
 Set Required. More...
 
 getRequired ()
 Get Required Required. More...
 
 isUnique ()
 
 setUnique ($unique)
 
 getDatatype ()
 
 getDatatypeTitle ()
 
 getStorageLocation ()
 Get storage location for the model. More...
 
 getExportable ()
 
 toArray ()
 
 isStandardField ()
 
 doRead ()
 Read field. More...
 
 buildFromDBRecord ($rec)
 Builds model from db record. More...
 
 doCreate ()
 Create new field. More...
 
 doUpdate ()
 Update field. More...
 
 updateProperties ()
 Update properties of this field in Database. More...
 
 doDelete ()
 Remove field and properties. More...
 
 getFieldSettings ()
 
 getOrder ()
 
 setOrder ($order)
 
 hasProperty ($key)
 Checks if a certain property for a field is set. More...
 
 getProperty ($key)
 Returns a certain property of a field. More...
 
 getPropertyInstance ($key)
 Return ActiveRecord of property. More...
 
 setProperty ($key, $value)
 Set a property for a field (does not save) More...
 
 getValidFieldProperties ()
 Returns all valid properties for a field-type. More...
 
 setLocked ($locked)
 
 getLocked ()
 
 checkValidityFromForm (ilPropertyFormGUI &$form, $record_id=null)
 
 checkValidity ($value, $record_id=null)
 Check if input is valid. More...
 
 cloneStructure ($original_id)
 
 afterClone ($records)
 
 cloneProperties (ilDclBaseFieldModel $originalField)
 
 setExportable ($exportable)
 
 allowFilterInListView ()
 
 getRecordQuerySortObject ($direction="asc", $sort_by_status=false)
 Returns a query-object for building the record-loader-sql-query. More...
 
 getRecordQueryFilterObject ($filter_value="", ilDclBaseFieldModel $sort_field=null)
 Returns a query-object for building the record-loader-sql-query. More...
 
 getSortField ()
 Returns the sort-field id. More...
 
 hasNumericSorting ()
 Set to true, when the sorting should be handled numerical. More...
 
 checkFieldCreationInput (ilPropertyFormGUI $form)
 Checks input of specific fields befor saving. More...
 
 getStorageLocationOverride ()
 
 setStorageLocationOverride ($storage_location_override)
 
 fillHeaderExcel (ilExcel $worksheet, &$row, &$col)
 
 checkTitlesForImport (array &$titles, array &$import_fields)
 
 storePropertiesFromForm (ilPropertyFormGUI $form)
 called when saving the 'edit field' form More...
 
 fillPropertiesForm (ilPropertyFormGUI &$form)
 called to fill the 'edit field' form More...
 
 isConfirmationRequired (ilPropertyFormGUI $form)
 called by ilDclFieldEditGUI when updating field properties if you overwrite this method, remember to also overwrite getConfirmationGUI More...
 
 getConfirmationGUI (ilPropertyFormGUI $form)
 called by ilDclFieldEditGUI if isConfirmationRequired returns true More...
 

Protected Member Functions

 checkValidityOfURLField ($value, $record_id)
 
 checkRegexAndLength ($value)
 
- Protected Member Functions inherited from ilDclBaseFieldModel
 loadDatatype ()
 Load datatype for model. More...
 
 loadTableFieldSetting ()
 loadTableFieldSetting More...
 
 addToTableViews ()
 create ilDclTableViewFieldSettings for this field in each tableview More...
 
 updateTableFieldSetting ()
 update exportable and fieldorder More...
 
 loadProperties ()
 Get all properties of a field. More...
 
 normalizeValue ($value)
 

Additional Inherited Members

- Static Public Member Functions inherited from ilDclBaseFieldModel
static _getTitleInvalidChars ($a_as_regex=true)
 All valid chars for filed titles. More...
 
static _getFieldIdByTitle ($title, $table_id)
 
- Data Fields inherited from ilDclBaseFieldModel
const PROP_LENGTH = "lenght"
 General properties. More...
 
const PROP_REGEX = "regex"
 
const PROP_REFERENCE = "table_id"
 
const PROP_URL = "url"
 
const PROP_TEXTAREA = "text_area"
 
const PROP_REFERENCE_LINK = "reference_link"
 
const PROP_WIDTH = "width"
 
const PROP_HEIGHT = "height"
 
const PROP_LEARNING_PROGRESS = "learning_progress"
 
const PROP_ILIAS_REFERENCE_LINK = "ILIAS_reference_link"
 
const PROP_N_REFERENCE = "multiple_selection"
 
const PROP_FORMULA_EXPRESSION = "expression"
 
const PROP_DISPLAY_COPY_LINK_ACTION_MENU = "display_action_menu"
 
const PROP_LINK_DETAIL_PAGE_TEXT = "link_detail_page"
 
const PROP_SUPPORTED_FILE_TYPES = "supported_file_types"
 
const PROP_PLUGIN_HOOK_NAME = "plugin_hook_name"
 
const PROP_TEXT_SELECTION_OPTIONS = "text_selection_options"
 
const PROP_TEXT_SELECTION_TYPE = "text_selection_type"
 
const PROP_DATE_SELECTION_OPTIONS = "date_selection_options"
 
const PROP_DATE_SELECTION_TYPE = "date_selection_type"
 
const EDIT_VIEW = 2
 
const EXPORTABLE_VIEW = 4
 
- Protected Attributes inherited from ilDclBaseFieldModel
 $id
 
 $table_id
 
 $title
 
 $description
 
 $datatypeId
 
 $required
 
 $order
 
 $unique
 
 $locked
 
 $property = array()
 
 $exportable
 
 $datatype
 
 $storage_location_override = null
 

Detailed Description

Class ilDclTextFieldModel.

Author
Michael Herren mh@st.nosp@m.uder.nosp@m.-raim.nosp@m.ann..nosp@m.ch
Version
1.0.0

Definition at line 9 of file class.ilDclTextFieldModel.php.

Member Function Documentation

◆ checkFieldCreationInput()

ilDclTextFieldModel::checkFieldCreationInput ( ilPropertyFormGUI  $form)

Definition at line 146 of file class.ilDclTextFieldModel.php.

References $DIC, $lng, ilPropertyFormGUI\getInput(), ilPropertyFormGUI\getItemByPostVar(), ilDclBaseFieldModel\PROP_LENGTH, and ilDclBaseFieldModel\PROP_TEXTAREA.

147  {
148  global $DIC;
149  $lng = $DIC['lng'];
150 
151  $return = true;
152  // Additional check for text fields: The length property should be max 200 if the textarea option is not set
153  if ((int) $form->getInput('prop_' . ilDclBaseFieldModel::PROP_LENGTH) > 200 && !$form->getInput('prop_' . ilDclBaseFieldModel::PROP_TEXTAREA)) {
154  $inputObj = $form->getItemByPostVar('prop_' . ilDclBaseFieldModel::PROP_LENGTH);
155  $inputObj->setAlert($lng->txt("form_msg_value_too_high"));
156  $return = false;
157  }
158 
159  return $return;
160  }
getItemByPostVar($a_post_var)
Get Item by POST variable.
global $DIC
Definition: saml.php:7
$lng
const PROP_LENGTH
General properties.
getInput($a_post_var, $ensureValidation=true)
Returns the value of a HTTP-POST variable, identified by the passed id.
+ Here is the call graph for this function:

◆ checkRegexAndLength()

ilDclTextFieldModel::checkRegexAndLength (   $value)
protected
Parameters
$value
Exceptions
ilDclInputException

Definition at line 177 of file class.ilDclTextFieldModel.php.

References ilDclBaseFieldModel\getProperty(), ilDclInputException\LENGTH_EXCEPTION, ilDclBaseFieldModel\PROP_LENGTH, ilDclBaseFieldModel\PROP_REGEX, ilDclInputException\REGEX_CONFIG_EXCEPTION, ilDclInputException\REGEX_EXCEPTION, and strlen().

Referenced by checkValidity(), and checkValidityOfURLField().

178  {
180  if (substr($regex, 0, 1) != "/") {
181  $regex = "/" . $regex;
182  }
183  if (substr($regex, -1) != "/") {
184  $regex .= "/";
185  }
186 
187  if ($this->getProperty(ilDclBaseFieldModel::PROP_LENGTH) < $this->strlen($value, 'UTF-8')
188  && is_numeric($this->getProperty(ilDclBaseFieldModel::PROP_LENGTH))
189  ) {
191  }
192 
193  if ($this->getProperty(ilDclBaseFieldModel::PROP_REGEX) != null) {
194  try {
195  $preg_match = preg_match($regex, $value);
196  } catch (ErrorException $e) {
198  }
199 
200  if ($preg_match == false) {
202  }
203  }
204  }
Class ilDclBaseFieldModel.
const PROP_LENGTH
General properties.
getProperty($key)
Returns a certain property of a field.
strlen($value, $encoding='UTF-8')
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkTitlesForImport()

ilDclTextFieldModel::checkTitlesForImport ( array &  $titles,
array &  $import_fields 
)
Parameters
array$titles
array$import_fields

Definition at line 240 of file class.ilDclTextFieldModel.php.

References ilDclBaseFieldModel\$title, ilDclBaseFieldModel\getTitle(), ilDclBaseFieldModel\hasProperty(), ilStr\isUtf8(), and ilDclBaseFieldModel\PROP_URL.

241  {
242  foreach ($titles as $k => $title) {
243  if (!ilStr::isUtf8($title)) {
244  $title = utf8_encode($title);
245  }
246  if ($title == $this->getTitle()) {
247  $import_fields[$k] = $this;
248  if ($this->hasProperty(ilDclBaseFieldModel::PROP_URL) && $titles[$k + 1] == $this->getTitle() . '_title') {
249  unset($titles[$k + 1]);
250  }
251  }
252  }
253  }
hasProperty($key)
Checks if a certain property for a field is set.
static isUtf8($a_str)
Check whether string is utf-8.
+ Here is the call graph for this function:

◆ checkValidity()

ilDclTextFieldModel::checkValidity (   $value,
  $record_id = null 
)

Definition at line 69 of file class.ilDclTextFieldModel.php.

References $table, checkRegexAndLength(), checkValidityOfURLField(), ilDclBaseFieldModel\getId(), ilDclBaseFieldModel\getProperty(), ilDclCache\getTableCache(), ilDclBaseFieldModel\getTableId(), ilDclBaseFieldModel\isUnique(), ilDclBaseFieldModel\normalizeValue(), ilDclBaseFieldModel\PROP_URL, and ilDclInputException\UNIQUE_EXCEPTION.

70  {
71  $has_url_property = $this->getProperty(ilDclBaseFieldModel::PROP_URL);
72  if ($has_url_property) {
73  return $this->checkValidityOfURLField($value, $record_id);
74  }
75 
76  //Don't check empty values
77  if ($value == null) {
78  return true;
79  }
80 
81  $this->checkRegexAndLength($value);
82 
83  if ($this->isUnique()) {
85  foreach ($table->getRecords() as $record) {
86  //for text it has to be case insensitive.
87  $record_value = $record->getRecordFieldValue($this->getId());
88 
89  if (strtolower($this->normalizeValue($record_value)) == strtolower($this->normalizeValue(nl2br($value)))
90  && ($record->getId() != $record_id
91  || $record_id == 0)
92  ) {
94  }
95  }
96  }
97  }
Class ilDclBaseFieldModel.
static getTableCache($table_id=0)
getProperty($key)
Returns a certain property of a field.
checkValidityOfURLField($value, $record_id)
if(empty($password)) $table
Definition: pwgen.php:24
+ Here is the call graph for this function:

◆ checkValidityFromForm()

ilDclTextFieldModel::checkValidityFromForm ( ilPropertyFormGUI $form,
  $record_id = null 
)
Parameters
ilPropertyFormGUI$form
null$record_id

Definition at line 51 of file class.ilDclTextFieldModel.php.

References $values, checkValidityOfURLField(), ilPropertyFormGUI\getInput(), ilDclBaseFieldModel\getProperty(), and ilDclBaseFieldModel\PROP_URL.

52  {
53  $has_url_property = $this->getProperty(ilDclBaseFieldModel::PROP_URL);
54  if ($has_url_property) {
55  $values = array(
56  'link' => $form->getInput("field_" . $this->getId()),
57  'title' => $form->getInput("field_" . $this->getId() . "_title"),
58  );
59  $this->checkValidityOfURLField($values, $record_id);
60  } else {
61  parent::checkValidityFromForm($form, $record_id);
62  }
63  }
$values
getInput($a_post_var, $ensureValidation=true)
Returns the value of a HTTP-POST variable, identified by the passed id.
getProperty($key)
Returns a certain property of a field.
checkValidityOfURLField($value, $record_id)
+ Here is the call graph for this function:

◆ checkValidityOfURLField()

ilDclTextFieldModel::checkValidityOfURLField (   $value,
  $record_id 
)
protected
Parameters
$value
$record_id
Returns
bool
Exceptions
ilDclInputException

Definition at line 107 of file class.ilDclTextFieldModel.php.

References $table, checkRegexAndLength(), ilDclBaseFieldModel\getId(), ilDclCache\getTableCache(), ilDclBaseFieldModel\getTableId(), ilDclBaseFieldModel\isUnique(), ilDclInputException\NOT_URL, and ilDclInputException\UNIQUE_EXCEPTION.

Referenced by checkValidity(), and checkValidityFromForm().

108  {
109  // TODO: value should always be an array with url fields, can we remove the check & json_decode?
110  if (!is_array($value)) {
111  $value = array('link' => $value, 'title' => '');
112  }
113 
114  //Don't check empty values
115  if (!$value['link']) {
116  return true;
117  }
118 
119  $this->checkRegexAndLength($value['link']);
120 
121  //check url/email
122  $link = (substr($value['link'], 0, 3) === 'www') ? 'http://' . $value['link'] : $value['link'];
123  if (!filter_var($link, FILTER_VALIDATE_URL) && !filter_var($link, FILTER_VALIDATE_EMAIL) && $link != '') {
125  }
126 
127  if ($this->isUnique()) {
129  foreach ($table->getRecords() as $record) {
130  $record_value = $record->getRecordFieldValue($this->getId());
131 
132  if ($record_value == $value
133  && ($record->getId() != $record_id
134  || $record_id == 0)
135  ) {
137  }
138  }
139  }
140  }
Class ilDclBaseFieldModel.
static getTableCache($table_id=0)
if(empty($password)) $table
Definition: pwgen.php:24
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fillHeaderExcel()

ilDclTextFieldModel::fillHeaderExcel ( ilExcel  $worksheet,
$row,
$col 
)

Definition at line 226 of file class.ilDclTextFieldModel.php.

References $row, ilDclBaseFieldModel\getProperty(), ilDclBaseFieldModel\getTitle(), ilDclBaseFieldModel\PROP_URL, and ilExcel\setCell().

227  {
228  parent::fillHeaderExcel($worksheet, $row, $col);
230  $worksheet->setCell($row, $col, $this->getTitle() . '_title');
231  $col++;
232  }
233  }
setCell($a_row, $a_col, $a_value, $a_datatype=null)
Set cell value.
$row
getProperty($key)
Returns a certain property of a field.
+ Here is the call graph for this function:

◆ getRecordQueryFilterObject()

ilDclTextFieldModel::getRecordQueryFilterObject (   $filter_value = "",
ilDclBaseFieldModel  $sort_field = null 
)

Definition at line 15 of file class.ilDclTextFieldModel.php.

References $DIC, $ilDB, and ilDclBaseFieldModel\getId().

16  {
17  global $DIC;
18  $ilDB = $DIC['ilDB'];
19 
20  $join_str
21  = "INNER JOIN il_dcl_record_field AS filter_record_field_{$this->getId()} ON (filter_record_field_{$this->getId()}.record_id = record.id AND filter_record_field_{$this->getId()}.field_id = "
22  . $ilDB->quote($this->getId(), 'integer') . ") ";
23  $join_str .= "INNER JOIN il_dcl_stloc{$this->getStorageLocation()}_value AS filter_stloc_{$this->getId()} ON (filter_stloc_{$this->getId()}.record_field_id = filter_record_field_{$this->getId()}.id AND filter_stloc_{$this->getId()}.value LIKE "
24  . $ilDB->quote("%$filter_value%", 'text') . ") ";
25 
26  $sql_obj = new ilDclRecordQueryObject();
27  $sql_obj->setJoinStatement($join_str);
28 
29  return $sql_obj;
30  }
Class ilDclRecordQueryObject.
global $DIC
Definition: saml.php:7
global $ilDB
+ Here is the call graph for this function:

◆ getRecordQuerySortObject()

ilDclTextFieldModel::getRecordQuerySortObject (   $direction = "asc",
  $sort_by_status = false 
)

Definition at line 36 of file class.ilDclTextFieldModel.php.

References ilDclBaseFieldModel\hasProperty(), and ilDclBaseFieldModel\PROP_URL.

37  {
38  // use custom record sorting for url-fields
40  return new ilDclTextRecordQueryObject();
41  } else {
42  return parent::getRecordQuerySortObject($direction, $sort_by_status);
43  }
44  }
hasProperty($key)
Checks if a certain property for a field is set.
Class ilDclTextRecordQueryObject.
+ Here is the call graph for this function:

◆ getValidFieldProperties()

◆ strlen()

ilDclTextFieldModel::strlen (   $value,
  $encoding = 'UTF-8' 
)
Parameters
$value
string$encoding
Returns
int

Definition at line 213 of file class.ilDclTextFieldModel.php.

Referenced by checkRegexAndLength().

214  {
215  switch (true) {
216  case function_exists('mb_strlen'):
217  return mb_strlen($value, $encoding);
218  case function_exists('iconv_strlen'):
219  return iconv_strlen($value, $encoding);
220  default:
221  return strlen($value);
222  }
223  }
return['Universal Coordinated Time'=> 'UTC', 'Casablanca, Monrovia'=> 'Africa/Casablanca', 'Greenwich Mean Time:Dublin, Edinburgh, Lisbon, London'=> 'Europe/Lisbon', 'Greenwich Mean Time;Dublin, Edinburgh, London'=> 'Europe/London', 'Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna'=> 'Europe/Berlin', 'Belgrade, Pozsony, Budapest, Ljubljana, Prague'=> 'Europe/Prague', 'Brussels, Copenhagen, Madrid, Paris'=> 'Europe/Paris', 'Paris, Madrid, Brussels, Copenhagen'=> 'Europe/Paris', 'Prague, Central Europe'=> 'Europe/Prague', 'Sarajevo, Skopje, Sofija, Vilnius, Warsaw, Zagreb'=> 'Europe/Sarajevo', 'West Central Africa'=> 'Africa/Luanda', 'Athens, Istanbul, Minsk'=> 'Europe/Athens', 'Bucharest'=> 'Europe/Bucharest', 'Cairo'=> 'Africa/Cairo', 'Harare, Pretoria'=> 'Africa/Harare', 'Helsinki, Riga, Tallinn'=> 'Europe/Helsinki', 'Israel, Jerusalem Standard Time'=> 'Asia/Jerusalem', 'Baghdad'=> 'Asia/Baghdad', 'Arab, Kuwait, Riyadh'=> 'Asia/Kuwait', 'Moscow, St. Petersburg, Volgograd'=> 'Europe/Moscow', 'East Africa, Nairobi'=> 'Africa/Nairobi', 'Tehran'=> 'Asia/Tehran', 'Abu Dhabi, Muscat'=> 'Asia/Muscat', 'Baku, Tbilisi, Yerevan'=> 'Asia/Baku', 'Kabul'=> 'Asia/Kabul', 'Ekaterinburg'=> 'Asia/Yekaterinburg', 'Islamabad, Karachi, Tashkent'=> 'Asia/Karachi', 'Kolkata, Chennai, Mumbai, New Delhi, India Standard Time'=> 'Asia/Calcutta', 'Kathmandu, Nepal'=> 'Asia/Kathmandu', 'Almaty, Novosibirsk, North Central Asia'=> 'Asia/Almaty', 'Astana, Dhaka'=> 'Asia/Dhaka', 'Sri Jayawardenepura, Sri Lanka'=> 'Asia/Colombo', 'Rangoon'=> 'Asia/Rangoon', 'Bangkok, Hanoi, Jakarta'=> 'Asia/Bangkok', 'Krasnoyarsk'=> 'Asia/Krasnoyarsk', 'Beijing, Chongqing, Hong Kong SAR, Urumqi'=> 'Asia/Shanghai', 'Irkutsk, Ulaan Bataar'=> 'Asia/Irkutsk', 'Kuala Lumpur, Singapore'=> 'Asia/Singapore', 'Perth, Western Australia'=> 'Australia/Perth', 'Taipei'=> 'Asia/Taipei', 'Osaka, Sapporo, Tokyo'=> 'Asia/Tokyo', 'Seoul, Korea Standard time'=> 'Asia/Seoul', 'Yakutsk'=> 'Asia/Yakutsk', 'Adelaide, Central Australia'=> 'Australia/Adelaide', 'Darwin'=> 'Australia/Darwin', 'Brisbane, East Australia'=> 'Australia/Brisbane', 'Canberra, Melbourne, Sydney, Hobart(year 2000 only)'=> 'Australia/Sydney', 'Guam, Port Moresby'=> 'Pacific/Guam', 'Hobart, Tasmania'=> 'Australia/Hobart', 'Vladivostok'=> 'Asia/Vladivostok', 'Magadan, Solomon Is., New Caledonia'=> 'Asia/Magadan', 'Auckland, Wellington'=> 'Pacific/Auckland', 'Fiji Islands, Kamchatka, Marshall Is.'=> 'Pacific/Fiji', 'Nuku\ 'alofa, Tonga'=> 'Pacific/Tongatapu', 'Azores'=> 'Atlantic/Azores', 'Cape Verde Is.'=> 'Atlantic/Cape_Verde', 'Mid-Atlantic'=> 'America/Noronha', 'Brasilia'=> 'America/Sao_Paulo', 'Buenos Aires'=> 'America/Argentina/Buenos_Aires', 'Greenland'=> 'America/Godthab', 'Newfoundland'=> 'America/St_Johns', 'Atlantic Time(Canada)'=> 'America/Halifax', 'Caracas, La Paz'=> 'America/Caracas', 'Santiago'=> 'America/Santiago', 'Bogota, Lima, Quito'=> 'America/Bogota', 'Eastern Time(US &Canada)'=> 'America/New_York', 'Indiana(East)'=> 'America/Indiana/Indianapolis', 'Central America'=> 'America/Guatemala', 'Central Time(US &Canada)'=> 'America/Chicago', 'Mexico City, Tegucigalpa'=> 'America/Mexico_City', 'Saskatchewan'=> 'America/Edmonton', 'Arizona'=> 'America/Phoenix', 'Mountain Time(US &Canada)'=> 'America/Denver', 'Pacific Time(US &Canada)'=> 'America/Los_Angeles', 'Pacific Time(US &Canada);Tijuana'=> 'America/Los_Angeles', 'Alaska'=> 'America/Anchorage', 'Hawaii'=> 'Pacific/Honolulu', 'Midway Island, Samoa'=> 'Pacific/Midway', 'Eniwetok, Kwajalein, Dateline Time'=> 'Pacific/Kwajalein',]
Microsoft exchange timezones Source: http://msdn.microsoft.com/en-us/library/ms988620%28v=exchg.65%29.aspx.
strlen($value, $encoding='UTF-8')
+ Here is the caller graph for this function:

The documentation for this class was generated from the following file: