You are here

class UcAddressesDateFieldHandler in Ubercart Addresses 6.2

Same name and namespace in other branches
  1. 7 handlers/uc_addresses.handlers.inc \UcAddressesDateFieldHandler

Class for the created/modified field.

Hierarchy

Expanded class hierarchy of UcAddressesDateFieldHandler

2 string references to 'UcAddressesDateFieldHandler'
uc_addresses_uc_addresses_fields in ./uc_addresses.uc_addresses_fields.inc
Implementation of hook_uc_addresses_fields().
uc_addresses_uc_addresses_field_handlers in ./uc_addresses.uc_addresses_fields.inc
Implementation of hook_uc_addresses_field_handlers().

File

handlers/uc_addresses.handlers.inc, line 215
Field handlers for Ubercart Addresses address fields:

View source
class UcAddressesDateFieldHandler extends UcAddressesFieldHandler {

  /**
   * Implements UcAddressesFieldHandler::getFormField().
   */
  public function getFormField($form, $form_values) {
    $fieldName = $this
      ->getFieldName();
    $fieldValue = $this
      ->getAddress()
      ->getField($fieldName);
    $default = isset($form_values[$fieldName]) ? $form_values[$fieldName] : $fieldValue;
    if (is_numeric($default)) {
      $default = array(
        'hour' => date('H', $default),
        'minute' => date('i', $default),
        'second' => date('s', $default),
        'month' => date('n', $default),
        'day' => date('j', $default),
        'year' => date('Y', $default),
      );
    }
    return array(
      $fieldName => array(
        '#type' => 'date',
        '#title' => $this
          ->getFieldTitle(),
        '#default_value' => $default,
        '#required' => $this
          ->isFieldRequired(),
      ),
    );
  }

  /**
   * Implements UcAddressesFieldHandler::isFieldEnabled().
   */
  public function isFieldEnabled() {
    return TRUE;
  }

  /**
   * Implements UcAddressesFieldHandler::isFieldRequired().
   */
  public function isFieldRequired() {
    return FALSE;
  }

  // -----------------------------------------------------------------------------
  // VALIDATE
  // -----------------------------------------------------------------------------

  /**
   * Implements UcAddressesFieldHandler::validateValue().
   *
   * Makes sure the value is converted to a timestamp.
   */
  public function validateValue(&$value) {
    $value = mktime(0, 0, 0, $value['month'], $value['day'], $value['year']);
  }

  // -----------------------------------------------------------------------------
  // OUTPUT
  // -----------------------------------------------------------------------------

  /**
   * Implements UcAddressesFieldHandler::getOutputFormats().
   *
   * Returns an array of output formats for the date field.
   */
  public function getOutputFormats() {
    return token_get_date_token_info($this
      ->getProperty('description') . ',', $this
      ->getFieldName() . '-');
  }

  /**
   * Overrides UcAddressesFieldHandler::outputValue().
   *
   * If a format is specified, the value will be formatted using that (date) format.
   * If no format is specified, the value will be formatted using the site default
   * date format.
   */
  public function outputValue($value = '', $format = '') {
    static $values = array();
    if ($value === '') {
      $value = $this
        ->getAddress()
        ->getField($this
        ->getFieldName());
    }
    if (isset($values[$value][$format])) {
      return $values[$value][$format];
    }
    $values[$value] = token_get_date_token_values($value, $this
      ->getFieldName() . '-');
    if (isset($values[$value][$format])) {
      return $values[$value][$format];
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
UcAddressesDateFieldHandler::getFormField public function Implements UcAddressesFieldHandler::getFormField(). Overrides UcAddressesFieldHandler::getFormField
UcAddressesDateFieldHandler::getOutputFormats public function Implements UcAddressesFieldHandler::getOutputFormats(). Overrides UcAddressesFieldHandler::getOutputFormats
UcAddressesDateFieldHandler::isFieldEnabled public function Implements UcAddressesFieldHandler::isFieldEnabled(). Overrides UcAddressesFieldHandler::isFieldEnabled
UcAddressesDateFieldHandler::isFieldRequired public function Implements UcAddressesFieldHandler::isFieldRequired(). Overrides UcAddressesFieldHandler::isFieldRequired
UcAddressesDateFieldHandler::outputValue public function Overrides UcAddressesFieldHandler::outputValue(). Overrides UcAddressesFieldHandler::outputValue
UcAddressesDateFieldHandler::validateValue public function Implements UcAddressesFieldHandler::validateValue(). Overrides UcAddressesFieldHandler::validateValue
UcAddressesFieldHandler::$address private property Address object.
UcAddressesFieldHandler::$context private property The context in which this field is used.
UcAddressesFieldHandler::$definition private property The declared field definition.
UcAddressesFieldHandler::$name private property Name of this field.
UcAddressesFieldHandler::checkContext public function Checks if the field passes the context. 1
UcAddressesFieldHandler::getAddress final public function Returns the address attached to this field.
UcAddressesFieldHandler::getContext final public function Returns the context in which this field is used.
UcAddressesFieldHandler::getDefaultValue public function Returns a default value for this field. 3
UcAddressesFieldHandler::getFieldName final public function Returns the field name.
UcAddressesFieldHandler::getFieldTitle public function Returns the title to use when displaying a field. 1
UcAddressesFieldHandler::getProperty final public function Returns a property from the field definition.
UcAddressesFieldHandler::init protected function Can be used by subclasses to do some initialization upon construction of the object. 2
UcAddressesFieldHandler::setValue public function Sets value in the address object.
UcAddressesFieldHandler::__construct final public function UcAddressesFormField object constructor.