You are here

class SearchApiSavedSearchesSettings in Search API Saved Searches 7

Class representing "Saved searches" settings.

Hierarchy

Expanded class hierarchy of SearchApiSavedSearchesSettings

1 string reference to 'SearchApiSavedSearchesSettings'
search_api_saved_searches_entity_info in ./search_api_saved_searches.module
Implements hook_entity_info().

File

./search_api_saved_searches.settings_entity.inc, line 12
Contains the entity class for stored "Saved searches" settings of search indexes.

View source
class SearchApiSavedSearchesSettings extends Entity {

  /**
   * The search index these settings are for.
   *
   * @var SearchApiIndex
   */
  protected $index;

  // Database values that will be set when object is loaded

  /**
   * @var integer
   */
  public $id;

  /**
   * @var string
   */
  public $delta;

  /**
   * @var string
   */
  public $index_id;

  /**
   * @var boolean
   */
  public $enabled;

  /**
   * @var array
   */
  public $options;

  /**
   * Constructor as a helper to the parent constructor.
   */
  public function __construct(array $values = array()) {
    parent::__construct($values, 'search_api_saved_searches_settings');
  }

  /**
   * @return SearchApiIndex
   *   The index these saved search settings are for.
   *
   * @throws SearchApiException
   *   If the index doesn't exist.
   */
  public function index() {
    if (!isset($this->index)) {
      $this->index = search_api_index_load($this->index_id);
    }
    if (!$this->index) {
      throw new SearchApiException(t("The index with the ID %id doesn't exist, but has saved search settings attached.", array(
        '%id' => $this->index_id,
      )));
    }
    return $this->index;
  }

  /**
   * Gets the translated value of an option via i18n string translations.
   *
   * @param $property
   *   The name of the property stored in the options, as declared for i18n;
   *   e.g. "mail.notify.title".
   * @param $langcode
   *   (optional) The language code of the language to which the value should
   *   be translated. If set to NULL, the default display language is being
   *   used.
   *
   * @return
   *   The raw, translated property value; or the raw, un-translated value if no
   *   translation is available.
   *
   * @see SearchApiSavedSearchesSettingsI18nController
   */
  public function getTranslatedOption($property, $langcode = NULL) {
    $value = drupal_array_get_nested_value($this->options, explode('.', $property));
    if (isset($value) && module_exists('search_api_saved_searches_i18n') && function_exists('i18n_string')) {
      $name = 'search_api_saved_searches:search_api_saved_searches_settings:' . $this
        ->identifier() . ':' . $property;
      if (is_array($value)) {

        // Handle arrays of values, i.e. interval_options.
        foreach ($value as $key => $data) {
          $value[$key] = i18n_string($name . ".{$key}", $data, array(
            'langcode' => $langcode,
            'sanitize' => FALSE,
          ));
        }
        return $value;
      }
      else {
        return i18n_string($name, $value, array(
          'langcode' => $langcode,
          'sanitize' => FALSE,
        ));
      }
    }
    return $value;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Entity::$defaultLabel protected property 1
Entity::$entityInfo protected property
Entity::$entityType protected property
Entity::$idKey protected property
Entity::$wrapper protected property
Entity::buildContent public function Builds a structured array representing the entity's content. Overrides EntityInterface::buildContent 1
Entity::bundle public function Returns the bundle of the entity. Overrides EntityInterface::bundle
Entity::defaultLabel protected function Defines the entity label if the 'entity_class_label' callback is used. 1
Entity::defaultUri protected function Override this in order to implement a custom default URI and specify 'entity_class_uri' as 'uri callback' hook_entity_info().
Entity::delete public function Permanently deletes the entity. Overrides EntityInterface::delete
Entity::entityInfo public function Returns the info of the type of the entity. Overrides EntityInterface::entityInfo
Entity::entityType public function Returns the type of the entity. Overrides EntityInterface::entityType
Entity::export public function Exports the entity. Overrides EntityInterface::export
Entity::getTranslation public function Gets the raw, translated value of a property or field. Overrides EntityInterface::getTranslation
Entity::hasStatus public function Checks if the entity has a certain exportable status. Overrides EntityInterface::hasStatus
Entity::identifier public function Returns the entity identifier, i.e. the entities name or numeric id. Overrides EntityInterface::identifier
Entity::internalIdentifier public function Returns the internal, numeric identifier. Overrides EntityInterface::internalIdentifier
Entity::isDefaultRevision public function Checks whether the entity is the default revision. Overrides EntityInterface::isDefaultRevision
Entity::label public function Returns the label of the entity. Overrides EntityInterface::label
Entity::save public function Permanently saves the entity. Overrides EntityInterface::save
Entity::setUp protected function Set up the object instance on construction or unserializiation.
Entity::uri public function Returns the uri of the entity just as entity_uri(). Overrides EntityInterface::uri
Entity::view public function Generate an array for rendering the entity. Overrides EntityInterface::view
Entity::wrapper public function Returns the EntityMetadataWrapper of the entity. Overrides EntityInterface::wrapper
Entity::__sleep public function Magic method to only serialize what's necessary.
Entity::__wakeup public function Magic method to invoke setUp() on unserialization.
SearchApiSavedSearchesSettings::$delta public property
SearchApiSavedSearchesSettings::$enabled public property
SearchApiSavedSearchesSettings::$id public property
SearchApiSavedSearchesSettings::$index protected property The search index these settings are for.
SearchApiSavedSearchesSettings::$index_id public property
SearchApiSavedSearchesSettings::$options public property
SearchApiSavedSearchesSettings::getTranslatedOption public function Gets the translated value of an option via i18n string translations.
SearchApiSavedSearchesSettings::index public function
SearchApiSavedSearchesSettings::__construct public function Constructor as a helper to the parent constructor. Overrides Entity::__construct