<?php
/**
 * Plugin Name: WP Edit
 * Plugin URI: https://wpeditpro.com
 * Description: Ultimate WordPress Content Editing.
 * Version: 3.2
 * Author: Josh Lobe
 * Author URI: https://wpeditpro.com
 * License: GPL2
*/

/*
****************************************************************
Define plugin url
****************************************************************
*/
define('WPEDIT_PLUGIN_URL', plugins_url('', __FILE__).'/');
define('WPEDIT_PLUGIN_PATH', plugin_dir_path(__FILE__));


/*
****************************************************************
Begin Plugin Class
****************************************************************
*/
class wp_edit_class {
	
	/*
	****************************************************************
	Define WP Edit Plugin Options
	****************************************************************
	*/
	public $global_options_buttons = array(
		'toolbar1' => 'bold italic strikethrough bullist numlist blockquote alignleft aligncenter alignright link unlink wp_more hr', 
		'toolbar2' => 'formatselect underline alignjustify forecolor pastetext removeformat charmap outdent indent undo redo wp_help', 
		'toolbar3' => '', 
		'toolbar4' => '',
		'tmce_container' => 'fontselect fontsizeselect styleselect backcolor media rtl ltr table anchor code emoticons inserttime wp_page preview print searchreplace visualblocks subscript superscript image_orig advlink acheck abbr columnShortcodes nonbreaking eqneditor'
	);
	public $global_options_global = array(
		'jquery_theme' => 'smoothness',
		'disable_admin_links' => '0',
		'disable_fancy_tooltips' => '0'
	);
	public $global_options_general = array(
		'linebreak_shortcode' => '0',
		'shortcodes_in_widgets' => '0',
		'shortcodes_in_excerpts' => '0',
		'post_excerpt_editor' => '0',
		'page_excerpt_editor' => '0',
		'profile_editor' => '0',
		'php_widgets' => '0'
	);
	public $global_options_posts = array(
		'post_title_field' => 'Enter title here',
		'max_post_revisions' => '',
		'max_page_revisions' => '',
		'delete_revisions' => '0',
		'hide_admin_posts' => '',
		'hide_admin_pages' => '',
		'disable_wpautop' => '0',
		'column_shortcodes' => '0'
	);
	public $global_options_editor = array(
		'editor_add_pre_styles' => '0',
		'default_editor_fontsize_type' => 'pt',
		'default_editor_fontsize_values' => ''
	);
	public $global_options_extras = array(
		'signoff_text' => 'Please enter text here...'
	);
	public $global_options_user_specific = array(
		'id_column' => '0',
		'thumbnail_column' => '0',
		'hide_text_tab' => '0',
		'default_visual_tab' => '0',
		'dashboard_widget' => '0',
		'enable_highlights' => '0',
		
		'draft_highlight' => '#FFFFFF',
		'pending_highlight' => '#FFFFFF',
		'published_highlight' => '#FFFFFF',
		'future_highlight' => '#FFFFFF',
		'private_highlight' => '#FFFFFF'
	);
	
	/*
	****************************************************************
	Class construct
	****************************************************************
	*/
	public function __construct() {
		
		register_activation_hook( __FILE__, array( $this, 'plugin_activate' ) );  // Plugin activation hook
		
		add_action('plugins_loaded', array($this, 'wp_edit_load_translation'));  // Language localization
		
		add_filter('plugin_action_links_'.plugin_basename(__FILE__), array($this, 'plugin_settings_link'));  // Set plugin settings links
		
		add_action('admin_init', array($this, 'upgrade_notice'));  // Dismissable upgrade notice
		
		add_action('admin_menu', array($this, 'add_page'));  // Register main admin page
		add_action('admin_init', array($this, 'process_activation_redirect'));   // Redirect after plugin activation
		add_action('admin_init', array($this, 'process_settings_export'));  // Export db options
		add_action('admin_init', array($this, 'process_settings_import'));  // Import db options 
		
		add_action('before_wp_tiny_mce', array($this, 'before_wp_tiny_mce'));  // Add dashicons to tinymce
		add_filter('tiny_mce_before_init', array($this, 'wp_edit_tiny_mce_before_init'));  // Before tinymce initialization
		add_action('init', array($this, 'wp_edit_init_tinymce'));  // Tinymce initialization
		
		add_filter('htmledit_pre', array($this, 'htlmedit_pre'), 999);  // Filter html content if wpautop is disabled
		
		$plugin_file   = basename( __FILE__ );
		$plugin_folder = basename( dirname( __FILE__ ) );
		$plugin_hook   = "in_plugin_update_message-{$plugin_folder}/{$plugin_file}";
		add_action($plugin_hook, array($this, 'wpedit_plugin_update_cb'), 10, 2);  // Plugin update message
		add_action('admin_footer', array($this, 'wpedit_plugin_update_js'));  // Plugin update message javascript
	}
	
	/*
	****************************************************************
	Activation hook
	****************************************************************
	*/
	public function plugin_activate() {
		
		global $current_user;
		
		// Get DB values
		$options_buttons = get_option('wp_edit_buttons');
		$options_global = get_option('wp_edit_global');
		$options_general = get_option('wp_edit_general');
		$options_posts = get_option('wp_edit_posts');
		$options_editor = get_option('wp_edit_editor');
		$options_extras = get_option('wp_edit_extras');
		$options_user_specific = get_user_meta($current_user->ID, 'aaa_wp_edit_user_meta', true);
		
		// Check if DB value exists.. if YES, then keep value.. if NO, then replace with protected defaults
		$options_buttons = $options_buttons ? $options_buttons : $this->global_options_buttons;
		$options_global = $options_global ? $options_global : $this->global_options_global;
		$options_general = $options_general ? $options_general : $this->global_options_general;
		$options_posts = $options_posts ? $options_posts : $this->global_options_posts;
		$options_editor = $options_editor ? $options_editor : $this->global_options_editor;
		$options_extras = $options_extras ? $options_extras : $this->global_options_extras;
		$options_user_specific = $options_user_specific ? $options_user_specific : $this->global_options_user_specific;
		
		// Set DB values
		update_option('wp_edit_buttons', $options_buttons);
		update_option('wp_edit_global', $options_global);
		update_option('wp_edit_general', $options_general);
		update_option('wp_edit_posts', $options_posts);
		update_option('wp_edit_editor', $options_editor);
		update_option('wp_edit_extras', $options_extras);
		update_user_meta($current_user->ID, 'aaa_wp_edit_user_meta', $options_user_specific);
		
		// Add option for redirect
		add_option('wp_edit_activation_redirect', true);
	}
	
	/*
	****************************************************************
	Language localization
	****************************************************************
	*/
	public function wp_edit_load_translation() {
		
		load_plugin_textdomain( 'wp_edit_langs', false, dirname( plugin_basename( __FILE__ ) ) . '/langs/' );
	}
	
	/*
	****************************************************************
	Plugin settings links
	****************************************************************
	*/
	public function plugin_settings_link($links) {
		
		$settings_link = '<a href="admin.php?page=wp_edit_options">'.__('Settings', 'wp_edit_langs').'</a>';
		$settings_link2 = '<a target="_blank" href="https://wpeditpro.com">'.__('Go Pro!', 'wp_edit_langs').'</a>';
  		array_push( $links, $settings_link, $settings_link2 );
  		return $links;
	}
	
