<?php
/**
 * Lawyer Consultant functions and definitions.
 *
 * @package Lawyer Consultant
 */

/**
 *  Defining Constants
 */

// Core Constants
define('LAWYER_CONSULTANT_REQUIRED_PHP_VERSION', '5.6' );
define('LAWYER_CONSULTANT_DIR_PATH', get_template_directory());
define('LAWYER_CONSULTANT_DIR_URI', get_template_directory_uri());
define('LAWYER_CONSULTANT_AUT','https://www.legacytheme.net/products/free-lawyer-wordpress-theme/');

if ( ! function_exists( 'lawyer_consultant_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 lawyer_consultant_setup() {
    // Add default posts and comments RSS feed links to head.
    add_theme_support( 'automatic-feed-links' );

    /*
     * Let WordPress manage the document title.
     * By adding theme support, we declare that this theme does not use a
     * hard-coded <title> tag in the document head, and expect WordPress to
     * provide it for us.
     */
    add_theme_support( 'title-tag' );

    /*
     * Enable support for Post Thumbnails on posts and pages.
     *
     * @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
     */
    add_theme_support( 'post-thumbnails' );

    // support alig-wide
    add_theme_support( 'align-wide' );

    add_theme_support( "wp-block-styles" );

    add_theme_support( "responsive-embeds" );

    load_theme_textdomain( 'lawyer-consultant', get_template_directory() . '/languages' );

    // This theme uses wp_nav_menu() in one location.
    register_nav_menus( array(
        'primary' => esc_html__( 'Primary', 'lawyer-consultant' ),
    ) );

    /*
     * Switch default core markup for search form, comment form, and comments
     * to output valid HTML5.
     */
    add_theme_support( 'html5', array(      
        'comment-form',
        'comment-list',
        'gallery',
        'caption',
    ) );

    // Gallery post format
    add_theme_support( 'post-formats', array( 'gallery' ));

    // Add theme support for selective refresh for widgets.
    add_theme_support( 'customize-selective-refresh-widgets' );
}
endif;
add_action( 'after_setup_theme', 'lawyer_consultant_setup' );

/**
 * Set the content width in pixels, based on the theme's design and stylesheet.
 *
 * Priority 0 to make it available to lower priority callbacks.
 *
 * @global int $content_width
 */
function lawyer_consultant_content_width() {
	$GLOBALS['content_width'] = apply_filters( 'lawyer_consultant_content_width', 640 );
}
add_action( 'after_setup_theme', 'lawyer_consultant_content_width', 0 );

/**
 * Register widget area.
 *
 * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
 */
function lawyer_consultant_widgets_init() {
	//Footer widget columns
    $widget_num = absint(get_theme_mod( 'lawyer_consultant_footer_widgets', '4' ));
    for ( $i=1; $i <= $widget_num; $i++ ) :
        register_sidebar( array(
            'name'          => esc_html__( 'Footer Column', 'lawyer-consultant' ) . $i,
            'id'            => 'footer-' . $i,
            'description'   => '',
            'before_widget' => '<div id="%1$s" class="section %2$s">',
            'after_widget'  => '</div>',
            'before_title'  => '<h4 class="widget-title" itemprop="name">',
            'after_title'   => '</h4>',
        ) );
    endfor;

    register_sidebar( array(
		'name'          => esc_html__( 'Blog Sidebar', 'lawyer-consultant' ),
		'id'            => 'primary-sidebar',
		'description'   => esc_html__( 'Add widgets here.', 'lawyer-consultant' ),
		'before_widget' => '<div id="%1$s" class="widget %2$s">',
		'after_widget'  => '</div>',
		'before_title'  => '<h3 class="widget-title">',
		'after_title'   => '</h3>',
	) );

    register_sidebar( array(
        'name'          => esc_html__( 'Home Page Sidebar', 'lawyer-consultant' ),
        'id'            => 'home-sidebar',
        'description'   => esc_html__( 'Add widgets here.', 'lawyer-consultant' ),
        'before_widget' => '<aside id="secondary" class="widget %2$s">',
        'after_widget'  => '</aside>',
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
    ) );

    register_sidebar( array(
        'name'          => esc_html__( 'Sidebar 2', 'lawyer-consultant' ),
        'id'            => 'sidebar-2',
        'description'   => esc_html__( 'Add widgets here.', 'lawyer-consultant' ),
        'before_widget' => '<div id="%1$s" class="widget %2$s">',
        'after_widget'  => '</div>',
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
    ) );

    register_sidebar( array(
        'name'          => esc_html__( 'Sidebar 3', 'lawyer-consultant' ),
        'id'            => 'sidebar-3',
        'description'   => esc_html__( 'Add widgets here.', 'lawyer-consultant' ),
        'before_widget' => '<div id="%1$s" class="widget %2$s">',
        'after_widget'  => '</div>',
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
    ) );
}
add_action( 'widgets_init', 'lawyer_consultant_widgets_init' );

/** 
* Excerpt More
*/
function lawyer_consultant_excerpt_more( $more ) {
	if ( is_admin() ) {
		return $more;
	}
    return '&hellip;';
}
add_filter('excerpt_more', 'lawyer_consultant_excerpt_more');


/** 
* Custom excerpt length.
*/
function lawyer_consultant_excerpt_length() {
	$length= intval(get_theme_mod('lawyer_consultant_posts_excerpt_length',30));
    return $length;
}
add_filter('excerpt_length', 'lawyer_consultant_excerpt_length');

/*
script goes here
*/
function lawyer_consultant_scripts() {

    wp_enqueue_style( 'bootstrap', get_template_directory_uri() . '/css/bootstrap.min.css', array(), '5.3.3');
    wp_enqueue_style( 'bootstrap-icons', get_template_directory_uri() . '/css/bootstrap-icons.css', array(), '5.3.3');
    wp_enqueue_style( 'lawyer-consultant-style', get_template_directory_uri() . '/style.css', array(), wp_get_theme()->get('Version'));
    wp_style_add_data('lawyer-consultant-style', 'rtl', 'replace');
	wp_enqueue_style( 'm-customscrollbar', get_template_directory_uri() . '/css/jquery.mCustomScrollbar.css', array(), '3.1.5');
    wp_enqueue_style( 'libre-google-fonts', 'https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap', array(), '1.0');
    wp_enqueue_style( 'ubuntu-google-fonts', 'https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap', array(), '1.0');

    // Block stylesheet.
    wp_enqueue_style( 'lawyer-consultant-block-style', get_theme_file_uri( '/css/blocks-styles.css' ), array( 'lawyer-consultant-style' ), '1.0' );
    
    if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
		wp_enqueue_script( 'comment-reply' );
	}
	wp_enqueue_script( 'jquery-easing', get_template_directory_uri() . '/js/jquery.easing.1.3.js', array('jquery'), '1.3', true );
	
	wp_enqueue_script( 'resize-sensor', get_template_directory_uri() . '/js/ResizeSensor.js',array(),'1.0.0', true );
	wp_enqueue_script( 'm-customscrollbar-js', get_template_directory_uri() . '/js/jquery.mCustomScrollbar.js',array(),'3.1.5', true );	
    wp_enqueue_script( 'bootstrap', get_template_directory_uri().'/js/bootstrap.min.js', array(), '5.3.3', true );

    wp_enqueue_script( 'lawyer-consultant-main-js', get_template_directory_uri() . '/js/main.js', array('jquery', 'customize-preview'), '1.0', true );
}
add_action( 'wp_enqueue_scripts', 'lawyer_consultant_scripts' );


