Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 11
ExposedFormCache
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 3
20
0.00% covered (danger)
0.00%
0 / 11
 setForm
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 2
 getForm
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 7
 reset
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 2
<?php
/**
 * @file
 * Contains \Drupal\views\ExposedFormCache.
 */
namespace Drupal\views;
/**
 * Caches exposed forms, as they are heavy to generate.
 *
 * @see \Drupal\views\Form\ViewsExposedForm
 */
class ExposedFormCache {
  /**
   * Stores the exposed form data.
   *
   * @var array
   */
  protected $cache = array();
  /**
   * Save the Views exposed form for later use.
   *
   * @param string $view_id
   *   The views ID.
   * @param string $display_id
   *   The current view display name.
   * @param array $form_output
   *   The form structure. Only needed when inserting the value.
   */
  public function setForm($view_id, $display_id, array $form_output) {
    // Save the form output.
    $views_exposed[$view_id][$display_id] = $form_output;
  }
  /**
   * Retrieves the views exposed form from cache.
   *
   * @param string $view_id
   *   The views ID.
   * @param string $display_id
   *   The current view display name.
   *
   * @return array|bool
   *   The form structure, if any, otherwise FALSE.
   */
  public function getForm($view_id, $display_id) {
    // Return the form output, if any.
    if (empty($this->cache[$view_id][$display_id])) {
      return FALSE;
    }
    else {
      return $this->cache[$view_id][$display_id];
    }
  }
  /**
   * Rests the form cache.
   */
  public function reset() {
    $this->cache = array();
  }
}