You are here

class PartyAlterStatusFilter in Party 7

Same name and namespace in other branches
  1. 8.2 includes/search_api/callback_status_filter.inc \PartyAlterStatusFilter

Search API data alteration callback that filters out hidden parties.

Hierarchy

Expanded class hierarchy of PartyAlterStatusFilter

1 string reference to 'PartyAlterStatusFilter'
party_search_api_alter_callback_info in ./party.module
Implements hook_search_api_alter_callback_info().

File

includes/search_api/callback_status_filter.inc, line 9
Status filter for search api.

View source
class PartyAlterStatusFilter extends SearchApiAbstractAlterCallback {

  /**
   * {@inheritdoc}
   */
  public function supportsIndex(SearchApiIndex $index) {
    return $index->item_type == 'party';
  }

  /**
   * {@inheritdoc}
   */
  public function configurationForm() {
    $form = array();
    $form['archived'] = array(
      '#type' => 'checkbox',
      '#title' => t('Exclude archived parties'),
      '#default_value' => isset($this->options['archived']) ? $this->options['archived'] : NULL,
    );
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function alterItems(array &$items) {
    foreach ($items as $id => $item) {
      if (!$this
        ->checkParty($item)) {
        unset($items[$id]);
      }
    }
  }

  /**
   * Run the appropriate checks on a party depending on the configuration.
   *
   * @param \Party $party
   *   The party we are checking.
   *
   * @return bool
   *   TRUE if this party passes the filter, FALSE if it doesn't.
   */
  protected function checkParty(Party $party) {

    // Hidden always gets filtered out.
    if ($party->hidden) {
      return FALSE;
    }

    // If we've chosen to filter out archived, check it.
    if (!empty($this->options['archived']) && $party->archived) {
      return FALSE;
    }

    // If we've got this far, we've passed the filter.
    return TRUE;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PartyAlterStatusFilter::alterItems public function Alter items before indexing. Overrides SearchApiAlterCallbackInterface::alterItems
PartyAlterStatusFilter::checkParty protected function Run the appropriate checks on a party depending on the configuration.
PartyAlterStatusFilter::configurationForm public function Implements SearchApiAlterCallbackInterface::configurationForm(). Overrides SearchApiAbstractAlterCallback::configurationForm
PartyAlterStatusFilter::supportsIndex public function Implements SearchApiAlterCallbackInterface::supportsIndex(). Overrides SearchApiAbstractAlterCallback::supportsIndex
SearchApiAbstractAlterCallback::$index protected property The index whose items will be altered.
SearchApiAbstractAlterCallback::$options protected property The configuration options for this callback, if it has any.
SearchApiAbstractAlterCallback::configurationFormSubmit public function Implements SearchApiAlterCallbackInterface::configurationFormSubmit(). Overrides SearchApiAlterCallbackInterface::configurationFormSubmit 4
SearchApiAbstractAlterCallback::configurationFormValidate public function Implements SearchApiAlterCallbackInterface::configurationFormValidate(). Overrides SearchApiAlterCallbackInterface::configurationFormValidate 1
SearchApiAbstractAlterCallback::isMultiEntityIndex protected function Determines whether the given index contains multiple types of entities.
SearchApiAbstractAlterCallback::propertyInfo public function Implements SearchApiAlterCallbackInterface::propertyInfo(). Overrides SearchApiAlterCallbackInterface::propertyInfo 6
SearchApiAbstractAlterCallback::__construct public function Implements SearchApiAlterCallbackInterface::__construct(). Overrides SearchApiAlterCallbackInterface::__construct 1