<?php

/**
 *
 * This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://www.gnu.org/licenses/gpl-3.0.txt
 */

if ( ! defined( 'ABSPATH' ) ) {
    exit;
} // Exit if accessed directly


class alhena_lite_customize {

	public $theme_fields;

	public function __construct( $fields = array() ) {

		$this->theme_fields = $fields;

		add_action ('admin_init' , array( &$this, 'admin_scripts' ) );
		add_action ('customize_register' , array( &$this, 'customize_panel' ) );
		add_action ('customize_controls_enqueue_scripts' , array( &$this, 'customize_scripts' ) );

	}

	public function admin_scripts() {

		global $wp_version, $pagenow;

		$file_dir = get_template_directory_uri()."/core/admin/assets/";

		if ( $pagenow == 'post.php' || $pagenow == 'post-new.php' || $pagenow == 'edit.php' ) {
			wp_enqueue_style('alhena-lite-style', $file_dir.'css/theme.css' );
			wp_enqueue_script('alhena-lite-script', $file_dir.'js/theme.js',array('jquery'),'',TRUE );
			wp_enqueue_script( "jquery-ui-core", array('jquery'));
			wp_enqueue_script( "jquery-ui-tabs", array('jquery'));
		}

	}

	public function customize_scripts() {

		wp_enqueue_style (
			'alhena-lite_panel',
			get_template_directory_uri() . '/core/admin/assets/css/customize.css',
			array(),
			''
		);

	}

	public function customize_panel ( $wp_customize ) {

		$theme_panel = $this->theme_fields ;

		foreach ( $theme_panel as $element ) {

			switch ( $element['type'] ) {

				case 'panel' :

					$wp_customize->add_panel( $element['id'], array(

						'title' => $element['title'],
						'priority' => $element['priority'],
						'description' => $element['description'],
						'capability' => 'edit_theme_options',

					) );

				break;

				case 'section' :

					$wp_customize->add_section( $element['id'], array(

						'title' => $element['title'],
						'panel' => $element['panel'],
						'priority' => $element['priority'],
						'capability' => 'edit_theme_options',

					) );

				break;

				case 'text' :

					$wp_customize->add_setting( $element['id'], array(

						'sanitize_callback' => 'sanitize_text_field',
						'default' => $element['std'],
						'capability' => 'edit_theme_options',

					) );

					$wp_customize->add_control( $element['id'] , array(

						'type' => $element['type'],
						'section' => $element['section'],
						'label' => $element['label'],
						'description' => $element['description'],

					) );

				break;

				case 'url' :

					$wp_customize->add_setting( $element['id'], array(

						'sanitize_callback' => 'esc_url_raw',
						'default' => $element['std'],
						'capability' => 'edit_theme_options',

					) );

					$wp_customize->add_control( $element['id'] , array(

						'type' => $element['type'],
						'section' => $element['section'],
						'label' => $element['label'],
						'description' => $element['description'],

					) );

				break;

				case 'upload' :

					$wp_customize->add_setting( $element['id'], array(

						'default' => $element['std'],
						'capability' => 'edit_theme_options',
						'sanitize_callback' => 'esc_url_raw',
						'capability' => 'edit_theme_options',

					) );

					$wp_customize->add_control( new WP_Customize_Image_Control($wp_customize, $element['id'], array(

						'label' => $element['label'],
						'description' => $element['description'],
						'section' => $element['section'],
						'settings' => $element['id'],

					)));

				break;

				case 'color' :

					$wp_customize->add_setting( $element['id'], array(

						'sanitize_callback' => 'sanitize_hex_color',
						'default' => $element['std'],
						'capability' => 'edit_theme_options',

					) );

					$wp_customize->add_control( $element['id'] , array(

						'type' => $element['type'],
						'section' => $element['section'],
						'label' => $element['label'],
						'description' => $element['description'],

					) );

				break;

				case 'button' :

					$wp_customize->add_setting( $element['id'], array(

						'sanitize_callback' => array( &$this, 'customize_button_sanize' ),
						'default' => $element['std'],
						'capability' => 'edit_theme_options',

					) );

					$wp_customize->add_control( $element['id'] , array(

						'type' => 'url',
						'section' => $element['section'],
						'label' => $element['label'],
						'description' => $element['description'],

					) );

				break;

				case 'textarea' :

					$wp_customize->add_setting( $element['id'], array(

						'sanitize_callback' => 'esc_textarea',
						'default' => $element['std'],
						'capability' => 'edit_theme_options',

					) );

					$wp_customize->add_control( $element['id'] , array(

						'type' => $element['type'],
						'section' => $element['section'],
						'label' => $element['label'],
						'description' => $element['description'],

					) );

				break;

				case 'select' :

					$wp_customize->add_setting( $element['id'], array(

						'sanitize_callback' => array( &$this, 'customize_select_sanize' ),
						'default' => $element['std'],
						'capability' => 'edit_theme_options',

					) );

					$wp_customize->add_control( $element['id'] , array(

						'type' => $element['type'],
						'section' => $element['section'],
						'label' => $element['label'],
						'description' => $element['description'],
						'choices'  => $element['options'],

					) );

				break;

				case 'alhena-lite-customize-info' :

					$wp_customize->add_section( $element['id'], array(

						'title' => $element['title'],
						'priority' => $element['priority'],
						'capability' => 'edit_theme_options',

					) );

					$wp_customize->add_setting(  $element['id'], array(
						'sanitize_callback' => 'esc_url_raw'
					) );

					$wp_customize->add_control( new Alhenalite_Customize_Info_Control( $wp_customize,  $element['id'] , array(
						'section' => $element['section'],
					) ) );

				break;

			}

		}

		if ( alhena_lite_is_woocommerce_active() ) :

			$wp_customize->remove_control( 'woocommerce_catalog_rows');
			$wp_customize->remove_control( 'woocommerce_catalog_columns');

		endif;
   }