/**
* Custom search form
*/
function lawyer_consultant_search_form( $form ) {
    $form = '<form method="get" id="searchform" class="searchform" action="' . esc_url(home_url( '/' )) . '" >
    <div class="search">
      <input type="text" value="' . get_search_query() . '" class="blog-search" name="s" id="s" placeholder="'. esc_attr__( 'Search here','lawyer-consultant' ) .'">
      <label for="searchsubmit" class="search-icon"><i class="bi bi-search"></i></label>
      <input type="submit" id="searchsubmit" value="'. esc_attr__( 'Search','lawyer-consultant' ) .'" />
    </div>
    </form>';
    return $form;
}
add_filter( 'get_search_form', 'lawyer_consultant_search_form', 100 );


/**
 * Add a pingback url auto-discovery header for singularly identifiable articles.
 */
function lawyer_consultant_pingback_header() {
    if ( is_singular() && pings_open() ) {
       printf( '<link rel="pingback" href="%s">' . "\n", get_bloginfo( 'pingback_url' ) );
    }
}
add_action( 'wp_head', 'lawyer_consultant_pingback_header' );


/**
 * Customizer additions.
 */
require get_parent_theme_file_path() . '/inc/customizer/customizer.php';

/**
 * Template functions
 */
require get_parent_theme_file_path() . '/inc/template-functions.php';

/**
 * Custom template tags for this theme.
 */
require get_parent_theme_file_path() . '/inc/template-tags.php';

/**
 * Custom template hooks for this theme.
 */
require get_parent_theme_file_path() . '/inc/template-hooks.php';

/**
 * Extra classes for this theme.
 */
require get_parent_theme_file_path() . '/inc/extras.php';

/**
 * Upgrade Pro
 */
require_once( trailingslashit( get_template_directory() ) . 'lawyer-consultant-pro/class-customize.php' );
/**getstart*/
require get_template_directory() . '/inc/lawyer-consultant-get-theme-info.php';

if ( ! function_exists( 'lawyer_consultant_admin_scripts' ) ) :
    function lawyer_consultant_admin_scripts($hook) {
        wp_enqueue_style( 'lawyer-consultant-get-theme-info-css', get_template_directory_uri() . '/css/lawyer-consultant-get-theme-info.css', false ); 
    }
endif;
add_action( 'admin_enqueue_scripts', 'lawyer_consultant_admin_scripts' );

/**
 * Notices
 */
require_once get_parent_theme_file_path( '/inc/activation-notice/class-welcome-notice.php' );

/**
 * Theme DEMO IMPORT.
 */
require get_template_directory() . '/inc/quick-start-page.php';

/**
 * Theme TGM.
 */
require get_template_directory() . '/inc/tgm/tgm.php';

// extra customization
require_once get_template_directory() . '/inc/theme-customizations.php';

// Add this function to  theme for the deprecated error
function lawyer_consultant_get_page_id_by_title($title) {
    $query = new WP_Query(array(
        'post_type'      => 'page',
        'posts_per_page' => 1,
        'post_status'    => 'publish',
        's'              => $title,
    ));

    if ($query->have_posts()) {
        foreach ($query->posts as $post) {
            if (strcasecmp($post->post_title, $title) === 0) {
                return $post->ID;
            }
        }
    }

    return false; // Return false if not found
}
