HEX
Server: Apache
System: Linux webd004.cluster130.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User: frenchy (106757)
PHP: 7.4.33
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/f/r/e/frenchy/refonte2023/wordpress/wp-content/themes/gimont/inc/class-hook.php
<?php if (!defined( 'ABSPATH' )) exit;

if( !class_exists('Gimont_Hooks') ){
	
	class Gimont_Hooks {

		public function __construct() {
			
			// Return HTML for Header
			add_filter( 'gimont_render_header', array( $this, 'gimont_render_header' ) );

			// Return HTML for Footer
			add_filter( 'gimont_render_footer', array( $this, 'gimont_render_footer' ) );


			/* Get All Header */
			add_filter( 'gimont_list_header', array( $this, 'gimont_list_header' ) );

			/* Get All Footer */
			add_filter( 'gimont_list_footer', array( $this,  'gimont_list_footer' ) );

			/* Define Layout */
			add_filter( 'gimont_define_layout', array( $this,  'gimont_define_layout' ) );

			/* Define Wide */
			add_filter( 'gimont_define_wide_boxed', array( $this,  'gimont_define_wide_boxed' ) );

			/* Get layout */
			add_filter( 'gimont_get_layout', array( $this, 'gimont_get_layout' ) );

			/* Get sidebar */
			add_filter( 'gimont_theme_sidebar', array( $this, 'gimont_theme_sidebar' )  );
			

			/* Wide or Boxed */
			add_filter( 'gimont_wide_site', array( $this, 'gimont_wide_site' ) );

			/* Get Blog Template */
			add_filter( 'gimont_blog_template', array( $this, 'gimont_blog_template' ) );
			
			// Comment Form Default Field
			add_filter( 'comment_form_default_fields', array( $this, 'gimont_comment_form_default_fields') );
			add_filter( 'comment_form_defaults', array( $this, 'gimont_comment_form_defaults' ) );

			/* Search CPT */
			add_action( 'pre_get_posts', array( $this, 'gimont_search_all' ) );
			add_filter( 'template_include', array( $this, 'gimont_search_all_template' ) ); 

			// Change archive title
			add_filter( 'get_the_archive_title', array( $this, 'gimont_archive_title' ) );

			/* Give Donation */
			add_filter( 'template_include', array( $this, 'gimont_give_template_loader' ) );
			add_filter( 'gimont_progress_stats', array( $this, 'gimont_progress_stats' ), 10, 1 );
       		add_filter( 'gimont_count_donor', array( $this, 'gimont_count_donor' ) );
       		add_filter( 'give_forms_supports', array( $this, 'gimont_give_forms_supports' ), 10, 1 );
       		add_action( 'pre_get_posts', array( $this, 'gimont_give_post_per_page_archive' ) );

	    }

		
		public function gimont_render_header(){

			$current_id = gimont_get_current_id();

			// Get header default from customizer
			$global_header = get_theme_mod('global_header','default');

			// Header in Metabox of Post, Page
		    $meta_header = get_post_meta($current_id, 'ova_met_header_version', 'true');
		  	
		    // Header use in post,page
		    if( $current_id != '' && $meta_header != 'global'  && $meta_header != '' ){

		    	$header = $meta_header;

		  	}else if( gimont_is_blog_archive() ){ // Header use in blog

		  		$header = get_theme_mod('blog_header', 'default');

		  	}else if( is_singular('post') ){ // Header use in single post

		  		$header = get_theme_mod('single_header', 'default');

		  	}else if( is_singular('product') ){ // Header use in single product

		  		$header = get_theme_mod('woo_single_header', 'default');

		  	}else if( is_singular('give_forms') ){

		  		$header = get_theme_mod('single_donation_header', 'default'); // Header use in single donation

		  	}else{ // Header use in global

		  		$header = $global_header;
		  	}

		  	if( gimont_is_give_archive() ){

		  		$header = get_theme_mod('archive_donation_header', 'default');

		  	}
			

			$header_split = explode(',', apply_filters( 'gimont_header_customize', $header, $header ));

			if ( gimont_is_elementor_active() && isset( $header_split[1] ) ) {

				$post_id_header = gimont_get_id_by_slug( $header_split[1] );

				// Check WPML 
				if( function_exists( 'icl_object_id' ) ){
					$post_id_header = icl_object_id($post_id_header, 'ova_framework_hf_el', false);

					if ( ! $post_id_header ) {
						$post_id_header = gimont_get_id_by_slug( $header_split[1] );
					}
				}
				
				return Elementor\Plugin::instance()->frontend->get_builder_content_for_display( $post_id_header );

			}else if ( gimont_is_elementor_active() && !isset( $header_split[1] ) ) {

				return get_template_part( 'template-parts/header', $header_split[0] );

			}else if ( !gimont_is_elementor_active()  ) {

				return get_template_part( 'template-parts/header', 'default' );

			}

		}


		
		public function gimont_render_footer(){

			$current_id = gimont_get_current_id();

			// Get Footer default from customizer
			$global_footer = get_theme_mod('global_footer', 'default' );

			// Footer in Metabox of Post, Page
		    $meta_footer =  get_post_meta( $current_id, 'ova_met_footer_version', 'true' );
			
		  	

		  	if( $current_id != '' && $meta_footer != 'global'  && $meta_footer != '' ){

		  		$footer = $meta_footer;

		  	}else if( gimont_is_blog_archive() ){

		  		$footer = get_theme_mod('blog_footer', 'default');

		  	}else if( is_singular('post') ){

		  		$footer = get_theme_mod('single_footer', 'default');

		  	}else if( is_singular('product') ){ // Footer use in single product

		  		$footer = get_theme_mod('woo_single_footer', 'default');

		  	}else if( is_singular('give_forms') ){

		  		$footer = get_theme_mod('single_donation_footer', 'default'); // Footer use in single donation

		  	}else{

		  		$footer = $global_footer;
		  		
		  	}

		  	if( gimont_is_give_archive() ){

		  		$footer = get_theme_mod('archive_donation_footer', 'default');

		  	}

		  	
		  	$footer_split = explode(',', apply_filters( 'gimont_footer_customize', $footer, $footer ));

			if ( gimont_is_elementor_active() && isset( $footer_split[1] ) ) {

				$post_id_footer = gimont_get_id_by_slug( $footer_split[1] );

				// Check WPML 
				if( function_exists( 'icl_object_id' ) ){
					$post_id_footer = icl_object_id($post_id_footer, 'ova_framework_hf_el', false);

					if ( ! $post_id_footer ) {
						$post_id_footer = gimont_get_id_by_slug( $footer_split[1] );
					}
				}

				return Elementor\Plugin::instance()->frontend->get_builder_content_for_display( $post_id_footer );
				
			}else if ( gimont_is_elementor_active() && !isset( $footer_split[1] ) ) {

				get_template_part( 'template-parts/footer', $footer_split[0] );

			}else if( !gimont_is_elementor_active() ){

				get_template_part( 'template-parts/footer', 'default' );			
			}
		}



		function gimont_list_header(){

		    $hf_header_array['default'] = esc_html__( 'Default', 'gimont' );

		    if( !gimont_is_elementor_active() ) return $hf_header_array;

		    $args_hf = array(
		        'post_type' => 'ova_framework_hf_el',
		        'post_status'   => 'publish',
		        'posts_per_page' => '-1',
		        'meta_query' => array(
		            array(
		                'key'     => 'hf_options',
		                'value'   => 'header',
		                'compare' => '=',
		            ),
		        )
		    );

		    $hf = new WP_Query( $args_hf );

		    if($hf->have_posts()):  while($hf->have_posts()) : $hf->the_post();
		        global $post;
		        $hf_header_array[ 'ova,'.$post->post_name ] = get_the_title();

		    endwhile;endif; wp_reset_postdata();

		    return $hf_header_array;
		}

		
		function gimont_list_footer(){

		    $hf_footer_array['default'] = esc_html__( 'Default', 'gimont' );

		    if( !gimont_is_elementor_active() ) return $hf_footer_array;

		    $args_hf = array(
		        'post_type' => 'ova_framework_hf_el',
		        'post_status'   => 'publish',
		        'posts_per_page' => '-1',
		        'meta_query' => array(
		            array(
		                'key'     => 'hf_options',
		                'value'   => 'footer',
		                'compare' => '=',
		            ),
		        )
		    );

		    $hf = new WP_Query( $args_hf );

		    if($hf->have_posts()):  while($hf->have_posts()) : $hf->the_post();
		        global $post;
		        $hf_footer_array[ 'ova,'.$post->post_name ] = get_the_title();

		    endwhile;endif; wp_reset_postdata();

		    return $hf_footer_array;
		}


		function gimont_define_layout(){
			return array(
				'layout_1c' => esc_html__('No Sidebar', 'gimont'),
				'layout_2r' => esc_html__('Right Sidebar', 'gimont'),
				'layout_2l' => esc_html__('Left Sidebar', 'gimont'),
			);
		}
		

		function gimont_get_layout(){
			
			$layout = '';
			
			$width_sidebar = get_theme_mod( 'global_sidebar_width', '320' );

			if( is_singular( 'post' ) ){

			    $layout = get_theme_mod( 'single_layout', 'layout_2r' );

			}else if( gimont_is_blog_archive() ){

			    $layout = get_theme_mod( 'blog_layout', 'layout_2r' );

			}else if( gimont_is_woo_active() && is_product() ){

				$layout = get_theme_mod( 'woo_product_layout', 'woo_layout_1c' );
				$width_sidebar = get_theme_mod( 'woo_sidebar_width', '320' );

			} else if( gimont_is_woo_active() && ( is_product_category() || is_product_tag() || is_shop() ) ){
				
				$layout = get_theme_mod( 'woo_archive_layout', 'woo_layout_1c' );
				$width_sidebar = get_theme_mod( 'woo_sidebar_width', '320' );

			}


			$current_id = gimont_get_current_id();

			if( $current_id ){

			    $layout_in_post = get_post_meta( $current_id, 'ova_met_main_layout', true );

			    if( $layout_in_post != 'global' && $layout_in_post != '' ){
			    	$layout = $layout_in_post;
			    }

			}

			// Check if page is posts (settings >> reading >> posts page)
			if( get_option( 'page_for_posts' ) == $current_id ){
				
				$layout_in_post = get_post_meta( $current_id, 'ova_met_main_layout', true );

				if( $layout_in_post == 'global' ){
					$layout = get_theme_mod( 'blog_layout', 'layout_2r' );
				}
					

			}


			if( isset( $_GET['layout_sidebar'] ) ){
				$layout = $_GET['layout_sidebar'];
			}

			if( !$layout ){
				$layout = get_theme_mod( 'global_layout', 'layout_2r' );
			    $width_sidebar = get_theme_mod( 'global_sidebar_width', '320' );
			}

			// Check if Woo Sidebar is inactive
			if( gimont_is_woo_active() && ( is_product_category() || is_product_tag() || is_shop() ) ){
				if( !is_active_sidebar('woo-sidebar') ){
					$layout = 'woo_layout_1c';
					$width_sidebar = 0;
				}
			}else if( gimont_is_woo_active() && is_product() ){
				if( !is_active_sidebar('woo-sidebar') ){
					$layout = 'woo_layout_1c';
					$width_sidebar = 0;
				}
			}else if( !is_active_sidebar('main-sidebar') ){
					$layout = 'layout_1c';
					$width_sidebar = 0;
			}
			

			return array( $layout, $width_sidebar );
		}

		


		function gimont_wide_site(){
			$current_id = gimont_get_current_id();
			$width_site = get_post_meta( $current_id, 'ova_met_wide_site', true );

			if( $current_id && $width_site != 'global' ){
			    $width = $width_site;
			}else{
				$width = get_theme_mod( 'global_wide_site', 'wide' );
			}

			return $width;
		}

		function gimont_theme_sidebar(){
			$layout_sidebar = apply_filters( 'gimont_get_layout', '' );
			return $layout_sidebar[0];
		}

		function gimont_define_wide_boxed(){
			return array(
				'wide' => esc_html__('Wide', 'gimont'),
				'boxed' => esc_html__('Boxed', 'gimont'),
			);
		}

		function gimont_blog_template(){
			$blog_template = get_theme_mod( 'blog_template', 'default' );
			if( isset( $_GET['blog_template'] ) ){
				$blog_template = $_GET['blog_template'];
			}
			return $blog_template;
		}

		public function gimont_search_all( $query ) {

			// Blog, Page, Department, Event, Team, Documentation, Career, Portfolio, Service, Directory
			$post_types = array('post','page','event','team','career','give_forms','collection','artist','exhibition','ova_dep','ova_doc','ova_por','ova_sev','ova_dir');

			if ( $query->is_main_query() && $query->is_search() && ! is_admin() ) {
        		$query->set( 'post_type', apply_filters( 'gimont_search_custom_post_type', $post_types ) );
    		}
		}

		function gimont_search_all_template( $template ) {
			global $wp_query;

			if ( $wp_query->is_main_query() && $wp_query->is_search() && ! is_admin() ) {
	        	return locate_template('template-parts/search.php');
	    	} 

		    return $template;
		} 

		function gimont_archive_title( $title ) {
		    if ( is_category() ) {
		        $title = single_cat_title( '', false );
		    } elseif ( is_tag() ) {
		        $title = single_tag_title( '', false );
		    } elseif ( is_author() ) {
		        $title = '<span class="vcard">' . get_the_author() . '</span>';
		    } elseif ( is_post_type_archive() ) {
		        $title = post_type_archive_title( '', false );
		    } elseif ( is_tax() ) {
		        $title = single_term_title( '', false );
		    }
		  
		    return $title;
		}
		

		function gimont_comment_form_defaults( $defaults ){

			$defaults['comment_field'] = sprintf(
											'<p class="comment-form-comment"> %s</p>',
											'<textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" required="required" placeholder="'.esc_attr__( 'Comment', 'gimont' ).'"></textarea>'
										);

			return $defaults;
		
		}

		function gimont_comment_form_default_fields( $fields ){

			$commenter     = wp_get_current_commenter();

			$req      = get_option( 'require_name_email' );
			$html_req = ( $req ? " required='required'" : '' );
			$html5 = true;


			$fields['author'] = sprintf( '<p class="comment-form-author">%s</p>',
								sprintf(
									'<input id="author" name="author" type="text" value="%s" placeholder="'.esc_attr__( 'Name', 'gimont' ).'" size="30" maxlength="245"%s />',
									esc_attr( $commenter['comment_author'] ),
									$html_req
								) );

			$fields['email'] = sprintf(
								'<p class="comment-form-email"> %s</p>',
								
								sprintf(
									'<input id="email" name="email" %s value="%s" size="30" maxlength="100" placeholder="'.esc_attr__( 'Email', 'gimont' ).'" aria-describedby="email-notes"%s />',
									( $html5 ? 'type="email"' : 'type="text"' ),
									esc_attr( $commenter['comment_author_email'] ),
									$html_req
								)
							);
			$fields['url'] = sprintf(
							'<p class="comment-form-url">%s</p>',
							sprintf(
								'<input id="url" name="url" %s value="%s" size="30" maxlength="200" placeholder="'.esc_attr__( 'Website', 'gimont' ).'" />',
								( $html5 ? 'type="url"' : 'type="text"' ),
								esc_attr( $commenter['comment_author_url'] )
							)
						);

			
			return $fields;
			
		}

		function gimont_give_template_loader( $template ) {

	        $post_type = isset($_REQUEST['post_type'] ) ? $_REQUEST['post_type'] : get_post_type();
	        
	        
			if( is_tax( 'give_forms_category' ) ||  get_query_var( 'give_forms_category' ) != '' ){

			    $paged = get_query_var('paged') ? get_query_var('paged') : '1';
			    
			    query_posts( '&give_forms_category='.get_query_var( 'give_forms_category' ).'&paged=' . $paged );
			    get_template_part( 'archive', 'give_forms' );
			    return false;
			}

			if(  $post_type == 'give_forms' ){

				if (  is_post_type_archive( 'give_forms' )  ) { 

					get_template_part( 'archive', 'give_forms' );
					return false;

				} else if ( is_single() ) {

					get_template_part( 'give/single', 'give-form' );
					return false;

				}
			} else {
				return $template;
			}

	    }

		function gimont_progress_stats( $id = '' ){

			$form = new Give_Donate_Form( $id );

			if (function_exists('give_goal_progress_stats')) {
				$donation_progress_stats = give_goal_progress_stats( $form );
			}

			$goal_format = get_post_meta( $id, '_give_goal_format', true );

			if (function_exists('give_human_format_large_amount') && function_exists('give_format_amount') ) {
				$get_income = give_human_format_large_amount( give_format_amount( $donation_progress_stats['raw_actual'], array() ), array() );
				$get_goal   = give_human_format_large_amount( give_format_amount( $donation_progress_stats['raw_goal'], array() ), array() );
			}

			if (function_exists('give_currency_filter')) {
				$convert_income = give_currency_filter( $get_income, array( 'form_id' => $id ) );
				$conver_goal 	= give_currency_filter( $get_goal, array( 'form_id' => $id ) );
			}

			$result['to_go']    = abs($donation_progress_stats['raw_goal'] - $donation_progress_stats['raw_actual']);

			if ($goal_format == 'amount' || $goal_format == 'percentage') {
				$result['actual'] 	= $convert_income;
				$result['goal'] 	= $conver_goal;
				$result['progress'] = $donation_progress_stats['progress'];
				$result['to_go'] 	= give_currency_filter($result['to_go']);
			} else {
				$result['actual'] 	= $donation_progress_stats['actual'];
				$result['goal'] 	= $donation_progress_stats['goal'];
				$result['progress'] = $donation_progress_stats['progress'];
				$result['to_go'] 	= give_currency_filter($result['to_go']);
			}

			return $result;
		}

    	function gimont_count_donor( $id = '' ){
    		
			$form = new Give_Donate_Form( $id );

			return apply_filters( 'give_goal_donations_raised_output', $form->sales, $id, $form );
		}

		public function gimont_give_forms_supports( $supports ){
			array_push( $supports, 'editor' );
			array_push( $supports, 'comments' );
			return $supports; 
		}

		public function gimont_give_post_per_page_archive( $query ) {
		    if ( ! is_admin() && $query->is_main_query() ) {
		        if ( $query->is_post_type_archive( 'give_forms' ) || $query->is_tax( 'give_forms_category' ) ) {

					$posts_per_page = get_theme_mod( 'archive_donation_posts_per_page', 6 );

		            $query->set('post_type', array( 'give_forms' ) );
		            $query->set('posts_per_page', $posts_per_page );
		        }
		    }
		}


	}
}

new Gimont_Hooks();