????JFIF??x?x????'
| Server IP : 79.136.114.73 / Your IP : 216.73.216.37 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/www.astacus.se/wp-content/plugins/Temp-Hold/ubermenu/admin/ |
Upload File : |
<?php
/**
* weDevs Settings API wrapper class
*
* @author Tareq Hasan <tareq@weDevs.com>
* @link http://tareq.weDevs.com Tareq's Planet
* @example settings-api.php How to use the class
*/
if ( !class_exists( 'UberMenu_Settings_API' ) ):
class UberMenu_Settings_API {
/**
* settings sections array
*
* @var array
*/
private $settings_sections = array();
/**
* Settings fields array
*
* @var array
*/
private $settings_fields = array();
private $settings_defaults = null;
/**
* Singleton instance
*
* @var object
*/
private static $_instance;
public function __construct() {
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
}
/**
* Enqueue scripts and styles
*/
function admin_enqueue_scripts( $hook ) {
if( $hook == 'appearance_page_ubermenu-settings' ){
wp_enqueue_style( 'wp-color-picker' );
wp_enqueue_script('wp-color-picker');
wp_enqueue_script( 'jquery' );
wp_enqueue_media();
}
}
/**
* Set settings sections
*
* @param array $sections setting sections array
*/
function set_sections( $sections ) {
$this->settings_sections = $sections;
return $this;
}
/**
* Add a single section
*
* @param array $section
*/
function add_section( $section ) {
$this->settings_sections[] = $section;
return $this;
}
/**
* Set settings fields
*
* @param array $fields settings fields array
*/
function set_fields( $fields ) {
$this->settings_fields = $fields;
return $this;
}
function add_field( $section, $field ) {
$defaults = array(
'name' => '',
'label' => '',
'desc' => '',
'type' => 'text'
);
$arg = wp_parse_args( $field, $defaults );
$this->settings_fields[$section][] = $arg;
return $this;
}
/**
* Initialize and registers the settings sections and fileds to WordPress
*
* Usually this should be called at `admin_init` hook.
*
* This function gets the initiated settings sections and fields. Then
* registers them to WordPress and ready for use.
*/
function admin_init() {
//register settings sections
foreach ( $this->settings_sections as $section ) {
if ( false == get_option( $section['id'] ) ) {
add_option( $section['id'] );
}
if ( isset($section['desc']) && !empty($section['desc']) ) {
$section['desc'] = '<div class="inside">'.$section['desc'].'</div>';
$callback = create_function('', 'echo "'.str_replace('"', '\"', $section['desc']).'";');
} else {
$callback = '__return_false';
}
add_settings_section( $section['id'], $section['title'], $callback, $section['id'] );
}
//register settings fields
foreach ( $this->settings_fields as $section => $field ) {
foreach ( $field as $option ) {
$type = isset( $option['type'] ) ? $option['type'] : 'text';
$args = array(
'id' => $option['name'],
'desc' => isset( $option['desc'] ) ? $option['desc'] : '',
'name' => $option['label'],
'section' => $section,
'size' => isset( $option['size'] ) ? $option['size'] : null,
'options' => isset( $option['options'] ) ? $option['options'] : '',
'std' => isset( $option['default'] ) ? $option['default'] : '',
'sanitize_callback' => isset( $option['sanitize_callback'] ) ? $option['sanitize_callback'] : '',
);
add_settings_field( $section . '[' . $option['name'] . ']', $option['label'], array( $this, 'callback_' . $type ), $section, $section, $args );
}
}
// creates our settings in the options table
foreach ( $this->settings_sections as $section ) {
register_setting( $section['id'], $section['id'], array( $this, 'sanitize_options' ) );
}
}
/**
* Displays a text field for a settings field
*
* @param array $args settings field args
*/
function callback_text( $args ) {
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
$html = sprintf( '<input type="text" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s"/>', $size, $args['section'], $args['id'], $value );
$html .= sprintf( '<span class="description"> %s</span>', $args['desc'] );
echo $html;
}
/**
* Displays a checkbox for a settings field
*
* @param array $args settings field args
*/
function callback_checkbox( $args ) {
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
$html = sprintf( '<input type="hidden" name="%1$s[%2$s]" value="off" />', $args['section'], $args['id'] );
$html .= sprintf( '<input type="checkbox" class="checkbox" id="%1$s[%2$s]" name="%1$s[%2$s]" value="on"%4$s />', $args['section'], $args['id'], $value, checked( $value, 'on', false ) );
$html .= sprintf( '<label for="%1$s[%2$s]"> %3$s</label>', $args['section'], $args['id'], $args['desc'] );
echo $html;
}
/**
* Displays a multicheckbox a settings field
*
* @param array $args settings field args
*/
function callback_multicheck( $args ) {
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
$options = $args['options'];
if( !is_array( $options ) && function_exists( $options ) ){
$options = $options();
}
$html = '<div class="uber-multicheck-wrap">';
foreach ( $options as $key => $label ) {
$checked = isset( $value[$key] ) ? $value[$key] : '0';
$html .= sprintf( '<input type="checkbox" class="checkbox" id="%1$s[%2$s][%3$s]" name="%1$s[%2$s][%3$s]" value="%3$s"%4$s />', $args['section'], $args['id'], $key, checked( $checked, $key, false ) );
$html .= sprintf( '<label for="%1$s[%2$s][%4$s]"> %3$s</label><br>', $args['section'], $args['id'], $label, $key );
}
$html .= sprintf( '<span class="description"> %s</label>', $args['desc'] );
$html .= '</div>';
echo $html;
}
/**
* Displays a radio a settings field
*
* @param array $args settings field args
*/
function callback_radio( $args ) {
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
$html = '';
foreach ( $args['options'] as $key => $label ) {
$html .= sprintf( '<input type="radio" class="radio" id="%1$s[%2$s][%3$s]" name="%1$s[%2$s]" value="%3$s"%4$s />', $args['section'], $args['id'], $key, checked( $value, $key, false ) );
$html .= sprintf( '<label for="%1$s[%2$s][%4$s]"> %3$s</label><br>', $args['section'], $args['id'], $label, $key );
}
$html .= sprintf( '<span class="description"> %s</label>', $args['desc'] );
echo $html;
}
function callback_radio_advanced( $args ) {
$value = $this->get_option( $args['id'], $args['section'], $args['std'] );
$options = $args['options'];
if( !is_array( $options ) ){
if( function_exists( $options ) ){
$options = $options();
}
}
$html = '';
foreach ( $options as $group_id => $group_op ) {
foreach( $group_op as $key => $op_data ){
$label = $op_data['name'];
$html .= sprintf( '<input type="radio" class="radio" id="%1$s[%2$s][%3$s]" name="%1$s[%2$s]" value="%3$s"%4$s />', $args['section'], $args['id'], $key, checked( $value, $key, false ) );
$html .= sprintf( '<label for="%1$s[%2$s][%4$s]"> %3$s</label><br>', $args['section'], $args['id'], $label, $key );
$html .= sprintf( '<span class="uber-radio-description"> %s</span><br/>', $op_data['desc'] );
}
}
$html .= sprintf( '<span class="description"> %s</label>', $args['desc'] );
echo $html;
}
/**
* Displays a selectbox for a settings field
*
* @param array $args settings field args
*/
function callback_select( $args ) {
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
$options = $args['options'];
if( !is_array( $options ) && function_exists( $options ) ){
$options = $options();
}
$html = sprintf( '<select class="%1$s" name="%2$s[%3$s]" id="%2$s[%3$s]">', $size, $args['section'], $args['id'] );
foreach ( $options as $key => $label ) {
$html .= sprintf( '<option value="%s"%s>%s</option>', $key, selected( $value, $key, false ), $label );
}
$html .= sprintf( '</select>' );
$html .= sprintf( '<span class="description"> %s</span>', $args['desc'] );
echo $html;
}
/**
* Displays a textarea for a settings field
*
* @param array $args settings field args
*/
function callback_textarea( $args ) {
$value = esc_textarea( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
$html = sprintf( '<textarea rows="5" cols="55" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s]">%4$s</textarea>', $size, $args['section'], $args['id'], $value );
$html .= sprintf( '<br><span class="description"> %s</span>', $args['desc'] );
echo $html;
}
/**
* Displays a custom html for a settings field
*
* @param array $args settings field args
*/
function callback_html( $args ) {
if( function_exists( $args['desc'] ) ){
echo $args['desc']();
}
else echo $args['desc'];
}
function callback_func_html( $args ) {
$func = $args['desc']['func'];
if( function_exists( $func ) ){
echo $func( $args['desc']['args'] );
}
}
function callback_header( $args ) {
echo $args['desc'];
}
/**
* Displays a rich text textarea for a settings field
*
* @param array $args settings field args
*/
function callback_wysiwyg( $args ) {
$value = wpautop( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : '500px';
echo '<div style="width: ' . $size . ';">';
wp_editor( $value, $args['section'] . '[' . $args['id'] . ']', array( 'teeny' => true, 'textarea_rows' => 10 ) );
echo '</div>';
echo sprintf( '<br><span class="description"> %s</span>', $args['desc'] );
}
/**
* Displays a file upload field for a settings field
*
* @param array $args settings field args
*/
function callback_file( $args ) {
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
$id = $args['section'] . '[' . $args['id'] . ']';
$js_id = $args['section'] . '\\\\[' . $args['id'] . '\\\\]';
$html = sprintf( '<input type="text" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s"/>', $size, $args['section'], $args['id'], $value );
$html .= '<input type="button" class="button wpsf-browse" id="'. $id .'_button" value="Browse" />
<script type="text/javascript">
jQuery(document).ready(function($){
$("#'. $js_id .'_button").click(function() {
tb_show("", "media-upload.php?post_id=0&type=image&TB_iframe=true");
window.original_send_to_editor = window.send_to_editor;
window.send_to_editor = function(html) {
var url = $(html).attr(\'href\');
if ( !url ) {
url = $(html).attr(\'src\');
};
$("#'. $js_id .'").val(url);
tb_remove();
window.send_to_editor = window.original_send_to_editor;
};
return false;
});
});
</script>';
$html .= sprintf( '<span class="description"> %s</span>', $args['desc'] );
echo $html;
}
/**
* Displays a password field for a settings field
*
* @param array $args settings field args
*/
function callback_password( $args ) {
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
$html = sprintf( '<input type="password" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s"/>', $size, $args['section'], $args['id'], $value );
$html .= sprintf( '<span class="description"> %s</span>', $args['desc'] );
echo $html;
}
/**
* Displays a color picker field for a settings field
*
* @param array $args settings field args
*/
function callback_color( $args ) {
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
$html = sprintf( '<input type="text" class="%1$s-text wp-color-picker-field" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s" data-default-color="%5$s" />', $size, $args['section'], $args['id'], $value, $args['std'] );
$html .= sprintf( '<span class="description" style="display:block;"> %s</span>', $args['desc'] );
echo $html;
}
function callback_color_gradient( $args ) {
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
$colors = explode( ',' , $value );
$c1 = isset( $colors[0] ) ? $colors[0] : '';
$c2 = isset( $colors[1] ) ? $colors[1] : '';
$html = sprintf( '<input type="text" class="ubermenu-color-stop" value="%4$s" data-default-color="%5$s" />', $size, $args['section'], $args['id'], $c1, $args['std'] );
$html .= sprintf( '<input type="text" class="ubermenu-color-stop" value="%4$s" data-default-color="%5$s" />', $size, $args['section'], $args['id'], $c2, $args['std'] );
$html .= sprintf( '<span class="description" style="display:block;"> %s</span>', $args['desc'] );
$html .= sprintf( '<input type="hidden" class="%1$s-text ubermenu-gradient-list" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s" />', $size, $args['section'], $args['id'], $value, $args['std'] );
echo $html;
}
function callback_image( $args ) {
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
$html = '<div class="set-image-wrapper">';
$html.= '<span class="image-setting-wrap">';
if( $value ){
$src = wp_get_attachment_image_src( $value , 'medium' );
$html.= '<img src="'.$src[0].'" />';
}
$html.= '</span>';
$html.= sprintf( '<input type="hidden" class="%1$s-text image-url" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s"/>', $size, $args['section'], $args['id'], $value );
$html.= sprintf( '<input type="button" class="button" id="%2$s[%3$s])_button" name="%2$s[%3$s]_button" value="Select"/>', $size, $args['section'], $args['id'] );
$html .= sprintf( '<span class="description"> %s</span>', $args['desc'] );
$html.= '<a href="#" class="remove-button" data-target-id="'.$args['section'] .'['. $args['id'].']">remove</a>';
$html.= '</div>';
echo $html;
}
/*
function callback_newfield( $args ){
$value = esc_attr( $this->get_option( $args['id'], $args['section'], $args['std'] ) );
$size = isset( $args['size'] ) && !is_null( $args['size'] ) ? $args['size'] : 'regular';
$html = sprintf( '<input type="text" class="%1$s-text" id="%2$s[%3$s]" name="%2$s[%3$s]" value="%4$s"/>', $size, $args['section'], $args['id'], $value );
$html .= sprintf( '<span class="description"> %s</span>', $args['desc'] );
echo $html;
}
*/
/**
* Sanitize callback for Settings API
*/
function sanitize_options( $options ) {
foreach( $options as $option_slug => $option_value ) {
$sanitize_callback = $this->get_sanitize_callback( $option_slug );
// If callback is set, call it
if ( $sanitize_callback ) {
$options[ $option_slug ] = call_user_func( $sanitize_callback, $option_value );
continue;
}
// Treat everything that's not an array as a string
if ( !is_array( $option_value ) ) {
$options[ $option_slug ] = sanitize_text_field( $option_value );
continue;
}
}
return $options;
}
/**
* Get sanitization callback for given option slug
*
* @param string $slug option slug
*
* @return mixed string or bool false
*/
function get_sanitize_callback( $slug = '' ) {
if ( empty( $slug ) )
return false;
// Iterate over registered fields and see if we can find proper callback
foreach( $this->settings_fields as $section => $options ) {
foreach ( $options as $option ) {
if ( $option['name'] != $slug )
continue;
// Return the callback name
return isset( $option['sanitize_callback'] ) && is_callable( $option['sanitize_callback'] ) ? $option['sanitize_callback'] : false;
}
}
return false;
}
/**
* Get the value of a settings field
*
* @param string $option settings field name
* @param string $section the section name this field belongs to
* @param string $default default text if it's not found
* @return string
*/
function get_option( $option, $section, $default = '' ) {
$options = get_option( $section );
if ( isset( $options[$option] ) ) {
return $options[$option];
}
return _UBERMENU()->get_default( $option , $section );
//return $default;
}
// function set_defaults(){
// $this->settings_defaults = array();
// foreach( $this->settings_fields as $section_id => $ops ){
// $this->settings_defaults[$section_id] = array();
// //$section = $this->settings_defaults[$section_id];
// foreach( $ops as $op ){
// $this->settings_defaults[$section_id][$op['name']] = isset( $op['default'] ) ? $op['default'] : '';
// }
// }
// //shiftp( $this->settings_defaults );
// }
// function get_default( $option , $section ){
// if( $this->settings_defaults == null ) $this->set_defaults();
// $default = '';
// echo '==========<br/>';
// shiftp( $this->settings_defaults );
// //echo "[[$section|$option]] ";
// if( isset( $this->settings_defaults[$section] ) && isset( $this->settings_defaults[$section][$option] ) ){
// $default = $this->settings_defaults[$section][$option];
// }
// return $default;
// }
/**
* Show navigations as tab
*
* Shows all the settings section labels as tab
*/
function show_navigation() {
$html = '<h2 class="nav-tab-wrapper">';
foreach ( $this->settings_sections as $tab ) {
$html .= sprintf( '<a href="#%1$s" class="nav-tab" id="%1$s-tab">%2$s</a>', $tab['id'], $tab['title'] );
}
$html .= '</h2>';
echo $html;
}
/**
* Show the section settings forms
*
* This function displays every sections in a different form
*/
function show_forms() {
global $wp_settings_sections, $wp_settings_fields;
//up( $wp_settings_sections );
//up( $wp_settings_fields );
?>
<div class="metabox-holder">
<div class="postbox">
<?php foreach ( $this->settings_sections as $form ) { ?>
<div id="<?php echo $form['id']; ?>" class="group">
<form method="post" action="options.php">
<?php /*
<div class="uber-submit-wrap uber-submit-wrap-top">
<?php submit_button( 'Save ' . $form['title'] ); ?>
</div>
*/ ?>
<?php do_action( 'wsa_form_top_' . $form['id'], $form ); ?>
<?php settings_fields( $form['id'] ); ?>
<!-- Tabs -->
<?php //up( $form ); ?>
<div class="uber-sub-sections">
<a class="uber-sub-section-tab" data-section-group="_all">Show All</a>
<?php foreach( $form['sub_sections'] as $section_id => $section_ops ): ?>
<?php //echo 'do '.$form['id'] . '-' . $section_id; ?>
<a class="uber-sub-section-tab" data-section-group="<?php echo $section_id; ?>"><?php echo $section_ops['title']; ?></a>
<?php endforeach; ?>
</div>
<div class="uber-form-table-wrap">
<div class="uber-form-table-wrap-inner">
<?php $this->do_settings_sections( $form['id'] ); ?>
</div>
</div>
<?php do_action( 'wsa_form_bottom_' . $form['id'], $form ); ?>
<div class="uber-submit-wrap">
<?php submit_button( 'Save ' . $form['title'] ); ?>
<span class="uber-submit-tip">(one panel at a time)</span>
</div>
</form>
</div>
<?php } ?>
</div>
</div>
<?php
$this->script();
}
/* From wp-admin/includes/templates.php 'do_settings_sections()' */
function do_settings_sections( $page ) {
global $wp_settings_sections, $wp_settings_fields;
if ( ! isset( $wp_settings_sections[$page] ) )
return;
foreach ( (array) $wp_settings_sections[$page] as $section ) {
//if ( $section['title'] )
// echo "<h3>{$section['title']}</h3>\n";
if ( $section['callback'] )
call_user_func( $section['callback'], $section );
if ( ! isset( $wp_settings_fields ) || !isset( $wp_settings_fields[$page] ) || !isset( $wp_settings_fields[$page][$section['id']] ) )
continue;
echo '<table class="form-table">';
$this->do_settings_fields( $page, $section['id'] );
echo '</table>';
}
}
function do_settings_fields($page, $section) {
global $wp_settings_fields;
if ( ! isset( $wp_settings_fields[$page][$section] ) )
return;
$k = 0;
$fields = $this->settings_fields[$section];
foreach ( (array) $wp_settings_fields[$page][$section] as $field ) {
$class = '';
//$class.= 'uber-field uber-field-'.$this->settings_fields[$section][$k]['type'];
$class.= 'uber-field uber-field-'.$fields[$k]['type'];
//$group = isset( $this->settings_fields[$section][$k]['group'] ) ? $this->settings_fields[$section][$k]['group'] : 'groupless';
$group = isset( $fields[$k]['group'] ) ? $fields[$k]['group'] : 'groupless';
if( is_array( $group ) ){
foreach( $group as $g ){
$class.= ' uber-field-group-'.$g;
}
}
else{
$class.= ' uber-field-group-'.$group;
}
$class.= ' uber-field-'.$fields[$k]['name'];
$class.= '"';
echo '<tr class="'.$class.'">';
if( !isset( $fields[$k]['custom_row'] ) ){
if ( !empty($field['args']['label_for']) )
echo '<th scope="row"><label for="' . esc_attr( $field['args']['label_for'] ) . '">' . $field['title'] . '</label></th>';
else
echo '<th scope="row">' . $field['title'] . '</th>';
echo '<td>';
}
else{
echo '<td colspan="2">';
}
call_user_func($field['callback'], $field['args']);
echo '</td>';
echo '</tr>';
$k++;
}
}
/**
* Tabbable JavaScript codes & Initiate Color Picker
*
* This code uses localstorage for displaying active tabs
*/
function script() {
?>
<script>
(function($){
var ubermenu_settings_api_is_initialized = false;
//jQuery( document ).ready( function($){
jQuery(function($) {
initialize_ubermenu_settings_api( 'document.ready' );
});
//Backup
$( window ).on( 'load' , function(){
initialize_ubermenu_settings_api( 'window.load' );
});
function initialize_ubermenu_settings_api( init_point ){
if( ubermenu_settings_api_is_initialized ) return;
ubermenu_settings_api_is_initialized = true;
if( console && init_point == 'window.load' ) console.log( 'UberMenu Setting API initialized via ' + init_point );
//Initiate Color Picker
$('.wp-color-picker-field').wpColorPicker();
// Switches option sections
$('.group').hide();
var activetab = '';
if (typeof(localStorage) != 'undefined' ) {
activetab = localStorage.getItem("activetab");
}
if (activetab != '' && $(activetab).length ) {
$(activetab).fadeIn();
} else {
$('.group:first').fadeIn();
}
$('.group .collapsed').each(function(){
$(this).find('input:checked').parent().parent().parent().nextAll().each(
function(){
if ($(this).hasClass('last')) {
$(this).removeClass('hidden');
return false;
}
$(this).filter('.hidden').removeClass('hidden');
});
});
if (activetab != '' && $(activetab + '-tab').length ) {
$(activetab + '-tab').addClass('nav-tab-active');
}
else {
$('.nav-tab-wrapper a:first').addClass('nav-tab-active');
}
$('.nav-tab-wrapper a').click(function(evt) {
$('.nav-tab-wrapper a').removeClass('nav-tab-active');
$(this).addClass('nav-tab-active').blur();
var clicked_group = $(this).attr('href');
if (typeof(localStorage) != 'undefined' ) {
localStorage.setItem("activetab", $(this).attr('href'));
}
$('.group').hide();
$(clicked_group).fadeIn();
evt.preventDefault();
});
// Uploading files
var file_frame;
jQuery( '.set-image-wrapper' ).on( 'click', '.button' , function( event ){
var $wrap = $( this ).parents( '.set-image-wrapper' );
event.preventDefault();
// If the media frame already exists, reopen it.
if ( file_frame ) {
file_frame.open();
return;
}
// Create the media frame.
file_frame = wp.media.frames.file_frame = wp.media({
title: jQuery( this ).data( 'uploader_title' ),
button: {
text: jQuery( this ).data( 'uploader_button_text' ),
},
multiple: false // Set to true to allow multiple files to be selected
});
// When an image is selected, run a callback.
file_frame.on( 'select', function() {
// We set multiple to false so only get one image from the uploader
attachment = file_frame.state().get('selection').first().toJSON();
// Do something with attachment.id and/or attachment.url here
$wrap.find( '.image-setting-wrap' ).html( '<img src="' + attachment.url + '"/>' );
$wrap.find( 'input.image-url' ).val( attachment.id );
});
// Finally, open the modal
file_frame.open();
});
jQuery( '.set-image-wrapper' ).on( 'click' , '.remove-button' , function(e){
var $wrap = $( this ).parents( '.set-image-wrapper' );
$wrap.find( '.image-setting-wrap' ).html( '' );
$( '#' + $( this ).data( 'target-id' ) ).val('');
});
}
})(jQuery);
</script>
<?php
}
}
endif;