	public function customize_select_sanize ($value, $setting) {

		global $wp_customize;

		$control = $wp_customize->get_control( $setting->id );

		if ( array_key_exists( $value, $control->choices ) ) {

			return $value;

		} else {

			return $setting->default;

		}

	}

	public function customize_button_sanize ( $value, $setting ) {

		$sanize = array (

			'wip_footer_email_button' => 'mailto:',
			'wip_footer_skype_button' => 'skype:',
			'wip_footer_whatsapp_button' => 'tel:',

		);

		if (!isset($value) || $value == '' || $value == $sanize[$setting->id]) {

			return '';

		} elseif (!strstr($value, $sanize[$setting->id])) {

			return $sanize[$setting->id] . $value;

		} else {

			return esc_url_raw($value, array('mailto', 'skype', 'tel'));

		}

	}

}

if ( class_exists( 'WP_Customize_Control' ) ) {

	class Alhenalite_Customize_Info_Control extends WP_Customize_Control {

		public $type = "alhenalite-customize-info";

		public function render_content() { ?>

            <div class="inside">

                <h2><?php esc_html_e('Pay what you want','alhena-lite');?></h2>
                
                <p><?php esc_html_e('You have the freedom to set your own price for purchasing the Alhena theme and receive an additional bundle of 12 WordPress products.','alhena-lite');?></p>

                <h2><?php esc_html_e('Pro features of Alhena','alhena-lite');?></h2>

                <ul class="features-list">

                	<li><span class="dashicon dashicons dashicons-yes"></span><?php esc_html_e('7 blog layouts','alhena-lite');?></li>
                	<li><span class="dashicon dashicons dashicons-yes"></span><?php esc_html_e('Remove the copyright text from the footer','alhena-lite');?></li>
                	<li><span class="dashicon dashicons dashicons-yes"></span><?php esc_html_e('Choose custom colors','alhena-lite');?></li>
                	<li><span class="dashicon dashicons dashicons-yes"></span><?php esc_html_e('Portfolio section','alhena-lite');?></li>
                	<li><span class="dashicon dashicons dashicons-yes"></span><?php esc_html_e('Display a slideshow for gallery posts','alhena-lite');?></li>
                	<li><span class="dashicon dashicons dashicons-yes"></span><?php esc_html_e('Unlimited sidebars','alhena-lite');?></li>
                	<li><span class="dashicon dashicons dashicons-yes"></span><?php esc_html_e('Custom shortcodes','alhena-lite');?></li>
                	<li><span class="dashicon dashicons dashicons-yes"></span><?php esc_html_e('Shortcodes generator','alhena-lite');?></li>
                	<li><span class="dashicon dashicons dashicons-yes"></span><?php esc_html_e('Backup section','alhena-lite');?></li>
                	<li><span class="dashicon dashicons dashicons-yes"></span><?php esc_html_e('Sample data','alhena-lite');?></li>
                	<li><span class="dashicon dashicons dashicons-yes"></span><?php esc_html_e('Unlimited website usage','alhena-lite');?></li>
                	<li><span class="dashicon dashicons dashicons-yes"></span><?php esc_html_e('7 days money back guarantee','alhena-lite');?></li>

                </ul>

                <ul>
                
                    <li><a class="button demo-button" href="<?php echo esc_url( 'https://demo.themeinprogress.com/?theme=Alhena' ); ?>" title="<?php esc_attr_e('View live demo','alhena-lite');?>" target="_blank"><?php esc_html_e('View live demo','alhena-lite');?></a></li>
                    <li><a class="button purchase-button" href="<?php echo esc_url( 'https://www.themeinprogress.com/alhena-free-responsive-corporate-wordpress-theme/?ref=2&campaign=alhena-lite-panel' ); ?>" title="<?php esc_attr_e('Buy now','alhena-lite');?>" target="_blank"><?php esc_html_e('Buy now','alhena-lite');?></a></li>
                
                </ul>

            </div>

            <div class="inside">

                <h2><?php esc_html_e('Become a supporter','alhena-lite');?></h2>
                <p><?php esc_html_e("If you like this theme and support, I'd appreciate any of the following:","alhena-lite");?></p>

                <ul>

                    <li><a class="button" href="<?php echo esc_url( 'https://wordpress.org/support/view/theme-reviews/'.get_stylesheet().'#postform' ); ?>" title="<?php esc_attr_e('Rate this Theme','alhena-lite');?>" target="_blank"><?php esc_html_e('Rate this Theme','alhena-lite');?></a></li>
                    <li><a class="button" href="<?php echo esc_url( 'https://www.themeinprogress.com/reserved-area/' ); ?>" title="<?php esc_attr_e('Subscribe our newsletter','alhena-lite');?>" target="_blank"><?php esc_html_e('Subscribe our newsletter','alhena-lite');?></a></li>

                </ul>

            </div>

		<?php

		}

	}

}

?>
