b0y-101 Mini Shell


Current Path : E:/www3/chiangrai/wp-content/plugins/sydney-toolbox/
File Upload :
Current File : E:/www3/chiangrai/wp-content/plugins/sydney-toolbox/sydney-toolbox.php

<?php
/**
 *
 * @link              http://athemes.com
 * @since             1.0
 * @package           Sydney_Toolbox
 *
 * @wordpress-plugin
 * Plugin Name:       Sydney Toolbox
 * Plugin URI:        http://athemes.com/plugins/sydney-toolbox
 * Description:       Registers custom post types and custom fields for the Sydney theme
 * Version:           1.36
 * Author:            aThemes
 * Author URI:        http://athemes.com
 * License:           GPL-2.0+
 * License URI:       http://www.gnu.org/licenses/gpl-2.0.txt
 * Text Domain:       sydney-toolbox
 * Domain Path:       /languages
 */

// If this file is called directly, abort.
if ( ! defined( 'WPINC' ) ) {
	die;
}

define( 'ST_DIR', trailingslashit( plugin_dir_path( __FILE__ ) ) );
define( 'ST_URI', trailingslashit( plugin_dir_url( __FILE__ ) ) );

/**
 * Set up and initialize
 */
class Sydney_Toolbox {

	private static $instance;

	/**
	 * Actions setup
	 */
	public function __construct() {

		add_action( 'init', array( $this, 'i18n' ), 3 );
		add_action( 'plugins_loaded', array( $this, 'includes' ), 99 );
		add_action( 'admin_notices', array( $this, 'admin_notice' ), 4 );

		add_action( 'wp', array( $this, 'single_projects' ) );

		//SVG styles
		add_action( 'wp_head', array( $this, 'svg_styles' ) );

		//Remove archive labels for portfolio
		add_filter( 'get_the_archive_title', array( $this, 'remove_archive_labels' ) );
		add_filter( 'post_class', array( $this, 'post_classes' ) );
		
		//Elementor actions
		add_action( 'elementor/widgets/register', array( $this, 'elementor_includes' ), 4 );
		add_action( 'elementor/init', array( $this, 'elementor_category' ), 4 );
		add_action( 'elementor/init', array( $this, 'elementor_skins' ) );
		add_action( 'elementor/frontend/after_register_styles', array( $this, 'scripts' ) );
		add_action( 'init', array( $this, 'flush_permalinks' ) );
	}

	/**
	 * Includes
	 */
	function includes() {

		if ( defined( 'SITEORIGIN_PANELS_VERSION' ) ) {
			//Post types
			require_once( ST_DIR . 'inc/post-type-services.php' );
			require_once( ST_DIR . 'inc/post-type-employees.php' );
			require_once( ST_DIR . 'inc/post-type-testimonials.php' );	
			require_once( ST_DIR . 'inc/post-type-clients.php' );
			require_once( ST_DIR . 'inc/post-type-projects.php' );
			require_once( ST_DIR . 'inc/post-type-timeline.php' );		
			//Metaboxes
			require_once( ST_DIR . 'inc/metaboxes/services-metabox.php' );	
			require_once( ST_DIR . 'inc/metaboxes/employees-metabox.php' );	
			require_once( ST_DIR . 'inc/metaboxes/testimonials-metabox.php' );
			require_once( ST_DIR . 'inc/metaboxes/clients-metabox.php' );
			require_once( ST_DIR . 'inc/metaboxes/projects-metabox.php' );
			require_once( ST_DIR . 'inc/metaboxes/timeline-metabox.php' );
			require_once( ST_DIR . 'inc/metaboxes/singles-metabox.php' );
		}
	}

	function elementor_includes() {
		
		$theme  = wp_get_theme();
		$parent = wp_get_theme()->parent();
		if ( ( $theme != 'Sydney' ) && ($theme != 'Sydney Pro' ) && ($parent != 'Sydney') && ($parent != 'Sydney Pro') ) {
			return;
		}

		if ( !version_compare(PHP_VERSION, '5.4', '<=') ) {
			require_once( ST_DIR . 'inc/elementor/block-testimonials.php' );
			require_once( ST_DIR . 'inc/elementor/block-posts.php' );
			require_once( ST_DIR . 'inc/elementor/block-portfolio.php' );
			require_once( ST_DIR . 'inc/elementor/block-gallery.php' );
			require_once( ST_DIR . 'inc/elementor/block-employee-carousel.php' );	
			require_once( ST_DIR . 'inc/elementor/block-slider.php' );		

			if ( $this->is_pro() ) {
				require_once( ST_DIR . 'inc/elementor/block-employee.php' );
				require_once( ST_DIR . 'inc/elementor/block-pricing.php' );
				require_once( ST_DIR . 'inc/elementor/block-timeline.php' );
			}
		}
	}

	function elementor_skins() {
		
		$theme  = wp_get_theme();
		$parent = wp_get_theme()->parent();
		if ( ( $theme != 'Sydney' ) && ($theme != 'Sydney Pro' ) && ($parent != 'Sydney') && ($parent != 'Sydney Pro') ) {
			return;
		}
		
		if ( $this->is_pro() ) {
			require_once( ST_DIR . 'inc/elementor/skins/block-portfolio-overlap-skin.php' );
			require_once( ST_DIR . 'inc/elementor/skins/block-portfolio-classic-skin.php' );
			require_once( ST_DIR . 'inc/elementor/skins/block-portfolio-metro-skin.php' );
			require_once( ST_DIR . 'inc/elementor/skins/block-testimonials-skin.php' );
		}		
	}

