±7aéº VÐ`éº Vç8_éº Vè_éº V耘 V6``éº Vî(`éº V(`éº V0}˜ Vž7Ð`éº VÐ`éº VöÀaéº V°_éº V ~˜ VF2ü(`éº V``éº VÐà€˜ VN2è_éº V(`éº V ý~˜ VM¸Fv‡Àaéº VHaéº V aéº Vaéº VÀ˜ V—ÕHaéº VHaéº Vù}˜ V–F"øaéº Vøaéº V ~˜ VF!ˆaéº Vˆaéº V9~˜ V; F"'h^éº V¸]éº V9~˜ V; F"-ˆ\éº Vˆ\éº V0}˜ V–¶àŒéº VàŒéº V5°céº VÐbéº V P~˜ V”E<˜béº Vù}˜ V”@CàŒéº VàŒéº V0}˜ V " Ix[éº Vè[éº V0}˜ V–DpŒéº VpŒéº VQjéº V°céº V P~˜ V”EXxcéº Vù}˜ V”@_pŒéº VpŒéº V0}˜ V " (déº Vˆdéº V gféº Vˆdéº V`~˜ VÃFÓÛp)éº Vâ³¥ZŒ˜ VsàZéº VàZéº Và~˜ V$FEÈdéº Viéº V{Ð‹éº Viéº V ý~˜ VJ¸FFØeéº V‚Xiéº Vèhéº V Θ V¡F¦@eéº Vpeéº VŠ eéº V eéº V ~˜ VFeéº Veéº V9~˜ V –peéº Vpeéº Vù}˜ V•F@Èdéº VÈdéº V0}˜ Vžféº Vèhéº V¥¸héº Vgéº V ~˜ VF«@eéº Veéº V Θ V¡F¦géº Vˆféº V³Hféº VHféº V耘 VÀféº Vºˆféº Vˆféº V0}˜ Vž70géº V0géº VÂ`géº V`géº V ~˜ VFȈféº VÀféº V9~˜ V> 2Î0géº Vˆféº V9~˜ V@ FÔgéº VHféº V0&~˜ VICFÐgéº VÀÛº VÜ iéº V iéº V0}˜ VDâ@héº V%~˜ V”FB@héº V€héº Vê kéº V€héº V%~˜ V”Eòhéº Vù}˜ V”ùgéº Vgéº V9~˜ V@ ÿØeéº VØeéº V0}˜ VXiéº V¸héº V¸héº V0}˜ VD Èdéº Vèhéº Vù}˜ V Gˆdéº Vˆdéº V0}˜ V–¶Ð‹éº VÐ‹éº V@ éº Vjéº V P~˜ V”E#Ðiéº Vù}˜ V”@*Ð‹éº VÐ‹éº V0}˜ V " €jéº Vàjéº V 2Økéº Vàjéº V`~˜ VÃFÑÛ0-éº Vâ²¥ZŒ˜ V>(déº V(déº V0&~˜ V@CFhméº Vð†âº VF%~˜ V”Nàjéº V méº V ý~˜ VC¸FF˜kéº VU`kéº V`kéº V0}˜ VžØkéº VÀléº V]ˆléº Vléº V ~˜ VFc0méº VÀléº V ý~˜ VB¸Fw‡ˆléº VHléº Vkléº Vléº VÀ˜ V”Õsøléº Vøléº V ~˜ VFz˜kéº V˜kéº V0}˜ V0méº VHléº VHléº V9~˜ V; F"ˆ`kéº VÀléº Vù}˜ V AØkéº V`kéº V0}˜ VD–àjéº Vàjéº V0}˜ V ²€àméº V@néº V žoéº V@néº V`~˜ VÃFÐÛ`,éº Vâ±¥ZŒ˜ Vª€jéº V€jéº Và~˜ V$FE€néº Vhoéº V²hoéº Vhoéº V ý~˜ V?¸FVoéº VÀnéº Vº€néº V€néº VÀ˜ V“ÕÂ8oéº V8oéº V ~˜ VFÉÀnéº VÀnéº V9~˜ V; F"Ï@néº V@néº V9~˜ V> ²€¨oéº Vpéº V ×Àpéº Vpéº V`~˜ VÃFÏÛð+éº Vâ°¥ZŒ˜ V WordPress Theme_Installer_Skin * * @return string The compare table output. */ public function theme_overwrite_table( $table, $current_theme_data, $new_theme_data ) { $this->old_theme_data = $current_theme_data; if ( ! $this->check_new_theme_version( $new_theme_data ) ) { return $table; } $table .= '

