You are here

abstract class RulesEventHandlerBase in Rules 7.2

Base class for event handler.

Hierarchy

Expanded class hierarchy of RulesEventHandlerBase

File

includes/rules.event.inc, line 180
Contains event handler interface and base classes.

View source
abstract class RulesEventHandlerBase implements RulesEventHandlerInterface {

  /**
   * The event name.
   *
   * @var string
   */
  protected $eventName;

  /**
   * The event info.
   *
   * @var array
   */
  protected $eventInfo;

  /**
   * The event settings.
   *
   * @var array
   */
  protected $settings = array();

  /**
   * Implements RulesEventHandlerInterface::__construct().
   */
  public function __construct($event_name, $info) {
    $this->eventName = $event_name;
    $this->eventInfo = $info;
    $this->settings = $this
      ->getDefaults();
  }

  /**
   * Implements RulesEventHandlerInterface::getSettings().
   */
  public function getSettings() {
    return $this->settings;
  }

  /**
   * Implements RulesEventHandlerInterface::setSettings().
   */
  public function setSettings(array $settings) {
    $this->settings = $settings + $this
      ->getDefaults();
    return $this;
  }

  /**
   * Implements RulesEventHandlerInterface::validate().
   */
  public function validate() {

    // Nothing to check by default.
  }

  /**
   * Implements RulesEventHandlerInterface::extractFormValues().
   */
  public function extractFormValues(array &$form, array &$form_state) {
    foreach ($this
      ->getDefaults() as $key => $setting) {
      $this->settings[$key] = isset($form_state['values'][$key]) ? $form_state['values'][$key] : $setting;
    }
  }

  /**
   * Implements RulesEventHandlerInterface::availableVariables().
   */
  public function availableVariables() {
    return isset($this->eventInfo['variables']) ? $this->eventInfo['variables'] : array();
  }

  /**
   * Implements RulesEventHandlerInterface::getEventName().
   */
  public function getEventName() {
    return $this->eventName;
  }

  /**
   * Implements RulesEventHandlerInterface::getEventInfo().
   */
  public function getEventInfo() {
    return $this->eventInfo;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
RulesEventHandlerBase::$eventInfo protected property The event info.
RulesEventHandlerBase::$eventName protected property The event name.
RulesEventHandlerBase::$settings protected property The event settings.
RulesEventHandlerBase::availableVariables public function Implements RulesEventHandlerInterface::availableVariables(). Overrides RulesEventHandlerInterface::availableVariables 1
RulesEventHandlerBase::extractFormValues public function Implements RulesEventHandlerInterface::extractFormValues(). Overrides RulesEventHandlerInterface::extractFormValues 1
RulesEventHandlerBase::getEventInfo public function Implements RulesEventHandlerInterface::getEventInfo(). Overrides RulesEventHandlerInterface::getEventInfo
RulesEventHandlerBase::getEventName public function Implements RulesEventHandlerInterface::getEventName(). Overrides RulesEventHandlerInterface::getEventName
RulesEventHandlerBase::getSettings public function Implements RulesEventHandlerInterface::getSettings(). Overrides RulesEventHandlerInterface::getSettings 1
RulesEventHandlerBase::setSettings public function Implements RulesEventHandlerInterface::setSettings(). Overrides RulesEventHandlerInterface::setSettings
RulesEventHandlerBase::validate public function Implements RulesEventHandlerInterface::validate(). Overrides RulesEventHandlerInterface::validate 1
RulesEventHandlerBase::__construct public function Implements RulesEventHandlerInterface::__construct(). Overrides RulesEventHandlerInterface::__construct 1
RulesEventHandlerInterface::buildForm public function Builds the event settings form. 2
RulesEventHandlerInterface::getDefaults public function Returns an array of default settings. 2
RulesEventHandlerInterface::getEventNameSuffix public function Returns the suffix to be added to the base event named based upon settings. 2
RulesEventHandlerInterface::summary public function Returns a user-facing summary of the settings. 2