	function elementor_category() {
		if ( !version_compare(PHP_VERSION, '5.4', '<=') ) {
			\Elementor\Plugin::$instance->elements_manager->add_category( 
				'sydney-elements',
				[
					'title' => __( 'Sydney Elements', 'sydney-toolbox' ),
					'icon' => 'fa fa-plug',
				],
				2
			);
		}
	} 

	static function install() {
		if ( version_compare(PHP_VERSION, '5.4', '<=') ) {
			wp_die( __( 'Sydney Toolbox requires PHP 5.4. Please contact your host to upgrade your PHP. The plugin was <strong>not</strong> activated.', 'sydney-toolbox' ) );
		};
	}	

	/**
	 * Translations
	 */
	function i18n() {
		load_plugin_textdomain( 'sydney-toolbox', false, 'sydney-toolbox/languages' );
	}

	/**
	 * Admin notice
	 */
	function admin_notice() {
		$theme  = wp_get_theme();
		$parent = wp_get_theme()->parent();
		if ( ($theme != 'Sydney' ) && ($theme != 'Sydney Pro' ) && ($parent != 'Sydney') && ($parent != 'Sydney Pro') ) {
		    echo '<div class="error">';
		    echo 	'<p>' . __('Please note that the <strong>Sydney Toolbox</strong> plugin is meant to be used only with the <a href="http://wordpress.org/themes/sydney/" target="_blank">Sydney theme</a></p>', 'sydney-toolbox');
		    echo '</div>';			
		}
	}

	/**
	 * SVG styles
	 */
	function svg_styles() {
		?>
			<style>
				.sydney-svg-icon {
					display: inline-block;
					width: 16px;
					height: 16px;
					vertical-align: middle;
					line-height: 1;
				}
				.team-item .team-social li .sydney-svg-icon {
					width: 14px;
				}
				.roll-team:not(.style1) .team-item .team-social li .sydney-svg-icon {
					fill: #fff;
				}
				.team-item .team-social li:hover .sydney-svg-icon {
					fill: #000;
				}
				.team_hover_edits .team-social li a .sydney-svg-icon {
					fill: #000;
				}
				.team_hover_edits .team-social li:hover a .sydney-svg-icon {
					fill: #fff;
				}	
				.single-sydney-projects .entry-thumb {
					text-align: left;
				}	

			</style>
		<?php
	}

	/**
	 * Scripts
	 */	
	function scripts() {

		$forked_owl = get_theme_mod( 'forked_owl_carousel', false );
		if ( $forked_owl ) {
			wp_enqueue_script( 'st-carousel', ST_URI . 'js/main.js', array(), '20211217', true );
		} else {
			wp_enqueue_script( 'st-carousel', ST_URI . 'js/main-legacy.js', array(), '20211217', true );
		}
		
		wp_enqueue_style( 'st-stylesheet', ST_URI . 'css/styles.min.css', [], '20220107' );

	}

	/**
	 * Get current theme
	 */
	public static function is_pro() {
		$theme  = sydney_toolbox_get_current_theme_directory();
		if ( $theme !== 'sydney-pro-ii' ) {
			return false;
	    } else {
	    	return true;
	    }		
	}

	public function flush_permalinks() {
		if( !get_option( 'st_flushed_permalinks' ) ) {
 
			flush_rewrite_rules( false );
			update_option('st_flushed_permalinks', 1);
		}		
	}

	/**
	 * Single projects setup
	 */
	public function single_projects() {
		if ( is_singular( 'sydney-projects' ) || is_post_type_archive( 'sydney-projects' ) || is_tax( 'project_cats' ) ) {
			remove_action( 'sydney_get_sidebar', 'sydney_get_sidebar' );
			add_filter( 'sydney_content_area_class', function() { return 'fullwidth col-md-12'; } );
		}
	}

	public function remove_archive_labels( $title ) {

		if ( is_tax( 'project_cats' ) ) {
			$title = single_cat_title( '', false );
		} elseif ( is_post_type_archive( 'sydney-projects' ) ) {
			$title = post_type_archive_title( '', false );
		}
		
		return $title;
	}

	public function post_classes( $classes ) {
		
		if ( is_tax( 'project_cats' ) || is_post_type_archive( 'sydney-projects' ) ) {
			$classes[] = 'col-lg-4 col-md-4 col-sm-6';
		}
		
		return $classes;
	}

	/**
	 * Returns the instance.
	 */
	public static function get_instance() {

		if ( !self::$instance )
			self::$instance = new self;

		return self::$instance;
	}
}

Sydney_Toolbox::get_instance();

//Does not activate the plugin on PHP less than 5.4
register_activation_hook( __FILE__, array( 'Sydney_Toolbox', 'install' ) );


require_once(ST_DIR . 'inc/customizer/portfolio.php');
$enable_portfolio = get_option('sydney_toolbox_enable_portfolio');

if ( $enable_portfolio ) {
	require_once(ST_DIR . 'inc/post-type-sydney-projects.php');
}

if ( !function_exists('sydney_toolbox_get_current_theme_directory') ) :
function sydney_toolbox_get_current_theme_directory(){
    $current_theme_dir  = '';
    $current_theme      = wp_get_theme();
    if( $current_theme->exists() && $current_theme->parent() ){
        $parent_theme = $current_theme->parent();

        if( $parent_theme->exists() ){
            $current_theme_dir = $parent_theme->get_stylesheet();
        }
    } elseif( $current_theme->exists() ) {
        $current_theme_dir = $current_theme->get_stylesheet();
    }

    return $current_theme_dir;
}
endif;

Copyright © 2019 by b0y-101