	/*
	****************************************************************
	Dismissable upgrade notice
	****************************************************************
	*/
	public function upgrade_notice() {
		
		// Define variables
		global $pagenow;
		global $current_user;
		$userid = $current_user->ID;
		
		// Check if plugin install date is set in database
		$opt_install = get_option('wp_edit_install');
		if($opt_install === false) {
			
			// Set install date to today
			update_option('wp_edit_install', date('Y-m-d'));
		}
		
		// Compare install date with today
		$date_install = isset($opt_install) ? $opt_install : date('Y-m-d');
		
		// If install date is more than 30 days old...
		if(strtotime($date_install) < strtotime('-30 days')){
			
			// If we are only on plugins.php admin page...
			if($pagenow === 'plugins.php') {
				
				// If the user clicked to dismiss notice...
				if ( isset( $_GET['dismiss_wpedit_ug_notice'] ) && 'yes' == $_GET['dismiss_wpedit_ug_notice'] ) {
					
					// Update user meta
					add_user_meta( $userid, 'ignore_wpedit_ag_notice', 'yes', true );
				}
				
				// If user meta is not set...
				if ( !get_user_meta( $userid, 'ignore_wpedit_ag_notice' ) ) {
					
					// Alert plugin update message
					function wpedit_wordpress_version_notice() {
						
						global $pagenow;
						
						echo '<style type="text/css">';
						echo '.wpedit_plugins_page_banner {
							border: 1px solid #d4d4d4;
							margin: 12px 0;
							background: #FFF;
							position: relative;
							overflow: hidden
						}
						.wpedit_plugins_page_banner .text {
							color: #000;
							font-size: 15px;
							line-height: 26px;
							margin: 18px 18px 14px;
							float: left;
							width: auto;
							max-width: 80%;
						}
						.wpedit_plugins_page_banner .text span {
							font-size: 12px;
							opacity: 0.7;
						}
						.wpedit_plugins_page_banner .button {
							float: left;
							border: none; 
							font-size: 14px;
							margin: 18px 0 18px 16px;
							padding: 12px 0;
							color: #FFF;
							text-shadow: none;
							font-weight: bold;
							background: #0074A2;
							-moz-border-radius: 3px;
							border-radius: 3px;
							-webkit-border-radius: 3px;
							text-decoration: none;
							height: 50px;
							text-align: center;
							text-transform: uppercase;
							width: 147px;
							box-shadow: none;
							line-height: 26px;
						}
						.wpedit_plugins_page_banner .button:hover,
						.wpedit_plugins_page_banner .button:focus {    
							background: #222;
							color: #FFF;
						}
						.wpedit_plugins_page_banner .icon {
							float: right;
							margin: 12px 8px 8px 0;
						}
						.wpedit_plugins_page_banner .close_icon {
							float: right;
							margin: 8px;
							cursor: pointer;
						}';
						echo '</style>';
						
						echo '<div class="updated" style="padding: 0; margin: 0; border: none; background: none;">
								<div class="wpedit_plugins_page_banner">
									<a href="'.$pagenow.'?dismiss_wpedit_ug_notice=yes"><img class="close_icon" title="" src="'. plugins_url( 'images/close_banner.png', __FILE__ ) .'" alt=""/></a>
									<div class="button_div">
										<a class="button" target="_blank" href="https://wpeditpro.com">Learn More</a>				
									</div>
									<div class="text">
										It\'s time to consider upgrading <strong>WP Edit</strong> to the <strong>PRO</strong> version.<br />
										<span>Extend standard plugin functionality with new, enhanced options.</span>
									</div>
									<div class="icon">		
										<img  title="" src="'.plugins_url( 'images/banner.png', __FILE__ ).'" alt=""/>
									</div>	
								</div>  
							</div>';
					}
					add_action('admin_notices', 'wpedit_wordpress_version_notice');
				}
			}
		}
	}
	
	
	/*
	****************************************************************
	Page Functions
	****************************************************************
	*/
	public function add_page() {
		
		$wp_edit_page = add_menu_page(__('WP Edit', 'wp_edit_langs'), __('WP Edit', 'wp_edit_langs'), 'manage_options', 'wp_edit_options', array($this, 'options_do_page'));
		add_action('admin_print_scripts-'.$wp_edit_page, array($this, 'admin_scripts'));
		add_action('admin_print_styles-'.$wp_edit_page, array($this, 'admin_styles'));
		add_action('load-'.$wp_edit_page, array($this, 'load_page'));
	}
	public function admin_scripts() {
		
		wp_enqueue_script('jquery-ui-core');
		wp_enqueue_script('jquery-ui-sortable');
		wp_enqueue_script('jquery-ui-dialog');
		wp_enqueue_script('jquery-ui-tooltip');
		wp_enqueue_script('jquery-ui-tabs');
		wp_enqueue_script('wp-color-picker');
		
		wp_register_script( 'wp_edit_js', plugin_dir_url( __FILE__ ) . 'js/admin.js', array() ); // Main Admin Page Script File
		wp_enqueue_script( 'wp_edit_js' );
		
		// Pass WP variables to main JS script
        $wp_vars = array( 'jwl_plugin_url' => plugin_dir_url( __FILE__ ));
        wp_localize_script( 'wp_edit_js', 'jwlWpVars', $wp_vars);  // Set wp-content
	}
	public function admin_styles() {
		
		$options = get_option('wp_edit_global');
		$select_theme = isset($options['jquery_theme']) ? $options['jquery_theme'] : 'smoothness';
		
		wp_enqueue_style( 'wp-color-picker' );
		wp_enqueue_style('dashicons');
		
		?><link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/<?php echo $select_theme; ?>/jquery-ui.css"><?php
		?><link rel="stylesheet" href="<?php echo includes_url().'js/tinymce/skins/lightgray/skin.min.css' ?>"><?php
		
		wp_register_style('wp_edit_css', plugin_dir_url( __FILE__ ) . ('css/admin.css'), array());  // css for admin panel presentation
		wp_enqueue_style('wp_edit_css');
	}
	
	
	/*
	****************************************************************
	Display Page
	****************************************************************
	*/
	public function options_do_page() {
		
		?>
        <div class="wrap">
        
        	<div id="icon-themes" class="icon32"></div>
        	<h2><?php _e('WP Edit Settings', 'wp_edit_langs'); ?></h2>
            
            <?php 
			settings_errors(); 
			$active_tab = isset($_GET['tab']) ? $_GET['tab'] : 'buttons';
			?>
            
            <h2 class="nav-tab-wrapper">  
                <a href="?page=wp_edit_options&tab=buttons" class="nav-tab <?php echo $active_tab == 'buttons' ? 'nav-tab-active' : ''; ?>"><?php _e('Buttons', 'wp_edit_langs'); ?></a>
                <a href="?page=wp_edit_options&tab=global" class="nav-tab <?php echo $active_tab == 'global' ? 'nav-tab-active' : ''; ?>"><?php _e('Global', 'wp_edit_langs'); ?></a>
                <a href="?page=wp_edit_options&tab=general" class="nav-tab <?php echo $active_tab == 'general' ? 'nav-tab-active' : ''; ?>"><?php _e('General', 'wp_edit_langs'); ?></a>
                <a href="?page=wp_edit_options&tab=posts" class="nav-tab <?php echo $active_tab == 'posts' ? 'nav-tab-active' : ''; ?>"><?php _e('Posts/Pages', 'wp_edit_langs'); ?></a>
                <a href="?page=wp_edit_options&tab=editor" class="nav-tab <?php echo $active_tab == 'editor' ? 'nav-tab-active' : ''; ?>"><?php _e('Editor', 'wp_edit_langs'); ?></a>
                <a href="?page=wp_edit_options&tab=extras" class="nav-tab <?php echo $active_tab == 'extras' ? 'nav-tab-active' : ''; ?>"><?php _e('Extras', 'wp_edit_langs'); ?></a>
                <a href="?page=wp_edit_options&tab=user_specific" class="nav-tab <?php echo $active_tab == 'user_specific' ? 'nav-tab-active' : ''; ?>"><?php _e('User Specific', 'wp_edit_langs'); ?></a>
                <a href="?page=wp_edit_options&tab=database" class="nav-tab <?php echo $active_tab == 'database' ? 'nav-tab-active' : ''; ?>"><?php _e('Database', 'wp_edit_langs'); ?></a>
        		<a href="?page=wp_edit_options&tab=about" class="nav-tab <?php echo $active_tab == 'about' ? 'nav-tab-active' : ''; ?>"><?php _e('About', 'wp_edit_langs'); ?></a>
            </h2>  
            
			<?php 
			/*
			****************************************************************
			Buttons Tab
			****************************************************************
			*/
            if($active_tab == 'buttons'){
				
				$options_buttons = get_option('wp_edit_buttons');
	
				echo '<div class="main_container">';
				
					echo '<div id="main_buttons_container" class="main_buttons_container_float">';
					
						echo '<h3>';
							_e('WP Edit Buttons', 'wp_edit_langs');
						echo '</h3>';
						?>
						
						<div class="metabox-holder"> 
							<div class="postbox">
								
								<div class="inside wpep_act_button_area" id="inside_button_hover">
									<h3 style="margin-left:-13px;"><?php _e('Button Rows', 'wp_edit_langs'); ?></h3>
							
									<?php
									$no_tooltips = false;
									
									$options_global = get_option('wp_edit_global');
									if(isset($options_global['disable_fancy_tooltips']) && $options_global['disable_fancy_tooltips'] === '1') {
										
										$no_tooltips = true;
									}
									
									// Loop all buttons and create sortable divs
									foreach ($options_buttons as $toolbar => $icons) {
										
										if($toolbar === 'tmce_container') {
											?><h3 style="margin-left:-13px;"><?php _e('Button Container', 'wp_edit_langs'); ?></h3><?php
										}
										
										// Disregard rows 3 and 4
										if($toolbar === 'toolbar1' || $toolbar === 'toolbar2' || $toolbar === 'tmce_container') {
										
										
											echo '<div id="'.$toolbar.'" class="ui-state-default sortable">';
												
												// Create array of icons
												if(!empty($icons)) {
													$icons = explode(' ', $icons);
												}
												
												// Loop icons (if is array)
												if(is_array($icons)) {
													foreach ($icons as $icon) {
														
														$class = ''; $title = ''; $text = ''; $style = ''; $tooltip = array('title' => '', 'content' => '');
																
														// WP Buttons included by default
														if($icon === 'bold') { 
															$class = 'dashicons dashicons-editor-bold'; 
															$title = 'Bold'; 
															$tooltip['title'] = 'Bold'; 
															$tooltip['content'] = '<p>Apply <strong>bold</strong> to editor text.</p>';
														}
														if($icon === 'italic') { 
															$class = 'dashicons dashicons-editor-italic'; 
															$title = 'Italic'; 
															$tooltip['title'] = 'Italic'; 
															$tooltip['content'] = '<p>Apply <em>italic</em> to editor text.</p>';
														}
														if($icon === 'strikethrough') { 
															$class = 'dashicons dashicons-editor-strikethrough'; 
															$title = 'Strikethrough'; 
															$tooltip['title'] = 'Strikethrough'; 
															$tooltip['content'] = '<p>Apply <strike>strikethrough</strike> to editor text.</p>';
														}
														if($icon === 'bullist') { 
															$class = 'dashicons dashicons-editor-ul'; 
															$title = 'Bullet List'; 
															$tooltip['title'] = 'Bullet List'; 
															$tooltip['content'] = '<p>Create a list of bulleted items.</p>'; 
														}
														if($icon === 'numlist') { 
															$class = 'dashicons dashicons-editor-ol'; 
															$title = 'Numbered List'; 
															$tooltip['title'] = 'Numbered List'; 
															$tooltip['content'] = '<p>Create a list of numbered items.</p>'; 
														}
														if($icon === 'blockquote') { 
															$class = 'dashicons dashicons-editor-quote'; 
															$title = 'Blockquote'; 
															$tooltip['title'] = 'Blockquote'; 
															$tooltip['content'] = '<p>Insert a block level quotation.</p>';  
														}
														if($icon === 'hr') { 
															$class = 'dashicons dashicons-minus'; 
															$title = 'Horizontal Rule'; 
															$tooltip['title'] = 'Horizontal Rule'; 
															$tooltip['content'] = '<p>Insert a horizontal rule.</p>';
														}
														if($icon === 'alignleft') { 
															$class = 'dashicons dashicons-editor-alignleft'; 
															$title = 'Align Left';
															$tooltip['title'] = 'Align Left'; 
															$tooltip['content'] = '<p>Align editor content to the left side of the editor.</p>';
														}
														if($icon === 'aligncenter') { 
															$class = 'dashicons dashicons-editor-aligncenter'; 
															$title = 'Align Center'; 
															$tooltip['title'] = 'Align Center'; 
															$tooltip['content'] = '<p>Align editor content to the center of the editor.</p>';
														}
														if($icon === 'alignright') { 
															$class = 'dashicons dashicons-editor-alignright'; 
															$title = 'Align Right'; 
															$tooltip['title'] = 'Align Right'; 
															$tooltip['content'] = '<p>Align editor content to the right side of the editor.</p>';
														}
														if($icon === 'link') { 
															$class = 'dashicons dashicons-admin-links'; 
															$title = 'Link'; 
															$tooltip['title'] = 'Link'; 
															$tooltip['content'] = '<p>Insert a link around currently selected content.</p>';
														}
														if($icon === 'unlink') { 
															$class = 'dashicons dashicons-editor-unlink'; 
															$title = 'Unlink'; 
															$tooltip['title'] = 'Unlink'; 
															$tooltip['content'] = '<p>Remove the link around currently selected content.</p>';
														}
														if($icon === 'wp_more') { 
															$class = 'dashicons dashicons-editor-insertmore'; 
															$title = 'More'; 
															$tooltip['title'] = 'More'; 
															$tooltip['content'] = '<p>Inserts the read_more() WordPress function; commonly used for excerpts.</p>';
														}
														
														if($icon === 'formatselect') { 
															$title = 'Format Select';
															$text = 'Paragraph';
															$tooltip['title'] = 'Paragraph'; 
															$tooltip['content'] = '<p>Adds the Format Select dropdown button; used to select different styles.</p>';
														}
														if($icon === 'underline') { 
															$class = 'dashicons dashicons-editor-underline';
															$title = 'Underline';
															$tooltip['title'] = 'Underline'; 
															$tooltip['content'] = '<p>Apply <u>underline</u> to editor text.</p>';
														}
														if($icon === 'alignjustify') { 
															$class = 'dashicons dashicons-editor-justify';
															$title = 'Align Full';
															$tooltip['title'] = 'Align Full'; 
															$tooltip['content'] = '<p>Align selected content to full width of the page.</p>';
														}
														if($icon === 'forecolor') { 
															$class = 'dashicons dashicons-editor-textcolor';
															$title = 'Foreground Color';
															$tooltip['title'] = 'Foreground Color'; 
															$tooltip['content'] = '<p>Change the foreground color of selected content; commonly used to change text color.</p>';
														}
														if($icon === 'pastetext') { 
															$class = 'dashicons dashicons-editor-paste-text';
															$title = 'Paste Text';
															$tooltip['title'] = 'Paste Text'; 
															$tooltip['content'] = '<p>Paste content as plain text.</p>';
														}
														if($icon === 'removeformat') { 
															$class = 'dashicons dashicons-editor-removeformatting';
															$title = 'Remove Format';
															$tooltip['title'] = 'Remove Format'; 
															$tooltip['content'] = '<p>Remove all current formatting from selected content.</p>';
														}
														if($icon === 'charmap') { 
															$class = 'dashicons dashicons-editor-customchar';
															$title = 'Character Map';
															$tooltip['title'] = 'Character Map'; 
															$tooltip['content'] = '<p>Display a characted map used for inserting special characters.</p>';
														}
														if($icon === 'outdent') { 
															$class = 'dashicons dashicons-editor-outdent';
															$title = 'Outdent';
															$tooltip['title'] = 'Outdent'; 
															$tooltip['content'] = '<p>Outdent selected content; primary used for paragraph elements.</p>';
														}
														if($icon === 'indent') { 
															$class = 'dashicons dashicons-editor-indent';
															$title = 'Indent';
															$tooltip['title'] = 'Indent'; 
															$tooltip['content'] = '<p>Indent selected content; primary used for paragraph elements.</p>';
														}
														if($icon === 'undo') { 
															$class = 'dashicons dashicons-undo';
															$title = 'Undo';
															$tooltip['title'] = 'Undo'; 
															$tooltip['content'] = '<p>Undo last editor action.</p>';
														}
														if($icon === 'redo') { 
															$class = 'dashicons dashicons-redo';
															$title = 'Redo';
															$tooltip['title'] = 'Redo'; 
															$tooltip['content'] = '<p>Redo last editor action.</p>';
														}
														if($icon === 'wp_help') { 
															$class = 'dashicons dashicons-editor-help';
															$title = 'Help';
															$tooltip['title'] = 'Help'; 
															$tooltip['content'] = '<p>Displays helpful information such as editor information and keyboard shortcuts.</p>';
														}
														
														// WP Buttons not included by default
														if($icon === 'fontselect') { 
															$title = 'Font Select'; 
															$text = 'Font Family'; 
															$tooltip['title'] = 'Font Select'; 
															$tooltip['content'] = '<p>Apply various fonts to the editor selection.</p><p>Also displays fonts from Google Fonts options (if activated).</p>';
														}
														if($icon === 'fontsizeselect') { 
															$title = 'Font Size Select'; 
															$text = 'Font Sizes'; 
															$tooltip['title'] = 'Font Size Select'; 
															$tooltip['content'] = '<p>Apply various font sizes to the editor selection.</p><p>Default values can be switched from "pt" to "px" via the Editor tab.</p>';
														}
														if($icon === 'styleselect') { 
															$title = 'Formats'; 
															$text = 'Formats'; 
															$tooltip['title'] = 'Formats'; 
															$tooltip['content'] = '<p>Displays quick access to formats like "Headings", "Inline", "Blocks" and "Alignment".</p><p>Any custom styles created (Styles Tab) will also be shown here.</p>';
														}
														if($icon === 'backcolor') { 
															$title = 'Background Color Picker'; 
															$text = '<i class="mce-ico mce-i-backcolor"></i>'; 
															$tooltip['title'] = 'Background Color Picker'; 
															$tooltip['content'] = '<p>Change the background color of selected content; commonly used for high-lighting text.</p>';
														}
														if($icon === 'media') { 
															$class = 'dashicons dashicons-format-video'; 
															$title = 'Media'; 
															$tooltip['title'] = 'Media'; 
															$tooltip['content'] = '<p>Insert media from an external resource (by link); or embed media content into editor.</p>';
														}
														if($icon === 'rtl') { 
															$title = 'Text Direction Right to Left'; 
															$text = '<i class="mce-ico mce-i-rtl"></i>'; 
															$tooltip['title'] = 'Text Direction Right to Left'; 
															$tooltip['content'] = '<p>Forces the text direction from right to left on selected block element.</p>';
														}
														if($icon === 'ltr') { 
															$title = 'Text Direction Left to Right'; 
															$text = '<i class="mce-ico mce-i-ltr"></i>'; 
															$tooltip['title'] = 'Text Direction Left to Right'; 
															$tooltip['content'] = '<p>Forces the text direction from left to right on selected block element.</p>';
														}
														if($icon === 'table') { 
															$title = 'Tables'; 
															$text = '<i class="mce-ico mce-i-table"></i>';
															$tooltip['title'] = 'Tables'; 
															$tooltip['content'] = '<p>Insert, edit and modify html tables.</p>';
														}
														if($icon === 'anchor') { 
															$title = 'Anchor'; 
															$text = '<i class="mce-ico mce-i-anchor"></i>'; 
															$tooltip['title'] = 'Anchor'; 
															$tooltip['content'] = '<p>Create an anchor link on the page.</p>';
														}
														if($icon === 'code') { 
															$title = 'HTML Code'; 
															$text = '<i class="mce-ico mce-i-code"></i>';
															$tooltip['title'] = 'HTML Code'; 
															$tooltip['content'] = '<p>Displays the html code of the editor content; in a popup window.</p><p>This can be helpful when editing code is necessary, but switching editor views is undesirable.</p><p>Also, the "Code Magic" button provides a much better interface.</p>';
														}
														if($icon === 'emoticons') { 
															$title = 'Emoticons'; 
															$text = '<i class="mce-ico mce-i-emoticons"></i>'; 
															$tooltip['title'] = 'Emoticons'; 
															$tooltip['content'] = '<p>Opens an overlay window with access to common emoticons.</p>';
														}
														if($icon === 'inserttime') { 
															$title = 'Insert Date Time'; 
															$text = '<i class="mce-ico mce-i-insertdatetime"></i>'; 
															$tooltip['title'] = 'Insert Date Time'; 
															$tooltip['content'] = '<p>Inserts the current date and time into the content editor.</p><p>The date format can be adjusted using the "Configuration" tab.</p>';
														}
														if($icon === 'wp_page') { 
															$title = 'Page Break'; 
															$text = '<i class="mce-ico mce-i-pagebreak"></i>'; 
															$tooltip['title'] = 'Page Break'; 
															$tooltip['content'] = '<p>Inserts a page break; which can created "paged" sections of the content.</p>';
														}
														if($icon === 'preview') { 
															$title = 'Preview'; 
															$text = '<i class="mce-ico mce-i-preview"></i>'; 
															$tooltip['title'] = 'Preview'; 
															$tooltip['content'] = '<p>A quick preview of the editor content.</p>';
														}
														if($icon === 'print') { 
															$title = 'Print'; 
															$text = '<i class="mce-ico mce-i-print"></i>'; 
															$tooltip['title'] = 'Print'; 
															$tooltip['content'] = '<p>Print the editor content directly to a printer.</p>';
														}
														if($icon === 'searchreplace') { 
															$title = 'Search and Replace'; 
															$text = '<i class="mce-ico mce-i-searchreplace"></i>'; 
															$tooltip['title'] = 'Search and Replace'; 
															$tooltip['content'] = '<p>Search and/or replace the editor content with specific characters.</p>';
														}
														if($icon === 'visualblocks') { 
															$title = 'Show Blocks'; 
															$text = '<i class="mce-ico mce-i-visualblocks"></i>'; 
															$tooltip['title'] = 'Show Blocks'; 
															$tooltip['content'] = '<p>Shows all block level editor elements with a light border.</p>';
														}
														if($icon === 'subscript') { 
															$title = 'Subscript'; 
															$text = '<i class="mce-ico mce-i-subscript"></i>'; 
															$tooltip['title'] = 'Subscript'; 
															$tooltip['content'] = '<p>Adds a <sub>subscript</sub> to selected editor content (mainly used with text).</p>';
														}
														if($icon === 'superscript') { 
															$title = 'Superscript'; 
															$text = '<i class="mce-ico mce-i-superscript"></i>';
															$tooltip['title'] = 'Superscript'; 
															$tooltip['content'] = '<p>Adds a <sup>superscript</sup> to selected editor content (mainly used with text).</p>';
														}
														if($icon === 'image_orig') { 
															$class = 'dashicons dashicons-format-image'; 
															$title = 'Image'; 
															$tooltip['title'] = 'Image'; 
															$tooltip['content'] = '<p>Insert images (by link).</p>';
														}
														if($icon === 'p_tags_button') { 
															$title = 'Paragraph Tag'; 
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/ptags/p_tag.png);width:20px;height:20px;'; 
															$tooltip['title'] = 'Paragraph Tag'; 
															$tooltip['content'] = '<p>Insert paragraph tags (along with attributes); which will not be removed from the editor.</p>';
														}
														if($icon === 'line_break_button') { 
															$title = 'Line Break'; 
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/linebreak/line_break.png);width:20px;height:20px;'; 
															$tooltip['title'] = 'Line Break'; 
															$tooltip['content'] = '<p>Insert line breaks; which will not be removed from the editor.</p><p>This is done by adding a class of "none" to the tag.</p>';
														}
														if($icon === 'mailto') { 
															$title = 'MailTo Link'; 
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/mailto/mailto.gif);width:20px;height:20px;'; 
															$tooltip['title'] = 'MailTo Link'; 
															$tooltip['content'] = '<p>Turns an email address into an active mail link.</p><p>When clicked, it will open the users default mail client to send a message.</p>';
														}
														if($icon === 'loremipsum') { 
															$title = 'Lorem Ipsum'; 
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/loremipsum/loremipsum.png);width:20px;height:20px;'; 
															$tooltip['title'] = 'Lorem Ipsum'; 
															$tooltip['content'] = '<p>Esaily insert placeholder text into the editor.</p><p>Select from multiple languages; and choose the number of elements to add.</p>';
														}
														if($icon === 'shortcodes') { 
															$title = 'Shortcodes'; 
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/shortcodes/shortcodes.gif);width:20px;height:20px;'; 
															$tooltip['title'] = 'Shortcodes'; 
															$tooltip['content'] = '<p>Gathers all available shortcodes and adds them to a dropdown list; for easy editor insertion.</p><p>Note: The shortcodes gathered here do not include any shortcode attributes.</p><p>If shortcode attributes are necessary, they will need to be entered into the shortcode manually.</p>';
														}
														if($icon === 'youTube') { 
															$title = 'YouTube Video'; 
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/youTube/images/youtube.png);width:20px;height:20px;'; 
															$tooltip['title'] = 'YouTube Video'; 
															$tooltip['content'] = '<p>Browse and insert YouTube videos without ever leaving the editor.</p><p>A custom interface allows browsing YouTube videos directly from the editor.</p>';
														}
														if($icon === 'clker') { 
															$title = 'Clker Images'; 
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/clker/img/clker.png);width:20px;height:20px;'; 
															$tooltip['title'] = 'Clker Images'; 
															$tooltip['content'] = '<p>Browse and insert images from the Clker.com website.</p>';
														}
														if($icon === 'cleardiv') { 
															$title = 'Clear Div'; 
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/cleardiv/images/cleardiv.png);width:20px;height:20px;';  
															$tooltip['title'] = 'Clear Div'; 
															$tooltip['content'] = '<p>Clear editor divs. Selections include "left", "right" and "both".</p>';
														}
														if($icon === 'codemagic') { 
															$title = 'Code Magic'; 
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/codemagic/images/codemagic.png);width:20px;height:20px;'; 
															$tooltip['title'] = 'Code Magic'; 
															$tooltip['content'] = '<p>An advanced html code editor; view and edit the html code from an overlay window.</p><p>Includes syntax highlighting; search and replace; and proper element spacing.</p><p>This is a great option when editing html code is necessary; but swtiching editor views is undesirable.</p>';
														}
														if($icon === 'acheck') { 
															$title = 'Accessibility Checker'; 
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/acheck/img//acheck.png);width:20px;height:20px;';
															$tooltip['title'] = 'Accessibility Checker'; 
															$tooltip['content'] = '<p>Checks the editor content for accessibility by other devices.</p>';
														}
														if($icon === 'advlink') { 
															$title = 'Insert/Edit Advanced Link'; 
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/advlink/images/advlink.png);width:20px;height:20px;';
															$tooltip['title'] = 'Insert/Edit Advanced Link'; 
															$tooltip['content'] = '<p>Insert and edit links; along with various atttributes.</p><p>Populates with all posts and pages; so linking to current content is a one-click process.</p><p>Also includes javascript attributes (onclick, onmouseover, etc.); which can be used for executing javascript functions.</p>';
														}
														if($icon === 'advhr') { 
															$title = 'Advanced Horizontal Line'; 
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/advhr/images/advhr.png);width:20px;height:20px;'; 
															$tooltip['title'] = 'Advanced Horizontal Line'; 
															$tooltip['content'] = '<p>Modify various options of the horizontal line; like shadow and width.</p>';
														}
														if($icon === 'advimage') { 
															$title = 'Advanced Insert/Edit Image'; 
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/advimage/images//advimage.png);width:20px;height:20px;'; 
															$tooltip['title'] = 'Advanced Insert/Edit Image'; 
															$tooltip['content'] = '<p>Insert/Edit images with more control.</p><p>Define image attributes, image margin, image padding and image border.</p><p>Also includes javascript attributes (onclick, onmouseover, etc.); which can be used for executing javascript functions.</p>';
														}
														if($icon === 'formatPainter') { 
															$class = 'dashicons dashicons-admin-appearance';
															$title = 'Format Painter'; 
															$tooltip['title'] = 'Format Painter'; 
															$tooltip['content'] = '<p>Copies styling from one element; and applies the same styling to another element.</p>';
														}
														if($icon === 'googleImages') { 
															$title = 'Google Images'; 
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/googleImages/images/googleImages.png);width:20px;height:20px;'; 
															$tooltip['title'] = 'Google Images'; 
															$tooltip['content'] = '<p>Browse and insert Google images without ever leaving the content editor.</p>';
														}
														if($icon === 'abbr') { 
															$title = 'Abbreviation';
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/abbr/abbr.png);width:20px;height:20px;'; 
															$tooltip['title'] = 'Abbreviation'; 
															$tooltip['content'] = '<p>Add an abbreviation to selected editor content.</p>';
														}
														if($icon === 'imgmap') {
															$title = 'Image Map'; 
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/imgmap/images/imgmap.png);width:20px;height:20px;';  
															$tooltip['title'] = 'Image Map'; 
															$tooltip['content'] = '<p>Create an image map from an image.</p><p>Allows multiple "hot spots" on a single image.  Each "hot spot" can link to a different url.</p>';
														}
														if($icon === 'columnShortcodes') { 
															$class = 'dashicons dashicons-schedule';
															$title = 'Column Shortcodes';
															$tooltip['title'] = 'Column Shortcodes'; 
															$tooltip['content'] = '<p>A tool for easily inserting column shortcode templates.</p>';
														}
														if($icon === 'nonbreaking') { 
															$title = 'Nonbreaking Space';
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/nonbreaking/nonbreaking.png);width:20px;height:20px;'; 
															$tooltip['title'] = 'Nonbreaking Space'; 
															$tooltip['content'] = '<p>Insert a nonbreaking space; which will not be removed from the editor.</p>';
														}
														if($icon === 'eqneditor') { 
															$title = 'CodeCogs Equation Editor';
															$style='background-image:url('.WPEDIT_PLUGIN_URL.'plugins/eqneditor/img/eqneditor.png);width:20px;height:20px;'; 
															$tooltip['title'] = 'CodeCogs Equation Editor'; 
															$tooltip['content'] = '<p>Create complex math equations from a simple interface.</p>';
														}
														
														// Process tooltips
														$tooltip_title = isset($tooltip['title']) ? $tooltip['title'] : 'Title not found';
														$tooltip_content = isset($tooltip['content']) ? $tooltip['content'] : '<p>Content not found. Please report to the plugin developer.</p>';
														
														// Are we displaying fancy tooltips?
														
														$tooltip_att = ($no_tooltips === false) ? 'data-tooltip="<h4 class=\'data_tooltip_title\'>'.htmlspecialchars($tooltip_title).'</h4><hr />'.htmlspecialchars($tooltip_content).'" ' : '';
														
														// Display button
														echo '<div '.$tooltip_att.' id="'.$icon.'" class="ui-state-default draggable '.$class.'" title="'.$title.'"><span style="'.esc_attr($style).'">'.$text.'</span></div>';
													}
												}
											echo '</div>';  // End foreach .sortable
										}  // End not rows 3 and 4
									}
									?>
								</div>  <!-- End #inside_button_hover -->
							</div>  <!-- End .postbox -->
						</div>  <!-- End .metabox -->
					</div>  <!-- End .main_buttons_container_float -->
					<?php
					
					// Build input for passing button arrangements
					echo '<form method="post" action="">';
					
						echo '<input type="hidden" class="get_sorted_array" name="get_sorted_array_results" value="" />';
							
						// Submit save buttons
						echo '<input type="submit" value="'.__('Save Buttons', 'wp_edit_langs').'" name="wpep_save_buttons" class="button-primary" />';
						
						// Submit reset buttons
						echo '<span style="margin-left:10px;"></span>';
						echo '<input type="button" value="'.__('Reset Buttons', 'wp_edit_langs').'" class="button-primary reset_dd_buttons" />';
						echo '<input type="submit" name="wpep_reset_buttons" class="button-primary wpep_reset_buttons" style="display:none;" />';
						
					echo '</form>';
				echo '</div>';
				
				echo '<div class="main_container">';
				
					echo '<h3>';
						_e('Buttons Tips', 'wp_edit_langs');
					echo '</h3>';
					?>
					
					<div class="metabox-holder"> 
						<div class="postbox">
							<div class="inside">
							
								<div id="button_help_tabs">
								
									<ul>
									<li><a href="#dragdrop"><?php _e('Drag/Drop', 'wp_edit_langs'); ?></a></li>
									<li><a href="#multiselect"><?php _e('Multi Select', 'wp_edit_langs'); ?></a></li>
									<li><a href="#reset"><?php _e('Reset', 'wp_edit_langs'); ?></a></li>
									</ul>
									
									<div id="dragdrop">
										<p><?php _e('Buttons can be dragged and dropped into desired button rows.', 'wp_edit_langs'); ?></p>
										<p><?php _e('The "Button Container" is a placeholder for buttons not used in the editor; these buttons will not appear when editing a post or page.', 'wp_edit_langs'); ?></p>
									</div>
									<div id="multiselect">
										<p><?php _e('Buttons may also be selected in quantities; or multiple selections, before being moved.', 'wp_edit_langs'); ?></p>
										<p><?php _e('Clicking a button will set it as "active"; a yellowish highlight color. Multiple buttons can be clicked and set as "active".', 'wp_edit_langs'); ?></p>
										<p><?php _e('Clicking and dragging one of the "active" buttons will move the entire "active" selection.', 'wp_edit_langs'); ?></p>
										<p><?php _e('Clicking outside the button area will remove all currently active button selections.', 'wp_edit_langs'); ?></p>
									</div>
									<div id="reset">
										<p><?php _e('Clicking "Reset Buttons" will restore the editor buttons to their original default values.', 'wp_edit_langs'); ?></p>
										<p><?php _e('All button rows will get the default WordPress button arrangements; and the extra buttons will be added to the "Button Container".', 'wp_edit_langs'); ?></p>
									</div>
								</div>
							</div>
						</div>
					</div>
				<?php
				echo '</div>';
			}
			/*
			****************************************************************
			Global Tab
			****************************************************************
			*/
            else if($active_tab == 'global') {
				
				echo '<div class="main_container">';
				
					?>
                    <h3><?php _e('Global Options', 'wp_edit_langs'); ?></h3>
                    <form method="post" action="">
                    <div class="metabox-holder"> 
						<div class="postbox">
							<div class="inside">
                            
                                <?php
                                $options_global = get_option('wp_edit_global');
                                $jquery_theme = isset($options_global['jquery_theme']) ? $options_global['jquery_theme'] : 'smoothness';
                                $disable_admin_links = isset($options_global['disable_admin_links']) && $options_global['disable_admin_links'] === '1' ? 'checked="checked"' : '';
                                $disable_fancy_tooltips = isset($options_global['disable_fancy_tooltips']) && $options_global['disable_fancy_tooltips'] === '1' ? 'checked="checked"' : '';
                                ?>
                                
                                <table cellpadding="10">
                                <tbody>
                                <tr><td><?php _e('jQuery Theme', 'wp_edit_langs'); ?></td>
                                    <td>
                                    
                                    <select id="jquery_theme" name="jquery_theme"/>
                                    <?php
                                    $jquery_themes = array('base','black-tie','blitzer','cupertino','dark-hive','dot-luv','eggplant','excite-bike','flick','hot-sneaks','humanity','le-frog','mint-choc','overcast','pepper-grinder','redmond','smoothness','south-street','start','sunny','swanky-purse','trontastic','ui-darkness','ui-lightness','vader');
                                                                    
                                    foreach($jquery_themes as $jquery_theme) {
                                        $selected = ($options_global['jquery_theme']==$jquery_theme) ? 'selected="selected"' : '';
                                        echo "<option value='$jquery_theme' $selected>$jquery_theme</option>";
                                    }
                                    ?>
                                    </select>
                                    <label for="jquery_theme"> <?php _e('Selects the jQuery theme for plugin alerts and notices.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('Disable Admin Links', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="disable_admin_links" type="checkbox" value="1" name="disable_admin_links" <?php echo $disable_admin_links; ?> />
                                    <label for="disable_admin_links"><?php _e('Disables the WP Edit top admin bar links.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('Disable Fancy Tooltips', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="disable_fancy_tooltips" type="checkbox" value="1" name="disable_fancy_tooltips" <?php echo $disable_fancy_tooltips; ?> />
                                    <label for="disable_fancy_tooltips"><?php _e('Disables the fancy tooltips used on button hover.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
					<input type="submit" value="<?php _e('Save Global Options', 'wp_edit_langs'); ?>" class="button button-primary" id="submit_global" name="submit_global">
					</form>
					<?php
				echo '</div>';
            } 
			/*
			****************************************************************
			General Tab
			****************************************************************
			*/
            else if($active_tab == 'general'){
				
				echo '<div class="main_container">';
				
					?>
                    <h3><?php _e('General Options', 'wp_edit_langs'); ?></h3>
                    <form method="post" action="">
                    <div class="metabox-holder"> 
						<div class="postbox">
							<div class="inside">
                                
                                <?php
                                $options_general = get_option('wp_edit_general');
                                $linebreak_shortcode = isset($options_general['linebreak_shortcode']) && $options_general['linebreak_shortcode'] === '1' ? 'checked="checked"' : '';
                                $shortcodes_in_widgets = isset($options_general['shortcodes_in_widgets']) && $options_general['shortcodes_in_widgets'] === '1' ? 'checked="checked"' : '';
                                $shortcodes_in_excerpts = isset($options_general['shortcodes_in_excerpts']) && $options_general['shortcodes_in_excerpts'] === '1' ? 'checked="checked"' : '';
                                $post_excerpt_editor = isset($options_general['post_excerpt_editor']) && $options_general['post_excerpt_editor'] === '1' ? 'checked="checked"' : '';
                                $page_excerpt_editor = isset($options_general['page_excerpt_editor']) && $options_general['page_excerpt_editor'] === '1' ? 'checked="checked"' : '';
                                $profile_editor = isset($options_general['profile_editor']) && $options_general['profile_editor'] === '1' ? 'checked="checked"' : '';
                                $php_widgets = isset($options_general['php_widgets']) && $options_general['php_widgets'] === '1' ? 'checked="checked"' : '';
                                ?>
                                
                                <table cellpadding="8">
                                <tbody>
                                <tr><td><?php _e('Linebreak Shortcode', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="linebreak_shortcode" type="checkbox" value="1" name="linebreak_shortcode" <?php echo $linebreak_shortcode; ?> />
                                    <label for="linebreak_shortcode"><?php _e('Use the [break] shortcode to insert linebreaks in the editor.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('Shortcodes in Widgets', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="shortcodes_in_widgets" type="checkbox" value="1" name="shortcodes_in_widgets" <?php echo $shortcodes_in_widgets; ?> />
                                    <label for="shortcodes_in_widgets"><?php _e('Use shortcodes in widget areas.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('Shortcodes in Excerpts', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="shortcodes_in_excerpts" type="checkbox" value="1" name="shortcodes_in_excerpts" <?php echo $shortcodes_in_excerpts; ?> />
                                    <label for="shortcodes_in_excerpts"><?php _e('Use shortcodes in excerpt areas.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('WP Edit Post Excerpt', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="post_excerpt_editor" type="checkbox" value="1" name="post_excerpt_editor" <?php echo $post_excerpt_editor; ?> />
                                    <label for="post_excerpt_editor"><?php _e('Add the WP Edit editor to the Post Excerpt area.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('WP Edit Page Excerpt', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="page_excerpt_editor" type="checkbox" value="1" name="page_excerpt_editor" <?php echo $page_excerpt_editor; ?> />
                                    <label for="page_excerpt_editor"><?php _e('Add the WP Edit editor to the Page Excerpt area.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('Profile Editor', 'wp_edit_langs'); ?></td>
                                    <td class="jwl_user_cell">
                                        <input id="profile_editor" type="checkbox" value="1" name="profile_editor" <?php echo $profile_editor; ?> />
                                        <label for="profile_editor"><?php _e('Use modified editor in profile biography field.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('PHP Widgets', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="php_widgets" type="checkbox" value="1" name="php_widgets" <?php echo $php_widgets; ?> />
                                    <label for="php_widgets"><?php _e('Adds a new widget for PHP code.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
                            
					<input type="submit" value="<?php _e('Save General Options', 'wp_edit_langs'); ?>" class="button button-primary" id="submit_general" name="submit_general">
					</form>
					<?php
				echo '</div>';
            } 
			/*
			****************************************************************
			Posts/Pages Tab
			****************************************************************
			*/
            else if($active_tab == 'posts'){
				
				$options_posts = get_option('wp_edit_posts');
				
				$post_title_field = isset($options_posts['post_title_field']) ? $options_posts['post_title_field'] : 'Enter title here';
				$column_shortcodes = isset($options_posts['column_shortcodes']) && $options_posts['column_shortcodes'] === '1' ? 'checked="checked"' : '';
				$disable_wpautop = isset($options_posts['disable_wpautop']) && $options_posts['disable_wpautop'] === '1' ? 'checked="checked"' : '';
				
				$max_post_revisions = isset($options_posts['max_post_revisions']) ? $options_posts['max_post_revisions'] : '';
				$max_page_revisions = isset($options_posts['max_page_revisions']) ? $options_posts['max_page_revisions'] : '';
				
				$hide_admin_posts = isset($options_posts['hide_admin_posts']) ? $options_posts['hide_admin_posts'] : '';
				$hide_admin_pages = isset($options_posts['hide_admin_pages']) ? $options_posts['hide_admin_pages'] : '';
					
				echo '<div class="main_container">';
				
					?>
                    <h3><?php _e('Posts/pages Options', 'wp_edit_langs'); ?></h3>
                    <form method="post" action="">
                    <div class="metabox-holder"> 
						<div class="postbox">
							<div class="inside">
                                <table cellpadding="8">
                                <tbody>
                                <tr><td><?php _e('Post/Page Default Title', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input type="text" name="post_title_field" value="<?php echo $post_title_field ?>" />
                                    <label for="post_title_field"><?php _e('Change the default "add new" post/page title field.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('Column Shortcodes', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="column_shortcodes" type="checkbox" value="1" name="column_shortcodes" <?php echo $column_shortcodes; ?> />
                                    <label for="column_shortcodes"><?php _e('Enable the column shortcodes functionality.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('Disable wpautop()', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="disable_wpautop" type="checkbox" value="1" name="disable_wpautop" <?php echo $disable_wpautop; ?> />
                                    <label for="disable_wpautop"><?php _e('Disable the filter responsible for removing p and br tags.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
					
                    <h3><?php _e('Page Revisions', 'wp_edit_langs'); ?></h3>
                    <div class="metabox-holder"> 
						<div class="postbox">
							<div class="inside">
                                <table cellpadding="8">
                                <tbody>
                                <tr><td><?php _e('Max Post Revisions', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input type="text" name="max_post_revisions" value="<?php echo $max_post_revisions ?>" />
                                    <label for="max_post_revisions"><?php _e('Set max number of Post Revisions to store in database. (empty = unlimited)', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('Max Page Revisions', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input type="text" name="max_page_revisions" value="<?php echo $max_page_revisions ?>" />
                                    <label for="max_page_revisions"><?php _e('Set max number of Page Revisions to store in database. (empty = unlimited)', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('Delete Revisions', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="delete_revisions" type="checkbox" value="1" name="delete_revisions" />
                                    <label for="delete_revisions"><?php _e('Delete all database revisions.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('Revisions DB Size', 'wp_edit_langs'); ?></td>
                                    <td>
                                        <?php
                                        global $wpdb;
                                        $query = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE post_type = 'revision'", ARRAY_A );
                                        $lengths = 0;
                                        foreach ($query as $row) {
                                            $lengths += strlen($row['post_content']);
                                        }
                                        _e('Current size of revisions stored in database:', 'wp_edit_langs');
                                        echo ' <strong>'.number_format($lengths/(1024*1024),3).' mb</strong>';
                                        ?>
                                    </td>
                                </tr>
                                </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
					
                    <h3><?php _e('Hide Posts and Pages', 'wp_edit_langs'); ?></h3>
                    <div class="metabox-holder"> 
						<div class="postbox">
							<div class="inside">
                                <table cellpadding="8">
                                <tbody>
                                <tr><td><?php _e('Hide Admin Posts', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input type="text" name="hide_admin_posts" value="<?php echo $hide_admin_posts ?>" />
                                    <label for="hide_admin_posts"><?php _e('Hide selected posts from admin view. ID comma separated (1,5,14,256)', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('Hide Admin Pages', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input type="text" name="hide_admin_pages" value="<?php echo $hide_admin_pages ?>" />
                                    <label for="hide_admin_pages"><?php _e('Hide selected pages from admin view. ID comma separated (1,5,14,256)', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
                    <input type="submit" value="<?php _e('Save Posts/Pages Options', 'wp_edit_langs'); ?>" class="button button-primary" id="submit_posts" name="submit_posts">
					</form>
					<?php
				echo '</div>';
            }
			/*
			****************************************************************
			Editor Tab
			****************************************************************
			*/
            else if($active_tab == 'editor'){
				
                ?>
                <form method="post" action="">
                <div class="main_container">
                
                	<h3><?php _e('Styles Options', 'wp_edit_langs'); ?></h3>
                    <div class="metabox-holder"> 
                        <div class="postbox">
                            <div class="inside">
                                <p style="margin-left:10px;"><?php _e('Adds predefined styles; which can be applied to editor content.', 'wp_edit_langs'); ?><br />
                                <?php _e('Please be sure the "Formats" button is active in the editor.', 'wp_edit_langs'); ?></p>
                                
                                <?php
                                $options_editor = get_option('wp_edit_editor');
                                $editor_add_pre_styles = isset($options_editor['editor_add_pre_styles']) && $options_editor['editor_add_pre_styles'] === '1' ? 'checked="checked"' : '';
                                $default_editor_fontsize_type = isset($options_editor['default_editor_fontsize_type']) ? $options_editor['default_editor_fontsize_type'] : 'pt';
								$default_editor_fontsize_values = isset($options_editor['default_editor_fontsize_values']) ? $options_editor['default_editor_fontsize_values'] : '';
                                ?>
                                
                                <table cellpadding="8">
                                <tbody>
                                <tr><td><?php _e('Add Pre-defined Styles', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="editor_add_pre_styles" type="checkbox" value="1" name="editor_add_pre_styles" <?php echo $editor_add_pre_styles; ?> />
                                    <label for="editor_add_pre_styles"><?php _e('Adds predefined styles to the "Formats" dropdown button.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
                    
                    <h3><?php _e('TinyMCE Options', 'wp_edit_langs'); ?></h3>
                    <div class="metabox-holder"> 
                        <div class="postbox">
                            <div class="inside">
                                <p style="margin-left:10px;"><?php _e('These options will adjust various parts of the TinyMCE initialization process.', 'wp_edit_langs'); ?></p>
                                
                                <table cellpadding="8">
                                <tbody>
                                <tr><td><?php _e('Dropdown Editor Font-Size Type', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input type="radio" name="default_editor_fontsize_type" value="px" <?php if($default_editor_fontsize_type === 'px') echo 'checked="checked"'; ?> /> <?php _e('px', 'wp_edit_langs'); ?><span style="margin-left:10px;"></span>
                                    <input type="radio" name="default_editor_fontsize_type" value="pt" <?php if($default_editor_fontsize_type === 'pt') echo 'checked="checked"'; ?> /> <?php _e('pt', 'wp_edit_langs'); ?><span style="margin-left:10px;"></span>
                                    <input type="radio" name="default_editor_fontsize_type" value="em" <?php if($default_editor_fontsize_type === 'em') echo 'checked="checked"'; ?> /> <?php _e('em', 'wp_edit_langs'); ?><span style="margin-left:10px;"></span>
                                    <input type="radio" name="default_editor_fontsize_type" value="percent" <?php if($default_editor_fontsize_type === 'percent') echo 'checked="checked"'; ?> /> <?php _e('%', 'wp_edit_langs'); ?><br />
                                    	
                                    <?php _e('Select the editor font size type displayed in the "Font Size" button dropdown menu.', 'wp_edit_langs'); ?>
                                    </td>
                                </tr>
                                <tr><td style="vertical-align:top;"><?php _e('Dropdown Editor Font-Size Type Values', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input type="text" name="default_editor_fontsize_values" value="<?php echo $default_editor_fontsize_values; ?>" /><br />
                                    <?php _e('Define available font-size values for Font Size dropdown box.', 'wp_edit_langs'); ?><br />
                                    <?php _e('Values should be space separated; and end with the chosen font size type (selected above).', 'wp_edit_langs'); ?><br />
                                    <?php _e('For Example: If <strong>em</strong> is selected; possible values could be <strong>1em 1.1em 1.2em</strong> etc.', 'wp_edit_langs'); ?>
                                    </td>
                                </tr>
                                </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
                    <input type="submit" value="<?php _e('Save Editor Options', 'wp_edit_langs'); ?>" class="button button-primary" id="submit_editor" name="submit_editor">
                </div>
                </form>
                <?php
            }
			/*
			****************************************************************
			Extras Tab
			****************************************************************
			*/
			else if($active_tab == 'extras')  {
				
				?>
                <form method="post" action="">
                <div class="main_container">
                
                    <h3><?php _e('Extra Options', 'wp_edit_langs'); ?></h3>
                    
                    <div class="metabox-holder"> 
                        <div class="postbox">
                            <div class="inside">
                            
                                <h3><?php _e('Signoff Text', 'wp_edit_langs'); ?></h3>
                                <p style="margin-left:10px;"><?php _e('Use the editor below to create a content chunk that can be inserted anywhere using the', 'wp_edit_langs'); ?> <strong>[signoff]</strong> <?php _e('shortcode.', 'wp_edit_langs'); ?></p>
                                
                                <table cellpadding="8" width="100%">
                                <tbody>
                                <tr><td>
                                    <?php
                                    $options_extras = get_option('wp_edit_extras');
                                    $content = isset($options_extras['signoff_text']) ? $options_extras['signoff_text'] : 'Please enter text here...';
                                    $editor_id = 'wp_edit_signoff';
                                    $args = array('textarea_rows' => 10, 'width' => '100px');
                                    wp_editor( $content, $editor_id, $args );
                                    ?>
                                </td></tr>
                                </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
                    
                	<input type="submit" value="Save Extras Options" class="button button-primary" id="submit_extras" name="submit_extras">
                </div>
                </form>
                <?php
			}
			/*
			****************************************************************
			User Specific Tab
			****************************************************************
			*/
            else if($active_tab == 'user_specific') {
                
				global $current_user;
				$options_user_meta = get_user_meta($current_user->ID, 'aaa_wp_edit_user_meta', true);
				
                $id_column = isset($options_user_meta['id_column']) && $options_user_meta['id_column'] === '1' ? 'checked="checked"' : '';
                $thumbnail_column = isset($options_user_meta['thumbnail_column']) && $options_user_meta['thumbnail_column'] === '1' ? 'checked="checked"' : '';
                $hide_text_tab = isset($options_user_meta['hide_text_tab']) && $options_user_meta['hide_text_tab'] === '1' ? 'checked="checked"' : '';
                $default_visual_tab = isset($options_user_meta['default_visual_tab']) && $options_user_meta['default_visual_tab'] === '1' ? 'checked="checked"' : '';
                $dashboard_widget = isset($options_user_meta['dashboard_widget']) && $options_user_meta['dashboard_widget'] === '1' ? 'checked="checked"' : '';
                
                $enable_highlights = isset($options_user_meta['enable_highlights']) && $options_user_meta['enable_highlights'] === '1' ? 'checked="checked"' : '';
                $draft_highlight = isset($options_user_meta['draft_highlight']) ? $options_user_meta['draft_highlight'] : '#FFFFFF';
                $pending_highlight = isset($options_user_meta['pending_highlight'])  ? $options_user_meta['pending_highlight'] : '#FFFFFF';
                $published_highlight = isset($options_user_meta['published_highlight'])  ? $options_user_meta['published_highlight'] : '#FFFFFF';
                $future_highlight = isset($options_user_meta['future_highlight'])  ? $options_user_meta['future_highlight'] : '#FFFFFF';
                $private_highlight = isset($options_user_meta['private_highlight'])  ? $options_user_meta['private_highlight'] : '#FFFFFF';
                ?>
                
                <form method="post" action="">
                <div class="main_container">
                
                    <h3><?php _e('User Specific Options', 'wp_edit_langs'); ?></h3>
                    <div class="metabox-holder"> 
                        <div class="postbox">
                            <div class="inside">
                                
                                <p style="margin-left:10px;"><?php _e('These options are stored in individual user meta; meaning each user can set these options independently from one another.', 'wp_edit_langs'); ?></p>
                                
                                <table cellpadding="8">
                                <tbody>
                                <tr><td><?php _e('ID Column', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="id_column" type="checkbox" value="1" name="wp_edit_user_specific[id_column]" <?php echo $id_column; ?> />
                                    <label for="id_column"><?php _e('Adds a column to post/page list view for displaying the post/page ID.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('Thumbnail Column', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="thumbnail_column" type="checkbox" value="1" name="wp_edit_user_specific[thumbnail_column]" <?php echo $thumbnail_column; ?> />
                                    <label for="thumbnail_column"><?php _e('Adds a column to post/page list view for displaying thumbnails.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('Hide TEXT Tab', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="hide_text_tab" type="checkbox" value="1" name="wp_edit_user_specific[hide_text_tab]" <?php echo $hide_text_tab; ?> />
                                    <label for="hide_text_tab"><?php _e('Hide the editor TEXT tab from view.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('Default VISUAL Tab', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="default_visual_tab" type="checkbox" value="1" name="wp_edit_user_specific[default_visual_tab]" <?php echo $default_visual_tab; ?> />
                                    <label for="default_visual_tab"><?php _e('Always display VISUAL tab when editor loads.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('Disable Dashboard Widget', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="dashboard_widget" type="checkbox" value="1" name="wp_edit_user_specific[dashboard_widget]" <?php echo $dashboard_widget; ?> />
                                    <label for="dashboard_widget"><?php _e('Disables WP Edit Pro News Feed dashboard widget.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
                    
                    <h3><?php _e('Post/Page Highlight Colors', 'wp_edit_langs'); ?></h3>
                    <div class="metabox-holder"> 
                        <div class="postbox">
                            <div class="inside">
                            
                                <p style="margin-left:10px;"><?php _e('These options will allow each user to customize highlight colors for each post/page status.', 'wp_edit_langs'); ?><br />
                                <?php _e('Meaning.. saved posts can be yellow, published posts can be blue, etc.', 'wp_edit_langs'); ?></p>
                                
                                <table cellpadding="8">
                                <tbody>
                                <tr><td><?php _e('Enable Highlights', 'wp_edit_langs'); ?></td>
                                    <td>
                                    <input id="enable_highlights" type="checkbox" value="1" name="wp_edit_user_specific[enable_highlights]" <?php echo $enable_highlights; ?> />
                                    <label for="enable_highlights"><?php _e('Enable the Highlight Options below.', 'wp_edit_langs'); ?></label>
                                    </td>
                                </tr>
                                <tr><td><?php _e('Draft Highlight', 'wp_edit_langs'); ?></td>
                                    <td class="jwl_user_cell">
                                    <input id="draft_highlight" type="text" name="wp_edit_user_specific[draft_highlight]" class="color_field" value="<?php echo $draft_highlight; ?>" />
                                    </td>
                                </tr>
                                <tr><td><?php _e('Pending Highlight', 'wp_edit_langs'); ?></td>
                                    <td class="jwl_user_cell">
                                    <input id="pending_highlight" type="text" name="wp_edit_user_specific[pending_highlight]" class="color_field" value="<?php echo $pending_highlight; ?>" />
                                    </td>
                                </tr>
                                <tr><td><?php _e('Published Highlight', 'wp_edit_langs'); ?></td>
                                    <td class="jwl_user_cell">
                                    <input id="published_highlight" type="text" name="wp_edit_user_specific[published_highlight]" class="color_field" value="<?php echo $published_highlight; ?>" />
                                    </td>
                                </tr>
                                <tr><td><?php _e('Future Highlight', 'wp_edit_langs'); ?></td>
                                    <td class="jwl_user_cell">
                                    <input id="future_highlight" type="text" name="wp_edit_user_specific[future_highlight]" class="color_field" value="<?php echo $future_highlight; ?>" />
                                    </td>
                                </tr>
                                <tr><td><?php _e('Private Highlight', 'wp_edit_langs'); ?></td>
                                    <td class="jwl_user_cell">
                                    <input id="private_highlight" type="text" name="wp_edit_user_specific[private_highlight]" class="color_field" value="<?php echo $private_highlight; ?>" />
                                    </td>
                                </tr>
                                </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
               
                	<input type="submit" value="<?php _e('Save User Specific Options', 'wp_edit_langs'); ?>" class="button button-primary" id="submit_user_specific" name="submit_user_specific">
                </div>
                </form><?php
            }
			/*
			****************************************************************
			Database Tab
			****************************************************************
			*/
			else if($active_tab == 'database') {
				?>
                <div class="main_container">
                
                    <h3><?php _e('Database Options', 'wp_edit_langs'); ?></h3>
                    
                    <div class="metabox-holder">
                    
                        <div class="postbox">
                            <h3><span><?php _e('Export WP Edit Options', 'wp_edit_langs'); ?></span></h3>
                            <div class="inside">
                                <p><?php _e('Export the plugin settings for this site as a .json file. This allows you to easily import the configuration into another site.', 'wp_edit_langs'); ?></p>
                                <form method="post" action="">
                                    <p><input type="hidden" name="database_action" value="export_settings" /></p>
                                    <p>
                                    <?php wp_nonce_field( 'database_action_export_nonce', 'database_action_export_nonce' ); ?>
                                    <?php submit_button( __('Export', 'wp_edit_langs'), 'primary', 'submit', false ); ?>
                                    </p>
                                </form>
                            </div><!-- .inside -->
                        </div><!-- .postbox -->
                                     
                        <div class="postbox">
                            <h3><span><?php _e('Import WP Edit Options', 'wp_edit_langs'); ?></span></h3>
                            <div class="inside">
                                <p><?php _e('Import the plugin settings from a .json file. This file can be obtained by exporting the settings on another site using the form above.', 'wp_edit_langs'); ?></p>
                                <form method="post" enctype="multipart/form-data">
                                    <p><input type="file" name="import_file"/></p>
                                    <p>
                                    <input type="hidden" name="database_action" value="import_settings" />
                                    <?php wp_nonce_field( 'database_action_import_nonce', 'database_action_import_nonce' ); ?>
                                    <?php submit_button( __('Import', 'wp_edit_langs'), 'primary', 'submit', false ); ?>
                                    </p>
                                </form>
                            </div><!-- .inside -->
                        </div><!-- .postbox -->
                                     
                        <div class="postbox">
                            <h3><span><?php _e('Reset WP Edit Options', 'wp_edit_langs'); ?></span></h3>
                            <div class="inside">
                                <p><?php _e('Reset all plugin settings to their original default states.', 'wp_edit_langs'); ?></p>
                                <form method="post" action="">
                                    <?php wp_nonce_field( 'reset_db_values_nonce', 'reset_db_values_nonce' ); ?>
                                    <input class="button-primary reset_db_values" name="reset_db_values" type="submit" style="display:none;" />
                                    <input class="button-primary reset_db_values_confirm" name="reset_db_values_confirm" type="button" value="<?php _e('Reset', 'wp_edit_langs'); ?>" />
                                    </p>
                                </form>
                            </div><!-- .inside -->
                        </div><!-- .postbox -->
                        
                        <div class="postbox">
                            <h3><span><?php _e('Uninstall WP Edit (Completely)', 'wp_edit_langs'); ?></span></h3>
                            <div class="inside">
                                <p><?php _e('Designed by intention, this plugin will not delete the associated database tables when activating and deactivating.', 'wp_edit_langs'); ?><br />
                                   <?php _e('This ensures the data is kept safe when troubleshooting other WordPress conflicts.', 'wp_edit_langs'); ?><br />
                                   <?php _e('In order to completely uninstall the plugin, AND remove all associated database tables, please use the option below.', 'wp_edit_langs'); ?><br />
                                </p>
                                <form method="post" action="">
                                    <?php wp_nonce_field('wp_edit_uninstall_nonce_check','wp_edit_uninstall_nonce'); ?>
                                    <input id="plugin" name="plugin" type="hidden" value="wp-edit/main.php" />
                                    <input name="uninstall_confirm" id="uninstall_confirm" type="checkbox" value="1" /><label for="uninstall_confirm"></label> <strong><?php _e('Please confirm before proceeding','wp_edit_langs'); ?><br /><br /></strong>
                                    <input class="button-primary" name="uninstall" type="submit" value="<?php _e('Uninstall','wp_edit_langs'); ?>" />
                                </form>
                            </div><!-- .inside -->
                        </div><!-- .postbox -->
                        
                    </div><!-- .metabox-holder -->	
                </div><!-- .main_container -->	
                <?php
			}
			/*
			****************************************************************
			Database Tab
			****************************************************************
			*/
			else if($active_tab == 'about') {
				
				// Get mysql version number (scrape php_info module)
				ob_start();
				phpinfo(INFO_MODULES);
				$info = ob_get_contents();
				ob_end_clean();
				$info = stristr($info, 'Client API version');
				preg_match('/[1-9].[0-9].[1-9][0-9]/', $info, $match);
				$sql_version = $match[0]; 
				
				// Get plugin info
				$url = WPEDIT_PLUGIN_PATH.'main.php';
				$plugin_data = get_plugin_data( $url );
				
				global $wp_version;
				
				echo '<div class="main_container">';
					
					?>
					<h3><?php _e('Information','wp_edit_langs'); ?></h3>
					
					<div class="metabox-holder">
						<div class="postbox">
							<div class="inside">
							
								<p><?php _e('Plugin and server version information.', 'wp_edit_langs'); ?></p>
							
								<table class="table table-bordered" cellpadding="3" style="width:50%;">
								<tbody>
								<tr><td><?php _e('WP Edit Pro Version:','wp_edit_langs'); ?></td>
									<td>
									<?php echo $plugin_data['Version']; ?>
									</td>
								</tr>
								<tr><td><?php _e('WordPress Version:','wp_edit_langs'); ?></td>
									<td>
									<?php echo $wp_version; ?>
									</td>
								</tr>
								<tr><td><?php _e('PHP Version:','wp_edit_langs'); ?></td>
									<td>
									<?php echo phpversion(); ?>
									</td>
								</tr>
								<tr><td><?php _e('HTML Version:','wp_edit_langs'); ?></td>
									<td>
									<span class="wpep_html_version"></span>
									</td>
								</tr>
								<tr><td><?php _e('MySql Version:','wp_edit_langs'); ?></td>
									<td>
									<?php echo $sql_version; ?>
									</td>
								</tr>
								<tr><td><?php _e('jQuery Version:','wp_edit_langs'); ?></td>
									<td>
									<?php echo $GLOBALS['wp_scripts']->registered['jquery-core']->ver; ?>
									</td>
								</tr>
								</tbody>
								</table>
							</div>
						</div>
					</div>
					
					<h3><?php _e('Support','wp_edit_langs'); ?></h3>
					<div class="metabox-holder">
						<div class="postbox">
							<div class="inside">
							
								<p><?php _e('Please use the following helpful links for plugin support.', 'wp_edit_langs'); ?></p>
							
								<table class="table table-bordered" cellpadding="3" style="width:30%;">
								<tbody>
								<tr><td><?php _e('Support Forum:','wp_edit_langs'); ?></td>
									<td>
									<?php echo '<a target="_blank" href="http://forum.wpeditpro.com">'.__('Support Forum', 'wp_edit_langs').'</a>'; ?>
									</td>
								</tr>
								<tr><td><?php _e('Knowledge Base:','wp_edit_langs'); ?></td>
									<td>
									<?php echo '<a target="_blank" href="http://learn.wpeditpro.com">'.__('Knowledge Base', 'wp_edit_langs').'</a>'; ?>
									</td>
								</tr>
								</tbody>
								</table>
							</div>
						</div>
					</div>
					
					<h3><?php _e('Documentation','wp_edit_langs'); ?></h3>
					<div class="metabox-holder">
						<div class="postbox">
							<div class="inside">
							
								<p><?php _e('Remember, complete plugin documentation can be found on our <a target="_blank" href="http://learn.wpeditpro.com">Knowledge Base</a>.', 'wp_edit_langs'); ?></p>
								<p><?php _e('Visit the <a target="_blank" href="http://learn.wpeditpro.com/category/plugin-options/">Knowledge Base Plugin Options</a> page to get started.','wp_edit_langs'); ?></p>
							</div>
						</div>
					</div>
					<?php
				echo '</div>';
			}
			?>
        </div><!-- .wrap -->
        
        <div id="right_column_metaboxes">
        
        	<div class="main_container">
            	<h3><?php _e('WP Edit Pro', 'wp_edit_langs'); ?></h3>
                <div class="metabox-holder"> 
                    <div class="postbox">
                        <div class="inside">
                        
                            <p><?php _e('Upgrade to WP Edit Pro today; and enjoy additional options such as:', 'wp_edit_langs'); ?></p>
                            <ul class="wpep_pro_upgrade_list">
                                <li><span class="dashicons dashicons-yes"></span><?php _e('4 customizable button rows instead of only 2.', 'wp_edit_langs'); ?></li>
                                <li><span class="dashicons dashicons-yes"></span><?php _e('Create multiple button arrangements.', 'wp_edit_langs'); ?></li>
                                <li><span class="dashicons dashicons-yes"></span><?php _e('Limit users over what buttons they can access.', 'wp_edit_langs'); ?></li>
                                <li><span class="dashicons dashicons-yes"></span><?php _e('Powerful "Snidget" Builder.', 'wp_edit_langs'); ?></li>
                                <li><span class="dashicons dashicons-yes"></span><?php _e('Over 30 additional options and settings.', 'wp_edit_langs'); ?></li>
                                <li><span class="dashicons dashicons-yes"></span><?php _e('Over a dozen additional editor buttons (Image maps, YouTube Videos, and many more!).', 'wp_edit_langs'); ?></li>
                            </ul>
                            <a href="https://wpeditpro.com" target="_blank" class="button-primary"><?php _e('WP Edit Pro', 'wp_edit_langs'); ?></a>
                        </div>
                    </div>
                </div> 
            </div>   
            
            <div class="main_container">
            	<h3><?php _e('Like this Plugin?', 'wp_edit_langs'); ?></h3>
                <div class="metabox-holder"> 
                    <div class="postbox">
                        <div class="inside">
                        
                            <p><?php _e('Please take a moment to rate and review this plugin on the WordPress Plugin Repository.', 'wp_edit_langs'); ?></p>
                            <p><a href="https://wordpress.org/plugins/wp-edit/" target="_blank" class="button-primary"><?php _e('Rate Plugin', 'wp_edit_langs'); ?></a></p>
                        </div>
                    </div>
                </div> 
            </div>   
        </div>
        
        <div style="clear:both;"></div>
        <?php
	}
	
	
	/*
	****************************************************************
	Load/Save Page
	****************************************************************
	*/
    public function load_page() { 
	
		/*
		****************************************************************
		If Import Settings was successful... let's alert a message
		****************************************************************
		*/
		if(isset($_GET['import']) && $_GET['import'] === 'true') {
			
			echo '<div id="message" class="updated"><p>';
			_e('Plugin settings have been successfully imported.' ,'wp_edit_langs');
			echo '</p></div>';
		}
	
		/*
		****************************************************************
		If Buttons Tab options are submitted
		****************************************************************
		*/
		if(isset($_POST['wpep_reset_buttons'])) {
			
			// Check if DB value exists.. if YES, then keep value.. if NO, then replace with protected defaults
			$options_buttons = $this->global_options_buttons;
			
			// Set DB values
			update_option('wp_edit_buttons', $options_buttons);
				
			// Alert user
			function wpe_reset_buttons_from_input(){
				
				echo '<div class="updated">';
					echo '<p>';
						_e('Buttons have been reset successfully.','wp_edit_langs');
					echo '</p>';
				echo '</div>';
			}
			add_action('admin_notices', 'wpe_reset_buttons_from_input');
		}
		
		if(isset($_POST['wpep_save_buttons'])) {
			
			if(isset($_POST['get_sorted_array_results']) && ($_POST['get_sorted_array_results'] != '')) {
				
				//***************************************************
				// Get buttons from hidden div and update database
				//***************************************************
				$post_buttons = $_POST['get_sorted_array_results'];
				$final_button_array = array();
				
				// Explode first set of containers (breaks into "toolbar1:bold,italic,etc."
				$explode_containers = explode('*', $post_buttons);
				
				// Loop each container
				foreach($explode_containers as $container) {
				
					// Get rid of first container (empty)
					if($container != '') {
						
						// Explode each container
						$explode_each_container = explode(':', $container);
						// Replace commas (from js array) with spaces
						$explode_each_container = str_replace(',', ' ', $explode_each_container);
						
						// Push key (container) and value (buttons) to final array
						$final_button_array[$explode_each_container[0]] = $explode_each_container[1];
					}
				}
		
				// Update database buttons
				update_option('wp_edit_buttons', $final_button_array);
				
				// Alert user
				function wpe_save_buttons_from_input(){
					
					echo '<div class="updated">';
						echo '<p>';
							_e('Buttons have been saved successfully.','wp_edit_langs');
						echo '</p>';
					echo '</div>';
				}
				add_action('admin_notices', 'wpe_save_buttons_from_input');
			}
			
			//***************************************************
			// Check for new buttons
			//***************************************************
			/*** Get page buttons ***/
			$buttons = '';
			$active_buttons = $_POST['get_sorted_array_results'];  // Get each button container value (string)
			$explode1 = explode('*', $active_buttons);  // Explode into button containers (toolbar1:bold,italic,etc)
			$final_buttons = '';
			
			foreach($explode1 as $value) {
				
				$explode2 = explode(':', $value);  // Explodes from (toolbar1:bold,italic,link,etc)
				$button_string = isset($explode2[1]) ? $explode2[1] : '';  // Get second array item (buttons (comma separated))
				
				if(!empty($button_string)) {  // If the buttons string is not empty
				
					$final_buttons .= $button_string.',';  // Create long string of comma separated butttons
				}
			}
			
			// Right trim comma from string
			$final_buttons = rtrim($final_buttons, ',');
			
			// Create array of all buttons on page ((bold)(italic)(etc))
			$page_array = array_filter(explode(',', $final_buttons));
			
			
			/*** Get default buttons ***/
			// Get all buttons from initialization code (including any new buttons)
			$new_wp_edit_class_buttons = new wp_edit_class();
			$options_buttons = $new_wp_edit_class_buttons->global_options_buttons;
			$buttons_option = '';
				
			// Loop each container and extract buttons
			foreach($options_buttons as $option) {
				
				$buttons_option .= ' ' . $option;  // The list of initialization buttons (as string)
			}
			
			// Trim whitespace from left of $buttons_option string (space separated)
			$buttons_option = ltrim($buttons_option);
			
			// Explode space separated string into array
			$buttons_option_array = array_filter(explode(' ', $buttons_option));
			
			/*** Compare arrays ***/
			$array_diff = array_diff($buttons_option_array, $page_array);
			
			// If new buttons were discovered
			if(!empty($array_diff)) {  
				
				// Get each button name from array difference
				global $each_button_trim;
				$each_button = '';
				foreach($array_diff as $button) {  // Loop array to get each button name
					
					$each_button .= ' '.$button;
				}
				// Remove white space from far left of string
				$each_button_trim = ltrim($each_button);
				
				
				// Get buttons option and append new buttons to tmce container
				$db_buttons = get_option('wp_edit_buttons');
				$db_buttons['tmce_container'] = $db_buttons['tmce_container'].$each_button;
				
				// Update database
				update_option('wp_edit_buttons', $db_buttons);
				
				// Alert user
				function wpe_alert_user_new_buttons() {
					
					global $each_button_trim;
					echo '<div id="message" class="updated"><p>';
					_e('New buttons were discovered. The following buttons have been added to the Button Container:','wp_edit_langs');
					echo '<br /><strong>'.$each_button_trim.'</strong>';
					echo '</p></div>';
				}
				add_action('admin_notices', 'wpe_alert_user_new_buttons');
			}
			
			//*************************************************************************************************
			// Check saved database buttons against plugin default buttons.
			// - Will remove any buttons from rows if they are no longer supported by plugin.
			//*************************************************************************************************
			
			// Get user saved buttons
			$options_buttons = get_option('wp_edit_buttons');
			// Get default plugin buttons
			$new_wp_edit_class_buttons = new wp_edit_class();
			$plugin_buttons = $new_wp_edit_class_buttons->global_options_buttons;
			
			// Merge all default plugin buttons into single array
			$all_array = '';
			foreach($plugin_buttons as $slot_array) {
				
				if(!empty($slot_array) && $slot_array != '') {  // Skip containter array if empty
					$all_array .= $slot_array.' ';  // Create single string of all default plugin buttons
				}
			}
			$all_array = rtrim($all_array, ' ');  // Remove trailing right space
			$plugin_array = explode(' ', $all_array);  // Explode at spaces to make single array (this is an array of all current plugin buttons)
			
			// Create arrays of user saved buttons
			global $tot_array;
			$val_array = array();
			$tot_array = array();  // Used to display results to user
			foreach($options_buttons as $cont=>$val) {  // Break down array
			
				if(!empty($val) && $val !='') {  // Skip container if empty
					$val_array = explode(' ', $val);  // Explode at spaces into array (this is multiarray of each container array of user buttons)
					
					$rem_array = array();  // Setup removal array
					foreach($val_array as $item) {
						if(!in_array($item, $plugin_array)) {
							// Removed array items
							$rem_array[] = $item;
							$tot_array[] = $item;
						}
					}
					
					if($rem_array) {
						
						$old_opts = $options_buttons[$cont];  // Get option from database values
						$old_opts = explode(' ', $old_opts);  // Explode to array
						$new_opt_array = array_diff($old_opts, $rem_array);  // Compare arrays to remove non-supported buttons
						$new_opt_array = implode(' ', $new_opt_array);  // Implode back to string
						$options_buttons[$cont] = $new_opt_array;  // Set container to new string
						
						// Update buttons options
						update_option('wp_edit_buttons', $options_buttons);
						
						function wpe_remove_buttons_notice() {
					
							global $tot_array;
							echo '<div class="updated"><p>';
								$tot_array = implode(', ', $tot_array);
								_e('The following buttons have been removed from WP Edit Pro:', 'wp_edit_langs');
								echo '<br />';
								echo '<strong>'.$tot_array.'</strong>';
							echo '</p></div>';
						}
						add_action('admin_notices', 'wpe_remove_buttons_notice');
					}
				}
			}
		}
	
	
		/*
		****************************************************************
		If Global Tab button was submitted
		****************************************************************
		*/
		if(isset($_POST['submit_global'])) {
		
			$options_global = get_option('wp_edit_global');
			$options_global['jquery_theme'] = isset($_POST['jquery_theme']) ? $_POST['jquery_theme'] : 'smoothness';
			$options_global['disable_admin_links'] = isset($_POST['disable_admin_links']) ? '1' : '0';
			$options_global['disable_fancy_tooltips'] = isset($_POST['disable_fancy_tooltips']) ? '1' : '0';
			
			update_option('wp_edit_global', $options_global);
			
			function global_saved_notice(){
				
				echo '<div class="updated"><p>';
				_e('Global options successfully saved.', 'wp_edit_langs');
				echo '</p></div>';
			}
			add_action('admin_notices', 'global_saved_notice');
		}
		
		/*
		****************************************************************
		If General Tab button was submitted
		****************************************************************
		*/
		if(isset($_POST['submit_general'])) {
			
			$options_general = get_option('wp_edit_general');
			$options_general['linebreak_shortcode'] = isset($_POST['linebreak_shortcode']) ? '1' : '0';
			$options_general['shortcodes_in_widgets'] = isset($_POST['shortcodes_in_widgets']) ? '1' : '0';
			$options_general['shortcodes_in_excerpts'] = isset($_POST['shortcodes_in_excerpts']) ? '1' : '0';
			$options_general['post_excerpt_editor'] = isset($_POST['post_excerpt_editor']) ? '1' : '0';
			$options_general['page_excerpt_editor'] = isset($_POST['page_excerpt_editor']) ? '1' : '0';
			$options_general['profile_editor'] = isset($_POST['profile_editor']) ? '1' : '0';
			$options_general['php_widgets'] = isset($_POST['php_widgets']) ? '1' : '0';
			
			update_option('wp_edit_general', $options_general);
			
			function general_saved_notice(){
				
				echo '<div class="updated"><p>';
				_e('General options successfully saved.', 'wp_edit_langs');
				echo '</p></div>';
			}
			add_action('admin_notices', 'general_saved_notice');
		}
		
		/*
		****************************************************************
		If Posts Tab button was submitted
		****************************************************************
		*/
		if(isset($_POST['submit_posts'])) {
			
			// Delete database revisions
			if(isset($_POST['submit_posts']) && isset($_POST['delete_revisions'])) {
				
				function wp_edit_delete_revisions_admin_notice( ){	
				
					global $wpdb;
				
					// Get pre DB size
					$query = $wpdb->get_results( "SHOW TABLE STATUS", ARRAY_A );
					$size = 0;
					foreach ($query as $row) {
						$size += $row["Data_length"] + $row["Index_length"];
					}
					$decimals = 2;  
					$mbytes = number_format($size/(1024*1024),$decimals);
					
					// Delete Post Revisions from DB
					$query3_raw = "DELETE FROM wp_posts WHERE post_type = 'revision'";
					$query3 = $wpdb->query($query3_raw);
					if ($query3) {
						$deleted_rows = __('Revisions successfully deleted', 'wp_edit_langs');
					} else {
						$deleted_rows = __('No POST revisions were found to delete', 'wp_edit_langs');
					}
					
					// Get post DB size
					$query2 = $wpdb->get_results( "SHOW TABLE STATUS", ARRAY_A );
					$size2 = 0;
					foreach ($query2 as $row2) {
						$size2 += $row2["Data_length"] + $row2["Index_length"];
					}
					$decimals2 = 2;  
					$mbytes2 = number_format($size2/(1024*1024),$decimals2); 
					
					echo '<div class="updated"><p>';
					_e('Message: ', 'wp_edit_langs');
					echo '<strong>'.$deleted_rows.'</strong>.</p><p>';
					_e('Database size before deletions: ', 'wp_edit_langs');
					echo '<strong>'.$mbytes.'</strong> ';
					_e('megabytes.', 'wp_edit_langs');
					echo '</p><p>';
					_e('Database Size after deletions: ', 'wp_edit_langs');
					echo '<strong>'.$mbytes2.'</strong> ';
					_e('megabytes.', 'wp_edit_langs');
					echo '</p></div>';
				}
				add_action('admin_notices', 'wp_edit_delete_revisions_admin_notice');
			}
	
			$options_posts = get_option('wp_edit_posts');
			
			$options_posts['post_title_field'] = isset($_POST['post_title_field']) ? sanitize_text_field($_POST['post_title_field']) : 'Enter title here';
			$options_posts['column_shortcodes'] = isset($_POST['column_shortcodes']) ? '1' : '0';
			$options_posts['disable_wpautop'] = isset($_POST['disable_wpautop']) ? '1' : '0';
			
			$options_posts['max_post_revisions'] = isset($_POST['max_post_revisions']) ? sanitize_text_field($_POST['max_post_revisions']) : '';
			$options_posts['max_page_revisions'] = isset($_POST['max_page_revisions']) ? sanitize_text_field($_POST['max_page_revisions']) : '';
			
			$options_posts['hide_admin_posts'] = isset($_POST['hide_admin_posts']) ? sanitize_text_field($_POST['hide_admin_posts']) : '';
			$options_posts['hide_admin_pages'] = isset($_POST['hide_admin_pages']) ? sanitize_text_field($_POST['hide_admin_pages']) : '';
			
			update_option('wp_edit_posts', $options_posts);
			
			function posts_saved_notice(){
				
				echo '<div class="updated"><p>';
				_e('Posts/Pages options successfully saved.', 'wp_edit_langs');
				echo '</p></div>';
			}
			add_action('admin_notices', 'posts_saved_notice');
		}
		
		/*
		****************************************************************
		If Editor button was submitted
		****************************************************************
		*/
		if(isset($_POST['submit_editor'])) {
			
			$options_editor = get_option('wp_edit_editor');
			
			$options_editor['editor_add_pre_styles'] = isset($_POST['editor_add_pre_styles']) ? '1' : '0';
			$options_editor['default_editor_fontsize_type'] = isset($_POST['default_editor_fontsize_type']) ? $_POST['default_editor_fontsize_type'] : 'pt';
			$options_editor['default_editor_fontsize_values'] = isset($_POST['default_editor_fontsize_values']) ? sanitize_text_field($_POST['default_editor_fontsize_values']) : '';
			
			update_option('wp_edit_editor', $options_editor);
				
			function editor_saved_notice(){
				
				echo '<div class="updated"><p>';
				_e('Editor options successfully saved.', 'wp_edit_langs');
				echo '</p></div>';
			}
			add_action('admin_notices', 'editor_saved_notice');
		}
	
		/*
		****************************************************************
		If Extras Tab button was submitted
		****************************************************************
		*/
		if(isset($_POST['submit_extras'])) {
			
			$options_extras = get_option('wp_edit_extras');
			$options_extras['signoff_text'] = isset($_POST['wp_edit_signoff']) ? stripslashes($_POST['wp_edit_signoff']) : 'Please enter text here...';
			
			update_option('wp_edit_extras', $options_extras);
				
			function extras_saved_notice(){
				
				echo '<div class="updated"><p>';
				_e('Extra options saved.', 'wp_edit_langs');
				echo '</p></div>';
			}
			add_action('admin_notices', 'extras_saved_notice');
		}
		
		/*
		****************************************************************
		If user specific was submitted
		****************************************************************
		*/
		if(isset($_POST['submit_user_specific'])) {
			
			// If User Specific was submitted
			$post_vars = isset($_POST['wp_edit_user_specific']) ? $_POST['wp_edit_user_specific'] : '';
			
			global $current_user;
			$options_user_specific_user_meta = get_user_meta($current_user->ID, 'aaa_wp_edit_user_meta', true);
		
			$options_user_specific_user_meta['id_column'] = isset($post_vars['id_column']) ? '1' : '0';
			$options_user_specific_user_meta['thumbnail_column'] = isset($post_vars['thumbnail_column']) ? '1' : '0';
			$options_user_specific_user_meta['hide_text_tab'] = isset($post_vars['hide_text_tab']) ? '1' : '0';
			$options_user_specific_user_meta['default_visual_tab'] = isset($post_vars['default_visual_tab']) ? '1' : '0';
			$options_user_specific_user_meta['dashboard_widget'] = isset($post_vars['dashboard_widget']) ? '1' : '0';
			
			$options_user_specific_user_meta['enable_highlights'] = isset($post_vars['enable_highlights']) ? '1' : '0';
			$options_user_specific_user_meta['draft_highlight'] = isset($post_vars['draft_highlight']) ? $post_vars['draft_highlight'] : '';
			$options_user_specific_user_meta['pending_highlight'] = isset($post_vars['pending_highlight']) ? $post_vars['pending_highlight'] : '';
			$options_user_specific_user_meta['published_highlight'] = isset($post_vars['published_highlight']) ? $post_vars['published_highlight'] : '';
			$options_user_specific_user_meta['future_highlight'] = isset($post_vars['future_highlight']) ? $post_vars['future_highlight'] : '';
			$options_user_specific_user_meta['private_highlight'] = isset($post_vars['private_highlight']) ? $post_vars['private_highlight'] : '';
			
			update_user_meta($current_user->ID, 'aaa_wp_edit_user_meta', $options_user_specific_user_meta);
				
			function user_specific_saved_notice(){
				
				echo '<div class="updated"><p>';
				_e('User specific options saved.', 'wp_edit_langs');
				echo '</p></div>';
			}
			add_action('admin_notices', 'user_specific_saved_notice');
		}
		
		/*
		****************************************************************
		If reset plugin options
		****************************************************************
		*/
		if (isset($_POST['reset_db_values'])) {
			
			if ( !isset($_POST['reset_db_values_nonce'])) {  // Verify nonce
					
				print __('Sorry, your nonce did not verify.', 'wp_edit_langs');
				exit;
			}
			else {
				
				// Get current user
				global $current_user;
				
				// Set DB values (from class vars)
				update_option('wp_edit_buttons', $this->global_options_buttons);
				update_option('wp_edit_global', $this->global_options_global);
				update_option('wp_edit_general', $this->global_options_general);
				update_option('wp_edit_posts', $this->global_options_posts);
				update_option('wp_edit_editor', $this->global_options_editor);
				update_option('wp_edit_extras', $this->global_options_extras);
				update_user_meta($current_user->ID, 'aaa_wp_edit_user_meta', $this->global_options_user_specific);
		
				echo '<div id="message" class="updated"><p>';
				_e('Plugin settings have been restored to defaults.', 'wp_edit_langs');
				echo '</p></div>';
			}
		}
		
		/*
		****************************************************************
		If uninstall plugin was submitted
		****************************************************************
		*/
		// Display notice if trying to uninstall but forget to check box
		if (isset($_POST['uninstall'] ) && !isset($_POST['uninstall_confirm'])) {
			
			echo '<div id="message" class="error"><p>';
			_e('You must also check the confirm box before options will be uninstalled and deleted.','wp_edit_langs');
			echo '</p></div>';
		}
		// Uninstall plugin
		if (isset($_POST['uninstall'], $_POST['uninstall_confirm'] ) ) {
			
			if ( !isset($_POST['wp_edit_uninstall_nonce']) || !wp_verify_nonce($_POST['wp_edit_uninstall_nonce'],'wp_edit_uninstall_nonce_check') ) {  // Verify nonce
					
				print __('Sorry, your nonce did not verify.', 'wp_edit_langs');
				exit;
			}
			else {
				
				global $current_user;
				delete_option('wp_edit_buttons','wp_edit_buttons');
				delete_option('wp_edit_global','wp_edit_global');
				delete_option('wp_edit_general','wp_edit_general');
				delete_option('wp_edit_posts','wp_edit_posts');
				delete_option('wp_edit_editor','wp_edit_editor');
				delete_option('wp_edit_extras','wp_edit_extras');
				delete_option('wp_edit_install','wp_edit_install');
				delete_user_meta($current_user->ID, 'aaa_wp_edit_user_meta');
				delete_user_meta($current_user->ID, 'ignore_wpedit_ag_notice');
			 
				// Deactivate the plugin
				$current = get_option('active_plugins');
				array_splice($current, array_search( $_POST['plugin'], $current), 1 );
				update_option('active_plugins', $current);
				
				// Redirect to plugins page with 'plugin deactivated' status message
				wp_redirect( admin_url('/plugins.php?deactivate=true') );
				exit;
			}
		}
	}
	
	/*
	****************************************************************
	Admin Init
	****************************************************************
	*/
	public function process_activation_redirect() {
	
		// Check for redirect option after plugin activation
		$re_url = admin_url('admin.php?page=wp_edit_options');
		if (get_option('wp_edit_activation_redirect', false)) {
			
			delete_option('wp_edit_activation_redirect');
			wp_redirect($re_url);
		}
	}
	
	/*
	****************************************************************
	Export Options
	****************************************************************
	*/
	public function process_settings_export() {
		
		if( empty( $_POST['database_action'] ) || 'export_settings' != $_POST['database_action'] )
			return;
		 
		if( ! wp_verify_nonce( $_POST['database_action_export_nonce'], 'database_action_export_nonce' ) )
			return;
		 
		if( ! current_user_can( 'manage_options' ) )
			return;
		 
		// Get DB values
		global $current_user;
		
		$options_buttons = get_option('wp_edit_buttons');
		$options_global = get_option('wp_edit_global');
		$options_general = get_option('wp_edit_general');
		$options_posts = get_option('wp_edit_posts');
		$options_editor = get_option('wp_edit_editor');
		$options_extras = get_option('wp_edit_extras');
		$options_user_specific = get_user_meta($current_user->ID, 'aaa_wp_edit_user_meta', true);
		
		$options_export_array = array(
			'wp_edit_buttons' => $options_buttons,
			'wp_edit_global' => $options_global,  
			'wp_edit_general' => $options_general, 
			'wp_edit_posts' => $options_posts, 
			'wp_edit_editor' => $options_editor,  
			'wp_edit_extras' => $options_extras, 
			'wp_edit_user_specific' => $options_user_specific
		);
		 
		ignore_user_abort( true );
		 
		nocache_headers();
		header( 'Content-Type: application/json; charset=utf-8' );
		header( 'Content-Disposition: attachment; filename=wp_edit_settings_export-' . date( 'm-d-Y' ) . '.json' );
		header( "Expires: 0" );
		 
		echo json_encode( $options_export_array );
		exit;
	}
	
	/*
	****************************************************************
	Import Options
	****************************************************************
	*/
	public function process_settings_import() {
		
		if( empty( $_POST['database_action'] ) || 'import_settings' != $_POST['database_action'] )
			return;
		 
		if( ! wp_verify_nonce( $_POST['database_action_import_nonce'], 'database_action_import_nonce' ) )
			return;
		 
		if( ! current_user_can( 'manage_options' ) )
			return;
		 
		$extension = end( explode( '.', $_FILES['import_file']['name'] ) );
		 
		if( $extension != 'json' ) {
			wp_die( __('Please upload a valid .json file', 'wp_edit_langs' ) );
		}
		 
		$import_file = $_FILES['import_file']['tmp_name'];
		 
		if( empty( $import_file ) ) {
			wp_die( __('Please upload a file to import', 'wp_edit_langs') );
		}
		
		global $current_user;
		 
		// Retrieve the settings from the file and convert the json object to an array.
		$settings = (array) json_decode( file_get_contents( $import_file ), true );
		foreach ($settings as $key => $value) {
			
			// First update user meta
			if($key === 'wp_edit_user_specific') {
				
				$value = (array) $value;
				update_user_meta($current_user->ID, 'aaa_wp_edit_user_meta', $value);
			}
			// Else update other options
			else {
				
				$value = (array) $value;
				update_option($key, $value);
			}
		}
		 
		// Redirect to database page with added parameter = true
		wp_safe_redirect( admin_url( 'admin.php?page=wp_edit_options&tab=database&import=true' ) ); 
		exit;
	}
	
	/*
	****************************************************************
	Before wp tinymce
	****************************************************************
	*/
	public function before_wp_tiny_mce() {
		
		// Add WP dashicons css file to editor
		echo '<link rel="stylesheet" type="text/css" href="'.plugins_url().'/wp-edit/css/tinymce_dashicons.css" />';
	}
	
	/*
	****************************************************************
	Tinymce before init
	****************************************************************
	*/
	public function wp_edit_tiny_mce_before_init($init) {
		
		// Initialize table ability
		if (isset($init['tools'])) {
			$init['tools'] = $init['tools'].',inserttable';
		} else {
			$init['tools'] = 'inserttable';
		}
		
		// Get editor default fontsize type value
		$opts_editor = get_option('wp_edit_editor');
		$default_editor_fontsize_type = isset($opts_editor['default_editor_fontsize_type']) ? $opts_editor['default_editor_fontsize_type'] : 'pt';
		
		// Pass values to editor initialization
		if($default_editor_fontsize_type === 'px') {
			
			$new_px = isset($opts_editor['default_editor_fontsize_values']) && !empty($opts_editor['default_editor_fontsize_values']) ? $opts_editor['default_editor_fontsize_values'] : '6px 8px 9px 10px 11px 12px 13px 14px 15px 16px 18px 20px 22px 24px 28px 32px 48px 72px';
			
			if(isset($init['fontsize_formats'])) {
				$init['fontsize_formats'] = $init['fontsize_formats'].' '.$new_px;
			} else {
				$init['fontsize_formats'] = $new_px;
			}
		}
		else if($default_editor_fontsize_type === 'pt') {
			
			$new_pt = isset($opts_editor['default_editor_fontsize_values']) && !empty($opts_editor['default_editor_fontsize_values']) ? $opts_editor['default_editor_fontsize_values'] : '6pt 8pt 10pt 12pt 14pt 16pt 18pt 20pt 22pt 24pt 26pt 28pt 30pt 32pt 34pt 36pt 48pt 72pt';
			
			if(isset($init['fontsize_formats'])) {
				$init['fontsize_formats'] = $init['fontsize_formats'].' '.$new_pt;
			} else {
				$init['fontsize_formats'] = $new_pt;
			}
		}
		else if($default_editor_fontsize_type === 'em') {
			
			$new_em = isset($opts_editor['default_editor_fontsize_values']) && !empty($opts_editor['default_editor_fontsize_values']) ? $opts_editor['default_editor_fontsize_values'] : '.8em 1em 1.2em 1.4em 1.6em 1.8em 2em';
			
			if(isset($init['fontsize_formats'])) {
				$init['fontsize_formats'] = $init['fontsize_formats'].' '.$new_em;
			} else {
				$init['fontsize_formats'] = $new_em;
			} 
		}
		else if($default_editor_fontsize_type === 'percent') {
			
			$new_percent = isset($opts_editor['default_editor_fontsize_values']) && !empty($opts_editor['default_editor_fontsize_values']) ? $opts_editor['default_editor_fontsize_values'] : '80% 90% 100% 110% 120%';
			
			if(isset($init['fontsize_formats'])) {
				$init['fontsize_formats'] = $init['fontsize_formats'].' '.$new_percent;
			} else {
				$init['fontsize_formats'] = $new_percent;
			}
		}
		
		/*
		****************************************************************
		Additional initalization if disable wpautop is true for the post
		****************************************************************
		*/
		// Get post id and meta
		$post_id = get_the_ID();
		$post_meta = get_post_meta($post_id);
		$dis_wpautop = isset($post_meta['_jwl_disable_wpautop']) && !empty($post_meta['_jwl_disable_wpautop']) ? $post_meta['_jwl_disable_wpautop'] : false;
		
		// Only initialize if the disable wpautop option is enabled in the post meta
		if ($dis_wpautop != false) {
			
			$init['wpautop'] = false;
			$init['indent'] = true;
			$init['wpep_noautop'] = true;
		}
		
		return $init;
	}
	
	/*
	****************************************************************
	Tinymce init
	****************************************************************
	*/
	public function wp_edit_init_tinymce() {
	
		// Build extra plugins array
		add_filter('mce_external_plugins', array($this, 'wp_edit_mce_external_plugins'));
		
		// Get options and set appropriate tinymce toolbars
		$options_buttons = get_option('wp_edit_buttons');
		foreach ((array)$options_buttons as $key => $value) {
			
			// Magic is happening right here...
			if($key == 'tmce_container') { return; }
			if($key == 'toolbar1') { add_filter('mce_buttons', array($this, 'wp_edit_add_mce')); }
			if($key == 'toolbar2') { add_filter('mce_buttons_2', array($this, 'wp_edit_add_mce_2')); }
		}
	}
	
	/*
	****************************************************************
	Tinymce external plugins
	****************************************************************
	*/
	public function wp_edit_mce_external_plugins($plugins) {
		
		$options_buttons = get_option('wp_edit_buttons');
		
		// Build array of all button names found in active toolbars
		$final_options = array();
		$final_options = array_merge(explode(' ', $options_buttons['toolbar1']), explode(' ', $options_buttons['toolbar2']));
		
		$plugins['table'] = plugins_url() . '/wp-edit/plugins/table/plugin.min.js';
		
		if(in_array('ltr', $final_options) || in_array('rtl', $final_options)) {
			$plugins['directionality'] = plugins_url() . '/wp-edit/plugins/directionality/plugin.min.js';
		}
		if(in_array('anchor', $final_options)) {
			$plugins['anchor'] = plugins_url() . '/wp-edit/plugins/anchor/plugin.min.js';
		}
		if(in_array('code', $final_options)) {
			$plugins['code'] = plugins_url() . '/wp-edit/plugins/code/plugin.min.js';
		}
		if(in_array('emoticons', $final_options)) {
			$plugins['emoticons'] = plugins_url() . '/wp-edit/plugins/emoticons/plugin.min.js';
		}
		if(in_array('hr', $final_options)) {
			$plugins['hr'] = plugins_url() . '/wp-edit/plugins/hr/plugin.min.js';
		}
		if(in_array('inserttime', $final_options)) {
			$plugins['insertdatetime'] = plugins_url() . '/wp-edit/plugins/insertdatetime/plugin.min.js';
		}
		if(in_array('preview', $final_options)) {
			$plugins['preview'] = plugins_url() . '/wp-edit/plugins/preview/plugin.min.js';
		}
		if(in_array('print', $final_options)) {
			$plugins['print'] = plugins_url() . '/wp-edit/plugins/print/plugin.min.js';
		}
		if(in_array('searchreplace', $final_options)) {
			$plugins['searchreplace'] = plugins_url() . '/wp-edit/plugins/searchreplace/plugin.min.js';
		}
		if(in_array('visualblocks', $final_options)) {
			$plugins['visualblocks'] = plugins_url() . '/wp-edit/plugins/visualblocks/plugin.min.js';
		}
		if(in_array('image_orig', $final_options)) {
			$plugins['image_orig'] = plugins_url() . '/wp-edit/plugins/image_orig/plugin.min.js';
		}
		if(in_array('advlink', $final_options)) {
			$plugins['advlink'] = plugins_url() . '/wp-edit/plugins/advlink/plugin.js';
		}
		if(in_array('acheck', $final_options)) {
			$plugins['acheck'] = plugins_url() . '/wp-edit/plugins/acheck/plugin.js';
		}
		if(in_array('abbr', $final_options)) {
			$plugins['abbr'] = plugins_url() . '/wp-edit/plugins/abbr/plugin.js';
		}
		if(in_array('columnShortcodes', $final_options)) {
			$plugins['columnShortcodes'] = plugins_url() . '/wp-edit/plugins/columnShortcodes/plugin.js';
		}
		if(in_array('nonbreaking', $final_options)) {
			$plugins['nonbreaking'] = plugins_url() . '/wp-edit/plugins/nonbreaking/plugin.min.js';
		}
		if(in_array('eqneditor', $final_options)) {
			$plugins['eqneditor'] = plugins_url() . '/wp-edit/plugins/eqneditor/plugin.min.js';
		}
		
		//*** Tinymce filter if disable wpautop is true for the post ***//
		// Get post id and meta
		$post_id = get_the_ID();
		$post_meta = get_post_meta($post_id);
		$dis_wpautop = isset($post_meta['_jwl_disable_wpautop']) && !empty($post_meta['_jwl_disable_wpautop']) ? $post_meta['_jwl_disable_wpautop'] : false;
		
		// Only filter if the disable wpautop option is enabled in the post meta
		if ($dis_wpautop != false) {
			
			// Custom editor code to process content html
			$plugins['wpep_noautop'] = plugins_url() . '/wp-edit/plugins/wpep_noautop/plugin.js';
		}
		
		return $plugins;
	}
	
	/*
	****************************************************************
	Tinymce mce buttons
	****************************************************************
	*/
	public function wp_edit_add_mce($buttons) {
		
		$options = get_option('wp_edit_buttons');
		$options_toolbar1 = $options['toolbar1'];
		$default_wp_array_toolbar1 = array('bold','italic','strikethrough','bullist','numlist','blockquote','hr','alignleft','aligncenter','alignright','link','unlink','wp_more');
		$array_back = array();
		
		// First, we explode the toolbar in the database
		$options_toolbar1 = explode(' ', $options_toolbar1);
		
		// Next, we get the difference between ($options['toolbar1']) and ($buttons)
		$array_diff = array_diff($buttons, $options_toolbar1);
		
		// Now, we take the array and loop it to find original buttons
		if($array_diff) {
			
			foreach($array_diff as $array) {
				
				// If the button is NOT in the original array (WP buttons), we know it is another plugin or theme button..
				if(!in_array($array, $default_wp_array_toolbar1)) {
					
					// Create the new array of additional buttons to pass back to end of toolbar
					$array_back[] = $array;
				}
			}
		}
		
		// Merge the difference onto the end of our saved buttons
		$merge_buttons = array_merge($options_toolbar1, $array_back);
		
		return $merge_buttons;
	}
	public function wp_edit_add_mce_2($buttons) {
	
		$options = get_option('wp_edit_buttons');
		$options_toolbar2 = $options['toolbar2'];
		$default_wp_array_toolbar2 = array('formatselect','underline','alignjustify','forecolor','pastetext','removeformat','charmap','outdent','indent','undo','redo','wp_help');
		$array_back = array();
		
		// First, we explode the toolbar in the database
		$options_toolbar2 = explode(' ', $options_toolbar2);
		
		// Next, we get the difference between ($options['toolbar1']) and ($buttons)
		$array_diff = array_diff($buttons, $options_toolbar2);
		
		// Now, we take the array and loop it to find original buttons
		if($array_diff) {
			
			foreach($array_diff as $array) {
				
				// If the button is NOT in the original array (WP buttons), we know it is another plugin or theme button..
				if(!in_array($array, $default_wp_array_toolbar2)) {
					
					// Create the new array of additional buttons to pass back to end of toolbar
					$array_back[] = $array;
				}
			}
		}
		
		// Merge the difference onto the end of our saved buttons
		$merge_buttons = array_merge($options_toolbar2, $array_back);
		
		return $merge_buttons;
	}
	
	public function htlmedit_pre($content) {
		
		// Get post id and meta
		$post_id = get_the_ID();
		$post_meta = get_post_meta($post_id);
		$dis_wpautop = isset($post_meta['_jwl_disable_wpautop']) && !empty($post_meta['_jwl_disable_wpautop']) ? $post_meta['_jwl_disable_wpautop'] : false;
		
		// Only filter if the disable wpautop option is enabled in the post meta
		if ($dis_wpautop != false) {
			
			$content = str_replace( array('&amp;', '&lt;', '&gt;'), array('&', '<', '>'), $content );
			$content = wpautop( $content );
			$content = preg_replace( '/^<p>(https?:\/\/[^<> "]+?)<\/p>$/im', '$1', $content );
			$content = htmlspecialchars( $content, ENT_NOQUOTES, get_option( 'blog_charset' ) );
		}
		return $content;
	}
	
	/*
	****************************************************************
	Plugin update message
	****************************************************************
	*/
	public function wpedit_plugin_update_cb($plugin_data, $r) {
	
		$admin_email = get_option('admin_email');
		
		echo '<br /><br />';
		echo '<div style="border:1px solid black;border-radius:10px;">';
		
			echo '<div style="width:30%;padding:10px;float:left;">';
				echo '<h3>'; _e('Stay Informed', 'wp_edit_langs'); echo '</h3>';
				_e('Signup to our free <a target="_blank" href="http://www.feedblitz.com/f/?Sub=950320">Feedblitz</a> service; to receive important plugin news, updates and discount offers for our Pro version.', 'wp_edit_langs');
				echo '<br /><br />';
				echo 'Email:<br /><input id="wpedit_feedblitz_signup_email" name="EMAIL" type="text" value="'.$admin_email.'" style="width:50%;margin-right:10px;" /><input id="wpedit_feedblitz_signup" type="button" value="Subscribe me! &raquo;" class="button-primary" />';
			echo '</div>';
			
			echo '<div style="width:30%;padding:10px;float:left;margin-left:20px;">';
				echo '<h3>'; _e('Other Plugin News', 'wp_edit_langs'); echo '</h3>';
				_e('* Plugin documentation is being added to our <a target="_blank" href="http://learn.wpeditpro.com">Knowledge Base</a>. Check back frequently for more tutorial articles.', 'wp_edit_langs');
			echo '</div>';
			
			echo '<div style="clear:both;"></div>';
		echo '</div>';
	}
	public function wpedit_plugin_update_js() {
		
		global $pagenow;
		if($pagenow == 'plugins.php') {
			
			echo "<script language='javascript'>
					jQuery(document).ready(function($) {
						
						$('#wpedit_feedblitz_signup').click(function() {
							
							feed_email = $('#wpedit_feedblitz_signup_email').val();
							window.open('http://www.feedblitz.com/f/?Sub=950320&Email='+feed_email);
						});
					});
				</script>";
		}
	}
	
}
$wp_edit_class = new wp_edit_class();



/*
****************************************************************
Include Plugin Functions
****************************************************************
*/
include 'includes/functions.php';


/*
****************************************************************
Include functions for running predefined styles
****************************************************************
*/
include 'includes/style_formats.php';


/*
****************************************************************
Pointers Class
****************************************************************	
*/
class wpe_admin_pointers {
    
    public function __construct() {
        
        add_action('admin_enqueue_scripts', array($this, 'custom_admin_pointers_header'));
    }

    public function custom_admin_pointers_header() {
        
       if ($this->custom_admin_pointers_check()) {
           
          add_action('admin_print_footer_scripts', array($this, 'custom_admin_pointers_footer'));

          wp_enqueue_script('wp-pointer');
          wp_enqueue_style('wp-pointer');
       }
    }

    public function custom_admin_pointers_check() {
        
       $admin_pointers = $this->custom_admin_pointers();
       foreach ( $admin_pointers as $pointer => $array ) {
          if ( $array['active'] )
             return true;
       }
    }

    public function custom_admin_pointers_footer() {
        
       $admin_pointers = $this->custom_admin_pointers();
       ?>
        <script type="text/javascript">
        /* <![CDATA[ */
        ( function($) {
           <?php
           foreach ( $admin_pointers as $pointer => $array ) {
              if ( $array['active'] ) {
                 ?>
                 $('<?php echo $array['anchor_id']; ?>').pointer({
                    content: '<?php echo $array['content']; ?>',
                    position: {
                       edge: '<?php echo $array['edge']; ?>',
                       align: '<?php echo $array['align']; ?>'
                    },
                    close: function() {
                       $.post(ajaxurl, {
                          pointer: '<?php echo $pointer; ?>',
                          action: 'dismiss-wp-pointer'
                       });
                    }
                 }).pointer('open');
                 <?php
              }
           }
           ?>
        } )(jQuery);
        /* ]]> */
        </script>
       <?php
    }

    public function custom_admin_pointers() {
        
       $dismissed = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) );
       $version = '1_0'; // replace all periods in 1.0 with an underscore
       $prefix = 'wpe_admin_pointers_' . $version . '_';

       $new_pointer_content = '<h3>' . __( 'WP Edit Tip' ) . '</h3>';
       $new_pointer_content .= '<p>' . __( 'If only one row of buttons is visible; try clicking the <a target="_blank" href="http://learn.wpeditpro.com/wordpress-tinymce-editor/#ipt_kb_toc_73_6">"Toolbar Toggle"</a> button to expand/collapse additional editor button rows.' ) . '</p>';

       return array(
          $prefix . 'toggle_toolbar' => array(
             'content' => $new_pointer_content,
             'anchor_id' => '#wp-content-editor-container',
             'edge' => 'bottom',
             'align' => 'top',
             'active' => ( ! in_array( $prefix . 'toggle_toolbar', $dismissed ) )
          )
       );
    }
}
//Initiate admin pointers
$wpe_admin_pointers = new wpe_admin_pointers();

?>