<?php
/**
 * Wizard
 *
 * @package Trucking_Company_Whizzie
 * @author Catapult Themes
 * @since 1.0.0
 */

class Trucking_Company_Whizzie {
	
	protected $version = '1.1.0';
	
	/** @var string Current theme name, used as namespace in actions. */
	protected $trucking_company_theme_name = '';
	protected $trucking_company_theme_title = '';
	
	/** @var string Wizard page slug and title. */
	protected $trucking_company_page_slug = '';
	protected $trucking_company_page_title = '';
	
	/** @var array Wizard steps set by user. */
	protected $config_steps = array();
	
	public $parent_slug;
	
	/**
	 * Constructor
	 *
	 * @param $config	Our config parameters
	 */
	public function __construct( $config ) {
		$this->set_vars( $config );
		$this->init();
	}
	
	/**
	 * Set some settings
	 * @since 1.0.0
	 * @param $config	Our config parameters
	 */
	public function set_vars( $config ) {

		if( isset( $config['trucking_company_page_slug'] ) ) {
			$this->trucking_company_page_slug = esc_attr( $config['trucking_company_page_slug'] );
		}
		if( isset( $config['trucking_company_page_title'] ) ) {
			$this->trucking_company_page_title = esc_attr( $config['trucking_company_page_title'] );
		}
		if( isset( $config['steps'] ) ) {
			$this->config_steps = $config['steps'];
		}

		$trucking_company_current_theme = wp_get_theme();
		$this->trucking_company_theme_title = $trucking_company_current_theme->get( 'Name' );
		$this->trucking_company_theme_name = strtolower( preg_replace( '#[^a-zA-Z]#', '', $trucking_company_current_theme->get( 'Name' ) ) );
		$this->trucking_company_page_slug = apply_filters( $this->trucking_company_theme_name . '_theme_setup_wizard_trucking_company_page_slug', $this->trucking_company_theme_name . '-wizard' );
		$this->parent_slug = apply_filters( $this->trucking_company_theme_name . '_theme_setup_wizard_parent_slug', '' );

	}
	
	/**
	 * Hooks and filters
	 * @since 1.0.0
	 */	
	public function init() {

		add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
		add_action( 'admin_menu', array( $this, 'menu_page' ) );
		add_action( 'wp_ajax_trucking_company_setup_widgets', array( $this, 'trucking_company_setup_widgets' ) );
		
	}
	
	public function enqueue_scripts() {
		wp_enqueue_style( 'trucking-company-homepage-setup-style', get_template_directory_uri() . '/inc/homepage-setup/assets/css/homepage-setup-style.css');
		wp_register_script( 'trucking-company-homepage-setup-script', get_template_directory_uri() . '/inc/homepage-setup/assets/js/homepage-setup-script.js', array( 'jquery' ), time() );
		wp_localize_script( 
			'trucking-company-homepage-setup-script',
			'whizzie_params',
			array(
				'ajaxurl' 		=> admin_url( 'admin-ajax.php' ),
				'wpnonce' 		=> wp_create_nonce( 'whizzie_nonce' ),
				'verify_text'	=> esc_html( 'verifying', 'trucking-company' )
			)
		);
		wp_enqueue_script( 'trucking-company-homepage-setup-script' );
	}
	
	public static function get_instance() {
		if ( ! self::$instance ) {
			self::$instance = new self;
		}
		return self::$instance;
	}
	
	/**
	 * Make a modal screen for the wizard
	 */
	public function menu_page() {
		add_theme_page( esc_html( $this->trucking_company_page_title ), esc_html( $this->trucking_company_page_title ), 'manage_options', $this->trucking_company_page_slug, array( $this, 'wizard_page' ) );
	}
	
