[ &Lhp.DEs[6ua/s03g*#Q&I0Ǥp$`w3 4կǜ_6Es&݈ACK/{P~2ZıeJYM1ۼU[j^>pDA|A5Ӱ+;ҳWfz'$njY2HX1 ; 6`G*o a@P`!J d<7 ΁^N>&oߛ=Egbd"/޴8??:K{'ʀ^w6|04uU4^ ]a傫AJ Bͬ+P_ZzY^5JeyNM~,uRa}{ׄR4To;>ؖYDqq7nNĀR5Fa>rĖd^Lِ['׹SwU[Œe&ۑ솋xAS̽'baݘx""~`|dfշq#Px4a$=aE7 DH6:0]YAx$Z8kHAzvV8^f \p G&gӾp/\;3yh*ZRZQI]O"G )T,]e9U}\_HJYbnr~$0ߋ".DH v?ߦ ЈĽ[9!C{zF3: TzlFe*{#w`1) 1NBɌ8p&Zcr ,?&-gYnV½ 8{=}K̸uFiww~/pE;*Q~_Z6!nQ~7̶8I3 RY(A)J.yv^o,O˰sIZןvu^)5dd`vXApĭ9F4fFXU?8^BVw)yReޟB&LXɜ~ 0_k:X৖[q͇/503ƊݸpX5G+I58dO{[4Zz%ߣI)7S}CckZs=)0_ ({ff̓=[!d>cjO()s)$Ǽ(gW`x6*K[x#0gM+J qm-Q [{m'̔U.`NS1hP+TK=Q;,]=yJ{c}07a5yG~h֠'l<﷧@ [#R^K mvS{(@w+y[?XeJ2瀉jD- bZC0̸SjZ pw9}tq|`$@9gH̞}uCʑ KO2m)' -/0u[zp4K^ٮ~<ь"!h#h4X[aurÁuBHӾރ͕keUS\G# ͷwkt\ʯCVc/Fsb eUGń@ӠZ?׏e{={ ƲtAҗwSז^0R2cvHѬyGw.6M8+y2U?F(sy KWd pt9TΈeRp ' w$8TmUM覦 SªӾU6ҵzt8]ՒgYhc&ԓ[B͕oxVӺgRЈw8`*SOs't ݑ`aC…}M%;QĶ(!΢UЊs'4]ԘWINצsNQ jBcYy{XF e80G;3^^7qAK,6-$ef߇zErAq? ':hDR5gQ(qIk2ד~S о"|=DQKI[3.W% 2R6?c @3n& fdJ=sCeJK4ŢK|X3ʶ,"p8 ɷ|(W=y2M:AZe94)iQsn!1/I½ƬKOgpO?|E7Cj LRƛwE ,fAfMExQHA Oˉ+zv1Qf&;N L\m1nԥEX8hLI}2iQ7āبmo/;B:wUA'ywFOg+F_`1?SW u? v(XҴ{ !'jbQ^[Vofj#Z K_=ı(RQm1$ݫ8$be姼(ֽ0!aL !]TK%oVF'ۊ~:|с}y/WMXb6"_an/5.G V36`oCs>0ZҚ$;zΙ;m:i W31lOОR2Qg -*z" dޯ󰌢6@A*/ʙ@{Vk:qqb;@] qL^GԚvX=a 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

< November
< 3278 >
December
January >
«
»
  • 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