public static function show_setting_msgs($plugslug = '') { // if( ! isset($_GET['settings-updated']) || empty($_POST) ) return; if (empty($plugslug)) { $plugslug = Skeleteon_Generic::get_plug_var('plug_slug'); } $setting_msgs = get_transient($plugslug . '_setting_msgs'); if (!$setting_msgs) { return; } $ret = '<div class="dsms_alertwrap setting_msg_wrap">'; $ret .= '<input id="dismiss_cbox_setting_msgs" type="checkbox" class="cbox_dismiss" role="button">'; $ret .= '<label class="cbox_dismiss" for="dismiss_cbox_setting_msgs"><span class="btn btn-primary btn-xs">X ' . __('Dismiss') . '</span></label>'; $ret .= '<div class="cbt_cont alert alert-success"> <i class="fa fa-check-square-o"></i> Settings saved succesfully. <br />'; if ($setting_msgs) { $ret .= Skeleteon_Interface::gen_field('exp_setting_msgs', array('type' => 'togglebox_start', 'label' => 'Additional Details', 'std' => true), true); foreach ($setting_msgs as $k => $msgs) { $ret .= '<div class="alert alert-' . $k . ' pad"><ul>'; foreach ($msgs as $msg) { $ret .= '<li>' . $msg . '</li>'; } $ret .= '</ul></div>'; } $ret .= Skeleteon_Interface::gen_field(null, array('type' => 'togglebox_end'), true); } $ret .= '</div></div>'; echo $ret; // Delete messages upon showing. delete_transient($plugslug . '_setting_msgs'); }
function sanitize_typography($input, $k) { $output = wp_parse_args($input, array('face' => '', 'style' => '', 'size' => '', 'color' => '', 'subset' => '')); // var_dump($input,$output,$k); // die("111"); // Check Google font variant for sanity. We should already have a google font transient in place. If we dont, just fall back to regular $rt = Skeleteon_Generic::get_plug_var('reg_transients'); $gf_trans_name = $rt['google_fonts']; $google_font_faces = get_transient($gf_trans_name); if ($google_font_faces) { $is_google_font = array_key_exists($input['face'], $google_font_faces); if (!$is_google_font) { unset($output['subset']); } if ($is_google_font) { $fonts_styles = $google_font_faces[$input['face']]['variants']; $fonts_subsets = $google_font_faces[$input['face']]['subsets']; // Remove subset if the font doesnt have it. foreach ($input['subset'] as $isk => $isub) { if (!in_array($isub, $fonts_subsets)) { unset($output['subset'][$isk]); } } if (!in_array($input['style'], $fonts_styles)) { $output['style'] = 'regular'; } } // var_dump($fonts_styles); /* if ( is_array( $input ) ) { foreach ( $input as $v ) { $output[] = $v; } }*/ // if( ! in_array($input['style'],$fonts_styles) ) $output['style'] = 'regular'; } else { $output['style'] = 'normal'; } // var_dump($input,$output,$k); // die("111"); /* if ( isset( $option['options']['faces'] ) && isset( $input['face'] ) ) { if ( !( array_key_exists( $input['face'], $option['options']['faces'] ) ) ) { $output['face'] = ''; } } else { $output['face'] = apply_filters( 'of_font_face', $output['face'] ); }*/ // $output['size'] = apply_filters( 'ske_font_size', $output['size'] ); // $output['style'] = apply_filters( 'ske_font_style', $output['style'] ); return $output; }
static function gen_uploader($settk, $_id, $_value, $_desc = '', $_name = '', $lang_slug = '') { $output = ''; $id = ''; $class = ''; $int = ''; $value = ''; $name = ''; $id = strip_tags(strtolower($_id)); if (empty($lang_slug)) { $lang_slug = Skeleteon_Generic::get_plug_var('lang_slug'); } // If a value is passed and we don't have a stored value, use the value that's passed through. if ($_value != '' && $value == '') { $value = $_value; } if ($_name != '') { $name = $_name; } else { $name = $settk . '[' . $id . ']'; } if ($value) { $class = ' has-file'; } // var_dump($name); $output .= '<input id="' . $id . '" class="upload' . $class . '" type="text" name="' . $name . '" value="' . $value . '" placeholder="' . __('No file chosen', $lang_slug) . '" />' . "\n"; if (function_exists('wp_enqueue_media')) { if ($value == '') { $output .= '<input id="upload-' . $id . '" class="upload-button button" type="button" value="' . __('Upload', $lang_slug) . '" />' . "\n"; } else { $output .= '<input id="remove-' . $id . '" class="remove-file button" type="button" value="' . __('Remove', $lang_slug) . '" />' . "\n"; } } else { $output .= '<p><i>' . __('Upgrade your version of WordPress for full media support.', $lang_slug) . '</i></p>'; } if ($_desc != '') { $output .= '<span class="of-metabox-desc">' . $_desc . '</span>' . "\n"; } // add togglebox for preview // _eo-todo: remove hide preview if no pic $output .= '<input id="' . esc_attr($id) . '_prev_cboxt" type="checkbox" '; $output .= 'class="cbox_toggle_i upltogi" role="button"><label class="cbox_toggle uplprevtoglbl" for="' . esc_attr($id) . '_prev_cboxt">'; $output .= '<span class="label label-success cbt_s">+ Show Preview</span><span class="label label-default cbt_h">— Hide Preview</span>'; $output .= '</label>'; $output .= '<div class="cbt_cont togglebox screenshot uplprev" id="' . $id . '-image">' . "\n"; if ($value != '') { $remove = '<a class="uplrem remove-image btn btn-danger btn-xs">X Remove</a>'; $image = preg_match('/(^.*\\.jpg|jpeg|png|gif|ico*)/i', $value); if ($image) { $output .= '<img src="' . $value . '" alt="" class="img-responsive" />' . $remove; } else { $parts = explode("/", $value); for ($i = 0; $i < sizeof($parts); ++$i) { $title = $parts[$i]; } // No output preview if it's not an image. $output .= ''; // Standard generic output if it's not an image. $title = __('View File', $lang_slug); $output .= '<div class="no-image"><span class="file_link"><a href="' . $value . '" target="_blank" rel="external">' . $title . '</a></span></div>'; } } $output .= '</div>' . "\n"; return $output; }
<?php if (!defined('ABSPATH')) { exit; } //$setting_key = $this->vars['plug_slug'].'_demo_settings'; $settings_key = str_replace(array("render-metabox-", "-"), array("", "_"), basename(__FILE__, '.php')); $plugslug = Skeleteon_Generic::get_plug_var('plug_slug'); $full_settings_key = $plugslug . '_' . $settings_key; //var_dump($settings_key); ?> <form method="post" action="options.php"> <?php settings_fields($full_settings_key); // // do_settings_sections( $settings_key ); // get_settings($optk=null,$section=null,$sett_key=null,$def_pairs=false,$ign=true,$sanit=true) { //$options = Skeleteon_Generic::get_settings('demo_settings'); $options = Skeleteon_Generic::get_settings_for($settings_key); if ($options) { foreach ($options as $key => $field) { Skeleteon_Interface::gen_field($key, $field, $full_settings_key); } } submit_button(__('Save Changes'), 'primary', '', false); submit_button(__('Restore'), 'secondary', 'reset_settings', false); $storedvals = get_option($full_settings_key); Skeleteon_Generic::vd($storedvals, true); ?> </form>
function sync_settings() { // var_dump(self::$vars); // var_dump(Skeleteon_Generic::get_plug_var('all_settings')); $all_settings = Skeleteon_Generic::get_plug_var('all_settings'); $plugslug = self::$vars['plug_slug']; $sync_msg = ''; foreach ($all_settings as $sett_k => $settings) { $default_pairs = array(); $set_optk = $plugslug . '_' . $sett_k; $stored_pairs = get_option($set_optk); foreach ($settings as $sect => $options) { // var_dump($sect,$options); // If is section foreach ($options as $sk => $option) { if (is_int($sk)) { continue; } $std = array_key_exists('std', $option) ? $option['std'] : ''; // var_dump($sk, $option); $default_pairs[$sk] = $std; } } // var_dump($default_pairs,$stored_pairs); // var_dump($settings); if ($stored_pairs) { var_dump($stored_pairs); // var_dump($default_pairs,$stored_pairs); // var_dump($sett_k); // var_dump($default_pairs,$stored_pairs); $new_opts = array_diff_key($default_pairs, $stored_pairs); $old_opts = array_diff_key($stored_pairs, $default_pairs); if (!empty($new_opts) || !empty($old_opts)) { if ($new_opts) { $sync_msg .= count($new_opts) . ' new options found for <code>' . $sett_k . '</code><br />'; } if ($old_opts) { $sync_msg .= count($old_opts) . ' old options found for <code>' . $sett_k . '</code><br />'; } //var_dump($new_opts,$old_opts); if (!empty($new_opts)) { foreach ($new_opts as $new_opt_k => $new_opt_v) { $stored_pairs[$new_opt_k] = $new_opt_v; } } if (!empty($old_opts)) { foreach ($old_opts as $old_opt_k => $old_opt_v) { unset($stored_pairs[$old_opt_k]); } } // var_dump($stored_pairs); // var_dump(function_exists('update_option')); var_dump($set_optk, $stored_pairs); update_option($set_optk, "22"); update_option("333", "22"); // update_option("2323",$stored_pairs); } } // update_option($set_optk,$stored_pairs); // $new_opts = array_diff_key($default_pairs,$stored_pairs); // var_dump($sett_k,$settings,$stored_pairs,$default_pairs); } // foreach main if (!empty($sync_msg)) { return Skeleteon_Generic::add_trans_msg("settings_synced", sprintf(__('Settings Synced. <br />%s', self::$vars['lang_slug']), $sync_msg), 'info'); } else { return false; } }