function save_advanced($op) { $advanced = op_page_option('color_scheme_advanced'); $advanced = is_array($advanced) ? $advanced : array(); $typography = op_typography_elements(); $current_typography = op_page_option('typography'); if (!is_array($current_typography)) { $current_typography = op_page_config('default_config', 'typography'); if (!is_array($current_typography)) { $current_typography = array(); } } if (!isset($current_typography['color_elements'])) { $current_typography['color_elements'] = array(); } $elements = array('page' => array('link_color' => 'link_color', 'link_hover_color' => 'link_hover_color'), 'footer' => array('text_color' => 'footer_text_color', 'link_color' => 'footer_link_color', 'link_hover_color' => 'footer_link_hover_color'), 'feature_area' => array('text_color' => 'feature_text_color', 'link_color' => 'feature_link_color', 'link_hover_color' => 'feature_link_hover_color')); $options = $this->_advanced_sections(); foreach ($options as $section => $settings) { $vals = op_get_var($op, $section, array()); if (!isset($advanced[$section])) { $advanced[$section] = array(); } $start_color = ''; foreach ($settings['elements'] as $name => $options) { $tmp = op_get_var($vals, $name); //Check if this is a gradient. If so, and the bottom color is empty, set to first color if (strstr($name, '_start')) { $start_color = $tmp; } if (strstr($name, '_end') && empty($tmp)) { $tmp = $start_color; } if (isset($options['text_decoration'])) { $newtmp = array('color' => op_get_var($tmp, 'color'), 'text_decoration' => op_get_var($tmp, 'text_decoration')); } else { $newtmp = $tmp; } $advanced[$section][$name] = $newtmp; if (isset($elements[$section])) { if (isset($elements[$section][$name])) { $current_typography['color_elements'][$elements[$section][$name]] = $newtmp; } } } } op_update_page_option('typography', $current_typography); /*$options = array( 'header' => array('nav_bar_start','nav_bar_end','nav_bar_link'), 'feature_area' => array('feature_start','feature_end'), 'footer' => array('footer_start','footer_end'), 'page' => array('repeating_bg','bg_color','link_color') ); foreach($options as $name => $fields){ $vals = op_get_var($op,$name,array()); if(!isset($advanced[$name])){ $advanced[$name] = array(); } foreach($fields as $f){ $advanced[$name][$f] = op_get_var($vals,$f); } }*/ op_update_page_option('color_scheme_advanced', $advanced); }
<div class="op-bsw-grey-panel-content op-bsw-grey-panel-no-sidebar typography"> <p><?php _e('Choose your theme typography settings below. Please remember some fonts won\'t look right at smaller sizes, you can always click "Reset" to restore the theme defaults at any time', OP_SN); ?> </p> <?php $typography_elements = op_typography_elements(); $fieldname = 'op[sections][typography]'; $id = 'op_sections_typography_'; if (isset($typography_elements['font_elements'])) { ?> <ul> <?php foreach ($typography_elements['font_elements'] as $element => $title) { $help = ''; if (is_array($title)) { $help = op_get_var($title, 'help'); $title = op_get_var($title, 'name'); } $tmp_field = $fieldname . '[' . $element . ']'; $tmp_id = $id . $element . '_'; ?> <li> <label for="<?php echo $tmp_id; ?> size" class="form-title"><?php echo $title; ?> </label> <?php
function save_typography($op) { if (isset($op['default_typography'])) { $op = $op['default_typography']; $typography = op_get_option('default_typography'); $typography = is_array($typography) ? $typography : array(); $typography_elements = op_typography_elements(); $typography_elements['color_elements'] = array('footer_text_color' => '', 'footer_link_color' => '', 'footer_link_hover_color' => '', 'feature_text_color' => '', 'feature_link_color' => '', 'feature_link_hover_color' => ''); $typography['font_elements'] = op_get_var($typography, 'font_elements', array()); $typography['color_elements'] = op_get_var($typography, 'color_elements', array()); if (isset($typography_elements['font_elements'])) { foreach ($typography_elements['font_elements'] as $name => $options) { $tmp = op_get_var($op, $name, op_get_var($typography['font_elements'], $name, array())); $typography['font_elements'][$name] = array('size' => op_get_var($tmp, 'size'), 'font' => op_get_var($tmp, 'font'), 'style' => op_get_var($tmp, 'style'), 'color' => op_get_var($tmp, 'color')); } } if (isset($typography_elements['color_elements'])) { foreach ($typography_elements['color_elements'] as $name => $options) { $typography['color_elements'][$name] = $op[$name]; } } op_update_option('default_typography', $typography); //Check for blanks so we can set the defaults. //Otherwise a refresh would be necessary to see the defaults. // op_set_font_defaults(); } }
function save_typography($op) { if (isset($op['typography'])) { $op = $op['typography']; $typography = op_get_option('typography'); $typography = is_array($typography) ? $typography : array(); $typography_elements = op_typography_elements(); $typography['font_elements'] = op_get_var($typography, 'font_elements', array()); $typography['color_elements'] = op_get_var($typography, 'font_elements', array()); if (isset($typography_elements['font_elements'])) { foreach ($typography_elements['font_elements'] as $name => $options) { $tmp = op_get_var($op, $name, op_get_var($typography['font_elements'], $name, array())); $typography['font_elements'][$name] = array('size' => op_get_var($tmp, 'size'), 'font' => op_get_var($tmp, 'font'), 'style' => op_get_var($tmp, 'style'), 'color' => op_get_var($tmp, 'color')); } } if (isset($typography_elements['color_elements'])) { foreach ($typography_elements['color_elements'] as $name => $options) { $typography['color_elements'][$name] = op_get_var($op, $name, op_get_var($typography['color_elements'], $name, array())); } } op_update_option('typography', $typography); } }
function _save_typography($update = false) { $typography = array(); $elements = array('link_color' => array('page', 'link_color'), 'link_hover_color' => array('page', 'link_hover_color'), 'footer_text_color' => array('footer', 'text_color'), 'footer_link_color' => array('footer', 'link_color'), 'footer_link_hover_color' => array('footer', 'link_hover_color'), 'feature_text_color' => array('feature_area', 'text_color'), 'feature_link_color' => array('feature_area', 'link_color'), 'feature_link_hover_color' => array('feature_area', 'link_hover_color')); $color_scheme_advanced = op_default_page_option('color_scheme_advanced'); $color_scheme_advanced = is_array($color_scheme_advanced) ? $color_scheme_advanced : array(); if (($type = op_post('op', 'sections', 'typography')) && is_array($type)) { $typography_elements = op_typography_elements(); $typography['font_elements'] = array(); $typography['color_elements'] = array(); if (isset($typography_elements['font_elements'])) { foreach ($typography_elements['font_elements'] as $name => $options) { $tmp = op_get_var($type, $name, array()); $typography['font_elements'][$name] = array('size' => op_get_var($tmp, 'size'), 'font' => op_get_var($tmp, 'font'), 'style' => op_get_var($tmp, 'style'), 'color' => op_get_var($tmp, 'color')); } } if (isset($typography_elements['color_elements'])) { foreach ($typography_elements['color_elements'] as $name => $options) { $val = op_get_var($type, $name, ''); $color = op_get_var($val, 'color'); $color_test = str_replace('#', '', $color); if (empty($color_test) && !is_array($val)) { $color = $val; } if (is_array($val)) { $newtmp = array('color' => $color, 'text_decoration' => op_get_var($val, 'text_decoration')); } else { $newtmp = $val; } if ($update) { if (isset($elements[$name])) { $tmp = $elements[$name]; if (!isset($color_scheme_advanced[$tmp[0]])) { $color_scheme_advanced[$tmp[0]] = array(); } $color_scheme_advanced[$tmp[0]][$tmp[1]] = $newtmp; } } $typography['color_elements'][$name] = $newtmp; } } } $color_scheme_advanced['feature_area']['text_color'] = $typography['color_elements']['feature_text_color']; $color_scheme_advanced['footer']['footer_text_color'] = $typography['color_elements']['footer_text_color']; $color_scheme_advanced['footer']['text_color'] = $typography['color_elements']['footer_text_color']; if ($update) { //op_update_page_option('color_scheme_advanced',$color_scheme_advanced); } return $typography; }