224 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			224 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * This file handles the Copyright functionality.
 | 
						|
 *
 | 
						|
 * @package GP Premium
 | 
						|
 */
 | 
						|
 | 
						|
if ( ! defined( 'ABSPATH' ) ) {
 | 
						|
	exit; // No direct access, please.
 | 
						|
}
 | 
						|
 | 
						|
if ( ! function_exists( 'generate_copyright_customize_register' ) ) {
 | 
						|
	add_action( 'customize_register', 'generate_copyright_customize_register' );
 | 
						|
	/**
 | 
						|
	 * Add our copyright options to the Customizer.
 | 
						|
	 *
 | 
						|
	 * @param object $wp_customize The Customizer object.
 | 
						|
	 */
 | 
						|
	function generate_copyright_customize_register( $wp_customize ) {
 | 
						|
		// Get our custom control.
 | 
						|
		require_once GP_LIBRARY_DIRECTORY . 'customizer-helpers.php';
 | 
						|
 | 
						|
		// Register our custom control.
 | 
						|
		if ( method_exists( $wp_customize, 'register_control_type' ) ) {
 | 
						|
			$wp_customize->register_control_type( 'GeneratePress_Copyright_Customize_Control' );
 | 
						|
		}
 | 
						|
 | 
						|
		$wp_customize->add_setting(
 | 
						|
			'generate_copyright',
 | 
						|
			array(
 | 
						|
				'default' => '',
 | 
						|
				'type' => 'theme_mod',
 | 
						|
				'sanitize_callback' => 'wp_kses_post',
 | 
						|
				'transport' => 'postMessage',
 | 
						|
			)
 | 
						|
		);
 | 
						|
 | 
						|
		$wp_customize->add_control(
 | 
						|
			new GeneratePress_Copyright_Customize_Control(
 | 
						|
				$wp_customize,
 | 
						|
				'generate_copyright',
 | 
						|
				array(
 | 
						|
					'label'      => __( 'Copyright', 'gp-premium' ),
 | 
						|
					'section'    => 'generate_layout_footer',
 | 
						|
					'settings'   => 'generate_copyright',
 | 
						|
					'priority' => 500,
 | 
						|
				)
 | 
						|
			)
 | 
						|
		);
 | 
						|
 | 
						|
		// Initiate selective refresh.
 | 
						|
		if ( isset( $wp_customize->selective_refresh ) ) {
 | 
						|
			$wp_customize->selective_refresh->add_partial(
 | 
						|
				'generate_copyright',
 | 
						|
				array(
 | 
						|
					'selector' => '.copyright-bar',
 | 
						|
					'settings' => array( 'generate_copyright' ),
 | 
						|
					'render_callback' => 'generate_copyright_selective_refresh',
 | 
						|
				)
 | 
						|
			);
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! function_exists( 'generate_copyright_selective_refresh' ) ) {
 | 
						|
	/**
 | 
						|
	 * Return our copyright on selective refresh
 | 
						|
	 */
 | 
						|
	function generate_copyright_selective_refresh() {
 | 
						|
		$options = array(
 | 
						|
			'%current_year%',
 | 
						|
			'%copy%',
 | 
						|
		);
 | 
						|
 | 
						|
		$replace = array(
 | 
						|
			date( 'Y' ), // phpcs:ignore -- prefer date().
 | 
						|
			'©',
 | 
						|
		);
 | 
						|
 | 
						|
		$new_copyright = get_theme_mod( 'generate_copyright' );
 | 
						|
		$new_copyright = str_replace( $options, $replace, get_theme_mod( 'generate_copyright' ) );
 | 
						|
 | 
						|
		return do_shortcode( $new_copyright );
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! function_exists( 'generate_copyright_remove_default' ) ) {
 | 
						|
	add_action( 'wp', 'generate_copyright_remove_default' );
 | 
						|
	/**
 | 
						|
	 * Remove the default copyright.
 | 
						|
	 *
 | 
						|
	 * @since 0.1
 | 
						|
	 * @deprecated GP 1.3.42
 | 
						|
	 */
 | 
						|
	function generate_copyright_remove_default() {
 | 
						|
		// As of 1.3.42, we no longer need to do this.
 | 
						|
		// We use a nice little filter instead.
 | 
						|
		if ( ! function_exists( 'generate_add_login_attribution' ) ) {
 | 
						|
			return;
 | 
						|
		}
 | 
						|
 | 
						|
		if ( get_theme_mod( 'generate_copyright' ) && '' !== get_theme_mod( 'generate_copyright' ) ) {
 | 
						|
			remove_action( 'generate_credits', 'generate_add_footer_info' );
 | 
						|
			remove_action( 'generate_copyright_line', 'generate_add_login_attribution' );
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! function_exists( 'generate_copyright_add_custom' ) ) {
 | 
						|
	add_action( 'generate_credits', 'generate_copyright_add_custom' );
 | 
						|
	/**
 | 
						|
	 * Add the custom copyright.
 | 
						|
	 *
 | 
						|
	 * @since 0.1
 | 
						|
	 * @deprecated GP 1.3.42
 | 
						|
	 */
 | 
						|
	function generate_copyright_add_custom() {
 | 
						|
		// As of 1.3.42, we no longer need to do this.
 | 
						|
		// We use a nice little filter instead.
 | 
						|
		if ( ! function_exists( 'generate_add_login_attribution' ) ) {
 | 
						|
			return;
 | 
						|
		}
 | 
						|
 | 
						|
		$options = array(
 | 
						|
			'%current_year%',
 | 
						|
			'%copy%',
 | 
						|
		);
 | 
						|
 | 
						|
		$replace = array(
 | 
						|
			date( 'Y' ), // phpcs:ignore -- prefer date().
 | 
						|
			'©',
 | 
						|
		);
 | 
						|
 | 
						|
		$new_copyright = get_theme_mod( 'generate_copyright' );
 | 
						|
		$new_copyright = str_replace( $options, $replace, get_theme_mod( 'generate_copyright' ) );
 | 
						|
 | 
						|
		if ( get_theme_mod( 'generate_copyright' ) && '' !== get_theme_mod( 'generate_copyright' ) ) {
 | 
						|
			echo do_shortcode( $new_copyright );
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! function_exists( 'generate_apply_custom_copyright' ) ) {
 | 
						|
	add_filter( 'generate_copyright', 'generate_apply_custom_copyright' );
 | 
						|
	/**
 | 
						|
	 * Add the custom copyright
 | 
						|
	 *
 | 
						|
	 * @since 1.2.92
 | 
						|
	 * @param string $copyright The copyright value.
 | 
						|
	 */
 | 
						|
	function generate_apply_custom_copyright( $copyright ) {
 | 
						|
		// This will only work if GP >= 1.3.42 and the below function doesn't exist.
 | 
						|
		if ( function_exists( 'generate_add_login_attribution' ) ) {
 | 
						|
			return;
 | 
						|
		}
 | 
						|
 | 
						|
		$options = array(
 | 
						|
			'%current_year%',
 | 
						|
			'%copy%',
 | 
						|
		);
 | 
						|
 | 
						|
		$replace = array(
 | 
						|
			date( 'Y' ), // phpcs:ignore -- prefer date().
 | 
						|
			'©',
 | 
						|
		);
 | 
						|
 | 
						|
		$new_copyright = get_theme_mod( 'generate_copyright' );
 | 
						|
		$new_copyright = str_replace( $options, $replace, get_theme_mod( 'generate_copyright' ) );
 | 
						|
 | 
						|
		if ( get_theme_mod( 'generate_copyright' ) && '' !== get_theme_mod( 'generate_copyright' ) ) {
 | 
						|
			return do_shortcode( $new_copyright );
 | 
						|
		}
 | 
						|
 | 
						|
		return $copyright;
 | 
						|
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! function_exists( 'generate_copyright_customizer_live_preview' ) ) {
 | 
						|
	add_action( 'customize_preview_init', 'generate_copyright_customizer_live_preview' );
 | 
						|
	/**
 | 
						|
	 * Add our live preview
 | 
						|
	 */
 | 
						|
	function generate_copyright_customizer_live_preview() {
 | 
						|
		wp_enqueue_script(
 | 
						|
			'generate-copyright-customizer',
 | 
						|
			plugin_dir_url( __FILE__ ) . 'js/customizer.js',
 | 
						|
			array( 'jquery', 'customize-preview' ),
 | 
						|
			GENERATE_COPYRIGHT_VERSION,
 | 
						|
			true
 | 
						|
		);
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
if ( ! function_exists( 'generate_update_copyright' ) ) {
 | 
						|
	add_action( 'admin_init', 'generate_update_copyright' );
 | 
						|
	/**
 | 
						|
	 * Our copyright use to have it's own setting
 | 
						|
	 * If we have the old setting, move it into our theme_mod
 | 
						|
	 */
 | 
						|
	function generate_update_copyright() {
 | 
						|
		// If we already have a custom logo, bail.
 | 
						|
		if ( get_theme_mod( 'generate_copyright' ) ) {
 | 
						|
			return;
 | 
						|
		}
 | 
						|
 | 
						|
		// Get the old logo value.
 | 
						|
		$old_value = get_option( 'gen_custom_copyright' );
 | 
						|
 | 
						|
		// If there's no old value, bail.
 | 
						|
		if ( empty( $old_value ) ) {
 | 
						|
			return;
 | 
						|
		}
 | 
						|
 | 
						|
		// Now let's update the new logo setting with our ID.
 | 
						|
		set_theme_mod( 'generate_copyright', $old_value );
 | 
						|
 | 
						|
		// Got our custom logo? Time to delete the old value.
 | 
						|
		if ( get_theme_mod( 'generate_copyright' ) ) {
 | 
						|
			delete_option( 'gen_custom_copyright' );
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |