Server : Apache System : Linux pod-100823:apache2_74:v0.5.7 5.4.0-1138-gcp #147~18.04.1-Ubuntu SMP Mon Oct 7 21:46:26 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33.7 Disable Function : apache_child_terminate,apache_get_modules,apache_get_version,apache_getenv,apache_note,apache_setenv,disk_free_space,disk_total_space,diskfreespace,dl,exec,fastcgi_finish_request,link,opcache_compile_file,opcache_get_configuration,opcache_invalidate,opcache_is_script_cached,opcache_reset,passthru,pclose,pcntl_exec,popen,posix_getpid,posix_getppid,posix_getpwuid,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_uname,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,realpath_cache_get,shell_exec,show_source,symlink,system Directory : /nas/content/live/attorneyexperi/wp-content/plugins/diva/includes/admin/ |
<?php /** * Callbacks for adding AMP-related things to the admin. * * @package AMP */ use AmpProject\AmpWP\DependencySupport; use AmpProject\AmpWP\Option; use AmpProject\AmpWP\QueryVar; use AmpProject\AmpWP\Services; /** * Sets up the AMP template editor for the Customizer. * * @internal */ function amp_init_customizer() { if ( ! Services::get( 'dependency_support' )->has_support() ) { return; // @codeCoverageIgnore } // Fire up the AMP Customizer. add_action( 'customize_register', [ AMP_Template_Customizer::class, 'init' ], 500 ); if ( amp_is_legacy() ) { // Add some basic design settings + controls to the Customizer. add_action( 'amp_init', [ AMP_Customizer_Design_Settings::class, 'init' ] ); } // Add a link to the AMP Customizer in Reader mode. if ( AMP_Theme_Support::READER_MODE_SLUG === AMP_Options_Manager::get_option( Option::THEME_SUPPORT ) ) { add_action( 'admin_menu', 'amp_add_customizer_link' ); } } /** * Get permalink for the first AMP-eligible post. * * @todo Eliminate this in favor of ScannableURLProvider::get_posts_by_type(). * @see \AmpProject\AmpWP\Validation\ScannableURLProvider::get_posts_by_type() * * @internal * @return string|null URL on success, null if none found. */ function amp_admin_get_preview_permalink() { /** * Filter the post type to retrieve the latest for use in the AMP template customizer. * * @todo This filter doesn't actually do anything at present. Instead of array_unique() below, an array_intersect() should have been used. * @param string $post_type Post type slug. Default 'post'. */ $post_type = (string) apply_filters( 'amp_customizer_post_type', 'post' ); // Make sure the desired post type is actually supported, and if so, prefer it. $supported_post_types = AMP_Post_Type_Support::get_supported_post_types(); if ( in_array( $post_type, $supported_post_types, true ) ) { $supported_post_types = array_values( array_unique( array_merge( [ $post_type ], $supported_post_types ) ) ); } // Bail if there are no supported post types. if ( empty( $supported_post_types ) ) { return null; } // If theme support is present, then bail if the singular template is not supported. if ( ! amp_is_legacy() ) { $supported_templates = AMP_Theme_Support::get_supportable_templates(); if ( empty( $supported_templates['is_singular']['supported'] ) ) { return null; } } $post_ids = get_posts( [ 'no_found_rows' => true, 'suppress_filters' => false, 'post_status' => 'publish', 'post_type' => $supported_post_types, 'posts_per_page' => 1, 'fields' => 'ids', // @todo This should eventually do a meta_query to make sure there are none that have AMP_Post_Meta_Box::STATUS_POST_META_KEY = DISABLED_STATUS. ] ); if ( empty( $post_ids ) ) { return null; } $post_id = $post_ids[0]; return amp_get_permalink( $post_id ); } /** * Provides a URL to the customizer. * * @internal * @return string */ function amp_get_customizer_url() { $is_legacy = amp_is_legacy(); $mode = AMP_Options_Manager::get_option( Option::THEME_SUPPORT ); /** This filter is documented in includes/settings/class-amp-customizer-design-settings.php */ if ( 'reader' !== $mode || ( $is_legacy && ! apply_filters( 'amp_customizer_is_enabled', true ) ) ) { return ''; } $args = [ QueryVar::AMP_PREVIEW => '1', ]; if ( $is_legacy ) { $args['autofocus[panel]'] = AMP_Template_Customizer::PANEL_ID; } else { $args[ amp_get_slug() ] = '1'; } return add_query_arg( urlencode_deep( $args ), 'customize.php' ); } /** * Registers a submenu page to access the AMP template editor panel in the Customizer. * * @internal */ function amp_add_customizer_link() { $customizer_url = amp_get_customizer_url(); if ( ! $customizer_url ) { return; } // Add the theme page. add_theme_page( __( 'AMP', 'amp' ), __( 'AMP', 'amp' ), 'edit_theme_options', $customizer_url ); } /** * Bootstrap AMP Editor core blocks. * * @internal */ function amp_editor_core_blocks() { $editor_blocks = new AMP_Editor_Blocks(); $editor_blocks->init(); } /** * Bootstraps AMP admin classes. * * @since 1.5.0 * @internal */ function amp_bootstrap_admin() { $admin_pointers = new AMP_Admin_Pointers(); $admin_pointers->init(); $post_meta_box = new AMP_Post_Meta_Box(); $post_meta_box->init(); }