Example #1
0
 private function flush_rewrite_rules()
 {
     // We have to deal with the fact that the procedures used call get_option, which could be looking at the wrong table prefix, or have the wrong thing cached
     global $updraftplus_addons_migrator;
     if (!empty($updraftplus_addons_migrator->new_blogid)) {
         switch_to_blog($updraftplus_addons_migrator->new_blogid);
     }
     foreach (array('permalink_structure', 'rewrite_rules', 'page_on_front') as $opt) {
         add_filter('pre_option_' . $opt, array($this, 'option_filter_' . $opt));
     }
     global $wp_rewrite;
     $wp_rewrite->init();
     // Don't do this: it will cause rules created by plugins that weren't active at the start of the restore run to be lost
     # flush_rewrite_rules(true);
     if (function_exists('save_mod_rewrite_rules')) {
         save_mod_rewrite_rules();
     }
     if (function_exists('iis7_save_url_rewrite_rules')) {
         iis7_save_url_rewrite_rules();
     }
     foreach (array('permalink_structure', 'rewrite_rules', 'page_on_front') as $opt) {
         remove_filter('pre_option_' . $opt, array($this, 'option_filter_' . $opt));
     }
     if (!empty($updraftplus_addons_migrator->new_blogid)) {
         restore_current_blog();
     }
 }
Example #2
0
 /**
  * Remove rewrite rules and then recreate rewrite rules.
  *
  * Calls {@link WP_Rewrite::wp_rewrite_rules()} after removing the
  * 'rewrite_rules' option. If the function named 'save_mod_rewrite_rules'
  * exists, it will be called.
  *
  * @since 2.0.1
  * @access public
  * @param bool $hard Whether to update .htaccess (hard flush) or just update rewrite_rules option (soft flush). Default is true (hard).
  */
 function flush_rules($hard = true)
 {
     delete_option('rewrite_rules');
     $this->wp_rewrite_rules();
     if ($hard && function_exists('save_mod_rewrite_rules')) {
         save_mod_rewrite_rules();
     }
     if ($hard && function_exists('iis7_save_url_rewrite_rules')) {
         iis7_save_url_rewrite_rules();
     }
 }
Example #3
0
 /**
  * Remove rewrite rules and then recreate rewrite rules.
  *
  * Calls {@link WP_Rewrite::wp_rewrite_rules()} after removing the
  * 'rewrite_rules' option. If the function named 'save_mod_rewrite_rules'
  * exists, it will be called.
  *
  * @since 2.0.1
  * @access public
  * @param bool $hard Whether to update .htaccess (hard flush) or just update rewrite_rules option (soft flush). Default is true (hard).
  */
 public function flush_rules($hard = true)
 {
     delete_option('rewrite_rules');
     $this->wp_rewrite_rules();
     /**
      * Filter whether a "hard" rewrite rule flush should be performed when requested.
      *
      * A "hard" flush updates .htaccess (Apache) or web.config (IIS).
      *
      * @since 3.7.0
      *
      * @param bool $hard Whether to flush rewrite rules "hard". Default true.
      */
     if (!$hard || !apply_filters('flush_rewrite_rules_hard', true)) {
         return;
     }
     if (function_exists('save_mod_rewrite_rules')) {
         save_mod_rewrite_rules();
     }
     if (function_exists('iis7_save_url_rewrite_rules')) {
         iis7_save_url_rewrite_rules();
     }
 }
Example #4
0
 /**
  * Remove rewrite rules and then recreate rewrite rules.
  *
  * Calls {@link HQ_Rewrite::hq_rewrite_rules()} after removing the
  * 'rewrite_rules' option. If the function named 'save_mod_rewrite_rules'
  * exists, it will be called.
  *
  * @since 0.0.1
  * @access public
  *
  * @staticvar bool $do_hard_later
  *
  * @param bool $hard Whether to update .htaccess (hard flush) or just update rewrite_rules option (soft flush). Default is true (hard).
  */
 public function flush_rules($hard = true)
 {
     static $do_hard_later = null;
     // Prevent this action from running before everyone has registered their rewrites
     if (!did_action('hq_loaded')) {
         add_action('hq_loaded', array($this, 'flush_rules'));
         $do_hard_later = isset($do_hard_later) ? $do_hard_later || $hard : $hard;
         return;
     }
     if (isset($do_hard_later)) {
         $hard = $do_hard_later;
         unset($do_hard_later);
     }
     delete_option('rewrite_rules');
     $this->hq_rewrite_rules();
     /**
      * Filter whether a "hard" rewrite rule flush should be performed when requested.
      *
      * A "hard" flush updates .htaccess (Apache) or web.config (IIS).
      *
      * @since 0.0.1
      *
      * @param bool $hard Whether to flush rewrite rules "hard". Default true.
      */
     if (!$hard || !apply_filters('flush_rewrite_rules_hard', true)) {
         return;
     }
     if (function_exists('save_mod_rewrite_rules')) {
         save_mod_rewrite_rules();
     }
     if (function_exists('iis7_save_url_rewrite_rules')) {
         iis7_save_url_rewrite_rules();
     }
 }
	/**
	 * Remove rewrite rules and then recreate rewrite rules.
	 *
	 * Calls {@link WP_Rewrite::wp_rewrite_rules()} after removing the
	 * 'rewrite_rules' option. If the function named 'save_mod_rewrite_rules'
	 * exists, it will be called.
	 *
	 * @since 2.0.1
	 * @access public
	 */
	function flush_rules() {
		delete_transient('rewrite_rules');
		$this->wp_rewrite_rules();
		if ( function_exists('save_mod_rewrite_rules') )
			save_mod_rewrite_rules();
		if ( function_exists('iis7_save_url_rewrite_rules') )
			iis7_save_url_rewrite_rules();
	}