304 lines
9.5 KiB
PHP
304 lines
9.5 KiB
PHP
<?php
|
|
/**
|
|
* Plugin Name: Thinkai Plugin
|
|
* Plugin URI: http://themeforest.net/user/template-path/
|
|
* Description: Supported plugin for Thinkai WordPress theme
|
|
* Author: Template Path
|
|
* Version: 1.0
|
|
* Author URI: https://themeforest.net/user/template-path/
|
|
*
|
|
* @package thinkai-plugin
|
|
*/
|
|
|
|
defined( 'THINKAIPLUGIN_PLUGIN_PATH' ) || define( 'THINKAIPLUGIN_PLUGIN_PATH', plugin_dir_path( __FILE__ ) );
|
|
define( 'THINKAI_PLUGIN_URI', plugins_url( 'thinkai-plugin' ) . '/' );
|
|
define('YT_URL', plugin_dir_url(__FILE__));
|
|
require_once plugin_dir_path( __FILE__ ) . 'file_crop.php';
|
|
function thinkai_bunch_widget_init2()
|
|
{
|
|
//footer 01 Widget
|
|
if( class_exists( 'Thinkai_Recent_Posts' ) )register_widget( 'Thinkai_Recent_Posts' );
|
|
if( class_exists( 'Thinkai_Get_In_Touch' ) )register_widget( 'Thinkai_Get_In_Touch' );
|
|
|
|
//footer 02 Widget
|
|
if( class_exists( 'Thinkai_Have_any_Question' ) )register_widget( 'Thinkai_Have_any_Question' );
|
|
|
|
//footer 03 Widget
|
|
if( class_exists( 'Thinkai_About_Us' ) )register_widget( 'Thinkai_About_Us' );
|
|
if( class_exists( 'Thinkai_Newsletter' ) )register_widget( 'Thinkai_Newsletter' );
|
|
|
|
//footer 05 Widget
|
|
if( class_exists( 'Thinkai_About_Us_V2' ) )register_widget( 'Thinkai_About_Us_V2' );
|
|
if( class_exists( 'Thinkai_Copyright' ) )register_widget( 'Thinkai_Copyright' );
|
|
|
|
//Blog Widget
|
|
if( class_exists( 'Thinkai_Popular_Posts' ) )register_widget( 'Thinkai_Popular_Posts' );
|
|
if( class_exists( 'Thinkai_Banner' ) )register_widget( 'Thinkai_Banner' );
|
|
}
|
|
add_action( 'widgets_init', 'thinkai_bunch_widget_init2' );
|
|
|
|
class THINKAIPLUGIN_Plugin_Core {
|
|
|
|
/**
|
|
* The instance variable.
|
|
*
|
|
* @var [type]
|
|
*/
|
|
public static $instance;
|
|
|
|
/**
|
|
* The main constructor
|
|
*/
|
|
function __construct() {
|
|
self::includes();
|
|
$this->init();
|
|
|
|
}
|
|
|
|
/**
|
|
* Load the instance.
|
|
*
|
|
* @return [type] [description]
|
|
*/
|
|
public static function instance() {
|
|
|
|
if ( is_null( self::$instance ) ) {
|
|
self::$instance = new self();
|
|
}
|
|
|
|
return self::$instance;
|
|
}
|
|
|
|
public static function includes() {
|
|
require_once THINKAIPLUGIN_PLUGIN_PATH . '/inc/helpers/functions.php';
|
|
require_once THINKAIPLUGIN_PLUGIN_PATH . '/elementor/elementor.php';
|
|
require_once THINKAIPLUGIN_PLUGIN_PATH . '/inc/abstracts/class-post-type-abstract.php';
|
|
require_once THINKAIPLUGIN_PLUGIN_PATH . '/inc/abstracts/class-taxonomy-abstract.php';
|
|
require_once THINKAIPLUGIN_PLUGIN_PATH . '/inc/abstracts/class-tour-price.php';
|
|
require_once THINKAIPLUGIN_PLUGIN_PATH . '/inc/helpers/widgets.php';
|
|
require_once THINKAIPLUGIN_PLUGIN_PATH . '/inc/post_types/project.php';
|
|
require_once THINKAIPLUGIN_PLUGIN_PATH . '/inc/post_types/team.php';
|
|
require_once THINKAIPLUGIN_PLUGIN_PATH . '/inc/post_types/testimonials.php';
|
|
require_once THINKAIPLUGIN_PLUGIN_PATH . '/inc/taxonomies.php';
|
|
if ( ! class_exists( 'Redux' ) ) {
|
|
require_once THINKAIPLUGIN_PLUGIN_PATH . 'redux-framework/redux-framework.php';
|
|
require_once THINKAIPLUGIN_PLUGIN_PATH . '/metabox/metaboxes.php';
|
|
}
|
|
|
|
}
|
|
|
|
function init() {
|
|
THINKAIPLUGIN\Inc\Post_Types\Project::init();
|
|
THINKAIPLUGIN\Inc\Post_Types\Team::init();
|
|
THINKAIPLUGIN\Inc\Post_Types\Testimonials::init();
|
|
add_action( 'init', array( '\THINKAIPLUGIN\Inc\Taxonomies', 'init' ) );
|
|
}
|
|
}
|
|
|
|
/**
|
|
* [thinkai_get_sidebars description]
|
|
*
|
|
* @param boolean $multi [description].
|
|
*
|
|
* @return [type] [description]
|
|
*/
|
|
function thinkais_get_sidebars( $multi = false ) {
|
|
global $wp_registered_sidebars;
|
|
|
|
$sidebars = ! ( $wp_registered_sidebars ) ? get_option( 'wp_registered_sidebars' ) : $wp_registered_sidebars;
|
|
|
|
if ( $multi ) {
|
|
$data[] = array( 'value' => '', 'label' => 'No Sidebar' );
|
|
} else {
|
|
$data = array( '' => esc_html__( 'No Sidebar', 'hlc' ) );
|
|
}
|
|
|
|
foreach ( ( array ) $sidebars as $sidebar ) {
|
|
|
|
if ( $multi ) {
|
|
|
|
$data[] = array( 'value' => thinkai_set( $sidebar, 'id' ), 'label' => thinkai_set( $sidebar, 'name' ) );
|
|
} else {
|
|
|
|
$data[ thinkai_set( $sidebar, 'id' ) ] = thinkai_set( $sidebar, 'name' );
|
|
}
|
|
}
|
|
|
|
return $data;
|
|
}
|
|
|
|
/**
|
|
* [thinkai_social_profiler description]
|
|
*
|
|
* @param [type] $obj [description]
|
|
*
|
|
* @return [type] [description]
|
|
*/
|
|
function thinkai_social_profiler() {
|
|
return array(
|
|
'adn' => 'fa-adn',
|
|
'android' => 'fa-android',
|
|
'apple' => 'fa-apple',
|
|
'behance' => 'fa-behance',
|
|
'behance_square' => 'fa-behance-square',
|
|
'bitbucket' => 'fa-bitbucket',
|
|
'bitcoin' => 'fa-btc',
|
|
'css3' => 'fa-css3',
|
|
'delicious' => 'fa-delicious',
|
|
'deviantart' => 'fa-deviantart',
|
|
'dribbble' => 'fa-dribbble',
|
|
'dropbox' => 'fa-dropbox',
|
|
'drupal' => 'fa-drupal',
|
|
'empire' => 'fa-empire',
|
|
'facebook' => 'fa-facebook-f',
|
|
'four_square' => 'fa-foursquare',
|
|
'git_square' => 'fa-git-square',
|
|
'github' => 'fa-github',
|
|
'github_alt' => 'fa-github',
|
|
'github_square' => 'fa-github-square',
|
|
'git_tip' => 'fa-gittip',
|
|
'google' => 'fa-google',
|
|
'google_plus' => 'fa-google-plus',
|
|
'google_plus_square' => 'fa-google-plus-square',
|
|
'hacker_news' => 'fa-hacker-news',
|
|
'html5' => 'fa-html5',
|
|
'instagram' => 'fa-instagram',
|
|
'joomla' => 'fa-joomla',
|
|
'js_fiddle' => 'fa-jsfiddle',
|
|
'linkedIn' => 'fa-linkedin',
|
|
'linkedIn_square' => 'fa-linkedin-square',
|
|
'linux' => 'fa-linux',
|
|
'MaxCDN' => 'fa-maxcdn',
|
|
'OpenID' => 'fa-openid',
|
|
'page_lines' => 'fa-pagelines',
|
|
'pied_piper' => 'fa-pied-piper',
|
|
'pinterest' => 'fa-pinterest',
|
|
'pinterest_square' => 'fa-pinterest-square',
|
|
'QQ' => 'fa-qq',
|
|
'rebel' => 'fa-rebel',
|
|
'reddit' => 'fa-reddit',
|
|
'reddit_square' => 'fa-reddit-square',
|
|
'ren-ren' => 'fa-renren',
|
|
'share_alt' => 'fa-share-alt',
|
|
'share_square' => 'fa-share-alt-square',
|
|
'skype' => 'fa-skype',
|
|
'slack' => 'fa-slack',
|
|
'sound_cloud' => 'fa-soundcloud',
|
|
'spotify' => 'fa-spotify',
|
|
'stack_exchange' => 'fa-stack-exchange',
|
|
'stack_overflow' => 'fa-stack-overflow',
|
|
'steam' => 'fa-steam',
|
|
'steam_square' => 'fa-steam-square',
|
|
'stumble_upon' => 'fa-stumbleupon',
|
|
'stumble_upon_circle' => 'fa-stumbleupon-circle',
|
|
'tencent_weibo' => 'fa-tencent-weibo',
|
|
'trello' => 'fa-trello',
|
|
'tumblr' => 'fa-tumblr',
|
|
'tumblr_square' => 'fa-tumblr-square',
|
|
'twitter' => 'fa-twitter',
|
|
'twitter_square' => 'fa-twitter-square',
|
|
'vimeo_square' => 'fa-vimeo-square',
|
|
'vine' => 'fa-vine',
|
|
'vK' => 'fa-vk',
|
|
'weibo' => 'fa-weibo',
|
|
'weixin' => 'fa-weixin',
|
|
'windows' => 'fa-windows',
|
|
'wordPress' => 'fa-wordpress',
|
|
'xing' => 'fa-xing',
|
|
'xing_square' => 'fa-xing-square',
|
|
'yahoo' => 'fa-yahoo',
|
|
'yelp' => 'fa-yelp',
|
|
'youTube' => 'fa-youtube',
|
|
'youTube_play' => 'fa-youtube-play',
|
|
'youTube_square' => 'fa-youtube-square',
|
|
);
|
|
}
|
|
|
|
function THINKAIPLUGIN_P() {
|
|
|
|
if ( ! isset( $GLOBALS['THINKAIPLUGIN_Plugin_p'] ) ) {
|
|
$GLOBALS['THINKAIPLUGIN_Plugin'] = THINKAIPLUGIN_Plugin_Core::instance();
|
|
}
|
|
|
|
return $GLOBALS['THINKAIPLUGIN_Plugin'];
|
|
}
|
|
|
|
THINKAIPLUGIN_P();
|
|
if ( ! function_exists( 'thinkai_set' ) ) {
|
|
|
|
function thinkai_set( $var, $key, $def = '' ) {
|
|
/*if (!$var)
|
|
return false;*/
|
|
|
|
if ( is_object( $var ) && isset( $var->$key ) ) {
|
|
return $var->$key;
|
|
} elseif ( is_array( $var ) && isset( $var[ $key ] ) ) {
|
|
return $var[ $key ];
|
|
} elseif ( $def ) {
|
|
return $def;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
function thinkai_fontawesome_icons() {
|
|
|
|
|
|
$pattern = '/\.(fa-(?:\w+(?:-)?)+):before\s*{\s*content/';
|
|
|
|
$subject = wp_remote_get( get_template_directory_uri() . '/assets/css/font-awesome.min.css' );
|
|
|
|
preg_match_all( $pattern, thinkai_set( $subject, 'body' ), $matches, PREG_SET_ORDER );
|
|
$icons = array();
|
|
foreach ( $matches as $match ) {
|
|
$new_val = ucwords( str_replace( 'fa-', '', $match[1] ) );
|
|
$icons[ $match[1] ] = ucwords( str_replace( '-', ' ', $new_val ) );
|
|
}
|
|
|
|
return $icons;
|
|
|
|
|
|
}
|
|
|
|
|
|
function thinkai_encrypt( $param ) {
|
|
return base64_encode( $param );
|
|
}
|
|
|
|
|
|
function thinkai_decrypt( $param ) {
|
|
return base64_decode( $param );
|
|
}
|
|
|
|
function thinkai_taxonomy_regster($name, $post_type, $args) {
|
|
// Register the taxonomy now so that the import works!
|
|
register_taxonomy(
|
|
$data['taxonomy'],
|
|
apply_filters( 'woocommerce_taxonomy_objects_' . $data['taxonomy'], array( 'product' ) ),
|
|
apply_filters( 'woocommerce_taxonomy_args_' . $data['taxonomy'], array(
|
|
'hierarchical' => true,
|
|
'show_ui' => false,
|
|
'query_var' => true,
|
|
'rewrite' => false,
|
|
) )
|
|
);
|
|
}
|
|
|
|
|
|
add_filter('templatepath_elemnetor/modules/list', function($modules){
|
|
$list = array('gallery', 'instagram', 'team', 'dynamic-pots', 'responsive-header', 'progress-bar', 'form', 'nav-menu', 'misc', 'audio', 'flickr', 'tabs-slider', 'testimonial');
|
|
|
|
$modules = array_merge($modules, $list);
|
|
|
|
return array_filter($modules);
|
|
});
|
|
|
|
|
|
add_action( 'elementor/controls/controls_registered', function() {
|
|
|
|
require_once THINKAIPLUGIN_PLUGIN_PATH . '/inc/controls/class-control-layout.php';
|
|
\Elementor\Plugin::instance()->controls_manager->register_control('elementor-layout-control', new \Elementor_Layout_Control);
|
|
|
|
}); |