first commit
This commit is contained in:
304
wp-content/plugins/thinkai-plugin/thinkai-plugin.php
Normal file
304
wp-content/plugins/thinkai-plugin/thinkai-plugin.php
Normal file
@@ -0,0 +1,304 @@
|
||||
<?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);
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user