<?php


class WDWT_homepage_page_class{
	

	public $options;
	
	function __construct(){

		$first_post=array();
		$post_in_array=get_posts( array('posts_per_page' => 1));
		if($post_in_array)
			$first_post=array($post_in_array[0]->ID);
		else
			$first_post=array();
		unset($post_in_array);
		
		$this->options = array(

			"home_middle_description_post_enable" => array(
				"name" => "home_middle_description_post_enable",
				"title" => __("Featured Post", 'portfolio-gallery'),
				'type' => 'checkbox_open',
				"description" => __( "Check box to display a post at the homepage", 'portfolio-gallery' ),
				'show' => array("home_middle_description_post"),
				'hide' => array(),
				'section' => 'homepage', 
        'tab' => 'homepage', 
        'default' => true,
        'customizer'=>array()
			),
			"home_middle_description_post" => array(
				"name" => "home_middle_description_post",
				"title" => __("Featured Post", 'portfolio-gallery'), 
				'type' => 'select',
				"valid_options" => $this->get_posts(),
				"sanitize_type" => "sanitize_text_field",
				"description" => __("Select the single post", 'portfolio-gallery' ),
				'section' => 'homepage', 
        'tab' => 'homepage', 
        'default' => $first_post,
        'customizer' => array()
			),		
			"content_posts_enable" => array( 
				"name" => "content_posts_enable",
				"title" => __("Content Top Posts", 'portfolio-gallery'), 
				'type' => 'checkbox_open',  
				"description" => __("Check the box to display posts only from specific categories. If unchecked, all posts are shown.", 'portfolio-gallery'),
				'show' => array('content_post_categories'),
				'hide' => array(),
				'section' => 'homepage', 
        'tab' => 'homepage', 
        'default' => false,
        'customizer'=>array()
			),
			"content_post_categories" => array(
				"name" => "content_post_categories",
				"title" => "",
				'type' => 'select',
				'multiple' => "true",
				"sanitize_type" => "sanitize_text_field",
				"valid_options" => $this->get_categories(),
				"description" => __("Select the categories.",'portfolio-gallery'),
				'section' => 'homepage',
				'tab' => 'homepage',
				'default' => $this->get_categories(),
				'customizer'=>array()
			)
		);
	
	}


	


	private function get_posts(){
		$args= array(
				'posts_per_page'   => 3000,
				'orderby'          => 'post_date',
				'order'            => 'DESC',
				'post_type'        => 'post',
				'post_status'      => 'publish',
				 );

		$posts_array_custom=array();
		$posts_array = get_posts( $args );

		foreach($posts_array as $post){
			$key = $post->ID;
		  $posts_array_custom[$key] = $post->post_title;
		}
		return $posts_array_custom;
	}

	private function get_categories(){
		$args= array(
				'hide_empty' => 0,
				'orderby' => 'name',
				'order' => 'ASC',
			);
		
		$categories_array_custom=array();
		$categories_array = get_categories( $args );

		foreach($categories_array as $category){
		  $categories_array_custom[$category->term_id] = $category->name;
		}
		return $categories_array_custom;
	}
	private function get_categories_ids(){
		$args= array(
				'hide_empty' => 0,
				'orderby' => 'name',
				'order' => 'ASC',
			);
		
		$categories_array_custom=array();
		$categories_array = get_categories( $args );
		foreach($categories_array as $category){
		  array_push($categories_array_custom,$category->term_id);
		}
		return $categories_array_custom;
	}

	
}
 