| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 | 
							- <?php
 
- /**
 
-  * @file
 
-  * Phone Number custom country API
 
-  *
 
-  * 'CC' will be used throughout this document to indicate country code
 
-  * abbreviation. You should replace it with the correct country code
 
-  * in the following functions name. For full list of country code
 
-  * abbreviation, refer to the 2 alphabet list in the countries.txt.
 
-  */
 
- /**
 
-  * Country field settings.
 
-  * Country can provide additional field settings for the phone number
 
-  * field as needed.
 
-  *
 
-  * @param $op
 
-  *   The operation to be performed. Possible values:
 
-  *   - "form": Display the field settings form.
 
-  *   - "validate": Check the field settings form for errors.
 
-  *   - "save": Declare which fields to save back to the database.
 
-  *   - "database columns": Declare the columns that content.module should create
 
-  *     and manage on behalf of the field. If the field module wishes to handle
 
-  *     its own database storage, this should be omitted.
 
-  *   - "filters": Declare the Views filters available for the field.
 
-  *     (this is used in CCK's default Views tables definition)
 
-  *     They always apply to the first column listed in the "database columns"
 
-  *     array.
 
-  * @param $field
 
-  *   The field on which the operation is to be performed.
 
-  * @return
 
-  *   This varies depending on the operation.
 
-  *   - "form": an array of form elements to add to
 
-  *     the settings page.
 
-  *   - "validate": no return value. Use form_set_error().
 
-  *   - "save": an array of names of form elements to
 
-  *     be saved in the database.
 
-  *   - "database columns": an array keyed by column name, with arrays of column
 
-  *     information as values. This column information must include "type", the
 
-  *     MySQL data type of the column, and may also include a "sortable" parameter
 
-  *     to indicate to views.module that the column contains ordered information.
 
-  *     TODO: Details of other information that can be passed to the database layer can
 
-  *     be found in the API for the Schema API.
 
-  *   - "filters": an array of 'filters' definitions as expected by views.module
 
-  *     (see Views Documentation).
 
-  *     When providing several filters, it is recommended to use the 'name'
 
-  *     attribute in order to let the user distinguish between them. If no 'name'
 
-  *     is specified for a filter, the key of the filter will be used instead.
 
-  */
 
- function CC_phone_field_settings($op, $field) {
 
-   switch ($op) {
 
-     // Country specific field settings
 
-     case 'form':
 
-       // ...
 
-       return $form;
 
-     // Country specific field validation
 
-     case 'validate':
 
-       // ...
 
-       break;
 
-     // Country specific field save
 
-     case 'save':
 
-       // ...
 
-       return $settings;
 
-   }
 
- }
 
- /**
 
-  * Validate country level phone number.
 
-  *
 
-  * @param $number
 
-  *   Digits only value.
 
-  * @param $ext
 
-  *   Digits only value.
 
-  * @param $error
 
-  *   The error message to shown to user.
 
-  *   Available parameters to use in the error message are
 
-  *   - "%countrycode": the alpha-2 CC (check_plain'ed)
 
-  *   - "%phone_input": the original number input by user (check_plain'ed)
 
-  *   - "%min_length": allowed minimum length of the phone number
 
-  *   - "%max_length": allowed maximum length of the phone number
 
-  *   - "%ext_input": the original extension input by user (check_plain'ed)
 
-  *   - "%ext_max_length": allowed maximum length of the phone extension
 
-  * @return boolean
 
-  *   TRUE if it is a valid phone number for that country, FALSE otherwise.
 
-  */
 
- function CC_validate_number($number, $ext = '', &$error) {
 
-   // Don't need to check for extension because it has been checked by generic validation as all digits, unless has special format/requirements
 
-   // your validation
 
-   if (FALSE) {
 
-     // t() is no needed
 
-     $error = '"%phone_input" is not a valid North American phone number, it should be a 10 digit number like "999 999 9999"';
 
-     return FALSE;
 
-   }
 
-   return TRUE;
 
- }
 
- /**
 
-  * Cleanup user-entered values for a phone number field for saving to DB.
 
-  *
 
-  * @param $number
 
-  *   A single phone number item.
 
-  */
 
- function CC_sanitize_number(&$number) {
 
-   // your cleanup like removing trunk prefix
 
- }
 
- /**
 
-  * Default formatter for international phone number.
 
-  *
 
-  * @param $element
 
-  *   $element['#item']['country_codes']: alpha-2 country code
 
-  *   $element['#item']['number']: phone number
 
-  * @param $error
 
-  *   The error message to shown to user.
 
-  *   Available parameters to use in the error message are
 
-  *   - "%countrycode": the alpha-2 CC (check_plain'ed)
 
-  *   - "%phone_input": the original number input by user (check_plain'ed)
 
-  *   - "%min_length": allowed minimum length of the phone number
 
-  *   - "%max_length": allowed maximum length of the phone number
 
-  *   - "%ext_input": the original extension input by user (check_plain'ed)
 
-  *   - "%ext_max_length": allowed maximum length of the phone extension
 
-  * @return boolean
 
-  *   TRUE if it is a valid phone number for that country, FALSE otherwise.
 
-  */
 
- function CC_formatter_default($element) {
 
-   $item = $element['#item'];
 
-   // Display a global phone number with country code.
 
-   $cc = cck_phone_countrycodes($item['country_codes']);
 
-   // Format the phone number however you like, this is the default
 
-   $phone = $cc['code'] . '-' . $item['number'];
 
-   return $phone;
 
- }
 
- /**
 
-  * Local formatter for local phone number.
 
-  *
 
-  * @param $element
 
-  *   $element['#item']['country_codes']: alpha-2 country code
 
-  *   $element['#item']['number']: phone number
 
-  * @param $error
 
-  *   The error message to shown to user.
 
-  *   Available parameters to use in the error message are
 
-  *   - "%countrycode": the alpha-2 CC
 
-  *   - "%phone_input": the original number input by user (could be invalid)
 
-  *   - "%max_length": allowed maximum length of the phone number
 
-  * @return boolean
 
-  *   TRUE if it is a valid phone number for that country, FALSE otherwise.
 
-  */
 
- function CC_formatter_local($element) {
 
-   // Display a local phone number without country code.
 
-   // Format the phone number however you like, this is the default
 
-   $phone = $element['#item']['number'];
 
-   return $phone;
 
- }
 
 
  |