query_vars)) { $wp_query->query_vars = array(); } $error_message = $user_login = $user_pass = $error = ''; $is_role_check = true; $class_login = 'user-icon'; $class_password = 'pass-icon'; $using_cookie = false; if (isset($_POST['is_custom_login'])) { $user_login = ''; if (isset($_POST['log']) && isset($_POST['mtnc_login_check']) && wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['mtnc_login_check'])), 'mtnc_login')) { $user_login = sanitize_user(wp_unslash($_POST['log'])); } $user_login = sanitize_user($user_login); $user_pass = ''; if (isset($_POST['pwd']) && isset($_POST['mtnc_login_check']) && wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['mtnc_login_check'])), 'mtnc_login')) { $user_pass = sanitize_text_field(wp_unslash($_POST['pwd'])); } $access = array(); $access['user_login'] = esc_attr($user_login); $access['user_password'] = $user_pass; $access['remember'] = true; $user = null; $user = new WP_User(0, $user_login); $current_role = current($user->roles); if (!empty($mt_options['roles_array'])) { foreach (array_keys($mt_options['roles_array']) as $key) { if ($key === $current_role) { $is_role_check = false; } } } else { $is_role_check = true; } if (!$is_role_check) { $error_message = __('Permission access denied!', 'maintenance'); $class_login = 'error'; $class_password = 'error'; } else { if (is_ssl()) { $ssl = true; } else { $ssl = false; } $user_connect = wp_signon($access, $ssl); if (is_wp_error($user_connect)) { if ($user_connect->get_error_code() === 'invalid_username') { $error_message = __('Login is incorrect!', 'maintenance'); $class_login = 'error'; $class_password = 'error'; } elseif ($user_connect->get_error_code() === 'incorrect_password') { $error_message = __('Password is incorrect!', 'maintenance'); $class_password = 'error'; } else { $error_message = __('Login and password are incorrect!', 'maintenance'); $class_login = 'error'; $class_password = 'error'; } } else { wp_safe_redirect(home_url('/')); exit; } } } if (!$user_connect) { mtnc_get_headers_503(); } return array($error_message, $class_login, $class_password, $user_login); } function mtnc_add_custom_style() { global $wp_styles; // all.css loading in index.php inline by 2 steps wp_register_style('mtnc-style', MTNC_URI . 'load/css/style.css', '', filemtime(MTNC_DIR . 'load/css/style.css')); wp_register_style('mtnc-fonts', MTNC_URI . 'load/css/fonts.css', '', filemtime(MTNC_DIR . 'load/css/fonts.css')); $wp_styles->do_items('mtnc-style'); $wp_styles->do_items('mtnc-fonts'); mtnc_get_options_style(); } function mtnc_add_bunny_fonts() { global $wp_scripts; $mt_options = mtnc_get_plugin_options(true); $font_link = array(); if (!empty($mt_options['body_font_family'])) { $font_link[0] = mtnc_get_bunny_font(esc_attr($mt_options['body_font_family'])); /*Check if chooses subset for fonts*/ if (!empty($mt_options['body_font_subset'])) { $font_subset = esc_attr($mt_options['body_font_subset']); $font_link[0] .= ':' . $font_subset . ''; } } if (!empty($mt_options['countdown_font_family'])) { $font_link[1] = mtnc_get_bunny_font(esc_attr($mt_options['countdown_font_family'])); } if ($font_link) { return $font_link; } return ''; } function mtnc_add_custom_scripts() { global $wp_scripts; $mt_options = mtnc_get_plugin_options(true); $js_options = array( 'body_bg' => '', 'gallery_array' => array(), 'blur_intensity' => $mt_options['blur_intensity'], 'font_link' => '', ); wp_register_script('_frontend', MTNC_URI . 'load/js/jquery.frontend.js', 'jquery', filemtime(MTNC_DIR . 'load/js/jquery.frontend.js'), true); // IE scripts wp_register_script('jquery_ie', $wp_scripts->registered['jquery-core']->src, array(), true, array()); wp_script_add_data('jquery_ie', 'conditional', 'lte IE 10'); if (!empty($mt_options['body_bg']) && empty($mt_options['gallery_array']['attachment_ids'])) { $bg = wp_get_attachment_image_src($mt_options['body_bg'], 'full'); $js_options['body_bg'] = esc_url($bg[0]); } $js_options['font_link'] = mtnc_add_bunny_fonts(); wp_localize_script('_frontend', 'mtnc_front_options', $js_options); $wp_scripts->do_items('jquery_ie'); $wp_scripts->do_items('jquery_migrate_ie'); $wp_scripts->do_items('_placeholder_ie'); $wp_scripts->do_items('_frontend_ie'); echo ''; $wp_scripts->do_items('jquery'); echo ''; $wp_scripts->do_items('_backstretch'); $wp_scripts->do_items('_frontend'); } add_action('load_custom_scripts', 'mtnc_add_custom_scripts', 15); add_action('load_custom_style', 'mtnc_add_custom_style', 20); function mtnc_get_page_title($error_message = null) { $mt_options = mtnc_get_plugin_options(true); $title = ''; if (empty($mt_options['page_title'])) { $title = wp_title('|', false); } else { $title = wp_strip_all_tags(stripslashes($mt_options['page_title'])); } echo '' . esc_html($title) . ''; } function mtnc_get_options_style() { $mt_options = mtnc_get_plugin_options(true); $options_style = ''; if (!empty($mt_options['body_bg_color'])) { $mt_options['body_bg_color'] = esc_attr($mt_options['body_bg_color']); $options_style .= 'body {background-color: ' . esc_attr($mt_options['body_bg_color']) . '}'; $options_style .= '.preloader {background-color: ' . esc_attr($mt_options['body_bg_color']) . '}'; } if (!empty($mt_options['is_blur']) && !empty($mt_options['blur_intensity'])) { $options_style .= '.bg-img img, .bg-img source{'; $options_style .= '-webkit-filter: blur(' . $mt_options['blur_intensity'] . 'px);'; $options_style .= '-moz-filter: blur(' . $mt_options['blur_intensity'] . 'px);'; $options_style .= '-o-filter: blur(' . $mt_options['blur_intensity'] . 'px);'; $options_style .= '-ms-filter: blur(' . $mt_options['blur_intensity'] . 'px);'; $options_style .= 'filter:blur(' . $mt_options['blur_intensity'] . 'px);'; $options_style .= 'filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius=' . $mt_options['blur_intensity'] . ', enabled=\'true\');'; $options_style .= '}'; } if ($mt_options['blur_intensity'] == '0') { $options_style .= ' body > .main-container:after { background-color: transparent; } '; } if (!empty($mt_options['body_font_family'])) { $options_style .= 'body {font-family: ' . esc_attr($mt_options['body_font_family']) . '; }'; } if (!empty($mt_options['font_color'])) { $font_color = esc_attr($mt_options['font_color']); $options_style .= '.site-title, .preloader i, .login-form, .login-form a.lost-pass, .btn-open-login-form, .site-content, .user-content-wrapper, .user-content, footer, .maintenance a{color: ' . $font_color . ';} '; $options_style .= 'a.close-user-content, #mailchimp-box form input[type="submit"], .login-form input#submit.button {border-color:' . $font_color . '} '; $options_style .= 'input[type="submit"]:hover{background-color:' . $font_color . '} '; $options_style .= 'input:-webkit-autofill, input:-webkit-autofill:focus{-webkit-text-fill-color:' . $font_color . '} '; } if (!empty($mt_options['controls_bg_color'])) { $mt_options['controls_bg_color'] = esc_attr($mt_options['controls_bg_color']); $options_style .= "body > .login-form-container{background-color:{$mt_options['controls_bg_color']}}"; $options_style .= ".btn-open-login-form{background-color:{$mt_options['controls_bg_color']}}"; $options_style .= "input:-webkit-autofill, input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 50px {$mt_options['controls_bg_color']} inset}"; $options_style .= "input[type='submit']:hover{color:{$mt_options['controls_bg_color']}} "; $options_style .= "#custom-subscribe #submit-subscribe:before{background-color:{$mt_options['controls_bg_color']}} "; } if (!empty($mt_options['custom_css'])) { $options_style .= wp_kses_stripslashes($mt_options['custom_css']); } echo ''; } function mtnc_get_logo_box() { $mt_options = mtnc_get_plugin_options(true); $logo_w = $logo_h = ''; if (!empty($mt_options['logo_width'])) { $logo_w = $mt_options['logo_width']; } if (!empty($mt_options['logo_height'])) { $logo_h = $mt_options['logo_height']; } if (!empty($mt_options['logo']) || !empty($mt_options['retina_logo'])) { $logo = false; if (is_numeric($mt_options['logo']) && $mt_options['logo'] > 0) { $logo = wp_get_attachment_image_src($mt_options['logo'], 'full', true); } if (!empty($logo)) { $image_link = esc_url_raw($logo[0]); } else { $image_link = $mt_options['logo']; } $retina_logo = false; if (is_numeric($mt_options['retina_logo']) && $mt_options['retina_logo'] > 0) { $retina_logo = wp_get_attachment_image_src($mt_options['retina_logo'], 'full', true); } if (!empty($retina_logo)) { $image_link_retina = esc_url_raw($retina_logo[0]); } else { $image_link_retina = $mt_options['retina_logo']; } $image_link = empty($image_link) ? $image_link_retina : $image_link; $image_link_retina = empty($image_link_retina) ? $image_link : $image_link_retina; ?>
alt="logo">

' . esc_html(get_bloginfo('name')) . '

'; } } add_action('logo_box', 'mtnc_get_logo_box', 10); function mtnc_get_content_section() { $mt_options = mtnc_get_plugin_options(true); if (!empty($mt_options['body_font_subset'])) { $current_subset = esc_attr($mt_options['body_font_subset']); $font_weight = (string) ((int) $current_subset); $font_style = str_replace($font_weight, '', $current_subset); } if (empty($font_style) || $font_style === 'regular') { $font_style = 'normal'; } if (empty($font_weight)) { $font_weight = 'normal'; } $out_content = null; if (!empty($mt_options['heading'])) { $out_content .= '

' . wp_kses_post(stripslashes($mt_options['heading'])) . '

'; } if (!empty($mt_options['description'])) { $description_content = wpautop(wp_kses_post(stripslashes($mt_options['description'])), true); $out_content .= '
' . $description_content . '
'; } else { $site_description = get_bloginfo('description'); $out_content .= '

' . $site_description . '

'; } mtnc_wp_kses($out_content); } add_action('content_section', 'mtnc_get_content_section', 10); function mtnc_get_footer_section() { $mt_options = mtnc_get_plugin_options(true); if (!empty($mt_options['body_font_subset'])) { $current_subset = esc_attr($mt_options['body_font_subset']); $font_weight = (string) ((int) $current_subset); $font_style = str_replace($font_weight, '', $current_subset); } if (empty($font_style) || $font_style === 'regular') { $font_style = 'normal'; } if (empty($font_weight)) { $font_weight = 'normal'; } $out_ftext = ''; if (isset($mt_options['footer_text']) && !empty($mt_options['footer_text'])) { $out_ftext .= wp_kses_post(stripslashes($mt_options['footer_text'])); } if (!empty($mt_options['show_some_love'])) { $out_ftext .= '
This site is using the free WP Maintenance plugin. Download and use it for free.'; } if ($out_ftext) { $out_ftext = '
' . $out_ftext . '
'; } mtnc_wp_kses($out_ftext); } add_action('footer_section', 'mtnc_get_footer_section', 10); function mtnc_do_button_login_form($error = -1) { ?>
'; $out_login_form .= ''; $out_login_form .= '' . $error . ''; $out_login_form .= ''; $out_login_form .= ''; $out_login_form .= '' . __('Lost Password', 'maintenance') . ''; $out_login_form .= ''; $out_login_form .= ''; $out_login_form .= wp_nonce_field('mtnc_login', 'mtnc_login_check'); $out_login_form .= ''; if (isset($mt_options['is_login']) && $mt_options['is_login'] == true) { mtnc_wp_kses($out_login_form); } } function mtnc_reset_pass_url($lostpassword_url, $redirect) { $mt_options = mtnc_get_plugin_options(true); if($mt_options['state'] === 0){ return $lostpassword_url; } $args = array('action' => 'lostpassword'); $lostpassword_url = add_query_arg($args, network_site_url('wp-login.php', 'login')); return $lostpassword_url; } add_filter('lostpassword_url', 'mtnc_reset_pass_url', 999, 2); function mtnc_get_preloader_element() { $mt_options = mtnc_get_plugin_options(true); if (!empty($mt_options['preloader_img'])) { $preloader_img = wp_get_attachment_image_src($mt_options['preloader_img'], 'full'); $preloader_img = !empty($preloader_img) ? $preloader_img[0] : false; } $preloader = !empty($preloader_img) ? '' : ''; $out = '
' . $preloader . '
'; mtnc_wp_kses($out); } add_action('before_content_section', 'mtnc_get_preloader_element', 5); function mtnc_gg_analytics_code() { $mt_options = mtnc_get_plugin_options(true); if (empty($mt_options['503_enabled']) && isset($mt_options['gg_analytics_id']) && ($mt_options['gg_analytics_id'] !== '')) { ?> true, 'style' => true, 'class' => true, 'id' => true, 'checked' => true, 'disabled' => true, 'name' => true, 'size' => true, 'placeholder' => true, 'value' => true, 'data-*' => true, 'size' => true, 'disabled' => true ); $allowed_tags['textarea'] = array( 'type' => true, 'style' => true, 'class' => true, 'id' => true, 'checked' => true, 'disabled' => true, 'name' => true, 'size' => true, 'placeholder' => true, 'value' => true, 'data-*' => true, 'cols' => true, 'rows' => true, 'disabled' => true, 'autocomplete' => true ); $allowed_tags['select'] = array( 'type' => true, 'style' => true, 'class' => true, 'id' => true, 'checked' => true, 'disabled' => true, 'name' => true, 'size' => true, 'placeholder' => true, 'value' => true, 'data-*' => true, 'multiple' => true, 'disabled' => true ); $allowed_tags['option'] = array( 'type' => true, 'style' => true, 'class' => true, 'id' => true, 'checked' => true, 'disabled' => true, 'name' => true, 'size' => true, 'placeholder' => true, 'value' => true, 'selected' => true, 'data-*' => true ); $allowed_tags['optgroup'] = array( 'type' => true, 'style' => true, 'class' => true, 'id' => true, 'checked' => true, 'disabled' => true, 'name' => true, 'size' => true, 'placeholder' => true, 'value' => true, 'selected' => true, 'data-*' => true, 'label' => true ); $allowed_tags['a'] = array( 'href' => true, 'data-*' => true, 'class' => true, 'style' => true, 'id' => true, 'target' => true, 'data-*' => true, 'role' => true, 'aria-controls' => true, 'aria-selected' => true, 'disabled' => true ); $allowed_tags['div'] = array( 'style' => true, 'class' => true, 'id' => true, 'data-*' => true, 'role' => true, 'aria-labelledby' => true, 'value' => true, 'aria-modal' => true, 'tabindex' => true ); $allowed_tags['li'] = array( 'style' => true, 'class' => true, 'id' => true, 'data-*' => true, 'role' => true, 'aria-labelledby' => true, 'value' => true, 'aria-modal' => true, 'tabindex' => true ); $allowed_tags['span'] = array( 'style' => true, 'class' => true, 'id' => true, 'data-*' => true, 'aria-hidden' => true ); $allowed_tags['style'] = array( 'class' => true, 'id' => true, 'type' => true ); $allowed_tags['fieldset'] = array( 'class' => true, 'id' => true, 'type' => true ); $allowed_tags['link'] = array( 'class' => true, 'id' => true, 'type' => true, 'rel' => true, 'href' => true, 'media' => true ); $allowed_tags['form'] = array( 'style' => true, 'class' => true, 'id' => true, 'method' => true, 'action' => true, 'data-*' => true ); echo wp_kses($html, $allowed_tags); add_filter('safe_style_css', function ($styles) { $styles_wf = array( 'text-align', 'margin', 'color', 'float', 'border', 'background', 'background-color', 'border-bottom', 'border-bottom-color', 'border-bottom-style', 'border-bottom-width', 'border-collapse', 'border-color', 'border-left', 'border-left-color', 'border-left-style', 'border-left-width', 'border-right', 'border-right-color', 'border-right-style', 'border-right-width', 'border-spacing', 'border-style', 'border-top', 'border-top-color', 'border-top-style', 'border-top-width', 'border-width', 'caption-side', 'clear', 'cursor', 'direction', 'font', 'font-family', 'font-size', 'font-style', 'font-variant', 'font-weight', 'height', 'letter-spacing', 'line-height', 'margin-bottom', 'margin-left', 'margin-right', 'margin-top', 'overflow', 'padding', 'padding-bottom', 'padding-left', 'padding-right', 'padding-top', 'text-decoration', 'text-indent', 'vertical-align', 'width' ); foreach ($styles_wf as $style_wf) { if (($key = array_search($style_wf, $styles)) !== false) { unset($styles[$key]); } } return $styles; }); }