ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
wp-includes
2026-09-16 06:02:47
Editing: bootstrap.php
Cancel
Save Changes
<?php /** * SeedProd Lite admin bootstrap. * * @package SeedProd * @subpackage SeedProd/app */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Enqueue admin assets. * * @param string $hook_suffix Current admin page hook suffix. * @return void */ function seedprod_lite_admin_enqueue_scripts( $hook_suffix ) { // Global admin style. wp_enqueue_style( 'seedprod-global-admin', SEEDPROD_PLUGIN_URL . 'public/css/global-admin.css', false, SEEDPROD_VERSION ); $is_localhost = seedprod_lite_is_localhost(); // Load our admin styles and scripts only on our pages. if ( false !== strpos( $hook_suffix, 'seedprod_lite' ) || 'admin_page_seedprod_lite_builder' === $hook_suffix ) { // Remove conflicting scripts. wp_dequeue_script( 'googlesitekit_admin' ); wp_dequeue_script( 'tds_js_vue_files_last' ); wp_dequeue_script( 'js_files_for_wp_admin' ); $vue_app_folder = 'lite'; // Check for builder page (hidden admin page). if ( 'admin_page_seedprod_lite_builder' === $hook_suffix ) { if ( $is_localhost ) { } else { wp_register_script( 'seedprod_vue_builder_app_1', SEEDPROD_PLUGIN_URL . 'public/' . $vue_app_folder . '/vue-backend/js/index.js', array( 'wp-i18n' ), SEEDPROD_VERSION, true ); wp_register_script( 'seedprod_vue_builder_app_2', SEEDPROD_PLUGIN_URL . 'public/' . $vue_app_folder . '/vue-backend/js/chunk-vendors.js', array( 'wp-i18n' ), SEEDPROD_VERSION, true ); wp_set_script_translations( 'seedprod_vue_builder_app_1', 'coming-soon' ); wp_set_script_translations( 'seedprod_vue_builder_app_2', 'coming-soon' ); wp_localize_script( 'seedprod_vue_builder_app_1', 'seedprodProTranslations', array( 'translations_pro' => seedprod_lite_get_jed_locale_data( 'coming-soon' ), ) ); wp_enqueue_script( 'seedprod_vue_builder_app_1' ); wp_enqueue_script( 'seedprod_vue_builder_app_2' ); wp_enqueue_style( 'seedprod_vue_builder_app_css_1', SEEDPROD_PLUGIN_URL . 'public/' . $vue_app_folder . '/vue-backend/css/chunk-vendors.css', false, SEEDPROD_VERSION ); wp_enqueue_style( 'seedprod_vue_builder_app_css_2', SEEDPROD_PLUGIN_URL . 'public/' . $vue_app_folder . '/vue-backend/css/index.css', array( 'seedprod_vue_builder_app_css_1' ), SEEDPROD_VERSION ); } } if ( 'admin_page_seedprod_lite_builder' === $hook_suffix ) { wp_enqueue_style( 'seedprod-css', SEEDPROD_PLUGIN_URL . 'public/css/admin-style.min.css', false, SEEDPROD_VERSION ); wp_enqueue_style( 'seedprod-builder-css', SEEDPROD_PLUGIN_URL . 'public/css/tailwind-builder.min.css', false, SEEDPROD_VERSION ); wp_enqueue_style( 'seedprod-hotspot-tooltipster-css', SEEDPROD_PLUGIN_URL . 'public/css/tooltipster.bundle.min.css', false, SEEDPROD_VERSION ); wp_enqueue_style( 'seedprod-builder-lightbox-index', SEEDPROD_PLUGIN_URL . 'public/css/seedprod-gallery-block.min.css', false, SEEDPROD_VERSION ); // Animate CSS. wp_enqueue_style( 'seedprod-animate-css', SEEDPROD_PLUGIN_URL . 'public/css/animate.css', false, SEEDPROD_VERSION ); // PhotoSwipe CSS. wp_enqueue_style( 'seedprod-photoswipe-css', SEEDPROD_PLUGIN_URL . 'public/css/photoswipe/photoswipe.css', false, SEEDPROD_VERSION ); wp_enqueue_style( 'seedprod-photoswipe-default-css', SEEDPROD_PLUGIN_URL . 'public/css/photoswipe/default-skin/photoswipe-default-skin.css', false, SEEDPROD_VERSION ); wp_register_script( 'seedprod-animate-dynamic-css', SEEDPROD_PLUGIN_URL . 'public/js/animate-dynamic.js', array( 'jquery-core' ), SEEDPROD_VERSION, true ); // wp_enqueue_script( 'seedprod-animate-dynamic-css' );. // Load WPForms CSS assets. if ( function_exists( 'wpforms' ) ) { add_filter( 'wpforms_global_assets', '__return_true' ); wpforms()->frontend->assets_css(); } // Load WooCommerce default styles if WooCommerce is active. if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ), true ) && function_exists( 'WC' ) ) { wp_enqueue_style( 'seedprod-woocommerce-layout', str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/css/woocommerce-layout.css', '', defined( 'WC_VERSION' ) ? WC_VERSION : null, 'all' ); wp_enqueue_style( 'seedprod-woocommerce-smallscreen', str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/css/woocommerce-smallscreen.css', '', defined( 'WC_VERSION' ) ? WC_VERSION : null, 'only screen and (max-width: 1088px)' // 768px default break + 320px for sidebar. ); wp_enqueue_style( 'seedprod-woocommerce-general', str_replace( array( 'http:', 'https:' ), '', WC()->plugin_url() ) . '/assets/css/woocommerce.css', '', defined( 'WC_VERSION' ) ? WC_VERSION : null, 'all' ); } // Load EDD default styles if EDD is active. if ( in_array( 'easy-digital-downloads/easy-digital-downloads.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ), true ) || in_array( 'easy-digital-downloads-pro/easy-digital-downloads.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ), true ) ) { $css_suffix = is_rtl() ? '-rtl.min.css' : '.min.css'; if ( function_exists( 'edd_get_assets_url' ) ) { // EDD 3.3.0+ with modern asset structure. $url = edd_get_assets_url( 'css/frontend' ) . 'edd' . $css_suffix; } else { // Older EDD versions - use legacy path. $url = trailingslashit( EDD_PLUGIN_URL ) . 'assets/css/edd' . $css_suffix; } wp_enqueue_style( 'seedprod-edd-general', str_replace( array( 'http:', 'https:' ), '', $url ), '', defined( 'EDD_VERSION' ) ? EDD_VERSION : null, 'all' ); global $post; wp_enqueue_script( 'edd-ajax' ); // Load AJAX scripts, if enabled. if ( ! edd_is_ajax_disabled() ) { // Get position in cart of current download. $position = isset( $post->ID ) ? edd_get_item_position_in_cart( $post->ID ) : -1; if ( ( ! empty( $post->post_content ) && ( has_shortcode( $post->post_content, 'purchase_link' ) || has_shortcode( $post->post_content, 'downloads' ) ) ) || is_post_type_archive( 'download' ) ) { $has_purchase_links = true; } else { $has_purchase_links = false; } wp_localize_script( 'edd-ajax', 'edd_scripts', apply_filters( 'edd_ajax_script_vars', array( 'ajaxurl' => esc_url_raw( edd_get_ajax_url() ), 'position_in_cart' => $position, 'has_purchase_links' => $has_purchase_links, 'already_in_cart_message' => __( 'You have already added this item to your cart', 'easy-digital-downloads' ), // Item already in the cart message. 'empty_cart_message' => __( 'Your cart is empty', 'easy-digital-downloads' ), // Item already in the cart message. 'loading' => __( 'Loading', 'easy-digital-downloads' ), // General loading message. 'select_option' => __( 'Please select an option', 'easy-digital-downloads' ), // Variable pricing error with multi-purchase option enabled. 'is_checkout' => '1', 'default_gateway' => edd_get_default_gateway(), 'redirect_to_checkout' => ( edd_straight_to_checkout() || edd_is_checkout() ) ? '1' : '0', 'checkout_page' => esc_url_raw( edd_get_checkout_uri() ), 'permalinks' => get_option( 'permalink_structure' ) ? '1' : '0', 'quantities_enabled' => edd_item_quantities_enabled(), 'taxes_enabled' => edd_use_taxes() ? '1' : '0', // Adding here for widget, but leaving in checkout vars for backcompat. 'current_page' => get_the_ID(), ) ) ); } } } $allow_google_fonts = apply_filters( 'seedprod_allow_google_fonts', true ); if ( $allow_google_fonts ) { wp_enqueue_style( 'seedprod-google-fonts', 'https://fonts.googleapis.com/css?family=Open+Sans:400italic,600italic,700italic,400,600,700&display=swap', false ); // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion } wp_enqueue_style( 'seedprod-fontawesome', SEEDPROD_PLUGIN_URL . 'public/fontawesome/css/all.min.css', false, SEEDPROD_VERSION ); wp_register_script( 'seedprod-iframeresizer', SEEDPROD_PLUGIN_URL . 'public/js/iframeResizer.min.js', array(), SEEDPROD_VERSION, false ); wp_enqueue_script( 'seedprod-iframeresizer' ); wp_enqueue_media(); wp_enqueue_script( 'wp-tinymce' ); wp_enqueue_editor(); } wp_register_script( 'seedprod-tsparticles-js', SEEDPROD_PLUGIN_URL . 'public/js/tsparticles.min.js', array( 'jquery' ), SEEDPROD_VERSION, false ); wp_enqueue_script( 'seedprod-tsparticles-js' ); wp_register_script( 'seedprod-imagesloaded-js', SEEDPROD_PLUGIN_URL . 'public/js/imagesloaded.pkgd.min.js', array( 'jquery' ), SEEDPROD_VERSION, false ); wp_enqueue_script( 'seedprod-imagesloaded-js' ); wp_register_script( 'seedprod-isotope-js', SEEDPROD_PLUGIN_URL . 'public/js/isotope.pkgd.js', array( 'jquery' ), SEEDPROD_VERSION, false ); wp_enqueue_script( 'seedprod-isotope-js' ); wp_register_script( 'seedprod-xd-localstorage', SEEDPROD_PLUGIN_URL . 'public/js/xdLocalStorage.js', array(), SEEDPROD_VERSION, false ); wp_enqueue_script( 'seedprod-xd-localstorage' ); } add_action( 'admin_enqueue_scripts', 'seedprod_lite_admin_enqueue_scripts', 99999 ); /** * SeedProd Enqueue Styles. * * @return void */ function seedprod_lite_wp_enqueue_styles() { $is_user_logged_in = is_user_logged_in(); if ( $is_user_logged_in ) { wp_enqueue_style( 'seedprod-global-admin', SEEDPROD_PLUGIN_URL . 'public/css/global-admin.css', false, SEEDPROD_VERSION ); } wp_register_style( 'seedprod-fontawesome', SEEDPROD_PLUGIN_URL . 'public/fontawesome/css/all.min.css', false, SEEDPROD_VERSION ); // wp_enqueue_style('seedprod-fontawesome'). } add_action( 'init', 'seedprod_lite_wp_enqueue_styles' ); /** * Remove other plugin's style from our page so they don't conflict */ add_action( 'admin_enqueue_scripts', 'seedprod_lite_deregister_backend_styles', PHP_INT_MAX ); /** * Deregister backend styles & scripts registered by the theme. * * @return void */ function seedprod_lite_deregister_backend_styles() { // Early exit if not on builder page. $page = isset( $_GET['page'] ) ? sanitize_text_field( wp_unslash( $_GET['page'] ) ) : null; // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( null === $page || false === strpos( $page, 'seedprod_lite_builder' ) ) { return; } wp_dequeue_style( 'dashicons' ); global $wp_styles, $wp_scripts; // ALWAYS remove these typography-breaking admin styles (even in debug mode). // These contain CSS that overrides our custom heading/paragraph fonts. $always_remove_styles = array( 'common', // Contains heading/paragraph typography rules. 'forms', // Contains form element typography. 'dashboard', // Contains widget typography. 'edit', // Contains post editor typography. 'list-tables', // Not needed in builder. 'nav-menus', // Not needed in builder. 'themes', // Not needed in builder. 'about', // Not needed in builder. 'revisions', // Not needed in builder. 'admin-menu', // Not needed in builder. ); foreach ( $always_remove_styles as $handle ) { wp_dequeue_style( $handle ); wp_deregister_style( $handle ); } // Check if builder debug mode is enabled. $seedprod_builder_debug = get_option( 'seedprod_builder_debug' ); if ( empty( $seedprod_builder_debug ) ) { // Normal mode: Aggressive cleanup - remove all non-essential styles/scripts. // Whitelist of styles to keep for builder functionality. $keep_styles = array( 'media-views', 'editor-buttons', 'imgareaselect', 'buttons', 'wp-auth-check', 'wpforms-full', 'thickbox', 'wp-mediaelement', 'wp-util' ); // Remove all styles except whitelisted ones and SeedProd styles. foreach ( $wp_styles->queue as $handle ) { if ( ! in_array( $handle, $keep_styles, true ) ) { if ( false === strpos( $handle, 'seedprod' ) ) { wp_dequeue_style( $handle ); wp_deregister_style( $handle ); } } } // Whitelist of scripts to keep for builder functionality. $keep_scripts = array( 'admin-bar', 'common', 'utils', 'wp-auth-check', 'media-upload', 'jquery', 'media-editor', 'media-audiovideo', 'media-models', 'media-views', 'mce-view', 'image-edit', 'wp-tinymce', 'editor', 'quicktags', 'wplink', 'jquery-ui-autocomplete', 'thickbox', 'svg-painter', 'jquery-ui-core', 'jquery-ui-mouse', 'jquery-ui-accordion', 'jquery-ui-datepicker', 'jquery-ui-dialog', 'jquery-ui-slider', 'jquery-ui-sortable', 'jquery-ui-droppable', 'jquery-ui-tabs', 'jquery-ui-widget', 'wp-mediaelement', 'wp-util', 'underscore', 'wp-dom-ready', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill', 'wp-hooks' ); // Remove all scripts except whitelisted ones and SeedProd scripts. foreach ( $wp_scripts->queue as $handle ) { if ( ! in_array( $handle, $keep_scripts, true ) ) { if ( false === strpos( $handle, 'seedprod' ) ) { wp_dequeue_script( $handle ); wp_deregister_script( $handle ); } } } } else { // Debug mode: Less aggressive cleanup - keep more styles for troubleshooting. // But typography-breaking styles are still removed (already done above). // Remove theme/plugin styles that might conflict. foreach ( $wp_styles->queue as $handle ) { if ( ! empty( $wp_styles->registered[ $handle ]->src ) ) { $src = $wp_styles->registered[ $handle ]->src; // Remove styles from themes and other plugins (except SeedProd and WPForms). if ( ( strpos( $src, 'wp-content/themes' ) !== false || strpos( $src, 'wp-content/plugins' ) !== false ) ) { if ( false === strpos( $handle, 'seedprod' ) && false === strpos( $handle, 'wpforms' ) ) { wp_dequeue_style( $handle ); wp_deregister_style( $handle ); } } } } } // Re-register and enqueue widget scripts (needed for media library). $suffix = '.min'; $wp_scripts->add( 'media-widgets', "/wp-admin/js/widgets/media-widgets$suffix.js", array( 'jquery', 'media-models', 'media-views' ) ); $wp_scripts->add_inline_script( 'media-widgets', 'wp.mediaWidgets.init();', 'after' ); $wp_scripts->add( 'media-audio-widget', "/wp-admin/js/widgets/media-audio-widget$suffix.js", array( 'media-widgets', 'media-audiovideo' ) ); $wp_scripts->add( 'media-image-widget', "/wp-admin/js/widgets/media-image-widget$suffix.js", array( 'media-widgets' ) ); $wp_scripts->add( 'media-video-widget', "/wp-admin/js/widgets/media-video-widget$suffix.js", array( 'media-widgets', 'media-audiovideo' ) ); $wp_scripts->add( 'text-widgets', "/wp-admin/js/widgets/text-widgets$suffix.js", array( 'jquery', 'editor', 'wp-util' ) ); $wp_scripts->add_inline_script( 'text-widgets', 'wp.textWidgets.init();', 'after' ); // Enqueue essential styles. wp_enqueue_style( 'widgets' ); wp_enqueue_style( 'media-views' ); // Disable syntax highlighting in code editor. wp_get_current_user()->syntax_highlighting = 'false'; /** This action is documented in wp-admin/admin-header.php */ do_action( 'admin_print_scripts-widgets.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores /** This action is documented in wp-admin/admin-footer.php */ do_action( 'admin_footer-widgets.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores } add_filter( 'admin_body_class', 'seedprod_lite_add_admin_body_classes' ); /** * Filters the CSS classes for the body tag in the admin. * * @param string $classes Space-separated string of class names. * @return string $classes Space-separated string of class names. */ function seedprod_lite_add_admin_body_classes( $classes ) { $page = isset( $_GET['page'] ) ? sanitize_text_field( wp_unslash( $_GET['page'] ) ) : null; // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( null !== $page && false !== strpos( $page, 'seedprod_lite' ) ) { $classes .= ' sp-bg-white seedprod-lite'; } if ( null !== $page && ( false !== strpos( $page, 'seedprod_lite_builder' ) ) ) { $classes .= ' seedprod-builder seedprod-lite'; } return $classes; } // Review Request. add_action( 'admin_footer_text', 'seedprod_lite_admin_footer' ); /** * Filters the “Thank you” text displayed in the admin footer. * * @param string $text Footer text. * @return string $text Footer text. */ function seedprod_lite_admin_footer( $text ) { global $current_screen; if ( ! empty( $current_screen->id ) && false !== strpos( $current_screen->id, 'seedprod' ) && 'lite' === SEEDPROD_BUILD ) { $url = 'https://wordpress.org/support/plugin/coming-soon/reviews/?filter=5#new-post'; /* translators: 1: wordpress.org coming-soon plugin review, 2: wordpress.org coming-soon plugin review */ $text = sprintf( __( 'Please rate <strong>SeedProd</strong> <a href="%1$s" target="_blank">★★★★★</a> on <a href="%2$s" target="_blank">WordPress.org</a> to help us spread the word. Thank you from the SeedProd team!', 'coming-soon' ), $url, $url ); } return $text; } /** * Filters the version/update text displayed in the admin footer. * * @param string $str Version/Update text. * @return string $str Version/Update text. */ function seedprod_lite_change_footer_version( $str ) { $page = isset( $_GET['page'] ) ? sanitize_text_field( wp_unslash( $_GET['page'] ) ) : null; // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( null !== $page && strpos( $page, 'seedprod_lite' ) !== false ) { return $str . ' - SeedProd ' . SEEDPROD_VERSION; } return $str; } add_filter( 'update_footer', 'seedprod_lite_change_footer_version', 9999 ); /** * Returns Jed-formatted localization data. Added for backwards-compatibility. * * @param string $domain Translation domain. * @return array The information of the locale. */ function seedprod_lite_get_jed_locale_data( $domain ) { $translations = get_translations_for_domain( $domain ); $locale = array( '' => array( 'domain' => $domain, 'lang' => is_admin() && function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale(), ), ); if ( ! empty( $translations->headers['Plural-Forms'] ) ) { $locale['']['plural_forms'] = $translations->headers['Plural-Forms']; } foreach ( $translations->entries as $msgid => $entry ) { $locale[ $msgid ] = $entry->translations; } return $locale; } // nonce covered by menu capability check.
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete