Esempio n. 1
0
 public function __construct()
 {
     Avada::$is_updating = true;
     /* Raise the memory limit and max_execution_time time */
     @ini_set('memory_limit', '256M');
     @set_time_limit(0);
     $this->available_languages = Avada_Multilingual::get_available_languages();
     $this->active_language = Avada_Multilingual::get_active_language();
     $this->default_language = Avada_Multilingual::get_default_language();
     // If English is used then make this first in array order.  Also set starting language so that it is migrated first
     if (in_array('en', $this->available_languages)) {
         $en_array = array('en');
         $en_key = array_search('en', $this->available_languages);
         $available_languages_no_en = $this->available_languages;
         unset($available_languages_no_en[$en_key]);
         $this->available_languages = array_merge($en_array, $available_languages_no_en);
         $this->starting_language = 'en';
     } else {
         // If not English then make default language first in array order.  Also set it to be starting language for migration.
         $default_array = array($this->default_language);
         $default_key = array_search($this->default_language, $this->available_languages);
         $available_languages_no_default = $this->available_languages;
         unset($available_languages_no_default[$default_key]);
         $this->available_languages = array_merge($default_array, $available_languages_no_default);
         $this->starting_language = $this->default_language;
     }
     if ($_GET && isset($_GET['avada_update'])) {
         // Only continue if the URL is ?avada_update=1
         if ('1' != $_GET['avada_update']) {
             return;
         }
         // Only continue if we're updating to version 4.0.0
         if (!isset($_GET['ver']) || $this->version != $_GET['ver']) {
             return;
         }
         // Get the current step
         if (!isset($_GET['step'])) {
             $this->step = 0;
         } else {
             $this->step = intval($_GET['step']);
         }
         if (isset($_GET['proceed']) && '0' == $_GET['proceed']) {
             $this->proceed = false;
         }
         if (isset($_GET['lang']) && !in_array($_GET['lang'], array('', 'en', 'all', null))) {
             Avada_Multilingual::set_active_language($_GET['lang']);
         }
         $this->options = get_option(Avada::get_option_name(), array());
         $this->fields = Avada_Options::get_option_fields();
         add_action('admin_init', array($this, 'migrate_page'));
     }
 }
 /**
  * When in Polylang on WPML we're using "all" languages,
  * saved options should be copied to ALL languages.
  *
  * @access public
  * @since 4.0.2
  */
 public function save_all_languages()
 {
     // Get the current language.
     $is_all = Avada::get_language_is_all();
     // If not "all", then early exit.
     if (!$is_all) {
         return;
     }
     // Get the options.
     $option_name = Avada::get_option_name();
     $original_option_name = Avada::get_original_option_name();
     $options = get_option($option_name);
     // Get available languages.
     $all_languages = Avada_Multilingual::get_available_languages();
     // Get default language
     $default_language = Avada_Multilingual::get_default_language();
     if ('en' !== $default_language) {
         update_option($original_option_name . '_' . $default_language, $options);
         update_option($original_option_name, $options);
     }
     foreach ($all_languages as $language) {
         // Skip English.
         if ('' === $language || 'en' === $language) {
             continue;
         }
         // Skip the main language if something other than English.
         // We've already handled that above.
         if ('en' !== $default_language && $default_language === $language) {
             continue;
         }
         // Copy options to the new language.
         update_option($original_option_name . '_' . $language, $options);
     }
 }