You are here

abstract class AvailabilityAgentFilterBase in Rooms - Drupal Booking for Hotels, B&Bs and Vacation Rentals 7

Abstract class implementing AvailabilityAgentFilterInterface.

Hierarchy

Expanded class hierarchy of AvailabilityAgentFilterBase

File

modules/rooms_booking/includes/rooms_booking.availability_agent_filter.inc, line 75
Rooms Booking agent filter interfaces and base implementations.

View source
abstract class AvailabilityAgentFilterBase implements AvailabilityAgentFilterInterface {

  /**
   * Set of bookable units to filter through.
   *
   * @var array
   */
  protected $units;

  /**
   * Set of filter parameters.
   *
   * @var array
   */
  protected $parameters;

  /**
   * Builds a new AvailabilityAgentFilter object.
   *
   * @param array $units
   *   Set of bookable units to filter through.
   * @param array $parameters
   *   Set of filter parameters.
   */
  public function __construct(array $units, array $parameters) {
    $this->units = $units;
    $this->parameters = $parameters;
  }

  /**
   * Intersects the units that passes the filter and the unit set provided.
   *
   * @param array $filtered_units
   *   The rooms_units that passes the current filter.
   *
   * @return array
   *   The intersection of filtered units with the provided set.
   */
  protected function intersectUnits($filtered_units) {
    $filtered_keys = array_keys($filtered_units);
    $unit_keys = array_keys($this->units);
    $keys_units = array_intersect($filtered_keys, $unit_keys);
    $results = array();
    foreach ($keys_units as $key) {
      $results[$key] = $this->units[$key];
    }
    return $results;
  }

  /**
   * {@inheritdoc}
   */
  public static function availabilitySearchParameters() {
    return array();
  }

  /**
   * {@inheritdoc}
   */
  public static function availabilitySearchForm(&$form, &$form_state) {
  }

  /**
   * {@inheritdoc}
   */
  public static function availabilitySearchFormValidate(&$form, &$form_state) {
  }

  /**
   * {@inheritdoc}
   */
  public static function availabilityChangeSearchForm(&$form, &$form_state) {
  }

  /**
   * {@inheritdoc}
   */
  public static function availabilityChangeSearchFormValidate(&$form, &$form_state) {
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AvailabilityAgentFilterBase::$parameters protected property Set of filter parameters.
AvailabilityAgentFilterBase::$units protected property Set of bookable units to filter through.
AvailabilityAgentFilterBase::availabilityChangeSearchForm public static function Adds necessary form elements to Change availability search form. Overrides AvailabilityAgentFilterInterface::availabilityChangeSearchForm
AvailabilityAgentFilterBase::availabilityChangeSearchFormValidate public static function Specific validation callback for Change availability search form. Overrides AvailabilityAgentFilterInterface::availabilityChangeSearchFormValidate
AvailabilityAgentFilterBase::availabilitySearchForm public static function Adds necessary form elements to Availability search form. Overrides AvailabilityAgentFilterInterface::availabilitySearchForm
AvailabilityAgentFilterBase::availabilitySearchFormValidate public static function Specific validation callback for Availability search form. Overrides AvailabilityAgentFilterInterface::availabilitySearchFormValidate
AvailabilityAgentFilterBase::availabilitySearchParameters public static function Returns a list of parameters to add to the search array. Overrides AvailabilityAgentFilterInterface::availabilitySearchParameters
AvailabilityAgentFilterBase::intersectUnits protected function Intersects the units that passes the filter and the unit set provided.
AvailabilityAgentFilterBase::__construct public function Builds a new AvailabilityAgentFilter object.
AvailabilityAgentFilterInterface::applyFilter public function Applies the filter operation to the units in the filter. 4