Mercurial > hg > cmmr2012-drupal-site
annotate core/modules/views/src/ExposedFormCache.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children |
rev | line source |
---|---|
Chris@0 | 1 <?php |
Chris@0 | 2 |
Chris@0 | 3 namespace Drupal\views; |
Chris@0 | 4 |
Chris@0 | 5 /** |
Chris@0 | 6 * Caches exposed forms, as they are heavy to generate. |
Chris@0 | 7 * |
Chris@0 | 8 * @see \Drupal\views\Form\ViewsExposedForm |
Chris@0 | 9 */ |
Chris@0 | 10 class ExposedFormCache { |
Chris@0 | 11 |
Chris@0 | 12 /** |
Chris@0 | 13 * Stores the exposed form data. |
Chris@0 | 14 * |
Chris@0 | 15 * @var array |
Chris@0 | 16 */ |
Chris@0 | 17 protected $cache = []; |
Chris@0 | 18 |
Chris@0 | 19 /** |
Chris@0 | 20 * Save the Views exposed form for later use. |
Chris@0 | 21 * |
Chris@0 | 22 * @param string $view_id |
Chris@0 | 23 * The views ID. |
Chris@0 | 24 * @param string $display_id |
Chris@0 | 25 * The current view display name. |
Chris@0 | 26 * @param array $form_output |
Chris@0 | 27 * The form structure. Only needed when inserting the value. |
Chris@0 | 28 */ |
Chris@0 | 29 public function setForm($view_id, $display_id, array $form_output) { |
Chris@0 | 30 // Save the form output. |
Chris@0 | 31 $views_exposed[$view_id][$display_id] = $form_output; |
Chris@0 | 32 } |
Chris@0 | 33 |
Chris@0 | 34 /** |
Chris@0 | 35 * Retrieves the views exposed form from cache. |
Chris@0 | 36 * |
Chris@0 | 37 * @param string $view_id |
Chris@0 | 38 * The views ID. |
Chris@0 | 39 * @param string $display_id |
Chris@0 | 40 * The current view display name. |
Chris@0 | 41 * |
Chris@0 | 42 * @return array|bool |
Chris@0 | 43 * The form structure, if any, otherwise FALSE. |
Chris@0 | 44 */ |
Chris@0 | 45 public function getForm($view_id, $display_id) { |
Chris@0 | 46 // Return the form output, if any. |
Chris@0 | 47 if (empty($this->cache[$view_id][$display_id])) { |
Chris@0 | 48 return FALSE; |
Chris@0 | 49 } |
Chris@0 | 50 else { |
Chris@0 | 51 return $this->cache[$view_id][$display_id]; |
Chris@0 | 52 } |
Chris@0 | 53 } |
Chris@0 | 54 |
Chris@0 | 55 /** |
Chris@0 | 56 * Rests the form cache. |
Chris@0 | 57 */ |
Chris@0 | 58 public function reset() { |
Chris@0 | 59 $this->cache = []; |
Chris@0 | 60 } |
Chris@0 | 61 |
Chris@0 | 62 } |