%PDF- %PDF-
Direktori : /var/www/projetos/nossaradio.com.br/wp-content/plugins/maintenance/includes/ |
Current File : /var/www/projetos/nossaradio.com.br/wp-content/plugins/maintenance/includes/admin.php |
<?php add_action('admin_menu', 'mtnc_admin_setup'); function mtnc_admin_setup() { global $mtnc_variable; $mtnc_variable->options_page = add_menu_page(__('Maintenance', 'maintenance'), __('Maintenance', 'maintenance'), 'manage_options', 'maintenance', 'mtnc_manage_options', MTNC_URI . 'images/icon-small.png?v2'); add_action('admin_init', 'mtnc_register_settings'); add_action("admin_head-{$mtnc_variable->options_page}", 'mtnc_metaboxes_scripts'); add_action("admin_print_styles-{$mtnc_variable->options_page}", 'mtnc_admin_print_custom_styles'); add_action("load-{$mtnc_variable->options_page}", 'mtnc_page_add_meta_boxes'); add_action('admin_enqueue_scripts', 'mtnc_load_later_scripts', 1); add_action('admin_enqueue_scripts', 'mtnc_codemirror_enqueue_scripts'); add_action('admin_footer', 'mtnc_plugin_information', 1, 0); } function mtnc_plugin_dismiss_dialog() { if ( !wp_verify_nonce( $_REQUEST['nonce'], "mtnc_dismiss_nonce")) { exit("Woof Woof Woof"); } $meta = get_option('maintenance_meta', array()); if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'mtnc_dismiss_dialog') { $meta['mtnc_dismiss_dialog'] = true; update_option('maintenance_meta', $meta); } die(); } add_action("wp_ajax_mtnc_dismiss_dialog", "mtnc_plugin_dismiss_dialog"); add_action('wp_ajax_mtnc_dismiss_notice', 'mtnc_ajax_dismiss_notice'); function mtnc_ajax_dismiss_notice() { check_ajax_referer('maintenance_dismiss_notice'); if (!current_user_can('administrator')) { wp_send_json_error('You are not allowed to run this action.'); } $notice_name = trim(sanitize_text_field(@$_GET['notice_name'])); $meta = get_option('maintenance_meta', array()); if ($notice_name != 'welcome') { wp_send_json_error('Unknown notice'); } else { $meta['hide_welcome_pointer'] = true; update_option('maintenance_meta', $meta); wp_send_json_success(); } } // ajax_dismiss_notice function mtnc_plugin_information() { if (empty($_GET['fix-install-button']) || empty($_GET['tab']) || $_GET['tab'] != 'plugin-information') { return; } echo '<script>'; echo "jQuery('#plugin_install_from_iframe').on('click', function() { window.location.href = jQuery(this).attr('href'); return false;});"; echo '</script>'; } function mtnc_page_add_meta_boxes() { global $mtnc_variable; do_action('add_mt_meta_boxes', $mtnc_variable->options_page); } function mtnc_register_settings() { if (!empty($_POST['lib_options']) && check_admin_referer('mtnc_edit_post', 'mtnc_nonce')) { if (!isset($_POST['lib_options']['state'])) { $_POST['lib_options']['state'] = 0; } else { $_POST['lib_options']['state'] = 1; } if (isset($_POST['lib_options']['htmlcss'])) { $_POST['lib_options']['htmlcss'] = wp_kses_stripslashes($_POST['lib_options']['htmlcss']); // Allowed all tags as for WYSIWYG post content } if (isset($_POST['lib_options'])) { $lib_options = sanitize_post(wp_unslash($_POST['lib_options']), 'db'); $lib_options['default_settings'] = false; update_option('maintenance_options', $lib_options); MTNC::mtnc_clear_cache(); } } } function mtnc_admin_print_custom_styles() { if (function_exists('wp_enqueue_media')) { wp_enqueue_media(); } else { wp_enqueue_script('media-upload'); wp_enqueue_script('thickbox'); wp_enqueue_style('thickbox'); } wp_enqueue_script('common'); wp_enqueue_script('wp-lists'); wp_enqueue_script('postbox'); wp_enqueue_style('plugin-install'); wp_enqueue_script('plugin-install'); wp_enqueue_style('arvo', '//fonts.bunny.net/css?family=Open+Sans:400,300,600,700|Arvo:400,400italic,700,700italic'); wp_enqueue_style('wp-color-picker'); wp_enqueue_script('uploads_', MTNC_URI . 'js/uploads_.min.js', 'jquery', filemtime(MTNC_DIR . 'js/uploads_.min.js'), ''); wp_register_script('mtnc', MTNC_URI . 'js/init.js', array('wp-color-picker'), filemtime(MTNC_DIR . 'js/init.js'), true); $cm_settings['codeEditor'] = wp_enqueue_code_editor(array('type' => 'text/css')); $meta = get_option('maintenance_meta', array()); $firstInstallDateTime = date('Y-m-d H:i:s', $meta['first_install']); $firstInstallDateTimeTimeStamp = (new DateTime($firstInstallDateTime))->add(new DateInterval('PT15M'))->getTimestamp(); $nonce = wp_create_nonce("mtnc_dismiss_nonce"); $dismissDialogLink = admin_url('admin-ajax.php?action=mtnc_dismiss_dialog&nonce='.$nonce); $meta = get_option('maintenance_meta', array()); $isDialogDismiss = isset($meta['mtnc_dismiss_dialog']) ? $meta['mtnc_dismiss_dialog'] : 0; $isDialogDismiss = 1; wp_localize_script( 'mtnc', 'mtnc', array( 'path' => MTNC_URI, 'wpfssl_install_url' => add_query_arg( array( 'action' => 'mtnc_install_wpfssl', '_wpnonce' => wp_create_nonce('install_wpfssl'), 'rnd' => rand() ), admin_url('admin.php') ), 'cm_settings' => $cm_settings, 'site_url' => home_url(), 'first_install_date' => $firstInstallDateTimeTimeStamp, 'dismiss_dialog_link' => $dismissDialogLink, 'isDialogDismiss' => $isDialogDismiss ) ); wp_enqueue_script('mtnc'); wp_enqueue_style('maintenance', MTNC_URI . 'css/admin.css', '', filemtime(MTNC_DIR . 'css/admin.css')); wp_enqueue_style('wp-jquery-ui-dialog'); wp_enqueue_script('jquery-ui-dialog'); add_thickbox(); // fix for aggressive plugins that include their CSS on all pages wp_dequeue_style('uiStyleSheet'); wp_dequeue_style('wpcufpnAdmin'); wp_dequeue_style('unifStyleSheet'); wp_dequeue_style('wpcufpn_codemirror'); wp_dequeue_style('wpcufpn_codemirrorTheme'); wp_dequeue_style('collapse-admin-css'); wp_dequeue_style('jquery-ui-css'); wp_dequeue_style('tribe-common-admin'); wp_dequeue_style('file-manager__jquery-ui-css'); wp_dequeue_style('file-manager__jquery-ui-css-theme'); wp_dequeue_style('wpmegmaps-jqueryui'); wp_dequeue_style('wp-botwatch-css'); } function mtnc_codemirror_enqueue_scripts($hook) { if ('toplevel_page_maintenance' !== $hook) { return; } $cm_settings['codeEditor'] = wp_enqueue_code_editor(array('type' => 'text/css')); wp_localize_script('jquery', 'cm_settings', $cm_settings); wp_enqueue_script('wp-theme-plugin-editor'); wp_enqueue_style('wp-codemirror'); } function mtnc_is_plugin_page() { $current_screen = get_current_screen(); if ($current_screen->id === 'toplevel_page_maintenance') { return true; } else { return false; } } // mtnc_is_plugin_page function mtnc_load_later_scripts($hook) { $meta = get_option('maintenance_meta', array()); if (empty($meta['hide_welcome_pointer']) && !mtnc_is_plugin_page() && current_user_can('administrator')) { $pointers['_nonce_dismiss_pointer'] = wp_create_nonce('maintenance_dismiss_notice'); $pointers['welcome'] = array('target' => '#toplevel_page_maintenance', 'edge' => 'left', 'align' => 'right', 'content' => 'Thank you for installing the <b style="font-weight: 800;">Maintenance</b> plugin!<br>Open <a href="' . admin_url('admin.php?page=maintenance') . '">Maintenance</a> to access settings.'); wp_enqueue_style('wp-pointer'); wp_enqueue_script('wp-maintenance-pointers', MTNC_URI . 'js/pointers.js', array('jquery'), MTNC_VERSION, true); wp_enqueue_script('wp-pointer'); wp_localize_script('wp-pointer', 'mtnc_pointers', $pointers); } if ($hook !== 'toplevel_page_maintenance') { return; } wp_enqueue_style('wp-jquery-ui-dialog'); wp_enqueue_script('jquery-ui-core'); wp_enqueue_script('jquery-ui-position'); wp_enqueue_script('jquery-ui-dialog'); // fix a bug with WooCommerce 3.2.2 wp_deregister_script('select2'); wp_deregister_style('select2'); wp_dequeue_script('select2'); wp_dequeue_style('select2'); wp_enqueue_script('select2', MTNC_URI . 'js/select2/select2.min.js', 'jquery', filemtime(MTNC_DIR . 'js/select2/select2.min.js'), ''); wp_enqueue_style('select2', MTNC_URI . 'js/select2/select2.css', '', filemtime(MTNC_DIR . 'js/select2/select2.css')); // fix for aggressive plugins wp_dequeue_style('uiStyleSheet'); wp_dequeue_style('wpcufpnAdmin'); wp_dequeue_style('unifStyleSheet'); wp_dequeue_style('wpcufpn_codemirror'); wp_dequeue_style('wpcufpn_codemirrorTheme'); wp_dequeue_style('collapse-admin-css'); wp_dequeue_style('jquery-ui-css'); wp_dequeue_style('tribe-common-admin'); wp_dequeue_style('file-manager__jquery-ui-css'); wp_dequeue_style('file-manager__jquery-ui-css-theme'); wp_dequeue_style('wpmegmaps-jqueryui'); wp_dequeue_style('wp-botwatch-css'); } function mtnc_manage_options() { mtnc_generate_plugin_page(); } function mtnc_generate_plugin_page() { global $mtnc_variable; $mt_option = mtnc_get_plugin_options(true); $date = new DateTime(); ?> <div id="dialog-form-new-info" title="🚀 We're Rebuilding the Maintenance plugin! 🚀" style="display: none;"> <p>Dear user!<br>We're super excited to tell you that we started working on the new version of the Maintenance plugin. <b>We want you to be a part of the journey!</b> We need your ideas, your input, your feedback! That's why we want to send you the new version before it's available to the public. Here's what we have planned;</p> <ul> <li>simpler & faster admin interface</li> <li>pre-built themes so you can work even faster</li> <li>easier access control via IPs, users, and secret links</li> <li>better cache handling so you never get stuck in maintenance mode</li> </ul> <hr> <p class="validateTips"></p> <form id="dialog-form-new-info-form"> <fieldset> <label for="name">Name (*)</label> <input type="text" name="name" id="name" value="" placeholder="How shall we call you?" class="text ui-widget-content ui-corner-all" required> <label for="email">Email (*)</label> <input type="text" name="email" id="email" value="" placeholder="Your best email address" class="text ui-widget-content ui-corner-all" required> <input type="submit" tabindex="-1" style="position:absolute; top:-1000px"> <span> <i>We hate SPAM and never send it! And we won't share your email with anybody else.</i> </span> <div class="buttons"> <a href="#" class="submit-new-dialog button button-primary">I want to be the first to know about the new plugin version</a> <br> <a href="#" class="dismiss-new-dialog"><small>I'm not interested</small></a> </div> </fieldset> </form> </div> <div id="maintenance-options" class="wrap"> <form method="post" action="" enctype="multipart/form-data" name="options-form"> <?php wp_nonce_field('mtnc_edit_post', 'mtnc_nonce'); ?> <?php wp_nonce_field('meta-box-order', 'meta-box-order-nonce', false); ?> <?php wp_nonce_field('closedpostboxes', 'closedpostboxesnonce', false); ?> <div class="postbox-container header-container column-1 normal"> <h1><img src="<?php echo esc_url(MTNC_URI); ?>images/wp-maintenance-logo.png" class="logo-image" title="Maintenance" alt="Maintenance"><p class="submit"><input type="checkbox" id="state" name="lib_options[state]" <?php checked($mt_option['state'], 1); ?> /> <a href="<?php echo esc_url(home_url( '?maintenance-preview')); ?>" target="_blank" class="button">Preview</a> <input type="submit" name="submit" id="submit" class="button button-primary" value="Save Changes"></p></h1> </div> <div class="clear"></div> <div id="poststuff"> <div class="metabox-holder"> <div id="all-fileds" class="postbox-container column-1 normal"> <?php do_meta_boxes($mtnc_variable->options_page, 'normal', null); ?> <?php do_meta_boxes($mtnc_variable->options_page, 'advanced', null); ?> </div> <div id="promo" class="postbox-container column-2 normal"> <?php do_meta_boxes($mtnc_variable->options_page, 'side', null); ?> </div> </div> </div> </form> </div> <?php global $mtnc; mtnc_wp_kses($mtnc->pro_dialog()); }