مؤسسة الركن المكتبي التجارية تأسست على رؤية مُختلفة، تهدف إلى تقديم تجربة فريدة من نوعها في الأثاث المكتبي والفندقي لكي نضمن بيئة عمل توفر مساحات عمل مريحة وصحية، حيث نمتاز بخبراتنا الواسعة فأصبحت أحد أفضل المؤسسات الوطنية الرائدة في تجارة وصناعة الأثاث والتصميم الداخلي والسبّاقة على مستوى المملكة في المفروشات المكتبية والفندقية والمنزلية، نهدف الى خلق قيمة لعملائنا عن طريق توفير الجودة العالية في مقابل السعر المناسب.
منتجاتنا الجودة العالية في مقابل السعر المناسب
أغسطس 15, 2022
UX-антипаттерны в действии – Анализ скриншотов популярных онлайн-площадок Просматривая сотни скриншотов популярных онлайн-площадок, мы сразу же видим: навязчивое […]
يناير 1, 2023
Vavada рабочее зеркало вход для удобного доступа Vavada рабочее зеркало вход Чтобы получить моментальный доступ к любимым развлечениям, […]
مايو 29, 2023
Эпикстар казино играй и выигрывай без проблем онлайн Эпикстар казино играй и выигрывай онлайн без проблем Добро пожаловать […]
سبتمبر 16, 2023
Рацион 2025 год что ждет нас на столах Ключ к вашему рациону 2025 года – персонализация. Забудьте о […]
أكتوبر 16, 2023
Авто 2025 – Ваш выбор лучших моделей по всем классам Выберите свой идеальный автомобиль 2025 года. Наш гид […]
فبراير 6, 2025
فبراير 6, 2025
فبراير 6, 2025
أغسطس 15, 2022
UX-антипаттерны в действии – Анализ скриншотов популярных онлайн-площадок Просматривая сотни скриншотов популярных онлайн-площадок, мы сразу же видим: навязчивое […]
يناير 1, 2023
Vavada рабочее зеркало вход для удобного доступа Vavada рабочее зеркало вход Чтобы получить моментальный доступ к любимым развлечениям, […]
مايو 29, 2023
Эпикстар казино играй и выигрывай без проблем онлайн Эпикстар казино играй и выигрывай онлайн без проблем Добро пожаловать […]
سبتمبر 16, 2023
Рацион 2025 год что ждет нас на столах Ключ к вашему рациону 2025 года – персонализация. Забудьте о […]
أكتوبر 16, 2023
Авто 2025 – Ваш выбор лучших моделей по всем классам Выберите свой идеальный автомобиль 2025 года. Наш гид […]
فبراير 6, 2025
فبراير 6, 2025
فبراير 6, 2025
*(……&*6干sfa绅士的风度sfsdfd不打发打发死啊好办法
/home/officeco/public_html/wp-content/plugins/admin-site-enhancements/settings.php
<?php
/**
* Initialize options. [TODO] Move this into activation class at v7.
*
* @since 6.4.1
*/
if ( false === get_option( ASENHA_SLUG_U ) ) {
add_option( ASENHA_SLUG_U, array(), true );
}
if ( false === get_option( ASENHA_SLUG_U . '_stats' ) ) {
add_option( ASENHA_SLUG_U . '_stats', array(), false );
}
if ( false === get_option( ASENHA_SLUG_U . '_extra' ) ) {
add_option( ASENHA_SLUG_U . '_extra', array(), true );
}
// Bugfix in v7.1.2 for Custom Content Type module
$options_extra = get_option( ASENHA_SLUG_U . '_extra', array() );
if ( !isset( $options_extra['cfgroup_next_field_id'] ) ) {
$options_extra['cfgroup_next_field_id'] = 1;
update_option( ASENHA_SLUG_U . '_extra', $options_extra, true );
}
/**
* Register admin menu
*
* @since 1.0.0
*/
function asenha_register_admin_menu() {
add_submenu_page(
'tools.php',
// Parent page/menu
'Admin and Site Enhancements',
// Browser tab/window title
__( 'Enhancements', 'admin-site-enhancements' ),
// Sube menu title
'manage_options',
// Minimal user capabililty
ASENHA_SLUG,
// Page slug. Shows up in URL.
'asenha_add_settings_page'
);
}
/**
* Create the settings page of the plugin
*
* @since 1.0.0
*/
function asenha_add_settings_page() {
?>
<div class="wrap asenha">
<div id="asenha-header" class="asenha-header">
<div class="asenha-header-left">
<img src="<?php
echo esc_html( ASENHA_URL ) . 'assets/img/ase_icon.png';
?>" class="asenha-icon"/>
<h1 class="asenha-heading">
<?php
echo esc_html( get_admin_page_title() );
?>
(ASE)
<?php
?>
</h1>
<!-- <a href="https://wordpress.org/plugins/admin-site-enhancements/" target="_blank" class="asenha-header-action"><span>ℹ</span> <?php
// esc_html_e( 'Info', 'admin-site-enhancements' );
?></a> -->
</div>
<div class="asenha-header-right">
<?php
// https://icon-sets.iconify.design/iconamoon/star-bold/
$svg_star = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linejoin="round" stroke-width="2.5" d="m12 2l3.104 6.728l7.358.873l-5.44 5.03l1.444 7.268L12 18.28L5.534 21.9l1.444-7.268L1.538 9.6l7.359-.873L12 2Z"/></svg>';
// https://icon-sets.iconify.design/octicon/question-16/
$svg_support = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="currentColor" d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13a6.5 6.5 0 0 0 0-13ZM6.92 6.085h.001a.749.749 0 1 1-1.342-.67c.169-.339.436-.701.849-.977C6.845 4.16 7.369 4 8 4a2.756 2.756 0 0 1 1.637.525c.503.377.863.965.863 1.725c0 .448-.115.83-.329 1.15c-.205.307-.47.513-.692.662c-.109.072-.22.138-.313.195l-.006.004a6.24 6.24 0 0 0-.26.16a.952.952 0 0 0-.276.245a.75.75 0 0 1-1.248-.832c.184-.264.42-.489.692-.661c.103-.067.207-.132.313-.195l.007-.004c.1-.061.182-.11.258-.161a.969.969 0 0 0 .277-.245C8.96 6.514 9 6.427 9 6.25a.612.612 0 0 0-.262-.525A1.27 1.27 0 0 0 8 5.5c-.369 0-.595.09-.74.187a1.01 1.01 0 0 0-.34.398ZM9 11a1 1 0 1 1-2 0a1 1 0 0 1 2 0Z"/></svg>';
// https://icon-sets.iconify.design/octicon/comment-16/
$svg_feedback = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 16 16"><path fill="currentColor" d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"/></svg>';
// https://icon-sets.iconify.design/ic/baseline-translate/
$svg_translate = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24"><path fill="currentColor" d="m12.87 15.07l-2.54-2.51l.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35C8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5l3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7l1.62-4.33L19.12 17z"/></svg>';
// https://icon-sets.iconify.design/iconamoon/file-document/
$svg_docs = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-linejoin="round" stroke-width="2"><path stroke-linecap="round" d="M7 21a2 2 0 0 1-2-2V3h9l5 5v11a2 2 0 0 1-2 2H7Z"/><path d="M13 3v6h6"/><path stroke-linecap="round" d="M9 13h6m-6 4h6"/></g></svg>';
// https://icon-sets.iconify.design/pajamas/heart/
$svg_sponsor = '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M8.753 2.247L8 3l-.753-.753A4.243 4.243 0 0 0 1.25 8.25l5.69 5.69L8 15l1.06-1.06l5.69-5.69a4.243 4.243 0 0 0-5.997-6.003ZM8 12.879l5.69-5.69a2.743 2.743 0 0 0-3.877-3.881l-.752.753L8 5.12L6.94 4.06l-.753-.752v-.001A2.743 2.743 0 0 0 2.31 7.189L8 12.88Z" clip-rule="evenodd"/></svg>';
?>
<a href="https://wordpress.org/plugins/admin-site-enhancements/#reviews" target="_blank" class="asenha-header-action review"><?php
echo wp_kses( $svg_star, get_kses_with_svg_ruleset() ) . esc_html__( 'Review', 'admin-site-enhancements' );
?></a>
<a href="https://wordpress.org/support/plugin/admin-site-enhancements/" target="_blank" class="asenha-header-action feedback"><?php
echo wp_kses( $svg_feedback, get_kses_with_svg_ruleset() ) . esc_html__( 'Feedback', 'admin-site-enhancements' );
?></a>
<a href="https://www.wpase.com/trnslt-plgnhdr" target="_blank" class="asenha-header-action translate"><?php
echo wp_kses( $svg_translate, get_kses_with_svg_ruleset() ) . esc_html__( 'Translate', 'admin-site-enhancements' );
?></a>
<!--<a href="https://www.wpasenha.com/docs/" target="_blank" class="asenha-header-action docs"><?php
// echo $svg_docs . esc_html__( 'Docs', 'admin-site-enhancements' );
?></a>-->
<!--<a id="plugin-sponsor" href="#" class="asenha-header-action sponsor"><?php
// echo $svg_sponsor . esc_html__( 'Sponsor', 'admin-site-enhancements' );
?></a>-->
<a href="https://www.wpase.com/upgrade-btn" target="_blank" id="plugin-upgrade" class="button button-primary plugin-upgrade"><?php
echo esc_html__( 'Get ASE Pro', 'admin-site-enhancements' );
?></a>
<?php
?>
<a class="button button-primary asenha-save-button"><?php
echo esc_html__( 'Save Changes', 'admin-site-enhancements' );
?></a>
<!-- https://icon-sets.iconify.design/svg-spinners/180-ring-with-bg/ -->
<div class="asenha-saving-changes" style="display:none;"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#2271b1" d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z" opacity=".25"/><path fill="#2271b1" d="M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z"><animateTransform attributeName="transform" dur="0.75s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></path></svg></div>
<div class="asenha-changes-saved" style="display:none;"><svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24"><path fill="seagreen" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10s10-4.48 10-10S17.52 2 12 2zM9.29 16.29L5.7 12.7a.996.996 0 1 1 1.41-1.41L10 14.17l6.88-6.88a.996.996 0 1 1 1.41 1.41l-7.59 7.59a.996.996 0 0 1-1.41 0z"/></svg></div>
</div>
</div>
<div class="asenha-body">
<?php
$current_month = intval( date( 'n', time() ) );
// n is for numeric value of month, 1 to 12
if ( $current_month >= 10 ) {
$is_yearend_promo_period = true;
} else {
$is_yearend_promo_period = false;
}
?>
<?php
if ( $is_yearend_promo_period ) {
?>
<!-- <div class="asenha-upgrade-nudge" style="display: none;">
<div class="asenha-upgrade-nudge__message"><?php
// echo esc_html__( 'Lifetime Deal (LTD) is available for the Pro version of ASE.', 'admin-site-enhancements' );
?></div>
<a href="https://www.wpase.com/upgrade-ndg" class="button asenha-upgrade-nudge__button" target="_blank"><?php
// echo esc_html__( 'Find Out More', 'admin-site-enhancements' );
?></a>
<a href="#" id="dismiss-upgrade-nudge" class="asenha-upgrade-nudge__dismiss">
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path fill="currentColor" d="M24 2.4L21.6 0L12 9.6L2.4 0L0 2.4L9.6 12L0 21.6L2.4 24l9.6-9.6l9.6 9.6l2.4-2.4l-9.6-9.6z"/></svg>
</a>
</div> -->
<div class="asenha-promo-nudge" style="display: none;">
<div class="asenha-promo-nudge__message"><?php
echo esc_html__( 'ASE Pro YEAR-END SALE! 20% DISCOUNT. Lifetime Deal (LTD) available.', 'admin-site-enhancements' );
?></div>
<a href="https://www.wpase.com/promo-ndg" class="button asenha-promo-nudge__button" target="_blank"><?php
echo esc_html__( 'Get It Now', 'admin-site-enhancements' );
?></a>
<a href="#" id="dismiss-promo-nudge" class="asenha-promo-nudge__dismiss">
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path fill="currentColor" d="M24 2.4L21.6 0L12 9.6L2.4 0L0 2.4L9.6 12L0 21.6L2.4 24l9.6-9.6l9.6 9.6l2.4-2.4l-9.6-9.6z"/></svg>
</a>
</div>
<?php
}
?>
<?php
?>
<div class="asenha-support-nudge nudge-show-more is-enabled" style="display: none;">
<h3><?php
_e( 'Looks like some of these free enhancements have been useful for your site?', 'admin-site-enhancements' );
?></h3>
<p class="nudge-description intro"><?php
_e( 'Please consider supporting ASE.', 'admin-site-enhancements' );
?></p>
<div class="nudge-content">
<div class="nudge-primary">
<h4><?php
_e( 'Write a quick, 5-star review for ASE', 'admin-site-enhancements' );
?></h4>
<div class="nudge-ctas">
<a href="https://wordpress.org/plugins/admin-site-enhancements/#reviews" target="_blank" class="button button-outline asenha-review-button"><?php
_e( 'Add Your Review', 'admin-site-enhancements' );
?></a>
<a href="#" id="have-reviewed" class="asenha-have-supported"><?php
_e( 'I\'ve reviewed', 'admin-site-enhancements' );
?></a>
</div>
<p class="nudge-description"><?php
_e( 'Or, help improve ASE by <a href="https://wordpress.org/support/plugin/admin-site-enhancements/" target="_blank">providing feedback</a>.', 'admin-site-enhancements' );
?></p>
</div>
<div class="nudge-secondary">
<h4><?php
_e( 'Share about ASE on:', 'admin-site-enhancements' );
?></h4>
<div class="nudge-ctas">
<a href="https://www.facebook.com/sharer.php?u=<?php
echo urlencode( 'https://www.wpase.com' );
?>" target="_blank" class="button button-outline asenha-share-button"><?php
_e( 'Facebook', 'admin-site-enhancements' );
?></a>
<a href="https://twitter.com/intent/post?url=<?php
echo urlencode( 'https://www.wpase.com' );
?>&text=<?php
echo esc_attr( urlencode( 'Admin and Site Enhancements (ASE)' ) );
?>" target="_blank" class="button button-outline asenha-share-button"><?php
_e( 'X / Twitter', 'admin-site-enhancements' );
?></a>
<a href="https://www.wpase.com/video-reviews/" target="_blank" class="button button-outline asenha-share-button"><?php
_e( 'YouTube', 'admin-site-enhancements' );
?></a>
<a href="#" id="have-shared" class="asenha-have-supported"><?php
_e( 'I\'ve shared', 'admin-site-enhancements' );
?></a>
</div>
<div class="nudge-info">
<p class="nudge-description"><?php
_e( 'Help others discover ASE and maybe <a href="https://www.wpase.com/trnslt-plgnndg" target="_blank">translate</a> to your language.', 'admin-site-enhancements' );
?></p>
</div>
</div>
</div>
<div class="dismiss-support-nudge"><a href="#" id="support-nudge-dismiss" class="asenha-support-nudge-dismiss"><?php
_e( 'Dismiss', 'admin-site-enhancements' );
?></a></div>
</div>
<?php
?>
<form action="options.php" method="post">
<div class="asenha-vertical-tabs">
<div class="asenha-tab-buttons">
<?php
// https://icon-sets.iconify.design/mdi/database-check-outline/ -- db check
// https://icon-sets.iconify.design/mdi/file-document-box-multiple-outline/ -- docs
// https://icon-sets.iconify.design/fluent/content-view-28-regular/ -- content
// https://icon-sets.iconify.design/lucide/shapes/ -- shapes
$icon_content_management = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z"/><rect width="7" height="7" x="3" y="14" rx="1"/><circle cx="17.5" cy="17.5" r="3.5"/></g></svg>';
// https://icon-sets.iconify.design/mingcute/layout-line/
$icon_admin_interface = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="none" fill-rule="evenodd"><path d="M24 0v24H0V0h24ZM12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035c-.01-.004-.019-.001-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427c-.002-.01-.009-.017-.017-.018Zm.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093c.012.004.023 0 .029-.008l.004-.014l-.034-.614c-.003-.012-.01-.02-.02-.022Zm-.715.002a.023.023 0 0 0-.027.006l-.006.014l-.034.614c0 .012.007.02.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01l-.184-.092Z"/><path fill="currentColor" d="M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5Zm16 0H5v3h14V5ZM5 19v-9h4v9H5Zm6 0h8v-9h-8v9Z"/></g></svg>';
// https://icon-sets.iconify.design/ri/login-circle-line/
$icon_login_logout = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="currentColor" d="m10.998 16l5-4l-5-4v3h-9v2h9z"/><path fill="currentColor" d="M12.999 2.999a8.938 8.938 0 0 0-6.364 2.637L8.049 7.05c1.322-1.322 3.08-2.051 4.95-2.051s3.628.729 4.95 2.051S20 10.13 20 12s-.729 3.628-2.051 4.95s-3.08 2.051-4.95 2.051s-3.628-.729-4.95-2.051l-1.414 1.414c1.699 1.7 3.959 2.637 6.364 2.637s4.665-.937 6.364-2.637C21.063 16.665 22 14.405 22 12s-.937-4.665-2.637-6.364a8.938 8.938 0 0 0-6.364-2.637z"/></svg>';
// https://icon-sets.iconify.design/mingcute/code-line/
$icon_custom_code = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="none"><path d="M0 0h24v24H0z"/><path fill="currentColor" d="M14.486 3.143a1 1 0 0 1 .692 1.233l-4.43 15.788a1 1 0 0 1-1.926-.54l4.43-15.788a1 1 0 0 1 1.234-.693ZM7.207 7.05a1 1 0 0 1 0 1.414L3.672 12l3.535 3.535a1 1 0 1 1-1.414 1.415L1.55 12.707a1 1 0 0 1 0-1.414L5.793 7.05a1 1 0 0 1 1.414 0Zm9.586 1.414a1 1 0 1 1 1.414-1.414l4.243 4.243a1 1 0 0 1 0 1.414l-4.243 4.242a1 1 0 0 1-1.414-1.414L20.328 12l-3.535-3.536Z"/></g></svg>';
// https://icon-sets.iconify.design/mdi/forbid/
$icon_disable_components = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="currentColor" d="M12 2c5.5 0 10 4.5 10 10s-4.5 10-10 10S2 17.5 2 12S6.5 2 12 2m0 2c-1.9 0-3.6.6-4.9 1.7l11.2 11.2c1-1.4 1.7-3.1 1.7-4.9c0-4.4-3.6-8-8-8m4.9 14.3L5.7 7.1C4.6 8.4 4 10.1 4 12c0 4.4 3.6 8 8 8c1.9 0 3.6-.6 4.9-1.7Z"/></svg>';
// https://icon-sets.iconify.design/jam/shield-check/
$icon_security = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 16 16"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="m8 1.75l5.25 2v5c0 2.25-2 4.5-5.25 5.5c-3.25-1-5.25-3-5.25-5.5v-5z"/><path d="m5.75 7.75l1.5 1.5l3-3.5"/></g></svg>';
// https://icon-sets.iconify.design/streamline/image-flash-1-flash-power-connect-charge-electricity-lightning/
$icon_optimizations = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 14 14"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M4.25.5L2 5.81a.5.5 0 0 0 .46.69h2.79l-2 7l8.59-8.14a.5.5 0 0 0-.34-.86H7.75l2-4Z"/></svg>';
// https://icon-sets.iconify.design/iconoir/tools/
$icon_utilities = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"><path d="m10.05 10.607l-7.07 7.07a2 2 0 0 0 0 2.83v0a2 2 0 0 0 2.828 0l7.07-7.072m4.315.365l3.878 3.878a2 2 0 0 1 0 2.828v0a2 2 0 0 1-2.828 0l-6.209-6.208M6.733 5.904L4.61 6.61L2.49 3.075l1.414-1.414L7.44 3.782l-.707 2.122Zm0 0l2.83 2.83"/><path d="M10.05 10.607c-.844-2.153-.679-4.978 1.061-6.718c1.74-1.74 4.95-2.121 6.717-1.06l-3.04 3.04l-.283 3.111l3.111-.282l3.04-3.041c1.062 1.768.68 4.978-1.06 6.717c-1.74 1.74-4.564 1.905-6.717 1.061"/></g></svg>';
?>
<input id="tab-content-management" type="radio" name="tabs" checked><label for="tab-content-management"><?php
echo wp_kses( $icon_content_management, get_kses_with_svg_ruleset() );
?><span><?php
echo esc_html__( 'Content Management', 'admin-site-enhancements' );
?></span></label>
<input id="tab-admin-interface" type="radio" name="tabs"><label for="tab-admin-interface"><?php
echo wp_kses( $icon_admin_interface, get_kses_with_svg_ruleset() );
?><span><?php
echo esc_html__( 'Admin Interface', 'admin-site-enhancements' );
?></span></label>
<input id="tab-login-logout" type="radio" name="tabs"><label for="tab-login-logout"><?php
echo wp_kses( $icon_login_logout, get_kses_with_svg_ruleset() );
?><span><?php
echo esc_html__( 'Log In/Out | Register', 'admin-site-enhancements' );
?></span></label>
<input id="tab-custom-code" type="radio" name="tabs"><label for="tab-custom-code"><?php
echo wp_kses( $icon_custom_code, get_kses_with_svg_ruleset() );
?><span><?php
echo esc_html__( 'Custom Code', 'admin-site-enhancements' );
?></span></label>
<input id="tab-disable-components" type="radio" name="tabs"><label for="tab-disable-components"><?php
echo wp_kses( $icon_disable_components, get_kses_with_svg_ruleset() );
?><span><?php
echo esc_html__( 'Disable Components', 'admin-site-enhancements' );
?></span></label>
<input id="tab-security" type="radio" name="tabs"><label for="tab-security"><?php
echo wp_kses( $icon_security, get_kses_with_svg_ruleset() );
?><span><?php
echo esc_html__( 'Security', 'admin-site-enhancements' );
?></span></label>
<input id="tab-optimizations" type="radio" name="tabs"><label for="tab-optimizations"><?php
echo wp_kses( $icon_optimizations, get_kses_with_svg_ruleset() );
?><span><?php
echo esc_html__( 'Optimizations', 'admin-site-enhancements' );
?></span></label>
<input id="tab-utilities" type="radio" name="tabs"><label for="tab-utilities"><?php
echo wp_kses( $icon_utilities, get_kses_with_svg_ruleset() );
?><span><?php
echo esc_html__( 'Utilities', 'admin-site-enhancements' );
?></span></label>
</div>
<div class="asenha-tab-contents">
<section class="asenha-fields fields-content-management">
<table class="form-table" role="presentation">
<tbody></tbody>
</table>
</section>
<section class="asenha-fields fields-admin-interface">
<table class="form-table" role="presentation">
<tbody></tbody>
</table>
</section>
<section class="asenha-fields fields-login-logout">
<table class="form-table" role="presentation">
<tbody></tbody>
</table>
</section>
<section class="asenha-fields fields-custom-code">
<table class="form-table" role="presentation">
<tbody></tbody>
</table>
</section>
<section class="asenha-fields fields-disable-components">
<table class="form-table" role="presentation">
<tbody></tbody>
</table>
</section>
<section class="asenha-fields fields-security">
<table class="form-table" role="presentation">
<tbody></tbody>
</table>
</section>
<section class="asenha-fields fields-optimizations">
<table class="form-table" role="presentation">
<tbody></tbody>
</table>
</section>
<section class="asenha-fields fields-utilities">
<table class="form-table" role="presentation">
<tbody></tbody>
</table>
</section>
</div>
</div>
<div style="display:none;"><!-- Hide to prevent flash of fields appearing at the bottom of the page -->
<?php
settings_fields( ASENHA_ID );
?>
<?php
do_settings_sections( ASENHA_SLUG );
?>
<?php
submit_button(
__( 'Save Changes', 'admin-site-enhancements' ),
// Button copy
'primary',
// Type: 'primary', 'small', or 'large'
'submit',
// The 'name' attribute
true,
// Whether to wrap in <p> tag
array(
'id' => 'asenha-submit',
)
);
?>
</div>
</form>
<?php
?>
<div id="bottom-upgrade-nudge" class="asenha-upgrade-nudge-bottom" style="display:none;">
<div class="asenha-upgrade-nudge-bottom__message"><?php
echo __( 'Do more with <a href="https://www.wpase.com/upgrade-ndg-btm" target="_blank">ASE Pro</a>. Lifetime deal (LTD) <a href="https://www.wpase.com/upgrade-ndg-btm-prc" target="_blank">available</a>.', 'admin-site-enhancements' );
?> <?php
if ( $is_yearend_promo_period ) {
echo __( 'Currently on YEAR-END SALE. <a href="https://www.wpase.com/promo-ndg" target="_blank">20% discount</a>.', 'admin-site-enhancements' );
}
?></div>
</div>
<?php
?>
</div>
<?php
?>
</div>
<?php
// Record the number of times changes were saved as well as the date of last save
$asenha_stats = get_option( ASENHA_SLUG_U . '_stats', array() );
$changes_saved = ( isset( $_GET['settings-updated'] ) && 'true' == $_GET['settings-updated'] ? true : false );
if ( $changes_saved ) {
$current_date = date( 'Y-m-d', time() );
if ( !isset( $asenha_stats['first_save_date'] ) ) {
$asenha_stats['first_save_date'] = $current_date;
$asenha_stats['last_save_date'] = $current_date;
$asenha_stats['save_count'] = 1;
$asenha_stats['have_supported'] = false;
$asenha_stats['support_nudge_dismissed'] = false;
$asenha_stats['support_nudge_last_shown_date'] = '';
$asenha_stats['support_nudge_last_shown_save_count'] = 0;
} else {
$asenha_stats['last_save_date'] = $current_date;
$save_count = $asenha_stats['save_count'];
$save_count++;
$asenha_stats['save_count'] = $save_count;
}
update_option( ASENHA_SLUG_U . '_stats', $asenha_stats, false );
}
}
/**
* Suppress all notices, then add notice for successful settings update
*
* @since 1.1.0
*/
function asenha_suppress_add_notices() {
global $plugin_page;
// Suppress all notices
if ( ASENHA_SLUG === $plugin_page ) {
remove_all_actions( 'admin_notices' );
}
// Add notice for successful settings update
if ( isset( $_GET['page'] ) && ASENHA_SLUG == $_GET['page'] && isset( $_GET['settings-updated'] ) && true == $_GET['settings-updated'] ) {
?>
<script>
jQuery(document).ready( function() {
jQuery('.asenha-changes-saved').fadeIn(400).delay(2500).fadeOut(400);
});
</script>
<?php
}
}
/**
* Suppress all generic notices on the plugin settings page
*
* @since 2.7.0
*/
function asenha_suppress_generic_notices() {
global $plugin_page;
// Suppress all notices
if ( ASENHA_SLUG === $plugin_page ) {
remove_all_actions( 'all_admin_notices' );
}
}
/**
* Enqueue admin scripts
*
* @since 1.0.0
*/
function asenha_admin_scripts( $hook_suffix ) {
global
$wp_version,
$pagenow,
$typenow,
$taxnow,
$hook_suffix,
$current_user
;
$current_screen = get_current_screen();
// Get all WP Enhancements options, default to empty array in case it's not been created yet
$options = get_option( 'admin_site_enhancements', array() );
// For main page of this plugin
if ( is_asenha() ) {
wp_enqueue_style(
'asenha-jbox',
ASENHA_URL . 'assets/css/jBox.all.min.css',
array(),
ASENHA_VERSION
);
wp_enqueue_script(
'asenha-jbox',
ASENHA_URL . 'assets/js/jBox.all.min.js',
array(),
ASENHA_VERSION,
false
);
wp_enqueue_script(
'asenha-jsticky',
ASENHA_URL . 'assets/js/jquery.jsticky.mod.min.js',
array('jquery'),
ASENHA_VERSION,
false
);
wp_enqueue_script(
'asenha-js-cookie',
ASENHA_URL . 'assets/js/js.cookie.min.js',
array(),
ASENHA_VERSION,
false
);
// jQuery UI Sortables. In use, e.g. for Admin Interface >> Admin Menu Organizer
// Re-register and re-enqueue jQuery UI Core and plugins required for sortable, draggable and droppable when ordering menu items
wp_deregister_script( 'jquery-ui-core' );
wp_register_script(
'jquery-ui-core',
get_site_url() . '/wp-includes/js/jquery/ui/core.min.js',
array('jquery'),
ASENHA_VERSION,
false
);
wp_enqueue_script( 'jquery-ui-core' );
if ( version_compare( $wp_version, '5.6.0', '>=' ) ) {
wp_deregister_script( 'jquery-ui-mouse' );
wp_register_script(
'jquery-ui-mouse',
get_site_url() . '/wp-includes/js/jquery/ui/mouse.min.js',
array('jquery-ui-core'),
ASENHA_VERSION,
false
);
wp_enqueue_script( 'jquery-ui-mouse' );
} else {
wp_deregister_script( 'jquery-ui-widget' );
wp_register_script(
'jquery-ui-widget',
get_site_url() . '/wp-includes/js/jquery/ui/widget.min.js',
array('jquery'),
ASENHA_VERSION,
false
);
wp_enqueue_script( 'jquery-ui-widget' );
wp_deregister_script( 'jquery-ui-mouse' );
wp_register_script(
'jquery-ui-mouse',
get_site_url() . '/wp-includes/js/jquery/ui/mouse.min.js',
array('jquery-ui-core', 'jquery-ui-widget'),
ASENHA_VERSION,
false
);
wp_enqueue_script( 'jquery-ui-mouse' );
}
wp_deregister_script( 'jquery-ui-sortable' );
wp_register_script(
'jquery-ui-sortable',
get_site_url() . '/wp-includes/js/jquery/ui/sortable.min.js',
array('jquery-ui-mouse'),
ASENHA_VERSION,
false
);
wp_enqueue_script( 'jquery-ui-sortable' );
wp_deregister_script( 'jquery-ui-draggable' );
wp_register_script(
'jquery-ui-draggable',
get_site_url() . '/wp-includes/js/jquery/ui/draggable.min.js',
array('jquery-ui-mouse'),
ASENHA_VERSION,
false
);
wp_enqueue_script( 'jquery-ui-draggable' );
wp_deregister_script( 'jquery-ui-droppable' );
wp_register_script(
'jquery-ui-droppable',
get_site_url() . '/wp-includes/js/jquery/ui/droppable.min.js',
array('jquery-ui-draggable'),
ASENHA_VERSION,
false
);
wp_enqueue_script( 'jquery-ui-droppable' );
// Script to set behaviour and actions of the sortable menu
wp_enqueue_script(
'asenha-custom-admin-menu',
ASENHA_URL . 'assets/js/custom-admin-menu.js',
array('jquery-ui-draggable'),
ASENHA_VERSION,
false
);
// First, we unload the CodeMirror libraries included in WP core
wp_deregister_script( 'wp-codemirror' );
wp_deregister_script( 'code-editor' );
wp_deregister_script( 'htmlhint' );
wp_deregister_script( 'csslint' );
wp_deregister_script( 'esprima' );
wp_deregister_script( 'jshint' );
// Then, we load ASENHA's CodeMirror libraries. In use, e.g. for Utilities >> Enable Custom Admin / Frontend CSS / ads.txt / app-ads.txt
wp_enqueue_style(
'asenha-codemirror',
ASENHA_URL . 'assets/css/codemirror/codemirror.min.css',
array(),
ASENHA_VERSION
);
wp_enqueue_script(
'asenha-codemirror',
ASENHA_URL . 'assets/js/codemirror/codemirror.min.js',
array('jquery'),
ASENHA_VERSION,
true
);
wp_enqueue_script(
'asenha-codemirror-htmlmixed-mode',
ASENHA_URL . 'assets/js/codemirror/htmlmixed.js',
array('asenha-codemirror'),
ASENHA_VERSION,
true
);
wp_enqueue_script(
'asenha-codemirror-xml-mode',
ASENHA_URL . 'assets/js/codemirror/xml.js',
array('asenha-codemirror'),
ASENHA_VERSION,
true
);
wp_enqueue_script(
'asenha-codemirror-javascript-mode',
ASENHA_URL . 'assets/js/codemirror/javascript.js',
array('asenha-codemirror'),
ASENHA_VERSION,
true
);
wp_enqueue_script(
'asenha-codemirror-css-mode',
ASENHA_URL . 'assets/js/codemirror/css.js',
array('asenha-codemirror'),
ASENHA_VERSION,
true
);
wp_enqueue_script(
'asenha-codemirror-markdown-mode',
ASENHA_URL . 'assets/js/codemirror/markdown.js',
array('asenha-codemirror'),
ASENHA_VERSION,
true
);
// DataTables. In use, e.g. for Security >> Limit Login Attempts
wp_enqueue_style(
'asenha-datatables',
ASENHA_URL . 'assets/css/datatables/datatables.min.css',
array(),
ASENHA_VERSION
);
wp_enqueue_script(
'asenha-datatables',
ASENHA_URL . 'assets/js/datatables/datatables.min.js',
array('jquery'),
ASENHA_VERSION,
false
);
// Add WP media library assets
wp_enqueue_media();
// Add WP color picker assets
wp_enqueue_style( 'wp-color-picker' );
wp_enqueue_script( 'wp-color-picker' );
// We force loading the uncompressed version of TinyMCE. This ensures we load 'wp-tinymce-root' and then 'wp-tinymce',
// which prevents issue where the Visual tab is unusable in some scenarios
$wp_scripts = wp_scripts();
$wp_scripts->remove( 'wp-tinymce' );
wp_register_tinymce_scripts( $wp_scripts, true );
// Main style and script for the admin page
wp_enqueue_style(
'asenha-admin-page',
ASENHA_URL . 'assets/css/admin-page.css',
array(
'asenha-jbox',
'asenha-codemirror',
'asenha-datatables',
'wp-color-picker'
),
ASENHA_VERSION
);
wp_enqueue_script(
'asenha-admin-page',
ASENHA_URL . 'assets/js/admin-page.js',
array(
'asenha-jsticky',
'asenha-jbox',
'asenha-js-cookie',
'asenha-codemirror-htmlmixed-mode',
'asenha-codemirror-xml-mode',
'asenha-codemirror-javascript-mode',
'asenha-codemirror-css-mode',
'asenha-codemirror-markdown-mode',
'asenha-datatables',
'asenha-custom-admin-menu',
'wp-color-picker',
'wp-mediaelement',
'wp-tinymce-root',
'wp-tinymce'
),
ASENHA_VERSION,
false
);
wp_localize_script( 'asenha-admin-page', 'adminPageVars', array(
'siteUrl' => get_site_url(),
'wpcontentUrl' => content_url(),
'mediaFrameTitle' => __( 'Select an Image', 'admin-site-enhancements' ),
'mediaFrameButtonText' => __( 'Use Selected Image', 'admin-site-enhancements' ),
'resetMenuNonce' => wp_create_nonce( 'reset-menu-nonce' ),
'sendTestEmailNonce' => wp_create_nonce( 'send-test-email-nonce_' . get_current_user_id() ),
'formBuilderSendTestEmailNonce' => wp_create_nonce( 'formbuilder_ajax' ),
'expandText' => __( 'Expand', 'admin-site-enhancements' ),
'collapseText' => __( 'Collapse', 'admin-site-enhancements' ),
'dataTable' => array(
'emptyTable' => __( 'No data available in table', 'admin-site-enhancements' ),
'info' => __( 'Showing _START_ to _END_ of _TOTAL_ entries', 'admin-site-enhancements' ),
'infoEmpty' => __( 'Showing 0 to 0 of 0 entries', 'admin-site-enhancements' ),
'infoFiltered' => __( '(filtered from _MAX_ total entries)', 'admin-site-enhancements' ),
'lengthMenu' => __( 'Show _MENU_ entries', 'admin-site-enhancements' ),
'search' => __( 'Search:', 'admin-site-enhancements' ),
'zeroRecords' => __( 'No matching records found', 'admin-site-enhancements' ),
'paginate' => array(
'first' => __( 'First', 'admin-site-enhancements' ),
'last' => __( 'Last', 'admin-site-enhancements' ),
'next' => __( 'Next', 'admin-site-enhancements' ),
'previous' => __( 'Previous', 'admin-site-enhancements' ),
),
),
) );
}
// Enqueue on all wp-admin
wp_enqueue_style(
'asenha-wp-admin',
ASENHA_URL . 'assets/css/wp-admin.css',
array(),
ASENHA_VERSION
);
// Content Management >> Show IDs, for list tables in wp-admin, e.g. All Posts page
if ( false !== strpos( $current_screen->base, 'edit' ) || false !== strpos( $current_screen->base, 'users' ) || false !== strpos( $current_screen->base, 'upload' ) ) {
wp_enqueue_style(
'asenha-list-table',
ASENHA_URL . 'assets/css/list-table.css',
array(),
ASENHA_VERSION
);
}
// Content Management >> Enable Media Replacement
if ( $current_screen->base == 'upload' || $current_screen->id == 'attachment' ) {
// wp_enqueue_style( 'asenha-jbox', ASENHA_URL . 'assets/css/jBox.all.min.css', array(), ASENHA_VERSION );
// wp_enqueue_script( 'asenha-jbox', ASENHA_URL . 'assets/js/jBox.all.min.js', array(), ASENHA_VERSION, false );
wp_enqueue_style(
'asenha-media-replace',
ASENHA_URL . 'assets/css/media-replace.css',
array(),
ASENHA_VERSION
);
wp_enqueue_script(
'asenha-media-replace',
ASENHA_URL . 'assets/js/media-replace.js',
array(),
ASENHA_VERSION,
false
);
$media_replace = array(
'selectMediaText' => __( 'Select New Media File', 'admin-site-enhancements' ),
'performReplacementText' => __( 'Perform Replacement', 'admin-site-enhancements' ),
);
wp_localize_script( 'asenha-media-replace', 'mediaReplace', $media_replace );
}
// Utilities >> Email Delivery Log
if ( 'tools_page_email-delivery-log' == $hook_suffix ) {
wp_enqueue_style( 'jquery-ui-css', ASENHA_URL . 'assets/premium/css/jquery-ui/jquery-ui.min.css' );
wp_enqueue_style( 'asenha-email-delivery-log', ASENHA_URL . 'assets/premium/css/email-delivery-log.css' );
wp_enqueue_script( 'jquery-ui' );
// wp_enqueue_script( 'jquery-ui-datepicker' );
wp_enqueue_script( 'jquery-ui-tabs' );
wp_enqueue_script( 'asenha-email-delivery-log', ASENHA_URL . 'assets/premium/js/email-delivery-log.js' );
$nonce = wp_create_nonce( 'email-delivery-log' . get_current_user_id() );
wp_localize_script( 'asenha-email-delivery-log', 'emailLog', array(
'nonce' => $nonce,
) );
}
// Utilities >> Image Sizes Panel∂
if ( 'post' == $current_screen->base && 'attachment' == $current_screen->id ) {
global $post;
// Only enqueue if the attachment is an image
if ( property_exists( $post, 'post_mime_type' ) && false !== strpos( $post->post_mime_type, 'image' ) ) {
wp_enqueue_style( 'asenha-image-sizes-panel', ASENHA_URL . 'assets/css/image-sizes-panel.css' );
}
}
// Code Snippets Manager
if ( 'post' == $current_screen->base && 'asenha_code_snippet' == $current_screen->id || 'edit' == $current_screen->base && 'edit-asenha_code_snippet' == $current_screen->id ) {
}
// Content Management >> Hide Admin Notices
if ( array_key_exists( 'hide_admin_notices', $options ) && $options['hide_admin_notices'] ) {
$hide_for_nonadmins = ( isset( $options['hide_admin_notices_for_nonadmins'] ) ? $options['hide_admin_notices_for_nonadmins'] : false );
$minimum_capability = 'manage_options';
if ( function_exists( 'bwasenha_fs' ) ) {
if ( $hide_for_nonadmins && bwasenha_fs()->can_use_premium_code__premium_only() ) {
$minimum_capability = 'read';
}
}
if ( current_user_can( $minimum_capability ) ) {
wp_enqueue_style(
'asenha-jbox',
ASENHA_URL . 'assets/css/jBox.all.min.css',
array(),
ASENHA_VERSION
);
wp_enqueue_script(
'asenha-jbox',
ASENHA_URL . 'assets/js/jBox.all.min.js',
array(),
ASENHA_VERSION,
false
);
wp_enqueue_style(
'asenha-hide-admin-notices',
ASENHA_URL . 'assets/css/hide-admin-notices.css',
array(),
ASENHA_VERSION
);
wp_enqueue_script(
'asenha-hide-admin-notices',
ASENHA_URL . 'assets/js/hide-admin-notices.js',
array('asenha-jbox'),
ASENHA_VERSION,
false
);
}
}
// Utilities >> Multiple User Roles
if ( array_key_exists( 'multiple_user_roles', $options ) && $options['multiple_user_roles'] ) {
if ( 'user-edit.php' == $hook_suffix || 'user-new.php' == $hook_suffix ) {
// Only replace roles dropdown with checkboxes for users that can assign roles to other users, e.g. administrators
if ( current_user_can( 'promote_users', get_current_user_id() ) ) {
wp_enqueue_script(
'asenha-multiple-user-roles',
ASENHA_URL . 'assets/js/multiple-user-roles.js',
array('jquery'),
ASENHA_VERSION,
false
);
}
}
}
$asenha_stats = get_option( ASENHA_SLUG_U . '_stats', array() );
$hide_promo_nudge = false;
// Pass on ASENHA stats to admin-page.js to determine whether to show support nudge
$current_date = date( 'Y-m-d', time() );
$show_support_nudge = false;
$asenha_stats_localized = array(
'firstSaveDate' => '',
'lastSaveDate' => '',
'saveCount' => 0,
'hideUpgradeNudge' => false,
'hidePromoNudge' => false,
'showSupportNudge' => false,
);
if ( !empty( $asenha_stats ) ) {
$hide_upgrade_nudge = ( isset( $asenha_stats['upgrade_nudge_dismissed'] ) ? $asenha_stats['upgrade_nudge_dismissed'] : false );
$hide_promo_nudge = ( isset( $asenha_stats['promo_nudge_dismissed'] ) ? $asenha_stats['promo_nudge_dismissed'] : false );
$have_supported = ( isset( $asenha_stats['have_supported'] ) ? $asenha_stats['have_supported'] : false );
$changes_saved = ( isset( $_GET['settings-updated'] ) && 'true' == sanitize_text_field( $_GET['settings-updated'] ) ? true : false );
$save_count = ( isset( $asenha_stats['save_count'] ) ? $asenha_stats['save_count'] : 0 );
// Compensate for redirect from settings-updated=true URL
if ( $changes_saved ) {
$save_count = $save_count + 1;
} else {
$save_count = $save_count;
}
$saves_to_nudge_support = 10;
if ( $save_count < $saves_to_nudge_support ) {
$save_count_modulo = -1;
} else {
$save_count_modulo = $save_count % $saves_to_nudge_support;
}
// User have not supported ASE
if ( false === $have_supported ) {
// Support nudge have not been dismissed
if ( isset( $asenha_stats['support_nudge_dismissed'] ) && false === $asenha_stats['support_nudge_dismissed'] ) {
// Show support nudge after every x saves
if ( $save_count_modulo >= 0 ) {
$show_support_nudge = true;
} else {
$show_support_nudge = false;
}
if ( $show_support_nudge && $save_count_modulo >= 0 ) {
$asenha_stats['support_nudge_last_shown_date'] = $current_date;
$asenha_stats['support_nudge_last_shown_save_count'] = $save_count;
update_option( ASENHA_SLUG_U . '_stats', $asenha_stats, false );
}
} else {
if ( $save_count_modulo == 0 ) {
$support_nudge_last_shown_save_count = ( isset( $asenha_stats['support_nudge_last_shown_save_count'] ) ? $asenha_stats['support_nudge_last_shown_save_count'] : 0 );
if ( $save_count > $support_nudge_last_shown_save_count ) {
$asenha_stats['support_nudge_dismissed'] = false;
update_option( ASENHA_SLUG_U . '_stats', $asenha_stats, false );
$show_support_nudge = true;
} else {
$show_support_nudge = false;
}
} else {
$show_support_nudge = false;
}
}
}
$first_save_date = ( isset( $asenha_stats['first_save_date'] ) ? $asenha_stats['first_save_date'] : '' );
$last_save_date = ( isset( $asenha_stats['last_save_date'] ) ? $asenha_stats['last_save_date'] : '' );
$asenha_stats_localized = array(
'firstSaveDate' => $first_save_date,
'lastSaveDate' => $last_save_date,
'saveCount' => $save_count,
'hideUpgradeNudge' => $hide_upgrade_nudge,
'hidePromoNudge' => $hide_promo_nudge,
'showSupportNudge' => $show_support_nudge,
);
}
wp_localize_script( 'asenha-admin-page', 'asenhaStats', $asenha_stats_localized );
}
/**
* Inline CSS for Admin Menu Organizer in all wp-admin pages. Previously loaded externally as part of wp-admin.css file
*
* @since 7.6.11
*/
function asenha_admin_menu_organizer_css() {
?>
<style type="text/css">
/* Admin Interface >> Admin Menu Organizer */
#adminmenuwrap {
height: auto !important;
}
.toplevel_page_wpide #adminmenuwrap {
height: calc(100vh - var(--wpide-admin-bar-height)) !important;
} /* Fix for when in WPIDE plugin's menu / admin page */
.current.menu-top.hidden,
.wp-has-current-submenu.hidden {
display: list-item;
}
#adminmenu a.menu-top.hidden,
ul#adminmenu a.wp-has-current-submenu.hidden {
display: block;
}
/*! <fs_premium_only> */
.always-hidden {
display: none !important;
}
#adminmenu .wp-submenu a.hidden {
display: none;
}
/*! </fs_premium_only> */
</style>
<?php
}
/**
* Dequeue scripts that prevents ASE settings page from working properly. Usually from plugins.
*
* @since 6.3.3
*/
function asenha_dequeue_scritps() {
if ( is_asenha() ) {
// https://wordpress.org/plugins/user-activity-log/
wp_dequeue_script( 'chats-js' );
wp_dequeue_script( 'custom_wp_admin_js' );
// https://wordpress.org/plugins/print-invoices-packing-slip-labels-for-woocommerce/
wp_dequeue_script( 'print-invoices-packing-slip-labels-for-woocommerce' );
wp_dequeue_script( 'print-invoices-packing-slip-labels-for-woocommerce-form-wizard' );
// https://wordpress.org/plugins/wp-reading-progress/
wp_dequeue_script( 'ruigehond006_admin_javascript' );
// WordPress Mentions Légales plugin v1.2.3 by Jean-Baptiste Aramendy - http://jba-development.fr/
wp_dequeue_script( 'jquery-ui' );
wp_dequeue_script( 'wordpress-mentions-legales' );
// https://wordpress.org/plugins/us-weather-widget-willyweather/
wp_dequeue_script( 'self' );
// iThemes Security Pro / Solid Security Pro
wp_dequeue_script( 'itsec-core-admin-notices' );
// WPML
wp_dequeue_script( 'wpml-ate-jobs-sync-ui' );
wp_dequeue_script( 'wpml-purify' );
wp_dequeue_script( 'sitepress-scripts' );
wp_dequeue_script( 'sitepress' );
wp_dequeue_script( 'wpml-dismiss-notice' );
wp_dequeue_script( 'wpml-tm-scripts' );
wp_dequeue_script( 'otgs-installer-components-save-setting' );
wp_dequeue_script( 'installer-dismiss-nag' );
wp_dequeue_script( 'install-recommended_plugin' );
wp_dequeue_script( 'icl-admin-notifier' );
wp_dequeue_script( 'otgsPopoverTooltip' );
// WPML String Translation
wp_dequeue_script( 'wpml-theme-plugin-localization-scan' );
// Asset Cleanup
wp_dequeue_script( 'wpassetcleanup-script' );
}
}
/**
* Enqueue public scripts
*
* @since 3.9.0
*/
function asenha_public_scripts( $hook_suffix ) {
// Get all WP Enhancements options, default to empty array in case it's not been created yet
$options = get_option( 'admin_site_enhancements', array() );
// External Permalinks
$enable_external_permalinks = ( array_key_exists( 'enable_external_permalinks', $options ) ? $options['enable_external_permalinks'] : false );
if ( $enable_external_permalinks ) {
wp_enqueue_script(
'asenha-public',
ASENHA_URL . 'assets/js/external-permalinks.js',
array(),
ASENHA_VERSION,
false
);
wp_localize_script( 'asenha-public', 'phpVars', array(
'externalPermalinksEnabled' => $enable_external_permalinks,
) );
}
// Media Categories
$enable_media_categories = ( array_key_exists( 'enable_media_categories', $options ) ? $options['enable_media_categories'] : false );
if ( $enable_media_categories && !is_admin() && is_user_logged_in() ) {
wp_enqueue_style(
'asenha-media-categories-frontend',
ASENHA_URL . 'assets/css/media-categories-frontend.css',
array(),
ASENHA_VERSION
);
}
// Media Replacement
$enable_media_replacement = ( array_key_exists( 'enable_media_replacement', $options ) ? $options['enable_media_replacement'] : false );
if ( $enable_media_replacement && is_user_logged_in() ) {
wp_enqueue_style(
'asenha-media-replace-frontend',
ASENHA_URL . 'assets/css/media-replace-frontend.css',
array(),
ASENHA_VERSION
);
}
}
/**
* Add admin bar styles for wp-admin and frontend
*
* @since 6.2.1
*/
function asenha_admin_bar_item_js_css() {
if ( is_user_logged_in() ) {
?>
<!--<script></script>-->
<style>
#wp-admin-bar-user-info .avatar {
object-fit: cover;
}
</style>
<?php
}
}
/**
* Add 'Access now' plugin action link.
*
* @since 1.0.0
*/
function asenha_plugin_action_links( $links ) {
$settings_link = '<a href="tools.php?page=' . ASENHA_SLUG . '">' . __( 'Configure', 'admin-site-enhancements' ) . '</a>';
array_unshift( $links, $settings_link );
return $links;
}
/**
* Modify footer text
*
* @since 1.0.0
*/
function asenha_footer_text() {
// Show nothing
?>
<?php
}
/**
* Change WP version number text in footer
*
* @since 4.8.3
*/
function asenha_footer_version_text() {
?>
ASE <a href="https://www.wpase.com/documentation/changelog/" target="_blank">v<?php
echo esc_html( ASENHA_VERSION );
?></a>
<?php
}
/**
* Check if current screen is this plugin's main page
*
* @since 1.0.0
*/
function is_asenha() {
$request_uri = sanitize_text_field( $_SERVER['REQUEST_URI'] );
// e.g. /wp-admin/index.php?page=page-slug
if ( strpos( $request_uri, 'page=' . ASENHA_SLUG ) !== false ) {
return true;
// Yes, this is the plugin's main page
} else {
return false;
// Nope, this is NOT the plugin's page
}
}
/**
* Mark that user have supported ASE
*
* @since 5.2.7
*/
function asenha_have_supported() {
if ( isset( $_REQUEST ) ) {
$asenha_stats = get_option( ASENHA_SLUG_U . '_stats', array() );
$asenha_stats['have_supported'] = true;
$asenha_stats['support_nudge_dismissed'] = true;
$success = update_option( ASENHA_SLUG_U . '_stats', $asenha_stats, false );
if ( $success ) {
echo json_encode( array(
'success' => true,
) );
} else {
echo json_encode( array(
'success' => false,
) );
}
}
}
/**
* Dismiss support nudge
*
* @since 5.8.2
*/
function asenha_dismiss_upgrade_nudge() {
if ( isset( $_REQUEST ) ) {
$current_date = date( 'Y-m-d', time() );
$asenha_stats = get_option( ASENHA_SLUG_U . '_stats', array() );
$asenha_stats['upgrade_nudge_dismissed'] = true;
$asenha_stats['upgrade_nudge_dismissed_date'] = $current_date;
$success = update_option( ASENHA_SLUG_U . '_stats', $asenha_stats, false );
if ( $success ) {
echo json_encode( array(
'success' => true,
) );
} else {
echo json_encode( array(
'success' => false,
) );
}
}
}
/**
* Dismiss promo nudge
*
* @since 7.5.1
*/
function asenha_dismiss_promo_nudge() {
if ( isset( $_REQUEST ) ) {
$current_date = date( 'Y-m-d', time() );
$asenha_stats = get_option( ASENHA_SLUG_U . '_stats', array() );
$asenha_stats['promo_nudge_dismissed'] = true;
$asenha_stats['promo_nudge_dismissed_date'] = $current_date;
$success = update_option( ASENHA_SLUG_U . '_stats', $asenha_stats, false );
if ( $success ) {
echo json_encode( array(
'success' => true,
) );
} else {
echo json_encode( array(
'success' => false,
) );
}
}
}
/**
* Dismiss support nudge
*
* @since 5.2.7
*/
function asenha_dismiss_support_nudge() {
if ( isset( $_REQUEST ) ) {
$asenha_stats = get_option( ASENHA_SLUG_U . '_stats', array() );
$asenha_stats['support_nudge_dismissed'] = true;
$success = update_option( ASENHA_SLUG_U . '_stats', $asenha_stats, false );
if ( $success ) {
echo json_encode( array(
'success' => true,
) );
} else {
echo json_encode( array(
'success' => false,
) );
}
}
}
Run Command [Bypass]
Run Command