	/**
	 * Make an interface for the wizard
	 */
	public function wizard_page() {

		$url = wp_nonce_url( add_query_arg( array( 'plugins' => 'go' ) ), 'whizzie-setup' );
		$method = '';
		$fields = array_keys( $_POST );

		if ( false === ( $creds = request_filesystem_credentials( esc_url_raw( $url ), $method, false, false, $fields ) ) ) {
			return true;
		}

		if ( ! WP_Filesystem( $creds ) ) {
			request_filesystem_credentials( esc_url_raw( $url ), $method, true, false, $fields );
			return true;
		}

		$trucking_company_theme = wp_get_theme();
		$trucking_company_theme_title = $trucking_company_theme->get( 'Name' );
		$trucking_company_theme_version = $trucking_company_theme->get( 'Version' );

		?>
		<div class="wrap">
			<?php
				printf( '<h1>%s %s</h1>', esc_html( $trucking_company_theme_title ), esc_html( '(Version :- ' . $trucking_company_theme_version . ')' ) );
			?>
			<div class="homepage-setup">
				<div class="homepage-setup-theme-bundle">
					<div class="homepage-setup-theme-bundle-one">
						<h1><?php echo esc_html__( 'WP Theme Bundle', 'trucking-company' ); ?></h1>
						<p><?php echo wp_kses_post( 'Get <span>15% OFF</span> on all WordPress themes! Use code <span>"BNDL15OFF"</span> at checkout. Limited time offer!' ); ?></p>
					</div>
					<div class="homepage-setup-theme-bundle-two">
						<p><?php echo wp_kses_post( 'Extra <span>15%</span> OFF' ); ?></p>
					</div>
					<div class="homepage-setup-theme-bundle-three">
						<img src="<?php echo esc_url( get_template_directory_uri() . '/inc/homepage-setup/assets/homepage-setup-images/bundle-banner.png' ); ?>" alt="<?php echo esc_attr__( 'Theme Bundle Image', 'trucking-company' ); ?>">
					</div>
					<div class="homepage-setup-theme-bundle-four">
						<p><?php echo wp_kses_post( '<span>$2795</span>$69' ); ?></p>
						<a target="_blank" href="<?php echo esc_url( TRUCKING_COMPANY_BUNDLE_BUTTON ); ?>"><?php echo esc_html__( 'SHOP NOW', 'trucking-company' ); ?> <span class="dashicons dashicons-arrow-right-alt2"></span></a>
					</div>
				</div>
			</div>
			
			<div class="card whizzie-wrap">
				<div class="demo_content_image">
					<div class="demo_content">
						<?php
							$trucking_company_steps = $this->get_steps();
							echo '<ul class="whizzie-menu">';
							foreach ( $trucking_company_steps as $trucking_company_step ) {
								$class = 'step step-' . esc_attr( $trucking_company_step['id'] );
								echo '<li data-step="' . esc_attr( $trucking_company_step['id'] ) . '" class="' . esc_attr( $class ) . '">';
								printf( '<h2>%s</h2>', esc_html( $trucking_company_step['title'] ) );

								$content = call_user_func( array( $this, $trucking_company_step['view'] ) );
								if ( isset( $content['summary'] ) ) {
									printf(
										'<div class="summary">%s</div>',
										wp_kses_post( $content['summary'] )
									);
								}
								if ( isset( $content['detail'] ) ) {
									printf(
										'<div class="detail">%s</div>',
										wp_kses_post( $content['detail'] )
									);
								}
								if ( isset( $trucking_company_step['button_text'] ) && $trucking_company_step['button_text'] ) {
									printf( 
										'<div class="button-wrap"><a href="#" class="button button-primary do-it" data-callback="%s" data-step="%s">%s</a></div>',
										esc_attr( $trucking_company_step['callback'] ),
										esc_attr( $trucking_company_step['id'] ),
										esc_html( $trucking_company_step['button_text'] )
									);
								}
								echo '</li>';
							}
							echo '</ul>';
						?>
						
						<ul class="whizzie-nav">
							<?php
							$step_number = 1;	
							foreach ( $trucking_company_steps as $trucking_company_step ) {
								echo '<li class="nav-step-' . esc_attr( $trucking_company_step['id'] ) . '">';
								echo '<span class="step-number">' . esc_html( $step_number ) . '</span>';
								echo '</li>';
								$step_number++;
							}
							?>
							<div class="blank-border"></div>
						</ul>

						<div class="homepage-setup-links">
							<div class="homepage-setup-links buttons">
								<a href="<?php echo esc_url( TRUCKING_COMPANY_LITE_DOCS_PRO ); ?>" target="_blank" class="button button-primary"><?php echo esc_html__( 'Free Documentation', 'trucking-company' ); ?></a>
								<a href="<?php echo esc_url( TRUCKING_COMPANY_BUY_NOW ); ?>" class="button button-primary" target="_blank"><?php echo esc_html__( 'Get Premium', 'trucking-company' ); ?></a>
								<a href="<?php echo esc_url( TRUCKING_COMPANY_DEMO_PRO ); ?>" class="button button-primary" target="_blank"><?php echo esc_html__( 'Premium Demo', 'trucking-company' ); ?></a>
								<a href="<?php echo esc_url( TRUCKING_COMPANY_SUPPORT_FREE ); ?>" target="_blank" class="button button-primary"><?php echo esc_html__( 'Support Forum', 'trucking-company' ); ?></a>
							</div>
						</div> <!-- .demo_image -->

						<div class="step-loading"><span class="spinner"></span></div>
					</div> <!-- .demo_content -->

					<div class="homepage-setup-image">
						<div class="homepage-setup-theme-buynow">
							<div class="homepage-setup-theme-buynow-one">
								<h1><?php echo wp_kses_post( 'Trucking Company<br>WordPress Theme' ); ?></h1>
								<p><?php echo wp_kses_post( '<span>25%<br>Off</span> SHOP NOW' ); ?></p>
							</div>
							<div class="homepage-setup-theme-buynow-two">
								<img src="<?php echo esc_url( get_template_directory_uri() . '/inc/homepage-setup/assets/homepage-setup-images/trucking-company.png' ); ?>" alt="<?php echo esc_attr__( 'Theme Bundle Image', 'trucking-company' ); ?>">
							</div>
							<div class="homepage-setup-theme-buynow-three">
								<p><?php echo wp_kses_post( 'Get <span>25% OFF</span> on Premium Trucking Company WordPress Theme Use code <span>"NYTHEMES25"</span> at checkout.' ); ?></p>
							</div>
							<div class="homepage-setup-theme-buynow-four">
								<a target="_blank" href="<?php echo esc_url( TRUCKING_COMPANY_BUY_NOW ); ?>"><?php echo esc_html__( 'Upgrade To Pro With Just $40', 'trucking-company' ); ?></a>
							</div>
						</div>
					</div> <!-- .demo_image -->

				</div> <!-- .demo_content_image -->
			</div> <!-- .whizzie-wrap -->
		</div> <!-- .wrap -->
		<?php
	}


