<?php
/**
 * Corporate Consultancy functions and definitions
 *
 * @link https://developer.wordpress.org/themes/basics/theme-functions/
 *
 * @package Corporate Consultancy
 */

if ( ! defined( 'CORPORATE_CONSULTANCY_VERSION' ) ) {
	// Replace the version number of the theme on each release.
	define( 'CORPORATE_CONSULTANCY_VERSION', wp_get_theme()->get( 'Version' ) );
}

if ( ! function_exists( 'corporate_consultancy_setup' ) ) :
	/**
	 * Sets up theme defaults and registers support for various WordPress features.
	 *
	 * Note that this function is hooked into the after_setup_theme hook, which
	 * runs before the init hook. The init hook is too late for some features, such
	 * as indicating support for post thumbnails.
	 */
	function corporate_consultancy_setup() {

		load_theme_textdomain( 'corporate-consultancy', get_template_directory() . '/languages' );

		// Add default posts and comments RSS feed links to head.
		add_theme_support( 'automatic-feed-links' );

		add_theme_support( 'align-wide' );

		add_theme_support( 'woocommerce' );

		// Add support for block styles.
		add_theme_support( 'wp-block-styles' );

		// Enqueue editor styles.
		add_editor_style( 'style.css' );

		// Experimental support for adding blocks inside nav menus
		add_theme_support( 'block-nav-menus' );

		// Add support for experimental link color control.
		add_theme_support( 'experimental-link-color' );
	}
endif;
add_action( 'after_setup_theme', 'corporate_consultancy_setup' );

function corporate_consultancy_scripts() {
    $CORPORATE_CONSULTANCY_VERSION_string = '1.0.0'; // Add this line

    wp_enqueue_style('corporate-consultancy-style', get_stylesheet_uri(), array() );
    wp_enqueue_script('jquery-wow', get_template_directory_uri() . '/assets/js/wow.js', array('jquery'));
    wp_enqueue_style('animate-css', get_template_directory_uri() . '/assets/css/animate.css');

    //font-awesome
    wp_enqueue_style( 'fontawesome', get_template_directory_uri() . '/font-awesome/css/all.css', array(), '6.7.0' );
    wp_enqueue_style( 'owl.carousel-style', get_template_directory_uri().'/assets/css/owl.carousel.css', array(), $CORPORATE_CONSULTANCY_VERSION_string );
    wp_enqueue_script( 'owl.carousel-js', get_template_directory_uri(). '/assets/js/owl.carousel.js', array('jquery') ,$CORPORATE_CONSULTANCY_VERSION_string,true);
    
    wp_enqueue_script('corporate-consultancy-custom-scripts', get_template_directory_uri() . '/assets/js/custom.js', array('jquery'), '', true);
    wp_style_add_data( 'corporate-consultancy-style', 'rtl', 'replace' );

}
add_action( 'wp_enqueue_scripts', 'corporate_consultancy_scripts' );


/**
 * Enqueue block editor styles
 */
function corporate_consultancy_enqueue_block_editor_styles() {
    wp_enqueue_style(
        'corporate-consultancy-block-editor-style', // Handle
        get_theme_file_uri( '/assets/css/block-editor.css' ), // File URI
        array(), // Dependencies
        filemtime( get_theme_file_path( '/assets/css/block-editor.css' ) ) // Version with file modification time for cache busting
    );
}
add_action( 'enqueue_block_editor_assets', 'corporate_consultancy_enqueue_block_editor_styles' );


function corporate_consultancy_init_setup() {

    /**
     * Section Pro
     */
    require get_template_directory() . '/inc/section-pro/customizer.php';

    // Add block patterns
    require get_template_directory() . '/inc/block-patterns.php';
    
    // TGM
    require_once get_template_directory() . '/inc/tgm/tgm.php';

}
add_action( 'after_setup_theme', 'corporate_consultancy_init_setup' );


//////////////////////////////////////////////   Function for Translation Error   //////////////////////////////////////////////////////
function corporate_consultancy_enqueue_function() {

    /**
    * GET START.
    */
    require get_template_directory() . '/getstarted/corporate_consultancy_about_page.php';

    define('CORPORATE_CONSULTANCY_FREE_SUPPORT',__('https://www.revolutionwp.com/products/corporate-consultancy','corporate-consultancy'));
    define('CORPORATE_CONSULTANCY_PRO_SUPPORT',__('https://www.revolutionwp.com/support/revolution-wp/','corporate-consultancy'));
    define('CORPORATE_CONSULTANCY_REVIEW',__('https://wordpress.org/support/theme/corporate-consultancy/reviews/','corporate-consultancy'));
    define('CORPORATE_CONSULTANCY_BUY_NOW',__('https://www.revolutionwp.com/products/business-consultant-wordpress-theme','corporate-consultancy'));
    define('CORPORATE_CONSULTANCY_LIVE_DEMO',__('https://demo.revolutionwp.com/corporate-consultancy-pro/','corporate-consultancy'));
    define('CORPORATE_CONSULTANCY_PRO_DOC',__('https://demo.revolutionwp.com/wpdocs/corporate-consultancy-pro/','corporate-consultancy'));
    define('CORPORATE_CONSULTANCY_LITE_DOC',__('https://demo.revolutionwp.com/wpdocs/corporate-consultancy-free//','corporate-consultancy'));
    
}
add_action( 'after_setup_theme', 'corporate_consultancy_enqueue_function' );

