function form_set_cache
form_set_cache($form_build_id, $form, $form_state)
Stores a form in the cache.
Related topics
File
- includes/form.inc, line 557
- Functions for form and batch generation and processing.
Code
function form_set_cache($form_build_id, $form, $form_state) { // 6 hours cache life time for forms should be plenty. $expire = 21600; // Ensure that the form build_id embedded in the form structure is the same as // the one passed in as a parameter. This is an additional safety measure to // prevent legacy code operating directly with form_get_cache and // form_set_cache from accidentally overwriting immutable form state. if ($form['#build_id'] != $form_build_id) { watchdog('form', 'Form build-id mismatch detected while attempting to store a form in the cache.', array(), WATCHDOG_ERROR); return; } // Cache form structure. if (isset($form)) { if ($GLOBALS['user']->uid) { $form['#cache_token'] = drupal_get_token(); } unset($form['#build_id_old']); cache_set('form_' . $form_build_id, $form, 'cache_form', REQUEST_TIME + $expire); } // Cache form state. if (variable_get('cache', 0) && drupal_page_is_cacheable()) { $form_state['build_info']['immutable'] = TRUE; } if ($data = array_diff_key($form_state, array_flip(form_state_keys_no_cache()))) { cache_set('form_state_' . $form_build_id, $data, 'cache_form', REQUEST_TIME + $expire); } }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/includes!form.inc/function/form_set_cache/7.x