/** * Fixes environment * * @param Config $config * @throws Util_Environment_Exceptions */ function fix_in_wpadmin($config, $force_all_checks = false) { $exs = new Util_Environment_Exceptions(); $fix_on_event = false; if (Util_Environment::is_wpmu() && Util_Environment::blog_id() != 0) { if (get_transient('w3tc_config_changes') != ($md5_string = $config->get_md5())) { $fix_on_event = true; set_transient('w3tc_config_changes', $md5_string, 3600); } } // call plugin-related handlers foreach ($this->get_handlers($config) as $h) { try { $h->fix_on_wpadmin_request($config, $force_all_checks); if ($fix_on_event) { $this->fix_on_event($config, 'admin_request'); } } catch (Util_Environment_Exceptions $ex) { $exs->push($ex); } } try { do_action('w3tc_environment_fix_on_wpadmin_request', $config, $force_all_checks); } catch (Util_Environment_Exceptions $ex) { $exs->push($ex); } if (count($exs->exceptions()) > 0) { throw $exs; } }