// Add admin notice
function corporate_consultancy_admin_notice() { 
    global $pagenow;
    $corporate_consultancy_theme_args      = wp_get_theme();
    $corporate_consultancy_meta            = get_option( 'corporate_consultancy_admin_notice' );
    $name            = $corporate_consultancy_theme_args->__get( 'Name' );
    $corporate_consultancy_current_screen  = get_current_screen();

    if( !$corporate_consultancy_meta ){
        if( is_network_admin() ){
            return;
        }

        if( ! current_user_can( 'manage_options' ) ){
            return;
        } 
        
        if( $corporate_consultancy_current_screen->base !== 'appearance_page_corporate_consultancy_guide') { ?>

            <div class="notice notice-success corporate-consultancy-welcome-notice">
                <p class="corporate-consultancy-dismiss-link">
                    <strong>
                        <a href="<?php echo esc_url( add_query_arg( 'corporate_consultancy_admin_notice', '1' ) ); ?>">
                            <?php esc_html_e( 'Dismiss', 'corporate-consultancy' ); ?>
                        </a>
                    </strong>
                </p>

                <div class="corporate-consultancy-welcome-notice-wrap">
                    <h2 class="corporate-consultancy-notice-title">
                        <span class="dashicons dashicons-admin-home"></span> 
                        <?php 
                            $corporate_consultancy_theme_name = wp_get_theme()->get( 'Name' );
                            /* translators: %s!: Theme Name. */
                            echo esc_html( sprintf( __( 'Welcome to the free theme: %s!', 'corporate-consultancy' ), $corporate_consultancy_theme_name ) );
                        ?>
                    </h2>
                    <p class="corporate-consultancy-notice-desc">
                        <?php esc_html_e( 'Get started by exploring the features of your new theme. Customize your design, add your content, and create a site that fits your vision.', 'corporate-consultancy' ); ?>
                    </p>

                    <div class="corporate-consultancy-welcome-info">
                        <div class="corporate-consultancy-welcome-thumb">
                            <img src="<?php echo esc_url( get_stylesheet_directory_uri() . '/screenshot.png' ); ?>" alt="<?php esc_attr_e( 'Theme Screenshot', 'corporate-consultancy' ); ?>">
                        </div>

                        <div class="corporate-consultancy-welcome-getting-started">
                            <h3><span class="dashicons dashicons-art"></span> <?php esc_html_e( 'Customize Your Theme', 'corporate-consultancy' ); ?></h3>
                            <p><?php esc_html_e( 'Want to make it truly yours? Explore the Getting Started Guide to personalize your site to suit your needs.', 'corporate-consultancy' ); ?></p>
                            <p><a class="info-link button" href="<?php echo esc_url( admin_url( 'themes.php?page=corporate-consultancy-getstart-page' ) ); ?>"><?php esc_html_e( 'View Getting Started Guide', 'corporate-consultancy' ); ?></a></p>
                        </div>
                    </div>
                </div>
            </div>

            <?php
        }

    }
}

add_action( 'admin_notices', 'corporate_consultancy_admin_notice' );

if( ! function_exists( 'corporate_consultancy_update_admin_notice' ) ) :
/**
 * Updating admin notice on dismiss
*/
function corporate_consultancy_update_admin_notice(){
    if ( isset( $_GET['corporate_consultancy_admin_notice'] ) && $_GET['corporate_consultancy_admin_notice'] = '1' ) {
        update_option( 'corporate_consultancy_admin_notice', true );
    }
}
endif;
add_action( 'admin_init', 'corporate_consultancy_update_admin_notice' );

add_action('after_switch_theme', 'corporate_consultancy_setup_options');
function corporate_consultancy_setup_options () {
    update_option('corporate_consultancy_admin_notice', FALSE );
}

// Enqueue custom admin notice CSS
function corporate_consultancy_enqueue_admin_notice_css( $hook ) {
    // Load CSS only on wp-admin pages (not the front end)
    wp_enqueue_style(
        'corporate-consultancy-admin-notice-style',
        get_template_directory_uri() . '/assets/css/admin-notice.css',
        array(),
        wp_get_theme()->get( 'Version' )
    );
}
add_action( 'admin_enqueue_scripts', 'corporate_consultancy_enqueue_admin_notice_css' );


// changelog
function corporate_consultancy_get_changelog_from_readme() {
    $file_path = get_template_directory() . '/readme.txt';

    if (!file_exists($file_path)) {
        return [];
    }

    $content = file_get_contents($file_path);

    // Check if changelog exists
    if (strpos($content, '== Changelog ==') === false) {
        return [];
    }

    // Extract only changelog section
    $changelog = explode('== Changelog ==', $content)[1];

    // Match versions like = 1.0 =
    preg_match_all('/=\s*([\d\.]+)\s*=\s*(.*?)(?=\n=\s*[\d\.]+\s*=|\Z)/s', $changelog, $matches, PREG_SET_ORDER);

    return $matches;
}