' . esc_html__( 'It seems you want to upgrade to premium version of the Inspiro WordPress Theme.', 'inspiro' ) . '

'; $table .= '

' . esc_html__( 'After the upgrade all the settings will be kept but we still recommend that you make a backup of the database and files before proceeding to the replace process.', 'inspiro' ) . '

'; /* translators: %1$s: Documentation URL. %2$s: Link title. */ $table .= '

' . esc_html__( 'Note:', 'inspiro' ) . ' ' . sprintf( __( 'If you don\'t see the header slider on your front page, please follow documentation link to see how to set up slideshow on front page.', 'inspiro' ), 'https://www.wpzoom.com/documentation/inspiro/inspiro-homepage-slideshow/', esc_attr__( 'Open documentation link in new tab', 'inspiro' ) ) . '

'; return $table; } /** * The compare table output for overwriting a theme package on upload. * * @param string $table The output table with Name, Version, Author, RequiresWP, and RequiresPHP info. * @param array $current_theme_data Array with current theme data. * @param array $new_theme_data Array with uploaded theme data. * * @see WordPress Theme_Installer_Skin * * @return string The compare table output. */ public function multisite_overwrite( $table, $current_theme_data, $new_theme_data ) { // Check if user has uploaded .zip file from About Inspiro page. $display_select_network = isset( $_GET['payload'] ) && 'about-inspiro' === $_GET['payload']; // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( ! is_multisite() ) { return $table; } if ( ! $display_select_network || ! $this->check_new_theme_version( $new_theme_data ) ) { return $table; } $current_blog_id = get_current_blog_id(); $current_blog_details = get_blog_details( $current_blog_id ); if ( ! empty( $current_blog_details ) ) { $table .= '

' . esc_html__( 'Migrate settings for following blog site:', 'inspiro' ) . '

