HOME


Mini Shell 1.0
DIR: /home/otwalrll/.trash/wp-content/plugins/magplus-addons/
Upload File :
Current File : //home/otwalrll/.trash/wp-content/plugins/magplus-addons/theme-plugins.php
<?php
/*
Plugin Name: MagPlus Addons
Plugin URI: http://www.themebubble.com
Description: A part of magplus theme.
Version: 6.1
Author: relstudiosnx
Author URI: http://www.themebubble.com
Text Domain: magplus-addons
*/

defined('RS_ROOT') or define('RS_ROOT', plugin_dir_path( __FILE__ ));

if(!class_exists('RS_Shortcode')) {

  class RS_Shortcode {

    private $assets_css;
    private $assets_js;
    private $theme_dir;

    public function __construct() {
      if(!defined('ALLOW_UNFILTERED_UPLOADS')) {
        define('ALLOW_UNFILTERED_UPLOADS', true);
      }
      if ($this->rs_get_installed_theme() !== 'published') {
        add_action( 'admin_notices', array($this,'rs_activate_theme_notice') );
      } else {
        add_action('setup_theme', array($this,'rs_load_custom_post_types'),40);
        $this->rs_include_helper();
        $this->rs_init_elementor();
        add_action('init', array($this,'rs_init'),50);
        add_action('widgets_init', array($this,'rs_load_widgets'),50);
      }
    }

    public static function activate() {
      flush_rewrite_rules();
    }

    public static function deactivate() {
      flush_rewrite_rules();
    }

    public function rs_get_installed_theme() {
      $theme = wp_get_theme();
      if( $theme->parent() ) {
        $theme_status = $theme->parent()->get('Status');
      } else {
        $theme_status = $theme->get('Status');
      }
      $theme_status = sanitize_key( $theme_status );
      return $theme_status;
    }

    public function rs_init() {
      $this->assets_css = plugins_url('/assets/css', __FILE__);
      $this->assets_js  = plugins_url('/assets/js', __FILE__);
      $this->theme_dir  = get_template_directory();

      $this->rs_vc_load_shortcodes();
      if(class_exists('Vc_Manager')) {
        add_action('admin_print_scripts-post.php',   array($this, 'rs_load_vc_scripts'), 99);
        add_action('admin_print_scripts-post-new.php', array($this, 'rs_load_vc_scripts'), 99);
        $this->rs_init_vc();
        $this->rs_vc_integration();
        $this->rs_vc_templates();
      }
    }

    public function rs_include_helper() {
      include_once( RS_ROOT .'/includes/helpers.php');
    }

    public function rs_init_elementor() {
      add_action('elementor/init',                              array($this, 'rs_init_elementor_widgets_title'));
      add_action('elementor/widgets/widgets_registered',        array($this, 'rs_includes_elementor_widgets'));
      add_action('elementor/editor/after_enqueue_styles',       array($this, 'rs_editor_style'));
      update_option('elementor_disable_typography_schemes',     'yes');
      update_option('elementor_disable_color_schemes',          'yes');
    }

    public function rs_init_elementor_widgets_title() {
      $this->rs_register_elementor_title();
    }

    public function rs_register_elementor_title() {
      Elementor\Plugin::instance()->elements_manager->add_category(
        'magplus-elementor',
        array(
          'title' => esc_html__('MagPlus Widgets', 'magplus-addons'),
        ),
      1);
    }

    public function rs_includes_elementor_widgets() {
      require_once(RS_ROOT. '/' . 'elementor/rs_about_us.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_blockquote.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_blog_masonry.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_category_block.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_custom_ads.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_featured_blog.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_gallery_showcase.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_gif_showcase.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_hand_picked_blog.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_image_block.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_newsletter.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_post_card.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_post_grid.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_post_grid_series.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_post_movie.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_post_video_playlist.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_progress_bar_rating.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_recent_news.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_section_heading.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_sound_cloud_embed.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_video_block.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_weekly_5_blog.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_weekly_7_blog.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_wp_post_gallery_video.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_youtube_video_playlist.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_tabs.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_affiliate_product_list.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_affiliate_product.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_hero_image_banner.php');
      require_once(RS_ROOT. '/' . 'elementor/rs_post_vote.php');

    }

    public function rs_editor_style() {
      wp_enqueue_style('img-icon',  $this->assets_css. '/image-icon.css');
    }

    public function rs_activate_theme_notice() { ?>
      <div class="updated">
        <p><strong><?php esc_html_e('Please activate the MagPlus theme to use MagPlus Addons plugin.', 'magplus-addons'); ?></strong></p>
        <?php
        $screen = get_current_screen();
        if ($screen->base != 'themes'): ?>
          <p><a href="<?php echo esc_url(admin_url('themes.php')); ?>"><?php esc_html_e('Activate theme', 'magplus-addons'); ?></a></p>
        <?php endif; ?>
      </div>
    <?php }

    public function rs_init_vc() {
      global $vc_manager;
      $list = array( 'page', 'post', 'special-content', 'social-site');
      $vc_manager->setEditorDefaultPostTypes( $list );
    }

    public function rs_load_custom_post_types() {
      require_once(RS_ROOT .'/custom-posts/social-site.php');
      require_once(RS_ROOT .'/custom-posts/special-content.php');
    }

    public function rs_load_widgets() {
      $widgets = array(
        'WP_Latest_Posts_Widget',
        'WP_Social_Icons_Widget',
        'WP_Contact_Form_Cpcp7_Widget',
        'WP_Newsletter_Widget',
        'WP_Two_Column_Post_Widget',
        'WP_Custom_Ads_Widget',
        'WP_Posts_Tabbed_Widget',
        'WP_Post_Gallery_Widget',
        'WP_Social_Follow_Widget',
        'WP_Recent_Posts_Widget',
        'WP_Category_Block_Widget',
        'WP_About_Block_Widget'
      );
      foreach ($widgets as $widget) {
        if (file_exists(RS_ROOT .'/widgets/'.$widget.'.class.php')) {
          require_once(RS_ROOT .'/widgets/'.$widget.'.class.php');
          register_widget('magplus_'.$widget);
        }
      }
    }

    public function rs_vc_load_shortcodes() {
      require_once(RS_ROOT. '/' . 'shortcodes/rs_section_heading.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_featured_blog.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_hand_picked_blog.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_post_grid_series.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_about_us.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_weekly_7_blog.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_weekly_5_blog.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_blog_masonry.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_wp_post_gallery_video.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_blockquote.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_video_block.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_image_block.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_gallery_showcase.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_sound_cloud_embed.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_youtube_video_playlist.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_gif_showcase.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_space.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_recent_news.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_category_block.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_newsletter.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_tabs.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_post_movie.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_special_text.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_progress_bar_rating.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_post_grid.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_post_video_playlist.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_custom_ads.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_post_card.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_slider_content.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_divider.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_button.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_hero_image_banner.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_list.php');

      require_once(RS_ROOT. '/' . 'shortcodes/rs_alert_box.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_affiliate_table.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_affiliate_product_table.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_affiliate_product_card.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_affiliate_product_comparison_table.php');
      require_once(RS_ROOT. '/' . 'shortcodes/rs_affiliate_product_popup.php');

      require_once(RS_ROOT. '/' . 'shortcodes/vc_column_text.php');
    }

    public function rs_vc_templates() {
      require_once( RS_ROOT .'/' .'composer/templates.php' );
      require_once( RS_ROOT .'/' .'composer/class.vc_template_panel.php' );
      $rs_vc_templates = new RS_VC_Templates();
      return $rs_vc_templates->init();
    }

    public function rs_vc_integration() {
      require_once( RS_ROOT .'/' .'composer/map.php' );
    }

    public function rs_load_vc_scripts() {
      wp_enqueue_style('rs-vc-custom',  $this->assets_css. '/vc-style.css');
      wp_enqueue_style('rs-image-icon', $this->assets_css. '/image-icon.css');
      wp_enqueue_style('rs-font-icon',  $this->assets_css. '/font-icon.css');
      wp_enqueue_style('rs-chosen',     $this->assets_css. '/chosen.css');
      wp_enqueue_script('vc-script',    $this->assets_js . '/vc-script.js' ,      array('jquery'), '1.0.0', true);
      wp_enqueue_script('vc-chosen',    $this->assets_js . '/jquery.chosen.js' ,  array('jquery'), '1.0.0', true);
    }

    public function rs_reload_vc_js() {
      echo '<script type="text/javascript">(function($){ $(document).ready( function(){ $.reloadPlugins(); }); })(jQuery);</script>';
    }
  }
  new RS_Shortcode;
  register_activation_hook( __FILE__, array( 'RS_Shortcode', 'activate' ) );
  register_deactivation_hook( __FILE__, array( 'RS_Shortcode', 'deactivate' ) );
}