	/**
	 * Set options for the steps
	 * Incorporate any options set by the theme dev
	 * Return the array for the steps
	 * @return Array
	 */
	public function get_steps() {
		$trucking_company_dev_steps = $this->config_steps;
		$trucking_company_steps = array(
			'widgets' => array(
				'id'			=> 'widgets',
				'title'			=> __( 'Setup Home Page', 'trucking-company' ),
				'icon'			=> 'welcome-widgets-menus',
				'view'			=> 'get_step_widgets',
				'callback'		=> 'trucking_company_install_widgets',
				'button_text'	=> __( 'Start Home Page Setup', 'trucking-company' ),
				'can_skip'		=> false
			),
			'done' => array(
				'id'			=> 'done',
				'title'			=> __( 'Customize Your Site', 'trucking-company' ),
				'icon'			=> 'yes',
				'view'			=> 'get_step_done',
				'callback'		=> ''
			)
		);
		
		// Iterate through each step and replace with dev config values
		if( $trucking_company_dev_steps ) {
			// Configurable elements - these are the only ones the dev can update from homepage-setup-settings.php
			$can_config = array( 'title', 'icon', 'button_text', 'can_skip' );
			foreach( $trucking_company_dev_steps as $trucking_company_dev_step ) {
				// We can only proceed if an ID exists and matches one of our IDs
				if( isset( $trucking_company_dev_step['id'] ) ) {
					$id = $trucking_company_dev_step['id'];
					if( isset( $trucking_company_steps[$id] ) ) {
						foreach( $can_config as $element ) {
							if( isset( $trucking_company_dev_step[$element] ) ) {
								$trucking_company_steps[$id][$element] = $trucking_company_dev_step[$element];
							}
						}
					}
				}
			}
		}
		return $trucking_company_steps;
	}
	
	/**
	 * Print the content for the widgets step
	 * @since 1.1.0
	 */
	public function get_step_widgets() { ?> <?php }
	