'; $table .= ''; $table .= ''; $table .= ''; $table .= ''; $table .= ''; $table .= ''; $table .= ''; $table .= '
' . __( 'Blogname', 'inspiro' ) . '' . __( 'Site URL', 'inspiro' ) . '' . __( 'Able to migrate', 'inspiro' ) . '
' . esc_html( $current_blog_details->blogname ) . '' . esc_url( $current_blog_details->siteurl ) . '' . ( $current_blog_details->public ? '' : '' ) . '
'; } return $table; } /** * Filters the list of action links available following a single theme installation failure * when overwriting is allowed. * * @param string[] $install_actions Array of theme action links. * @param object $api Object containing WordPress.org API theme data. * @param array $new_theme_data Array with uploaded theme data. */ public function theme_overwrite_actions( $install_actions, $api, $new_theme_data ) { // Check if user has uploaded .zip file from About Inspiro page. $display_select_network = isset( $_GET['payload'] ) && 'about-inspiro' === $_GET['payload']; // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( ! is_multisite() ) { return $install_actions; } if ( ! $display_select_network || ! $this->check_new_theme_version( $new_theme_data ) ) { return $install_actions; } // TODO: maybe we will need some custom actions here. return $install_actions; } /** * Filters the source file location for the upgrade package. * * @param string $source File source location. * @param string $remote_source Remote file source location. * @param WP_Upgrader $upgrader WP_Upgrader instance. * @param array $hook_extra Extra arguments passed to hooked filters. */ public function start_upgrader_process( $source, $remote_source, $upgrader, $hook_extra ) { $overwrite = isset( $_GET['overwrite'] ) ? sanitize_text_field( wp_unslash( $_GET['overwrite'] ) ) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( ( isset( $hook_extra['type'] ) && 'theme' === $hook_extra['type'] ) && 'update-theme' === $overwrite ) { // Allow migration only if premium version is overwrite. if ( $this->check_new_theme_version( $this->wp_upgrader->new_theme_data ) ) { $this->migrate_customizer_settings(); $this->setup_slider_item(); $this->set_upgrader_option(); } } return $source; } /** * Migrate Customizer settings to Inspiro Premium * * @return void */ public function migrate_customizer_settings() { global $_wp_default_headers; show_message( $this->strings['migrate_customizer_settings'] ); $customizer_data = Inspiro_Customizer::$customizer_data; $theme_mods = get_theme_mods(); $header_image_data = inspiro_get_prop( $theme_mods, 'header_image_data' ); $default_header_image = inspiro_get_prop( $_wp_default_headers, 'default-image' ); $header_video_url = get_header_video_url(); $header_textcolor = get_header_textcolor(); if ( ! $header_image_data && $default_header_image ) { $url = inspiro_get_prop( $default_header_image, 'url' ); $thumbnail_url = inspiro_get_prop( $default_header_image, 'thumbnail_url' ); $description = inspiro_get_prop( $default_header_image, 'description' ); // Receive absolute path url. $url = $url ? get_parent_theme_file_path( str_replace( '%s', '', $url ) ) : ''; // Receive full path url. $thumbnail_url = $thumbnail_url ? get_parent_theme_file_uri( str_replace( '%s', '', $thumbnail_url ) ) : ''; $header_image_data = array( 'url' => $url, 'thumbnail_url' => $thumbnail_url, 'description' => $description, ); } else { if ( is_array( $header_image_data ) ) { /** * User has selected header image from registered default headers. * In this case we need to convert 'url' to absolute path. */ $url = inspiro_get_prop( $header_image_data, 'url' ); /** * Removes the http or https protocols and the template direcotry domain. * Keeps only root theme path with '/' at the beginning. */ $clear_url = str_replace( INSPIRO_THEME_URI, '/', $url ); // Convert full URL path to absolute path. $url = get_parent_theme_file_path( $clear_url ); $header_image_data['url'] = $url; } } if ( 'blank' !== $header_textcolor ) { set_theme_mod( 'color-slider-title', maybe_hash_hex_color( $header_textcolor ) ); set_theme_mod( 'color-slider-description', maybe_hash_hex_color( $header_textcolor ) ); } foreach ( $customizer_data as $name => $args ) { $default = inspiro_get_prop( $args, 'default' ); $saved_setting = inspiro_get_prop( $theme_mods, $name ); $theme_mod = get_theme_mod( $name, $default ); $name = $this->sanitize_option_name( $name ); if ( ! $saved_setting ) { set_theme_mod( $name, $theme_mod ); } if ( strpos( $name, 'font-family' ) !== false ) { $font_family = Inspiro_Font_Family_Manager::clean_google_fonts( $theme_mod ); set_theme_mod( $name, $font_family ); } if ( strpos( $name, 'font-weight' ) !== false && '400' === $theme_mod ) { set_theme_mod( $name, 'normal' ); } if ( 'custom_logo_text' === $name ) { update_option( 'blogname', $theme_mod ); } if ( 'colorscheme' === $name ) { if ( 'light' === $theme_mod ) { set_theme_mod( 'color-background', '#ffffff' ); set_theme_mod( 'color-body-text', '#444444' ); } elseif ( 'dark' === $theme_mod ) { set_theme_mod( 'color-background', '#222222' ); set_theme_mod( 'color-body-text', '#eeeeee' ); set_theme_mod( 'color-post-meta', '#777777' ); set_theme_mod( 'color-post-meta-link', '#dddddd' ); set_theme_mod( 'color-post-title', '#dddddd' ); } elseif ( 'custom' === $theme_mod ) { $custom_color_hex = inspiro_get_theme_mod( 'colorscheme_hex' ); set_theme_mod( 'color-accent', maybe_hash_hex_color( $custom_color_hex ) ); } } if ( 'header_button_textcolor' === $name ) { set_theme_mod( 'color-slider-button-text', maybe_hash_hex_color( $theme_mod ) ); set_theme_mod( 'color-slider-button-border', maybe_hash_hex_color( $theme_mod ) ); } if ( 'header_button_textcolor_hover' === $name ) { set_theme_mod( 'color-slider-button-text-hover', maybe_hash_hex_color( $theme_mod ) ); } if ( 'header_button_bgcolor_hover' === $name ) { set_theme_mod( 'color-slider-button-background-hover', maybe_hash_hex_color( $theme_mod ) ); set_theme_mod( 'color-slider-button-border-hover', maybe_hash_hex_color( $theme_mod ) ); } if ( 'header_site_title' === $name ) { $this->slide_post_attr['post_title'] = $theme_mod; } if ( 'header_site_description' === $name ) { $this->slide_post_attr['post_content'] = $theme_mod; } if ( 'header_button_title' === $name ) { $this->slide_post_attr['wpzoom_slide_button_title'] = $theme_mod; } if ( 'header_button_url' === $name ) { $this->slide_post_attr['wpzoom_slide_url'] = $theme_mod; $this->slide_post_attr['wpzoom_slide_button_url'] = $theme_mod; } if ( 'header_button_link_open' === $name ) { $this->slide_post_attr['wpzoom_slide_button_url_open'] = $theme_mod; } } if ( is_array( $header_image_data ) ) { $this->slide_post_attr['post_thumbnail_path_url'] = $header_image_data['url']; } elseif ( is_object( $header_image_data ) ) { $this->slide_post_attr['post_thumbnail_id'] = $header_image_data->attachment_id; } /** * Check for external header video. */ if ( $header_video_url ) { $header_video_settings = get_header_video_settings(); // Get header video mimeType. $mime_type = inspiro_get_prop( $header_video_settings, 'mimeType' ); $this->slide_post_attr['wpzoom_slide_play_button'] = true; $this->slide_post_attr['wpzoom_slide_autoplay_video_action'] = true; if ( 'video/x-youtube' === $mime_type ) { $this->slide_post_attr['wpzoom_home_slider_video_type'] = 'external_hosted'; $this->slide_post_attr['wpzoom_home_slider_video_external_url'] = $header_video_url; } elseif ( 'video/x-vimeo' === $mime_type ) { $this->slide_post_attr['wpzoom_home_slider_video_type'] = 'vimeo_pro'; $this->slide_post_attr['wpzoom_home_slider_video_vimeo_pro'] = $header_video_url; } elseif ( 'video/mp4' === $mime_type ) { $this->slide_post_attr['wpzoom_home_slider_video_type'] = 'self_hosted'; $this->slide_post_attr['wpzoom_home_slider_video_bg_url_mp4'] = $header_video_url; } } } /** * Convert custom header media to custom post type slider * This is necessary because premium version use slider items in header section on homepage * * @return void */ public function setup_slider_item() { $slider_cpt = $this->create_temporary_slider_cpt(); if ( is_wp_error( $slider_cpt ) ) { show_message( $slider_cpt ); return; } if ( empty( $this->slide_post_attr ) ) { return; } $slide_title = inspiro_get_prop( $this->slide_post_attr, 'post_title' ); $slide_content = inspiro_get_prop( $this->slide_post_attr, 'post_content' ); $slide_thumbnail_path_url = inspiro_get_prop( $this->slide_post_attr, 'post_thumbnail_path_url' ); $slide_thumbnail_id = inspiro_get_prop( $this->slide_post_attr, 'post_thumbnail_id' ); show_message( sprintf( $this->strings['setup_slider_item'], $slide_title ) ); $defaults = array( 'post_title' => '', 'post_content' => '', 'post_type' => 'slider', 'post_status' => 'publish', ); $data = wp_parse_args( $this->slide_post_attr, $defaults ); $slide_id = wp_insert_post( $data ); if ( 0 === $slide_id ) { show_message( $this->strings['setup_slider_item_error'] ); return; } /** * Loop all Inspiro Premium slide meta settings. */ foreach ( $data as $meta_key => $meta_value ) { if ( strpos( $meta_key, 'wpzoom_' ) !== false ) { add_post_meta( $slide_id, $meta_key, $meta_value ); } } if ( $slide_thumbnail_id ) { set_post_thumbnail( $slide_id, $slide_thumbnail_id ); } if ( $slide_thumbnail_path_url ) { $this->set_slide_thumbnail( $slide_thumbnail_path_url, $slide_id ); } } /** * Set slide thumbnail * * @param string $image_url The absolute path url to a default custom header image. * @param string|int $parent_post_id The ID of the post this attachment is for. * @return void */ public function set_slide_thumbnail( $image_url, $parent_post_id ) { global $wp_filesystem; require_once ABSPATH . '/wp-admin/includes/file.php'; // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound WP_Filesystem(); if ( ! $wp_filesystem->exists( $image_url ) ) { return; } // Get image data. $image_data = $wp_filesystem->get_contents( $image_url ); $filename = basename( $image_url ); // Check the type of file. We'll use this as the 'post_mime_type'. $wp_filetype = wp_check_filetype( basename( $filename ), null ); // Get the path to the upload directory. $wp_upload_dir = wp_upload_dir(); // Prepare an array of post data for the attachment. $attachment = array( 'post_mime_type' => $wp_filetype['type'], 'post_title' => sanitize_file_name( $filename ), 'post_content' => '', 'post_status' => 'inherit', ); if ( wp_mkdir_p( $wp_upload_dir['path'] ) ) { $file = $wp_upload_dir['path'] . '/' . $filename; } else { $file = $wp_upload_dir['basedir'] . '/' . $filename; } $wp_filesystem->put_contents( $file, $image_data ); // Insert the attachment. $attach_id = wp_insert_attachment( $attachment, $file, $parent_post_id ); // Make sure that this file is included, as wp_generate_attachment_metadata() depends on it. require_once ABSPATH . 'wp-admin/includes/image.php'; // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound // Generate the metadata for the attachment, and update the database record. $attach_data = wp_generate_attachment_metadata( $attach_id, $file ); wp_update_attachment_metadata( $attach_id, $attach_data ); set_post_thumbnail( $parent_post_id, $attach_id ); } /** * Create custom post type Slider * * @return WP_Post_Type|WP_Error The registered post type object on success, WP_Error object on failure. */ private function create_temporary_slider_cpt() { show_message( $this->strings['create_temporary_slider_cpt'] ); $args = array( 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => true, 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => null, 'menu_position' => 20, 'menu_icon' => 'dashicons-slides', 'show_in_rest' => true, 'supports' => array( 'title', 'editor', 'thumbnail' ), 'taxonomies' => array( 'slide-category' ), ); return call_user_func_array( 'register_post_type', array( 'slider', $args ) ); } /** * Sanitize customizer data option name * * @param string $option_name Theme mod option name. * @return string */ private function sanitize_option_name( $option_name ) { $logo_whitelist = array( 'logo-font-family', 'logo-font-variant', 'logo-font-size', 'logo-font-weight', 'logo-text-transform', 'logo-line-height' ); if ( in_array( $option_name, $logo_whitelist ) ) { $option_name = str_replace( 'logo-', 'title-', $option_name ); } return $option_name; } } new Inspiro_Theme_Upgrader(); Calendar - Liebfrauenmünster St. Moritz
  • Die Pfarrei
    • Pfarrbüro
    • Pastoralteam
    • Gottesdienste
  • Kirchen & Kapellen
    • Münster
    • St. Moritz
    • Maria de Victoria
  • Kirchenmusik
    • Miniband
    • Münstermusik
  • Gruppen
    • Pfarrgemeinderat
    • Frauenbund KDFB
  • Aktuelles
    • Pfarrbriefe & Berichterstattung
    • Gottesdienstordnung & Information
Skip to content
Liebfrauenmünster St. Moritz
  • Die Pfarrei
    • Pfarrbüro
    • Pastoralteam
    • Gottesdienste
  • Kirchen & Kapellen
    • Münster
    • St. Moritz
    • Maria de Victoria
  • Kirchenmusik
    • Miniband
    • Münstermusik
  • Gruppen
    • Pfarrgemeinderat
    • Frauenbund KDFB
  • Aktuelles
    • Pfarrbriefe & Berichterstattung
    • Gottesdienstordnung & Information

Follow us

  • facebook
  • instagram

Calendar

< May
< 2081 >
June
July >
«
»
  • Month
  • List
  • Week
  • Day
  • No Events

Instagram

…

Copyright © 2021 Katholische Pfarrkirchenstiftung Zu Unserer Schönen Lieben Frau

Kontakt | Impressum | Datenschutz | Bistum Eichstätt | Stadt Ingolstadt

Powered by WordPress Inspiro WordPress Theme by WPZOOM