public static function register($wp_customize) { ThemetonTheme_Customize::init_data(); global $color_options; $priority = 300; foreach ($color_options as $color_option) { /* Create Section */ $wp_customize->add_section($color_option['id'], array('title' => $color_option['title'], 'priority' => $priority, 'description' => isset($color_option['description']) ? $color_option['description'] : '')); /* Create Items */ $items = $color_option['items']; $order = 0; foreach ($items as $item) { $wp_customize->add_setting($item['id'], array('default' => $item['default'], 'type' => 'theme_mod', 'transport' => 'postMessage', 'capability' => 'edit_theme_options')); if (isset($item['type'])) { if ($item['type'] == 'image') { $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, $item['id'], array('label' => $item['label'], 'section' => $color_option['id'], 'settings' => $item['id'], 'priority' => $order))); } else { $choices = isset($item['choices']) ? $item['choices'] : array(); $wp_customize->add_control($item['id'], array('label' => $item['label'], 'section' => $color_option['id'], 'settings' => $item['id'], 'type' => $item['type'], 'choices' => $choices, 'priority' => $order)); } } else { $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, $item['id'], array('label' => $item['label'], 'section' => $color_option['id'], 'settings' => $item['id'], 'priority' => $order))); } $order++; } unset($order); $priority++; } }
/** * Process options data and build option fields * * @uses get_theme_mod() * * @access public * @since 1.0.0 * * @return array */ public static function optionsframework_machine($options) { global $smof_output, $smof_details, $smof_data; if (empty($options)) { return; } if (empty($smof_data)) { $smof_data = of_get_options(); } $data = $smof_data; $defaults = array(); $counter = 0; $menu = ''; $output = ''; $update_data = false; do_action('optionsframework_machine_before', array('options' => $options, 'smof_data' => $smof_data)); if ($smof_output != "") { $output .= $smof_output; $smof_output = ""; } foreach ($options as $value) { // sanitize option if ($value['type'] != "heading") { $value = self::sanitize_option($value); } $counter++; $val = ''; //create array of defaults if ($value['type'] == 'multicheck') { if (is_array($value['std'])) { foreach ($value['std'] as $i => $key) { $defaults[$value['id']][$key] = true; } } else { $defaults[$value['id']][$value['std']] = true; } } else { if (isset($value['id'])) { $defaults[$value['id']] = $value['std']; } } /* condition start */ if (!empty($smof_data) || !empty($data)) { if (array_key_exists('id', $value) && !isset($smof_data[$value['id']])) { $smof_data[$value['id']] = $value['std']; if ($value['type'] == "checkbox" && $value['std'] == 0) { $smof_data[$value['id']] = 0; } else { $update_data = true; } } if (array_key_exists('id', $value) && !isset($smof_details[$value['id']])) { $smof_details[$value['id']] = $smof_data[$value['id']]; } //Start Heading if ($value['type'] != "heading") { $class = ''; if (isset($value['class'])) { $class = $value['class']; } //hide items in checkbox group $fold = ''; if (array_key_exists("fold", $value)) { if (isset($smof_data[$value['fold']]) && $smof_data[$value['fold']]) { $fold = "f_" . $value['fold'] . " "; } else { $fold = "f_" . $value['fold'] . " temphide "; } } $output .= '<div id="section-' . $value['id'] . '" class="' . $fold . 'section section-' . $value['type'] . ' ' . $class . '">' . "\n"; //only show header if 'name' value exists if ($value['name']) { $output .= '<h3 class="heading">' . $value['name'] . '</h3>' . "\n"; } $output .= '<div class="option">' . "\n" . '<div class="controls">' . "\n"; } //End Heading //if (!isset($smof_data[$value['id']]) && $value['type'] != "heading") // continue; //switch statement to handle various options type switch ($value['type']) { //text input case 'text': $t_value = ''; $t_value = stripslashes($smof_data[$value['id']]); $mini = ''; if (!isset($value['mod'])) { $value['mod'] = ''; } if ($value['mod'] == 'mini') { $mini = 'mini'; } $output .= '<input class="of-input ' . $mini . '" name="' . $value['id'] . '" id="' . $value['id'] . '" type="' . $value['type'] . '" value="' . $t_value . '" />'; break; //select option //select option case 'select': $mini = ''; if (!isset($value['mod'])) { $value['mod'] = ''; } if ($value['mod'] == 'mini') { $mini = 'mini'; } $multiple = ''; if (!isset($value['multiple'])) { $value['multiple'] = false; } if ($value['multiple'] == true) { $multiple = 'multiple'; } $output .= '<div class="select_wrapper ' . $mini . '">'; $output .= '<select class="select of-input" name="' . $value['id'] . '" id="' . $value['id'] . '" ' . $multiple . '>'; foreach ($value['options'] as $select_ID => $option) { $theValue = $option; if (!is_numeric($select_ID)) { $theValue = $select_ID; } $output .= '<option id="' . $select_ID . '" value="' . $theValue . '" ' . selected($smof_data[$value['id']], $theValue, false) . ' />' . $option . '</option>'; } $output .= '</select></div>'; break; //textarea option //textarea option case 'textarea': $cols = '8'; $ta_value = ''; if (isset($value['options'])) { $ta_options = $value['options']; if (isset($ta_options['cols'])) { $cols = $ta_options['cols']; } } $ta_value = stripslashes($smof_data[$value['id']]); $output .= '<textarea class="of-input" name="' . $value['id'] . '" id="' . $value['id'] . '" cols="' . $cols . '" rows="8">' . $ta_value . '</textarea>'; break; //radiobox option //radiobox option case "radio": $checked = isset($smof_data[$value['id']]) ? checked($smof_data[$value['id']], $options, false) : ''; foreach ($value['options'] as $option => $name) { $output .= '<input class="of-input of-radio" name="' . $value['id'] . '" type="radio" value="' . $option . '" ' . checked($smof_data[$value['id']], $option, false) . ' /><label class="radio">' . $name . '</label><br/>'; } break; //checkbox option //checkbox option case 'checkbox': if (!isset($smof_data[$value['id']])) { $smof_data[$value['id']] = 0; } $fold = ''; if (array_key_exists("folds", $value)) { $fold = "fld "; } $output .= '<input type="hidden" class="' . $fold . 'checkbox of-input" name="' . $value['id'] . '" id="' . $value['id'] . '" value="0"/>'; $output .= '<input type="checkbox" class="' . $fold . 'checkbox of-input" name="' . $value['id'] . '" id="' . $value['id'] . '" value="1" ' . checked($smof_data[$value['id']], 1, false) . ' />'; break; //multiple checkbox option //multiple checkbox option case 'multicheck': $multi_stored = isset($smof_data[$value['id']]) ? $smof_data[$value['id']] : ""; foreach ($value['options'] as $key => $option) { $mstored_value = ''; $mstored_value = isset($multi_stored[$key]) ? $multi_stored[$key] : ''; $of_key_string = $value['id'] . '_' . $key; $output .= '<input type="checkbox" class="checkbox of-input" name="' . $value['id'] . '[' . $key . ']' . '" id="' . $of_key_string . '" value="1" ' . checked($mstored_value, 1, false) . ' /><label class="multicheck" for="' . $of_key_string . '">' . $option . '</label><br />'; } break; // Color picker // Color picker case "color": $default_color = ''; if (isset($value['std'])) { $default_color = ' data-default-color="' . $value['std'] . '" '; } $output .= '<input name="' . $value['id'] . '" id="' . $value['id'] . '" class="of-color" type="text" value="' . $smof_data[$value['id']] . '"' . $default_color . ' />'; break; //typography option //typography option case 'typography': $typography_stored = isset($smof_data[$value['id']]) ? $smof_data[$value['id']] : $value['std']; /* Font Size */ if (isset($typography_stored['size'])) { $output .= '<div class="select_wrapper typography-size" original-title="Font size">'; $output .= '<select class="of-typography of-typography-size select" name="' . $value['id'] . '[size]" id="' . $value['id'] . '_size">'; for ($i = 9; $i < 20; $i++) { $test = $i . 'px'; $output .= '<option value="' . $i . 'px" ' . selected($typography_stored['size'], $test, false) . '>' . $i . 'px</option>'; } $output .= '</select></div>'; } /* Line Height */ if (isset($typography_stored['height'])) { $output .= '<div class="select_wrapper typography-height" original-title="Line height">'; $output .= '<select class="of-typography of-typography-height select" name="' . $value['id'] . '[height]" id="' . $value['id'] . '_height">'; for ($i = 20; $i < 38; $i++) { $test = $i . 'px'; $output .= '<option value="' . $i . 'px" ' . selected($typography_stored['height'], $test, false) . '>' . $i . 'px</option>'; } $output .= '</select></div>'; } /* Font Face */ if (isset($typography_stored['face'])) { $output .= '<div class="select_wrapper typography-face" original-title="Font family">'; $output .= '<select class="of-typography of-typography-face select" name="' . $value['id'] . '[face]" id="' . $value['id'] . '_face">'; $faces = array('arial' => 'Arial', 'verdana' => 'Verdana, Geneva', 'trebuchet' => 'Trebuchet', 'georgia' => 'Georgia', 'times' => 'Times New Roman', 'tahoma' => 'Tahoma, Geneva', 'palatino' => 'Palatino', 'helvetica' => 'Helvetica'); foreach ($faces as $i => $face) { $output .= '<option value="' . $i . '" ' . selected($typography_stored['face'], $i, false) . '>' . $face . '</option>'; } $output .= '</select></div>'; } /* Font Weight */ if (isset($typography_stored['style'])) { $output .= '<div class="select_wrapper typography-style" original-title="Font style">'; $output .= '<select class="of-typography of-typography-style select" name="' . $value['id'] . '[style]" id="' . $value['id'] . '_style">'; $styles = array('normal' => 'Normal', 'italic' => 'Italic', 'bold' => 'Bold', 'bold italic' => 'Bold Italic'); foreach ($styles as $i => $style) { $output .= '<option value="' . $i . '" ' . selected($typography_stored['style'], $i, false) . '>' . $style . '</option>'; } $output .= '</select></div>'; } /* Font Color */ if (isset($typography_stored['color'])) { $output .= '<div id="' . $value['id'] . '_color_picker" class="colorSelector typography-color"><div style="background-color: ' . $typography_stored['color'] . '"></div></div>'; $output .= '<input class="of-color of-typography of-typography-color" original-title="Font color" name="' . $value['id'] . '[color]" id="' . $value['id'] . '_color" type="text" value="' . $typography_stored['color'] . '" />'; } break; //border option //border option case 'border': /* Border Width */ $border_stored = $smof_data[$value['id']]; $output .= '<div class="select_wrapper border-width">'; $output .= '<select class="of-border of-border-width select" name="' . $value['id'] . '[width]" id="' . $value['id'] . '_width">'; for ($i = 0; $i < 21; $i++) { $output .= '<option value="' . $i . '" ' . selected($border_stored['width'], $i, false) . '>' . $i . '</option>'; } $output .= '</select></div>'; /* Border Style */ $output .= '<div class="select_wrapper border-style">'; $output .= '<select class="of-border of-border-style select" name="' . $value['id'] . '[style]" id="' . $value['id'] . '_style">'; $styles = array('none' => 'None', 'solid' => 'Solid', 'dashed' => 'Dashed', 'dotted' => 'Dotted'); foreach ($styles as $i => $style) { $output .= '<option value="' . $i . '" ' . selected($border_stored['style'], $i, false) . '>' . $style . '</option>'; } $output .= '</select></div>'; /* Border Color */ $output .= '<div id="' . $value['id'] . '_color_picker" class="colorSelector"><div style="background-color: ' . $border_stored['color'] . '"></div></div>'; $output .= '<input class="of-color of-border of-border-color" name="' . $value['id'] . '[color]" id="' . $value['id'] . '_color" type="text" value="' . $border_stored['color'] . '" />'; break; //images checkbox - use image as checkboxes //images checkbox - use image as checkboxes case 'images': $i = 0; $select_value = isset($smof_data[$value['id']]) ? $smof_data[$value['id']] : ''; foreach ($value['options'] as $key => $option) { $i++; $checked = ''; $selected = ''; if (NULL != checked($select_value, $key, false)) { $checked = checked($select_value, $key, false); $selected = 'of-radio-img-selected'; } $output .= '<span>'; $output .= '<input type="radio" id="of-radio-img-' . $value['id'] . $i . '" class="checkbox of-radio-img-radio" value="' . $key . '" name="' . $value['id'] . '" ' . $checked . ' />'; $output .= '<div class="of-radio-img-label">' . $key . '</div>'; $output .= '<img src="' . $option . '" alt="" class="of-radio-img-img ' . $selected . '" onClick="document.getElementById(\'of-radio-img-' . $value['id'] . $i . '\').checked = true;" />'; $output .= '</span>'; } break; //info (for small intro box etc) //info (for small intro box etc) case "info": $info_text = $value['std']; $output .= '<div class="of-info">' . $info_text . '</div>'; break; //display a single image //display a single image case "image": $src = $value['std']; $output .= '<img src="' . $src . '">'; break; //tab heading //tab heading case 'heading': if ($counter >= 2) { $output .= '</div>' . "\n"; } //custom icon $icon = ''; if (isset($value['icon'])) { $icon = ' style="background-image: url(' . $value['icon'] . ');"'; } $header_class = str_replace(' ', '', strtolower($value['name'])); $jquery_click_hook = str_replace(' ', '', strtolower($value['name'])); $jquery_click_hook = "of-option-" . trim(preg_replace('/ +/', '', preg_replace('/[^A-Za-z0-9 ]/', '', urldecode(html_entity_decode(strip_tags($jquery_click_hook)))))); $menu .= '<li class="' . $header_class . '"><a title="' . $value['name'] . '" href="#' . $jquery_click_hook . '"' . $icon . '>' . $value['name'] . '</a></li>'; $output .= '<div class="group" id="' . $jquery_click_hook . '"><h2>' . $value['name'] . '</h2>' . "\n"; break; //drag & drop slide manager //drag & drop slide manager case 'slider': $output .= '<div class="slider"><ul id="' . $value['id'] . '">'; $slides = $smof_data[$value['id']]; $count = count($slides); if ($count < 2) { $oldorder = 1; $order = 1; $output .= Options_Machine::optionsframework_slider_function($value['id'], $value['std'], $oldorder, $order); } else { $i = 0; foreach ($slides as $slide) { $oldorder = $slide['order']; $i++; $order = $i; $output .= Options_Machine::optionsframework_slider_function($value['id'], $value['std'], $oldorder, $order); } } $output .= '</ul>'; $output .= '<a href="#" class="button slide_add_button">Add New Slide</a></div>'; break; //drag & drop block manager //drag & drop block manager case 'sorter': // Make sure to get list of all the default blocks first $all_blocks = $value['std']; $temp = array(); // holds default blocks $temp2 = array(); // holds saved blocks foreach ($all_blocks as $blocks) { $temp = array_merge($temp, $blocks); } $sortlists = isset($data[$value['id']]) && !empty($data[$value['id']]) ? $data[$value['id']] : $value['std']; foreach ($sortlists as $sortlist) { $temp2 = array_merge($temp2, $sortlist); } // now let's compare if we have anything missing foreach ($temp as $k => $v) { if (!array_key_exists($k, $temp2)) { $sortlists['disabled'][$k] = $v; } } // now check if saved blocks has blocks not registered under default blocks foreach ($sortlists as $key => $sortlist) { foreach ($sortlist as $k => $v) { if (!array_key_exists($k, $temp)) { unset($sortlist[$k]); } } $sortlists[$key] = $sortlist; } // assuming all sync'ed, now get the correct naming for each block foreach ($sortlists as $key => $sortlist) { foreach ($sortlist as $k => $v) { $sortlist[$k] = $temp[$k]; } $sortlists[$key] = $sortlist; } $output .= '<div id="' . $value['id'] . '" class="sorter">'; if ($sortlists) { foreach ($sortlists as $group => $sortlist) { $output .= '<ul id="' . $value['id'] . '_' . $group . '" class="sortlist_' . $value['id'] . '">'; $output .= '<h3>' . $group . '</h3>'; foreach ($sortlist as $key => $list) { $output .= '<input class="sorter-placebo" type="hidden" name="' . $value['id'] . '[' . $group . '][placebo]" value="placebo">'; if ($key != "placebo") { $output .= '<li id="' . $key . '" class="sortee">'; $output .= '<input class="position" type="hidden" name="' . $value['id'] . '[' . $group . '][' . $key . ']" value="' . $list . '">'; $output .= $list; $output .= '</li>'; } } $output .= '</ul>'; } } $output .= '</div>'; break; //background images option //background images option case 'tiles': $i = 0; $select_value = isset($smof_data[$value['id']]) && !empty($smof_data[$value['id']]) ? $smof_data[$value['id']] : ''; if (is_array($value['options'])) { foreach ($value['options'] as $key => $option) { $i++; $checked = ''; $selected = ''; if (NULL != checked($select_value, $option, false)) { $checked = checked($select_value, $option, false); $selected = 'of-radio-tile-selected'; } $output .= '<span>'; $output .= '<input type="radio" id="of-radio-tile-' . $value['id'] . $i . '" class="checkbox of-radio-tile-radio" value="' . $option . '" name="' . $value['id'] . '" ' . $checked . ' />'; $output .= '<div class="of-radio-tile-img ' . $selected . '" style="background: url(' . $option . ')" onClick="document.getElementById(\'of-radio-tile-' . $value['id'] . $i . '\').checked = true;"></div>'; $output .= '</span>'; } } break; //backup and restore options data //backup and restore options data case 'backup': $instructions = $value['desc']; $backup = of_get_options(BACKUPS); $init = of_get_options('smof_init'); if (!isset($backup['backup_log'])) { $log = 'No backups yet'; } else { $log = $backup['backup_log']; } $output .= '<div class="backup-box">'; $output .= '<div class="instructions">' . $instructions . "\n"; $output .= '<p><strong>' . __('Last Backup : ', 'themeton') . '<span class="backup-log">' . $log . '</span></strong></p></div>' . "\n"; $output .= '<a href="#" id="of_backup_button" class="button" title="Backup Options">Backup Options</a>'; $output .= '<a href="#" id="of_restore_button" class="button" title="Restore Options">Restore Options</a>'; $output .= '</div>'; break; //export or import data between different installs //export or import data between different installs case 'transfer': global $color_options; ThemetonTheme_Customize::init_data(); $mods_array = array(); foreach ($color_options as $color_option) { $items = $color_option['items']; foreach ($items as $item) { $mods_array[$item['id']] = get_theme_mod($item['id']); } } $mods_array = array_merge($smof_data, $mods_array); $instructions = $value['desc']; $output .= '<textarea id="export_data" rows="8">' . base64_encode(serialize($mods_array)) . '</textarea>' . "\n"; $output .= '<a href="#" id="of_import_button" class="button" title="Restore Options">Import Options</a>'; break; // google font field // google font field case 'select_google_font': $output .= '<div class="select_wrapper">'; $output .= '<select class="select of-input google_font_select" name="' . $value['id'] . '" id="' . $value['id'] . '">'; foreach ($value['options'] as $select_key => $option) { $output .= '<option value="' . $select_key . '" ' . selected(isset($smof_data[$value['id']]) ? $smof_data[$value['id']] : "", $option, false) . ' />' . $option . '</option>'; } $output .= '</select></div>'; if (isset($value['preview']['text'])) { $g_text = $value['preview']['text']; } else { $g_text = '0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz'; } if (isset($value['preview']['size'])) { $g_size = 'style="font-size: ' . $value['preview']['size'] . ';"'; } else { $g_size = ''; } $hide = " hide"; if ($smof_data[$value['id']] != "none" && $smof_data[$value['id']] != "") { $hide = ""; } $output .= '<p class="' . $value['id'] . '_ggf_previewer google_font_preview' . $hide . '" ' . $g_size . '>' . $g_text . '</p>'; break; //JQuery UI Slider //JQuery UI Slider case 'sliderui': $s_val = $s_min = $s_max = $s_step = $s_edit = ''; //no errors, please $s_val = stripslashes($smof_data[$value['id']]); if (!isset($value['min'])) { $s_min = '0'; } else { $s_min = $value['min']; } if (!isset($value['max'])) { $s_max = $s_min + 1; } else { $s_max = $value['max']; } if (!isset($value['step'])) { $s_step = '1'; } else { $s_step = $value['step']; } if (!isset($value['edit'])) { $s_edit = ' readonly="readonly"'; } else { $s_edit = ''; } if ($s_val == '') { $s_val = $s_min; } //values $s_data = 'data-id="' . $value['id'] . '" data-val="' . $s_val . '" data-min="' . $s_min . '" data-max="' . $s_max . '" data-step="' . $s_step . '"'; //html output $output .= '<input type="text" name="' . $value['id'] . '" id="' . $value['id'] . '" value="' . $s_val . '" class="mini" ' . $s_edit . ' />'; $output .= '<div id="' . $value['id'] . '-slider" class="smof_sliderui" style="margin-left: 7px;" ' . $s_data . '></div>'; break; case 'sidebar': $_id = strip_tags(strtolower($value['id'])); $int = ''; //$int = optionsframework_mlu_get_silentpost($_id); $output .= '<div class="slider"><ul id="' . $value['id'] . '" rel="' . $int . '">'; $slides = isset($data[$value['id']]) ? $data[$value['id']] : ''; $count = count($slides); if ($count < 2) { $oldorder = 1; $order = 1; $output .= Options_Machine::optionsframework_sidebar_function($value['id'], $value['std'], $oldorder, $order, $int); } else { $i = 0; foreach ($slides as $slide) { $oldorder = $slide['order']; $i++; $order = $i; $output .= Options_Machine::optionsframework_sidebar_function($value['id'], $value['std'], $oldorder, $order, $int); } } $output .= '</ul>'; $output .= '<a href="#" class="button sidebar_add_button">Add New Sidebar</a>'; $output .= '</div>'; break; case 'adsense': $_id = strip_tags(strtolower($value['id'])); $int = ''; //$int = optionsframework_mlu_get_silentpost($_id); $output .= '<div class="slider"><ul id="' . $value['id'] . '" rel="' . $int . '">'; $slides = isset($data[$value['id']]) ? $data[$value['id']] : 0; $count = count($slides); if ($count < 2) { $oldorder = 1; $order = 1; $output .= Options_Machine::optionsframework_ads_function($value['id'], $value['std'], $oldorder, $order, $int); } else { $i = 0; foreach ($slides as $slide) { $oldorder = $slide['order']; $i++; $order = $i; $output .= Options_Machine::optionsframework_ads_function($value['id'], $value['std'], $oldorder, $order, $int); } } $output .= '</ul>'; $output .= '<a href="#" class="button ads_add_button">Add New Ads</a></div>'; break; //Switch option //Switch option case 'switch': if (!isset($smof_data[$value['id']])) { $smof_data[$value['id']] = 0; } $fold = ''; if (array_key_exists("folds", $value)) { $fold = "s_fld "; } $cb_enabled = $cb_disabled = ''; //no errors, please //Get selected if ($smof_data[$value['id']] == 1) { $cb_enabled = ' selected'; $cb_disabled = ''; } else { $cb_enabled = ''; $cb_disabled = ' selected'; } //Label ON if (!isset($value['on'])) { $on = "On"; } else { $on = $value['on']; } //Label OFF if (!isset($value['off'])) { $off = "Off"; } else { $off = $value['off']; } $output .= '<p class="switch-options">'; $output .= '<label class="' . $fold . 'cb-enable' . $cb_enabled . '" data-id="' . $value['id'] . '"><span>' . $on . '</span></label>'; $output .= '<label class="' . $fold . 'cb-disable' . $cb_disabled . '" data-id="' . $value['id'] . '"><span>' . $off . '</span></label>'; $output .= '<input type="hidden" class="' . $fold . 'checkbox of-input" name="' . $value['id'] . '" id="' . $value['id'] . '" value="0"/>'; $output .= '<input type="checkbox" id="' . $value['id'] . '" class="' . $fold . 'checkbox of-input main_checkbox" name="' . $value['id'] . '" value="1" ' . checked($smof_data[$value['id']], 1, false) . ' />'; $output .= '</p>'; break; // Uploader 3.5 // Uploader 3.5 case "upload": case "media": if (!isset($value['mod'])) { $value['mod'] = ''; } $u_val = ''; if ($smof_data[$value['id']]) { $u_val = stripslashes($smof_data[$value['id']]); } $output .= Options_Machine::optionsframework_media_uploader_function($value['id'], $u_val, $value['mod']); break; //text input //text input case 'button': $href = 'javascript:;'; $href = isset($value['href']) ? $value['href'] : $href; $btn_class = 'button'; $btn_class = isset($value['mode']) && $value['mode'] == 'primary' ? 'button-primary' : $btn_class; $output .= '<a href="' . $href . '" class="' . $btn_class . '" name="' . $value['id'] . '" id="' . $value['id'] . '">' . $value['name'] . '</a>'; break; //text input //text input case 'file_importer': foreach ($value['options'] as $option => $name) { $output .= '<input class="of-input of-radio" name="' . $value['id'] . '" type="radio" value="' . $option . '" ' . checked($smof_data[$value['id']], $option, false) . ' /><label class="radio">' . $name . '</label><br/>'; } $output .= '<br><a href="javascript:;" class="button-primary" id="themeton_file_importer">Import Selected File</a>'; break; } do_action('optionsframework_machine_loop', array('options' => $options, 'smof_data' => $smof_data, 'defaults' => $defaults, 'counter' => $counter, 'menu' => $menu, 'output' => $output, 'value' => $value)); if ($smof_output != "") { $output .= $smof_output; $smof_output = ""; } //description of each option if ($value['type'] != 'heading') { if (!isset($value['desc'])) { $explain_value = ''; } else { $explain_value = '<div class="explain">' . $value['desc'] . '</div>' . "\n"; } $output .= '</div>' . $explain_value . "\n"; $output .= '<div class="clear"> </div></div></div>' . "\n"; } } /* condition empty end */ } if ($update_data == true) { of_save_options($smof_data); } $output .= '</div>'; do_action('optionsframework_machine_after', array('options' => $options, 'smof_data' => $smof_data, 'defaults' => $defaults, 'counter' => $counter, 'menu' => $menu, 'output' => $output, 'value' => $value)); if ($smof_output != "") { $output .= $smof_output; $smof_output = ""; } return array($output, $menu, $defaults); }