first commit
This commit is contained in:
450
wp-content/plugins/kingcomposer/includes/kc.settings.php
Normal file
450
wp-content/plugins/kingcomposer/includes/kc.settings.php
Normal file
@@ -0,0 +1,450 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* King Composer
|
||||
* (c) KingComposer.com
|
||||
*
|
||||
*/
|
||||
|
||||
if(!defined('ABSPATH')) {
|
||||
header('HTTP/1.0 403 Forbidden');
|
||||
exit;
|
||||
}
|
||||
|
||||
wp_enqueue_style('thickbox');
|
||||
wp_enqueue_script('thickbox');
|
||||
|
||||
$kc = KingComposer::globe();
|
||||
$pdk = $kc->get_pdk();
|
||||
|
||||
$settings = $kc->settings();
|
||||
$plugin_info = get_plugin_data( KC_FILE );
|
||||
|
||||
$detail_url = admin_url('/plugin-install.php?tab=plugin-information&plugin=%s&section=changelog&TB_iframe=true&width=772&height=600');
|
||||
|
||||
$show_license_tab = false;
|
||||
|
||||
if ($kc->plugin_active('kc_pro/kc_pro.php'))
|
||||
$show_license_tab = true;
|
||||
|
||||
if (isset($pdk['pack']) && ($pdk['pack'] == 'commerce' || $pdk['pack'] == 'developer') && $kc->check_pdk() == 1)
|
||||
$show_license_tab = false;
|
||||
|
||||
?>
|
||||
|
||||
<div id="kc-settings" class="wrap about-wrap">
|
||||
<h1><?php
|
||||
echo $kc->apply_filters('kc_setting_title', __('Welcome to KingComposer Page Builder!', 'kingcomposer')); ?></h1>
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
<div class="about-text">
|
||||
<?php _e('Thank you for using KingComposer page builder. If you need help or have any suggestions, join our community for discussion ', 'kingcomposer'); ?>
|
||||
<a href="http://bit.ly/kcdiscuss" target=_blank>bit.ly/kcdiscuss</a>
|
||||
</div>
|
||||
<?php
|
||||
$about = ob_get_contents();
|
||||
ob_end_clean();
|
||||
echo $kc->apply_filters('kc_setting_about', $about);
|
||||
ob_start();
|
||||
?>
|
||||
<div class="wp-badge kc-badge">
|
||||
<?php _e('Version', 'kingcomposer'); ?> <?php echo esc_attr( $plugin_info['Version'] ); ?>
|
||||
</div>
|
||||
<?php
|
||||
$version = ob_get_contents();
|
||||
ob_end_clean();
|
||||
echo $kc->apply_filters('kc_setting_version', $version);
|
||||
ob_start();
|
||||
?>
|
||||
<h2 class="nav-tab-wrapper">
|
||||
<a href="#kc_general_setting" class="nav-tab nav-tab-active" id="kc_general_setting-tab">
|
||||
<?php _e('General Settings', 'kingcomposer'); ?>
|
||||
</a>
|
||||
<?php if( $show_license_tab === true ){ ?>
|
||||
<a href="#kc_product_license" class="nav-tab" id="kc_product_license-tab">
|
||||
<?php _e('Product License', 'kingcomposer'); ?>
|
||||
</a>
|
||||
<?php } ?>
|
||||
<a href="#kc_pro" class="nav-tab" id="kc_pro-tab">
|
||||
<?php _e('KC Pro!', 'kingcomposer'); ?>
|
||||
</a>
|
||||
<a href="#kc_changelogs" class="nav-tab" id="kc_changelogs-tab">
|
||||
<?php _e('Changelogs', 'kingcomposer'); ?>
|
||||
</a>
|
||||
</h2>
|
||||
<?php
|
||||
$tab_nav = ob_get_contents();
|
||||
ob_end_clean();
|
||||
echo $kc->apply_filters('kc_setting_tab_nav', $tab_nav);
|
||||
/*
|
||||
if (isset($_GET['screen']) && $_GET['screen'] == 'welcome')
|
||||
{
|
||||
@session_start();
|
||||
if (isset($_SESSION['kc_disabled_plugins']) && count($_SESSION['kc_disabled_plugins']) > 0)
|
||||
{
|
||||
$list = array();
|
||||
foreach ($_SESSION['kc_disabled_plugins'] as $name)
|
||||
{
|
||||
if (strpos($name, '/') !== false)
|
||||
{
|
||||
$name = substr($name, 0, strpos($name, '/')-1);
|
||||
$list[] = $name;
|
||||
}
|
||||
}
|
||||
echo '<div class="kc-notice"><p>'.__('Notice: To avoid conflict, We have disabled the following plugins: ', 'kingcomposer').'<strong>'.implode(', ', $list).'</strong>. <a href="'.admin_url('/plugins.php').'">'.__('Reactivate plugins', 'kingcomposer').'</a></p></div>';
|
||||
}
|
||||
} */
|
||||
|
||||
?>
|
||||
|
||||
<?php
|
||||
|
||||
$update_plugin = get_site_transient( 'update_plugins' );
|
||||
|
||||
if ( isset( $update_plugin->response[ KC_BASE ] ) )
|
||||
{
|
||||
ob_start();
|
||||
?>
|
||||
<div class="kc-updated">
|
||||
<p>
|
||||
<i class="dashicons dashicons-update"></i>
|
||||
<?php _e('There is a new version of KingComposer available', 'kingcomposer'); ?>.
|
||||
<a href="<?php printf( $detail_url, 'kingcomposer' ); ?>" class="thickbox open-plugin-details-modal" aria-label="<?php printf( __('View version %s details', 'kingcomposer'), $update_plugin->response[ KC_BASE ]->new_version ); ?>">
|
||||
<?php printf( __('View version %s details', 'kingcomposer'), $update_plugin->response[ KC_BASE ]->new_version ); ?></a> or
|
||||
<a href="#" class="update-link kc-update-link-ajax" data-slug="kingcomposer">
|
||||
<?php _e('update now', 'kingcomposer'); ?>
|
||||
</a>.
|
||||
</p>
|
||||
</div>
|
||||
<?php
|
||||
$kc_update = ob_get_contents();
|
||||
ob_end_clean();
|
||||
echo $kc->apply_filters('kc_setting_update', $kc_update);
|
||||
}
|
||||
|
||||
if ( defined( 'KCP_BASENAME' ) && isset( $update_plugin->response[ KCP_BASENAME ] ) )
|
||||
{
|
||||
ob_start();
|
||||
?>
|
||||
<div class="kc-updated">
|
||||
<p>
|
||||
<i class="dashicons dashicons-update"></i>
|
||||
<?php _e('There is a new version of KC Pro! available', 'kingcomposer'); ?>.
|
||||
<a href="<?php printf( $detail_url, 'kc_pro' ); ?>" class="thickbox open-plugin-details-modal" aria-label="<?php printf( __('View version %s details', 'kingcomposer'), $update_plugin->response[ KCP_BASENAME ]->new_version ); ?>">
|
||||
<?php printf( __('View version %s details', 'kingcomposer'), $update_plugin->response[ KCP_BASENAME ]->new_version ); ?>
|
||||
</a> or
|
||||
<a href="#" class="update-link kc-update-link-ajax" data-slug="kc_pro"><?php _e('update now', 'kingcomposer'); ?></a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
$kc_update_pro = ob_get_contents();
|
||||
ob_end_clean();
|
||||
echo $kc->apply_filters('kc_setting_update_pro', $kc_update_pro);
|
||||
}
|
||||
?>
|
||||
|
||||
<form method="post" action="options.php" enctype="multipart/form-data" id="kc-settings-form" autocomplete="off">
|
||||
<!-- fake fields are a workaround for chrome autofill getting the wrong fields -->
|
||||
<input style="display:none" type="text" name="fakeusernameremembered"/>
|
||||
<input style="display:none" type="password" name="fakepasswordremembered"/>
|
||||
<?php settings_fields( 'kingcomposer_group' ); ?>
|
||||
<div id="kc_general_setting" class="group p">
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
<table class="form-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<?php _e('Supported Content Types', 'kingcomposer'); ?>:
|
||||
</th>
|
||||
<td>
|
||||
<?php
|
||||
|
||||
$post_types = get_post_types( array( 'public' => true ) );
|
||||
$ignored_types = array('attachment');
|
||||
$settings_types = $kc->get_content_types();
|
||||
$required_types = $kc->get_required_content_types();
|
||||
|
||||
foreach( $post_types as $type ){
|
||||
if( !in_array( $type, $ignored_types ) ){
|
||||
echo '<p class="radio"><input ';
|
||||
if( in_array( $type, $settings_types ) )
|
||||
echo 'checked ';
|
||||
if( in_array( $type, $required_types ) )
|
||||
echo 'disabled ';
|
||||
echo'type="checkbox" name="kc_options[content_types][]" value="'.esc_attr($type).'"> ';
|
||||
echo esc_html( $type );
|
||||
if( in_array( $type, $required_types ) )
|
||||
echo ' <i> (required)</i>';
|
||||
echo '</p>';
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<br />
|
||||
<span class="description">
|
||||
<p>
|
||||
- <?php _e('Besides page and post above, you can set any content type to be available with KingComposer such as gallery, contact form and so on', 'kingcomposer'); ?>.
|
||||
</p>
|
||||
<p>
|
||||
- <?php _e('If your', 'kingcomposer'); ?> <strong>"Custom Post-Type"</strong>
|
||||
<?php _e('does not show here? Please make sure that has been registered with parameter ', 'kingcomposer'); ?>
|
||||
<strong>"public = true"</strong>
|
||||
</p>
|
||||
<p>
|
||||
- <?php _e('Put this code on action "init" to force support', 'kingcomposer'); ?>:
|
||||
<br />
|
||||
<pre style="background:#fff">
|
||||
|
||||
global $kc;
|
||||
// add single content type
|
||||
$kc->add_content_type( 'your-post-type-name' );
|
||||
// add multiple content types
|
||||
$kc->add_content_type( array( 'type-1', 'type-2' ) );
|
||||
|
||||
</pre>
|
||||
</p>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<?php _e('Fonts using', 'kingcomposer'); ?>:
|
||||
</th>
|
||||
<td>
|
||||
<p>
|
||||
<a href="<?php echo admin_url('admin.php?page=kingcomposer&kc_action=fonts-manager&TB_iframe=true&width=1000&height=600'); ?>" class="button button-large button-primary thickbox" data-title="<?php _e('KingComposer Fonts Manager', 'kingcomposer'); ?>" aria-label="<?php _e('KingComposer Fonts Manager', 'kingcomposer'); ?>">
|
||||
<i style="float: left;margin-top: 8px;margin-right: 5px;" class="dashicons dashicons-admin-settings"></i>
|
||||
<?php _e('Open Fonts Manager', 'kingcomposer'); ?>
|
||||
</a>
|
||||
</p>
|
||||
<br />
|
||||
<ul id="kc-settings-fonts">
|
||||
<?php
|
||||
$kc_fonts = get_option('kc-fonts');
|
||||
if( is_array( $kc_fonts ) && count( $kc_fonts ) > 0 ){
|
||||
foreach( $kc_fonts as $name => $cf ){
|
||||
echo '<li><i class="dashicons dashicons-admin-customizer"></i> '.urldecode($name).'</li>';
|
||||
}
|
||||
}else{
|
||||
echo '<li style="border:none;"><i class="dashicons dashicons-warning"></i> No fonts</li>';
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
<span class="description">
|
||||
<p>
|
||||
<?php _e('List of all external fonts that using in your site. The data is stored in ', 'kingcomposer'); ?><strong style="color: red;">get_option('kc-fonts')</strong>.
|
||||
</p>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<?php _e('Max width container', 'kingcomposer'); ?>:
|
||||
</th>
|
||||
<td>
|
||||
<input type="text" name="kc_options[max_width]" class="regular-text" value="<?php
|
||||
echo esc_html( $settings['max_width'] );
|
||||
?>" />
|
||||
<span class="description">
|
||||
<p>
|
||||
<?php _e('The default of container width is 1170px, you can change it to fit with yours', 'kingcomposer'); ?>.
|
||||
</p>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<?php _e('Disable Animate', 'kingcomposer'); ?>:
|
||||
</th>
|
||||
<td>
|
||||
<span class="description">
|
||||
<p>
|
||||
<input id="kc-settings-animate" type="checkbox" name="kc_options[animate]" value="disabled"<?php
|
||||
if( esc_html( $settings['animate'] ) == 'disabled' )
|
||||
echo ' checked';
|
||||
?> /> <label for="kc-settings-animate"><?php _e('Disable animate to prevent loading resources and effects', 'kingcomposer'); ?>.</label>
|
||||
</p>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<?php _e('Disable Instantor', 'kingcomposer'); ?>:
|
||||
</th>
|
||||
<td>
|
||||
<span class="description">
|
||||
<p>
|
||||
<input id="kc-settings-instantor" type="checkbox" name="kc_options[instantor]" value="disabled"<?php
|
||||
if(isset($settings['instantor']) && esc_html( $settings['instantor'] ) == 'disabled' )
|
||||
echo ' checked';
|
||||
?> /> <label for="kc-settings-instantor"><?php _e('Disable inline text editor on live editor mode', 'kingcomposer'); ?>.</label>
|
||||
</p>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<?php _e('Css Code', 'kingcomposer'); ?>:
|
||||
</th>
|
||||
<td>
|
||||
<textarea name="kc_options[css_code]" cols="100" rows="15"><?php
|
||||
echo esc_html( $settings['css_code'] );
|
||||
?></textarea>
|
||||
<span class="description">
|
||||
<p>
|
||||
<?php _e('Add your custom CSS code to modify or apply additional styling to the Front-End', 'kingcomposer'); ?>.
|
||||
</p>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br />
|
||||
<p class="submit">
|
||||
<input type="submit" class="button button-large button-primary" value="<?php _e('Save Change', 'kingcomposer'); ?>" />
|
||||
</p>
|
||||
<?php
|
||||
$kc_general_tab = ob_get_contents();
|
||||
ob_end_clean();
|
||||
echo $kc->apply_filters('kc_setting_general', $kc_general_tab);
|
||||
?>
|
||||
</div>
|
||||
<div id="kc_product_license" class="group p" style="display:none">
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
<div class="kc-license-notice"></div>
|
||||
<h3>
|
||||
<?php _e('Verify your license key for KC Pro!', 'kingcomposer'); ?>
|
||||
</h3>
|
||||
<hr />
|
||||
<table class="form-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<?php _e('Your License Key', 'kingcomposer'); ?>:
|
||||
</th>
|
||||
<td>
|
||||
<input id="kc-pro-license-inp" type="password" class="regular-text kc-license-key" name="kc_options[license]" value="<?php
|
||||
|
||||
if( !isset( $pdk['key'] ) || empty( $pdk['key'] ) ){
|
||||
if( defined('KC_LICENSE') )
|
||||
echo KC_LICENSE;
|
||||
}else echo esc_attr( $pdk['key'] );
|
||||
|
||||
?>" autocomplete="off" />
|
||||
<?php
|
||||
if( $kc->check_pdk() === 1 && $pdk['pack'] != 'trial' ){
|
||||
echo '<span class="verified"><i class="dashicons dashicons-yes"></i>Verified</span>';
|
||||
echo '<a href="#" id="kc-revoke-license" class="revoke-website"><i class="dashicons dashicons-dismiss"></i> '.__('Revoke license', 'kingcomposer').' </a>';
|
||||
}else{
|
||||
echo '<span class="unverified"><i class="dashicons dashicons-no"></i>Unverified</span>';
|
||||
}
|
||||
?>
|
||||
<a href="#" class="see-key">
|
||||
<i class="dashicons dashicons-visibility"></i>
|
||||
<?php _e('see', 'kingcomposer'); ?>
|
||||
</a>
|
||||
<input type="hidden" name="sercurity" value="<?php
|
||||
echo wp_create_nonce('kc-verify-nonce');
|
||||
?>" />
|
||||
<span class="description">
|
||||
<p>
|
||||
<?php _e('You can find your license by login to', 'kingcomposer'); ?>
|
||||
<a href="https://kingcomposer.com/my-account/" target=_blank>
|
||||
<?php _e('My Account', 'kingcomposer'); ?>
|
||||
</a>.
|
||||
<?php _e('If you don\'t have an account yet', 'kingcomposer'); ?>
|
||||
<a href="https://kingcomposer.com/pricing/" target=_blank>
|
||||
<?php _e('Sign Up Now!', 'kingcomposer'); ?>
|
||||
</a>
|
||||
</p>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<?php _e('The theme you are using', 'kingcomposer'); ?>:
|
||||
</th>
|
||||
<td>
|
||||
<p>
|
||||
<input type="text" readonly="true" class="regular-text" value="<?php
|
||||
echo sanitize_title( basename( get_template_directory() ) );
|
||||
?>" />
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br />
|
||||
<p class="submit">
|
||||
<button type="submit" id="kc-settings-verify-btn" class="button button-large button-primary">
|
||||
<i class="dashicons dashicons-admin-network"></i> <?php _e('Verify your license now', 'kingcomposer'); ?>
|
||||
</button>
|
||||
</p>
|
||||
<?php
|
||||
$kc_license_tab = ob_get_contents();
|
||||
ob_end_clean();
|
||||
echo $kc->apply_filters('kc_setting_license', $kc_license_tab);
|
||||
?>
|
||||
</div>
|
||||
<div id="kc_pro" class="group p" style="display:none">
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
<?php do_action('kc-pro-settings-tab'); ?>
|
||||
<?php
|
||||
$kc_setting_pro = ob_get_contents();
|
||||
ob_end_clean();
|
||||
echo $kc->apply_filters('kc_setting_pro', $kc_setting_pro);
|
||||
?>
|
||||
</div>
|
||||
<div id="kc_changelogs" class="group p" style="display:none">
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
<div id="kc_changelogs_body">
|
||||
<?php kc_changelogs(); ?>
|
||||
</div>
|
||||
<?php
|
||||
$kc_changelogs = ob_get_contents();
|
||||
ob_end_clean();
|
||||
echo $kc->apply_filters('kc_setting_changelogs', $kc_changelogs);
|
||||
?>
|
||||
</div>
|
||||
<input type="hidden" name="_ajax_nonce" value="<?php echo wp_create_nonce('_ajax_nonce'); ?>" />
|
||||
<input type="hidden" name="_ajax_updates_nonce" id="kc-nonce-updates" value="<?php echo wp_create_nonce( 'updates' ); ?>" />
|
||||
</form>
|
||||
</div>
|
||||
<script type="text/javascript" src="<?php echo esc_url(KC_URL); ?>/assets/js/kc.settings.js"></script>
|
||||
<script type="text/javascript">
|
||||
window.kc_fonts_update = function( datas ){
|
||||
|
||||
jQuery('#kc-settings-fonts').html('');
|
||||
|
||||
if( Object.keys(datas).length === 0 ){
|
||||
jQuery('#kc-settings-fonts').html('<li style="border:none;"><i class="dashicons dashicons-warning"></i> No fonts</li>');
|
||||
}else{
|
||||
for( var i in datas ){
|
||||
jQuery('#kc-settings-fonts').append('<li><i class="dashicons dashicons-admin-customizer"></i> '+decodeURIComponent(i)+'</li>');
|
||||
}
|
||||
}
|
||||
}
|
||||
window.addEventListener("message", function(arg){
|
||||
if (arg.data !== undefined)
|
||||
{
|
||||
var data = JSON.parse (arg.data);
|
||||
if (data.action == 'update-plugin')
|
||||
{
|
||||
jQuery('#TB_window, #TB_overlay').remove();
|
||||
jQuery('body.modal-open').removeClass('modal-open');
|
||||
jQuery('a.kc-update-link-ajax[data-slug="'+data.data.slug+'"]').trigger('click');
|
||||
}
|
||||
}
|
||||
}, false);
|
||||
</script>
|
||||
Reference in New Issue
Block a user