	/**
	 * Print the content for the final step
	 */
	public function get_step_done() { ?>
		<div id="trucking-company-demo-setup-guid">
			<div class="customize_div">
				<div class="customize_div finish">
					<div class="customize_div finish btns">
						<h3><?php echo esc_html( 'Your Site Is Ready To View' ); ?></h3>
						<div class="btnsss">
							<a target="_blank" href="<?php echo esc_url( get_home_url() ); ?>" class="button button-primary">
								<?php esc_html_e( 'View Your Site', 'trucking-company' ); ?>
							</a>
							<a target="_blank" href="<?php echo esc_url( admin_url( 'customize.php' ) ); ?>" class="button button-primary">
								<?php esc_html_e( 'Customize Your Site', 'trucking-company' ); ?>
							</a>
							<a href="<?php echo esc_url(admin_url()); ?>" class="button button-primary">
								<?php esc_html_e( 'Finsh', 'trucking-company' ); ?>
							</a>
						</div>
					</div>
					<div class="trucking-company-setup-finish">
						<img src="<?php echo esc_url( get_template_directory_uri() . '/screenshot.png' ); ?>"/>
					</div>
				</div>
			</div>
		</div>
	<?php }


	public function trucking_company_customizer_nav_menu() {

		/* -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Trucking Company Primary Menu -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-*/

		$trucking_company_themename = 'Trucking Company';
		$trucking_company_menuname = $trucking_company_themename . ' Primary Menu';
		$trucking_company_menulocation = 'trucking-company-primary-menu';
		$trucking_company_menu_exists = wp_get_nav_menu_object($trucking_company_menuname);

		if (!$trucking_company_menu_exists) {
			$trucking_company_menu_id = wp_create_nav_menu($trucking_company_menuname);

			// Home
			wp_update_nav_menu_item($trucking_company_menu_id, 0, array(
				'menu-item-title' => __('Home', 'trucking-company'),
				'menu-item-classes' => 'home',
				'menu-item-url' => home_url('/'),
				'menu-item-status' => 'publish'
			));

			// About
			$trucking_company_page_about = get_page_by_path('about');
			if($trucking_company_page_about){
				wp_update_nav_menu_item($trucking_company_menu_id, 0, array(
					'menu-item-title' => __('About', 'trucking-company'),
					'menu-item-classes' => 'about',
					'menu-item-url' => get_permalink($trucking_company_page_about),
					'menu-item-status' => 'publish'
				));
			}

			// Services
			$trucking_company_page_services = get_page_by_path('services');
			if($trucking_company_page_services){
				wp_update_nav_menu_item($trucking_company_menu_id, 0, array(
					'menu-item-title' => __('Services', 'trucking-company'),
					'menu-item-classes' => 'services',
					'menu-item-url' => get_permalink($trucking_company_page_services),
					'menu-item-status' => 'publish'
				));
			}

			// Shop Page (WooCommerce)
			if (class_exists('WooCommerce')) {
				$trucking_company_shop_page_id = wc_get_page_id('shop');
				if ($trucking_company_shop_page_id) {
					wp_update_nav_menu_item($trucking_company_menu_id, 0, array(
						'menu-item-title' => __('Shop', 'trucking-company'),
						'menu-item-classes' => 'shop',
						'menu-item-url' => get_permalink($trucking_company_shop_page_id),
						'menu-item-status' => 'publish'
					));
				}
			}

			// Blog
			$trucking_company_page_blog = get_page_by_path('blog');
			if($trucking_company_page_blog){
				wp_update_nav_menu_item($trucking_company_menu_id, 0, array(
					'menu-item-title' => __('Blog', 'trucking-company'),
					'menu-item-classes' => 'blog',
					'menu-item-url' => get_permalink($trucking_company_page_blog),
					'menu-item-status' => 'publish'
				));
			}

			// 404 Page
			$trucking_company_notfound = get_page_by_path('404 Page');
			if($trucking_company_notfound){
				wp_update_nav_menu_item($trucking_company_menu_id, 0, array(
					'menu-item-title' => __('404 Page', 'trucking-company'),
					'menu-item-classes' => '404',
					'menu-item-url' => get_permalink($trucking_company_notfound),
					'menu-item-status' => 'publish'
				));
			}

			if (!has_nav_menu($trucking_company_menulocation)) {
				$trucking_company_locations = get_theme_mod('nav_menu_locations');
				$trucking_company_locations[$trucking_company_menulocation] = $trucking_company_menu_id;
				set_theme_mod('nav_menu_locations', $trucking_company_locations);
			}
		}
	}

	
	/**
	 * Imports the Demo Content
	 * @since 1.1.0
	 */
	public function trucking_company_setup_widgets(){

		/* -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- MENUS PAGES -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-*/
		
			// Creation of home page //
			$trucking_company_home_content = '';
			$trucking_company_home_title = 'Home';
			$trucking_company_home = array(
					'post_type' => 'page',
					'post_title' => $trucking_company_home_title,
					'post_content'  => $trucking_company_home_content,
					'post_status' => 'publish',
					'post_author' => 1,
					'post_slug' => 'home'
			);
			$trucking_company_home_id = wp_insert_post($trucking_company_home);

			add_post_meta( $trucking_company_home_id, '_wp_page_template', 'frontpage.php' );

			$trucking_company_home = get_page_by_path( 'Home' );
			update_option( 'page_on_front', $trucking_company_home->ID );
			update_option( 'show_on_front', 'page' );

			// Creation of blog page //
			$trucking_company_blog_title = 'Blog';
			$trucking_company_blog_check = get_page_by_path('blog');
			if (!$trucking_company_blog_check) {
				$trucking_company_blog = array(
					'post_type'    => 'page',
					'post_title'   => $trucking_company_blog_title,
					'post_status'  => 'publish',
					'post_author'  => 1,
					'post_name'    => 'blog'
				);
				$trucking_company_blog_id = wp_insert_post($trucking_company_blog);

				if (!is_wp_error($trucking_company_blog_id)) {
					update_option('page_for_posts', $trucking_company_blog_id);
				}
			}

			// Creation of about page //
			$trucking_company_about_title = 'About';
			$trucking_company_about_content = 'What is Lorem Ipsum?
														Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
														&nbsp;
														Why do we use it?
														It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using Content here, content here, making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for lorem ipsum will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
														&nbsp;
														Where does it come from?
														There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which dont look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isnt anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.
														&nbsp;
														Why do we use it?
														It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using Content here, content here, making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for lorem ipsum will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
														&nbsp;
														Where does it come from?
														There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which dont look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isnt anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.';
			$trucking_company_about_check = get_page_by_path('about');
			if (!$trucking_company_about_check) {
				$trucking_company_about = array(
					'post_type'    => 'page',
					'post_title'   => $trucking_company_about_title,
					'post_content'   => $trucking_company_about_content,
					'post_status'  => 'publish',
					'post_author'  => 1,
					'post_name'    => 'about'
				);
				wp_insert_post($trucking_company_about);
			}

			// Creation of services page //
			$trucking_company_services_title = 'Services';
			$trucking_company_services_content = 'What is Lorem Ipsum?
														Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.
														&nbsp;
														Why do we use it?
														It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using Content here, content here, making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for lorem ipsum will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
														&nbsp;
														Where does it come from?
														There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which dont look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isnt anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.
														&nbsp;
														Why do we use it?
														It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using Content here, content here, making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for lorem ipsum will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
														&nbsp;
														Where does it come from?
														There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which dont look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isnt anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.';
			$trucking_company_services_check = get_page_by_path('services');
			if (!$trucking_company_services_check) {
				$trucking_company_services = array(
					'post_type'    => 'page',
					'post_title'   => $trucking_company_services_title,
					'post_content'   => $trucking_company_services_content,
					'post_status'  => 'publish',
					'post_author'  => 1,
					'post_name'    => 'services'
				);
				wp_insert_post($trucking_company_services);
			}

			// Creation of 404 page //
			$trucking_company_notfound_title = '404 Page';
			$trucking_company_notfound = array(
				'post_type'   => 'page',
				'post_title'  => $trucking_company_notfound_title,
				'post_status' => 'publish',
				'post_author' => 1,
				'post_slug'   => '404'
			);
			$trucking_company_notfound_id = wp_insert_post($trucking_company_notfound);
			add_post_meta($trucking_company_notfound_id, '_wp_page_template', '404.php');


		/* -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- SLIDER POST -+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-*/

			$trucking_company_slider_title = array('Trustworthy Packers and Movers Ensuring Safe and Efficient Transfers');
			for($trucking_company_i=1;$trucking_company_i<=1;$trucking_company_i++){

				$trucking_company_title = $trucking_company_slider_title[$trucking_company_i-1];
				$trucking_company_content = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim.';

				// Create post object
				$trucking_company_my_post = array(
						'post_title'    => wp_strip_all_tags( $trucking_company_title ),
						'post_content'  => $trucking_company_content,
						'post_status'   => 'publish',
						'post_type'     => 'post',
				);
				// Insert the post into the database
				$trucking_company_post_id = wp_insert_post( $trucking_company_my_post );

				wp_set_object_terms($trucking_company_post_id, 'Slider', 'category', true);

				wp_set_object_terms($trucking_company_post_id, 'Slider', 'post_tag', true);

				$trucking_company_image_url = get_template_directory_uri().'/inc/homepage-setup/assets/homepage-setup-images/slider-img'.$trucking_company_i.'.png';

				$trucking_company_image_name= 'slider-img'.$trucking_company_i.'.png';
				$upload_dir       = wp_upload_dir();
				// Set upload folder
				$trucking_company_image_data       = file_get_contents($trucking_company_image_url);
				// Get image data
				$unique_file_name = wp_unique_filename( $upload_dir['path'], $trucking_company_image_name );

				$trucking_company_filename = basename( $unique_file_name ); 
				
				// Check folder permission and define file location
				if( wp_mkdir_p( $upload_dir['path'] ) ) {
						$trucking_company_file = $upload_dir['path'] . '/' . $trucking_company_filename;
				} else {
						$trucking_company_file = $upload_dir['basedir'] . '/' . $trucking_company_filename;
				}
				// Create the image  file on the server
				// Generate unique name
				if ( ! function_exists( 'WP_Filesystem' ) ) {
					require_once( ABSPATH . 'wp-admin/includes/file.php' );
				}
				
				WP_Filesystem();
				global $wp_filesystem;
				
				if ( ! $wp_filesystem->put_contents( $trucking_company_file, $trucking_company_image_data, FS_CHMOD_FILE ) ) {
					wp_die( 'Error saving file!' );
				}
				// Check image file type
				$wp_filetype = wp_check_filetype( $trucking_company_filename, null );
				// Set attachment data
				$trucking_company_attachment = array(
						'post_mime_type' => $wp_filetype['type'],
						'post_title'     => sanitize_file_name( $trucking_company_filename ),
						'post_content'   => '',
						'post_type'     => 'post',
						'post_status'    => 'inherit'
				);
				// Create the attachment
				$trucking_company_attach_id = wp_insert_attachment( $trucking_company_attachment, $trucking_company_file, $trucking_company_post_id );
				// Include image.php
				require_once(ABSPATH . 'wp-admin/includes/image.php');
				// Define attachment metadata
				$trucking_company_attach_data = wp_generate_attachment_metadata( $trucking_company_attach_id, $trucking_company_file );
				// Assign metadata to attachment
				wp_update_attachment_metadata( $trucking_company_attach_id, $trucking_company_attach_data );
				// And finally assign featured image to post
				set_post_thumbnail( $trucking_company_post_id, $trucking_company_attach_id );

			}
        

			$trucking_company_services_section_progress_name=array('Plane Freight','Railways Freight','Train Freight','Road Freight','Ocean Freight','Other Freight');
			$trucking_company_services_section_progress_count=array('90%','70%','50%','30%','85%','45%');
			for($kindergarten_toys_i=1;$kindergarten_toys_i<=6;$kindergarten_toys_i++) {
				set_theme_mod( 'trucking_company_services_section_progress_name'.$kindergarten_toys_i, $trucking_company_services_section_progress_name[$kindergarten_toys_i-1] );
				set_theme_mod( 'trucking_company_services_section_progress_count'.$kindergarten_toys_i, $trucking_company_services_section_progress_count[$kindergarten_toys_i-1] );
			}
			

        $this->trucking_company_customizer_nav_menu();

	    exit;
	}
}