_system_schemes ) { $this->_system_schemes = $this->_init_system_schemes(); } return $this->_system_schemes; } /** * Get scheme value. * * Retrieve the scheme value. * * @since 1.0.0 * @access public * * @return string Scheme value. */ public function get_scheme_value() { $scheme_value = get_option( 'elementor_scheme_' . static::get_type() ); if ( ! $scheme_value ) { $scheme_value = $this->get_default_scheme(); update_option( 'elementor_scheme_' . static::get_type(), $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 save_scheme( array $posted ) { $scheme_value = $this->get_scheme_value(); update_option( 'elementor_scheme_' . static::get_type(), 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 string The scheme. */ public function get_scheme() { $scheme = []; $titles = $this->get_scheme_titles(); foreach ( $this->get_scheme_value() 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 print_template() { ?>