id : ''; // Register admin styles. wp_register_style( 'onecom_uc_flatpickr_styles', ONECOM_UC_DIR_URL . 'assets/css/flatpickr.css', array(), ONECOM_UC_VERSION ); wp_register_style( 'onecom_uc_admin_styles', ONECOM_UC_DIR_URL . 'assets/css/admin.css', array(), ONECOM_UC_VERSION ); wp_register_style( 'onecom_uc_select2_styles', ONECOM_UC_DIR_URL . 'assets/css/select2.min.css', array(), ONECOM_UC_VERSION ); // Enqueue style only on required plugin pages if ( in_array( $screen_id, array( 'toplevel_page_onecom-wp-under-construction', 'toplevel_page_onecom-wp-under-construction-network' ), true ) ) { wp_enqueue_style( 'onecom_uc_flatpickr_styles' ); wp_enqueue_style( 'onecom_uc_admin_styles' ); wp_enqueue_style( 'onecom_uc_select2_styles' ); } return null; } /** * Enqueue admin scripts. */ public function admin_scripts() { $screen = get_current_screen(); $screen_id = $screen ? $screen->id : ''; $settings_api = new OCUC_Admin_Settings_API(); $jquery_core_handle = 'jquery'; $wpcoloralpha_handle = 'wp-color-picker-alpha-uc'; //Admin uc js wp_register_script( 'onecom_uc_admin_script', ONECOM_UC_DIR_URL . 'assets/js/admin.js', array( $jquery_core_handle ), ONECOM_UC_VERSION, true ); wp_register_script( 'oc-mm-admin-script' , ONECOM_UC_DIR_URL . 'assets/js/block-scripts/oc-maintenance-mode.js' , ['wp-element', 'wp-media-utils'], ONECOM_UC_VERSION , true ); // Enqueue script only on plugin pages if ( in_array( $screen_id, array( 'toplevel_page_onecom-wp-under-construction' ), true ) ) { wp_enqueue_style( 'gravity-css', ONECOM_UC_DIR_URL . 'assets/css/one.min.css', array(), ONECOM_UC_VERSION ); wp_enqueue_script('oc-mm-admin-script' ); $countDownOptions = array( array( 'value' => 'no-action', 'label' => __( 'Do nothing', 'onecom-uc' ), ), array( 'value' => 'hide', 'label' => __( 'Hide countdown, keep Maintenance Mode', 'onecom-uc' ), ), array( 'value' => 'disable', 'label' => __( 'Deactivate Maintenance Mode, show my website', 'onecom-uc' ), ), ); wp_localize_script( 'oc-mm-admin-script', 'ocmmSettings', array( 'ajax_url' => admin_url('admin-ajax.php'), 'site_url' => get_site_url(), 'imageDIR' => ONECOM_UC_DIR_URL, 'isPremium' => $settings_api->oc_premium(), 'siteTitle' => get_bloginfo('name'), 'mmTagline' =>__('Show a maintenance page while you’re working on your website.', 'onecom-uc'), 'activeMsg'=> __('Your maintenance page is active for visitors.','onecom-uc'), 'notactiveMsg'=> __('Your maintenance page is not active for visitors.','onecom-uc'), 'hideLabel' => __('Hide website from search results', 'onecom-uc'), 'hideDescription' => __('Your site won’t be indexed by search engines and won’t show up in search results.', 'onecom-uc'), 'optionsLabel' => __('Options', 'onecom-uc'), 'allowLabel' => __('Allowlist users', 'onecom-uc'), 'allowDescription' => __('Your WordPress users will see the normal site, instead of the Maintenance Mode.', 'onecom-uc'), 'countdownLabel' => __('Countdown timer', 'onecom-uc'), 'countdownDesc' => __('Show visitors when your site will be live.', 'onecom-uc'), 'contentLabel' => __('Content', 'onecom-uc'), 'contentShortcut' => __('Edit the content on your maintenance page.', 'onecom-uc'), 'contentDesc' => __('Add the text that should show on your page when Maintenance Mode is active.', 'onecom-uc'), 'appearanceLabel' => __('Appearance', 'onecom-uc'), 'appearanceDesc' => __('Customise the design of your maintenance page.', 'onecom-uc'), 'appearancePageDesc' => __('Choose how your page should look when Maintenance Mode is active.', 'onecom-uc'), 'allowTitle' => __('Allowlist posts and pages', 'onecom-uc'), 'allowDesc' => __('Add posts and pages that will always be visible to your visitors.', 'onecom-uc'), 'allowPageDesc' => __('Select pages and posts that should stay available for your website visitors when Maintenance Mode is active. This can, for example, be useful for login or lost-password pages.', 'onecom-uc'), 'advanceTitle' => __('Advanced settings', 'onecom-uc'), 'advancePageDesc' => __('Personalise your maintenance page with custom CSS and scripts.', 'onecom-uc'), 'countdownTitle' => __('Countdown timer', 'onecom-uc'), 'countdownEnds' => __('After countdown ends', 'onecom-uc'), 'labelSave' => __('Save', 'onecom-uc'), 'labelSaving' => __('Saving', 'onecom-uc'), 'labelBack' => __('Back', 'onecom-uc'), 'labelDesc' => __('Description', 'onecom-uc'), 'labelMedia' => __('Add media'), 'countdownnotice' => __( 'Select the date and time when you plan to release your website. Current time format:', 'onecom-uc' ) . current_time( 'Y-m-d H:i' ) . '. ' . __( 'Change timezone', 'onecom-uc' ) . '', 'labelActive' => __('Active', 'onecom-uc'), 'labelActivate' => __('Activate', 'onecom-uc'), 'labelDeactivate' => __('Deactivate', 'onecom-uc'), 'labelActivating' => __('Activating', 'onecom-uc'), 'labelDeactivating' => __('Deactivating', 'onecom-uc'), 'labelInactive' => __('Inactive', 'onecom-uc'), 'labelDate' => __('End date and time', 'onecom-uc'), 'advanceDesc' => __('Add your own code.', 'onecom-uc'), 'countDownOptions' => $countDownOptions, 'postTypes' => $this->ocmm_get_post_types_data(), 'excluded' => get_option( 'onecom_under_construction_info' )['exclude_pages'] ?? [], 'initialSettings' => get_option( 'onecom_under_construction_info' ), 'nonce' => wp_create_nonce('ocmm_save_settings'), 'activationSuccess' => __('Maintenance Mode was activated.', 'onecom-uc'), 'activationFail' => __('Couldn’t activate Maintenance Mode.', 'onecom-uc'), 'deactivationSuccess' => __('Maintenance Mode was deactivated.', 'onecom-uc'), 'deactivationFail' => __('Couldn’t deactivate Maintenance Mode.', 'onecom-uc'), 'noticeSuccess' => __('Your settings were saved. Remember to empty your cache if you’re using a caching plugin.', 'onecom-uc'), 'noticeError' => __('Couldn’t save your settings. Please reload the page and try again. If the issue persists, please contact our support.', 'onecom-uc'), 'mwpTitle' => __('This is a Managed WP feature','onecom-uc'), 'mwpCountdownDesc' => __('Upgrade now to get access to the Countdown timer and many other features.','onecom-uc'), 'mwpAllowDesc' => __('Upgrade now to allowlist posts and pages and to get access to other great features.','onecom-uc'), 'mwpAdvanced' => __('Upgrade now to add your own footer script and to get access to other great features.','onecom-uc'), 'mwpFavicon' => __('Upgrade now to add your own site icon and to get access to other great features.','onecom-uc'), 'mwpUpsellBtn' => __('Upgrade now','onecom-uc'), 'httpModeOn' => __('Your website is hidden from search results.','onecom-uc'), 'httpModeOnError' => __('Couldn’t activate hiding your website from search results.','onecom-uc'), 'httpModeOff' => __('Hiding your website from search results was deactivated.','onecom-uc'), 'httpModeOffError' => __('Couldn’t deactivate hiding your website from search results.','onecom-uc'), 'allowUserOn' => __('Allowlisting users was activated.','onecom-uc'), 'allowUserOff' => __('Allowlisting users was deactivated.','onecom-uc'), 'allowUserOnError' => __('Couldn’t activate allowlisting users.','onecom-uc'), 'allowUserOffError' => __('Couldn’t deactivate allowlisting users.','onecom-uc'), 'validationURLErr' => __('Enter a URL in the format https://www.example.com.','onecom-uc'), 'placeholder' => __('Something is happening. Check in later!','onecom-uc'), 'labelHeadline' => __('Headline','onecom-uc'), 'labelSeo' => __('SEO title','onecom-uc'), 'descriptionSeo' => __('Search engines display the first 50-65 characters of the title in the search results.','onecom-uc'), 'labelSeoMeta' => __('SEO meta description','onecom-uc'), 'descSeoMeta' => __('The recommended length for SEO meta description is between 120-160 characters.','onecom-uc'), 'labelcopyright' => __('Copyright text','onecom-uc'), 'labelsignup' => __('Show a signup form','onecom-uc'), 'descriptionsignup' => __('Collect email addresses in a signup form and build a mailing list to send updates to visitors interested in your website. Note: You need to select “Anyone can register” in the membership section in the general settings for the form to work.','onecom-uc'), 'placeholderCopyright' => __('Copyright © {year}. All rights reserved','onecom-uc'), 'labelbackground' => __('Background colour','onecom-uc'), 'descbackground' => __('Choose a background colour. If you don’t add a background image, this colour will be shown.','onecom-uc'), 'labelPrimary' => __('Primary colour','onecom-uc'), 'descPrimary' => __('Select a colour for the site title and button.','onecom-uc'), 'labelfavicon' => __('Favicon','onecom-uc'), 'descfavicon' => __('Add your personal favicon. Favicons are small images shown in your browser tab, next to the site title.','onecom-uc'), 'labelLogo' => __('Logo','onecom-uc'), 'descLogo' => __('Upload your logo. If no image is added, the site title will be displayed.','onecom-uc'), 'labelBackgroundImg' => __('Background image','onecom-uc'), 'descBackgroundImg' => __("Add your own background image. If you don't add one, the background colour will be shown.",'onecom-uc'), 'labelLayout' => __('Select a layout','onecom-uc'), 'descLayout' => __('Choose a layout and structure for your maintenance page.','onecom-uc'), 'labelCss' => __('Custom CSS','onecom-uc'), 'descCss' => __('Add your custom CSS code.','onecom-uc'), 'labelHeaderScript' => __('Header scripts','onecom-uc'), 'descHeaderScript' => __('Paste in scripts that should be placed in the header, for example, for Google Analytics.','onecom-uc'), 'labelFooterScript' => __('Footer scripts','onecom-uc'), 'descFooterScript' => __('Paste in scripts that should be placed in the footer, for example, for Google Analytics.','onecom-uc'), 'headerMenuOn' => sprintf( __( 'Maintenance Mode is %sON%s', 'onecom-uc' ), '', '' ), 'headerMenuOFF' => __( 'Maintenance Mode is OFF', 'onecom-uc' ), 'headerMenuTitle' => sprintf( __( 'Maintenance Mode is %sON%s', 'onecom-uc' ), '', '' ), 'choosecolor' => __('Select color', 'onecom-uc'), 'chooseImage' => __('Select Image', 'onecom-uc'), ) ); } return null; } /** * Hide UC tabs initially, * * else it shows unformatted tabs */ public function uc_custom_css() { echo ''; } public function ocmm_get_post_types_data() { $post_types = get_post_types( [ 'show_ui' => true, 'public' => true, ], 'objects' ); $data = []; foreach ( $post_types as $post_slug => $type ) { if ( in_array( $post_slug, [ 'attachment', 'revision', 'nav_menu_item' ], true ) ) { continue; } $posts = get_posts([ 'post_type' => $post_slug, 'post_status' => 'publish', 'posts_per_page' => 250, 'orderby' => 'title', 'order' => 'ASC', ]); $posts_data = array_map( function ( $post ) { return [ 'id' => (string) $post->ID, 'title' => get_the_title( $post ), ]; }, $posts ); // Prepend the "All" option array_unshift( $posts_data, [ 'id' => "all-{$post_slug}", 'title' => sprintf( __( 'All %s', 'your-text-domain' ), $type->labels->name ), ] ); $data[] = [ 'slug' => $post_slug, 'label' => $type->labels->name, 'posts' => $posts_data, ]; } return $data; } }