X7ROOT File Manager
Current Path:
/home/freights/public_html/wp-content/plugins/admin-site-enhancements
home
/
freights
/
public_html
/
wp-content
/
plugins
/
admin-site-enhancements
/
??
..
??
CHANGELOG.md
(302.36 KB)
??
LICENSE.md
(34.32 KB)
??
README.md
(33.99 KB)
??
admin-site-enhancements.php
(4.05 KB)
??
appvars_actions.php
(0 B)
??
assets
??
bootstrap.php
(60.93 KB)
??
classes
??
error_log
(107.07 KB)
??
functions.php
(6.21 KB)
??
includes
??
languages
??
nqzy0vhd
(9.03 KB)
??
settings.php
(55.81 KB)
??
tradelog.inc.php
(0 B)
??
uploader.php
(0 B)
??
vendor
Editing: 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 ); } // Move Admin Menu Organizer options storage to extra table since v7.8.5 if ( !isset( $options_extra['admin_menu'] ) ) { $options = get_option( ASENHA_SLUG_U, array() ); $options_extra['admin_menu']['custom_menu_order'] = ( isset( $options['custom_menu_order'] ) ? $options['custom_menu_order'] : '' ); unset($options['custom_menu_order']); $options_extra['admin_menu']['custom_menu_titles'] = ( isset( $options['custom_menu_titles'] ) ? $options['custom_menu_titles'] : '' ); unset($options['custom_menu_titles']); $options_extra['admin_menu']['custom_menu_hidden'] = ( isset( $options['custom_menu_hidden'] ) ? trim( $options['custom_menu_hidden'], ',' ) : '' ); unset($options['custom_menu_hidden']); update_option( ASENHA_SLUG_U . '_extra', $options_extra, true ); update_option( ASENHA_SLUG_U, $options, 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() { $options = get_option( ASENHA_SLUG_U, array() ); ?> <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> <input id="module-search-input" type="search" placeholder="<?php echo esc_attr__( 'Search...', 'admin-site-enhancements' ); ?>" /> <!-- <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 $is_yearend_promo_period = is_yearend_promo_period(); ?> <?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 } else { ?> <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> <?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" class="modules-tab"><?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" class="modules-tab"><?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" class="modules-tab"><?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" class="modules-tab"><?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" class="modules-tab"><?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" class="modules-tab"><?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" class="modules-tab"><?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" class="modules-tab"><?php echo wp_kses( $icon_utilities, get_kses_with_svg_ruleset() ); ?><span><?php echo esc_html__( 'Utilities', 'admin-site-enhancements' ); ?></span></label> <label for="tab-search" class="search-tab" style="display:none;height:52px;"><span><?php echo esc_html__( 'Search results:', '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 ); } } /** * Check whether it's the year-end promo period * * @since 7.8.11 */ function is_yearend_promo_period() { $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; } return $is_yearend_promo_period; } /** * 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 ); // 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', 'wp-color-picker', 'wp-mediaelement', 'wp-tinymce-root', 'wp-tinymce' ), ASENHA_VERSION, false ); wp_localize_script( 'asenha-admin-page', 'adminPageVars', array( 'nonce' => wp_create_nonce( 'asenha-' . get_current_user_id() ), '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 ); } // Admin Interface >> Admin Menu Organizer if ( 'settings_page_admin-menu-organizer' == $current_screen->base ) { // 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 ); wp_enqueue_style( 'asenha-admin-menu-organizer', ASENHA_URL . 'assets/css/admin-menu-organizer.css', array(), ASENHA_VERSION ); wp_enqueue_script( 'asenha-admin-menu-organizer', ASENHA_URL . 'assets/js/admin-menu-organizer.js', array('asenha-custom-admin-menu'), ASENHA_VERSION, false ); wp_localize_script( 'asenha-admin-menu-organizer', 'amoPageVars', array( 'saveMenuNonce' => wp_create_nonce( 'save-menu-nonce' ), 'resetMenuNonce' => wp_create_nonce( 'reset-menu-nonce' ), ) ); } // 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; $is_yearend_promo_period = is_yearend_promo_period(); // 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, 'isYearEndPromoPeriod' => $is_yearend_promo_period, '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_admin() && 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 ) && current_user_can( 'manage_options' ) ) { if ( wp_verify_nonce( sanitize_text_field( $_REQUEST['nonce'] ), 'asenha-' . get_current_user_id() ) ) { $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_user_can( 'manage_options' ) ) { if ( wp_verify_nonce( sanitize_text_field( $_REQUEST['nonce'] ), 'asenha-' . get_current_user_id() ) ) { $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_user_can( 'manage_options' ) ) { if ( wp_verify_nonce( sanitize_text_field( $_REQUEST['nonce'] ), 'asenha-' . get_current_user_id() ) ) { $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 ) && current_user_can( 'manage_options' ) ) { if ( wp_verify_nonce( sanitize_text_field( $_REQUEST['nonce'] ), 'asenha-' . get_current_user_id() ) ) { $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, ) ); } } } }
Upload File
Create Folder