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); } }