_system_schemes) { $this->_system_schemes = $this->_initSystemSchemes(); } return $this->_system_schemes; } /** * Get scheme value. * * Retrieve the scheme value. * * @since 1.0.0 * @access public * * @return string Scheme value. */ public function getSchemeValue() { $scheme_value = get_option('elementor_scheme_' . static::getType()); if (!$scheme_value) { $scheme_value = $this->getDefaultScheme(); update_option('elementor_scheme_' . static::getType(), $scheme_value); } return $scheme_value; } /** * Save scheme. * * Update Elementor scheme in the database, and update the last updated * scheme time. * * @since 1.0.0 * @access public * * @param array $posted */ public function saveScheme(array $posted) { $scheme_value = $this->getSchemeValue(); update_option('elementor_scheme_' . static::getType(), array_replace($scheme_value, array_intersect_key($posted, $scheme_value))); update_option(self::LAST_UPDATED_META, time()); } /** * Get scheme. * * Retrieve the scheme. * * @since 1.0.0 * @access public * * @return array The scheme. */ public function getScheme() { $scheme = []; $titles = $this->getSchemeTitles(); foreach ($this->getSchemeValue() as $scheme_key => $scheme_value) { $scheme[$scheme_key] = [ 'title' => isset($titles[$scheme_key]) ? $titles[$scheme_key] : '', 'value' => $scheme_value, ]; } return $scheme; } /** * Print scheme template. * * Used to generate the scheme template on the editor using Underscore JS * template. * * @since 1.0.0 * @access public */ final public function printTemplate() { ?>