Done ! 403WebShell
403Webshell
Server IP : 46.105.57.169  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux webm002.cluster120.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User : verseaumee ( 152031)
PHP Version : 8.5.7
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/verseaumee/TF89388/wp-content/plugins/noisa-toolkit/includes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/verseaumee/TF89388/wp-content/plugins/noisa-toolkit/includes/class-vc.php
<?php
/**
 * Rascals Visual Composer Extensions
 *
 *
 * @author Rascals Themes
 * @category Core
 * @package Noisa Toolkit
 * @version 1.0.0
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly
}


class RascalsVC {

	/**
	 * Enable support for custom posts
	 */
	public $vc_cpt_list = array(
	    'page',
		'post',
		'noisa_artists',
		'noisa_events',
		'noisa_releases'
	);


	/*
	Not supported elemnets
	 */
	public $remove_vc_elements = array(
		'vc_accordion_tab',
        'vc_accordion',
        'vc_button',
        'vc_carousel',
        'vc_cta_button',
        'vc_button2',
        'vc_cta_button2',
        'vc_flickr',
        'vc_images_carousel',
        'vc_posts_grid',
        'vc_posts_slider',
        'vc_tab',
        'vc_tabs',
        'vc_tour'
	);


	/**
	 * Rascals CPT Constructor.
	 * @return void
	 */
	public function __construct() {

		add_action( 'plugins_loaded', array( $this, 'init' ) );

	}

	/**
	 * Initialize class
	 * @return void
	 */
	public function init() {

		if ( ! defined( 'WPB_VC_VERSION' ) ) {
			return;
		}

		// Disable customer notifications
    	vc_set_as_theme( $disable_updater = false );

		// Enable post types
		vc_set_default_editor_post_types( $this->vc_cpt_list );

		// Remove not supported elements
		$this->removeVC();

		// Remove VC grid
		$this->removeVCGrid();

		// Remove VC menu
		add_action( 'admin_menu', array( $this, 'removeVCMenu' ) );

		// Register VC elements
		add_action( 'vc_before_init', array( $this, 'registerVC' ) );

	}


	/**
	 * Remove VC grid
	 * @return void
	 */
	private function removeVCGrid() {

        vc_remove_element('vc_basic_grid');
        vc_remove_element('vc_basic_grid_filter');
        vc_remove_element('vc_masonry_media_grid');
        vc_remove_element('vc_media_grid');
        vc_remove_element('vc_masonry_grid');
        vc_remove_element('vc_grid_item');

	}


	/**
	 * Remove VC Menu
	 * @return void
	 */
	public function removeVCMenu() {
     
        remove_menu_page( 'edit.php?post_type=vc_grid_item' );
        remove_submenu_page( 'vc-general', 'edit.php?post_type=vc_grid_item' );
        global $submenu;
        unset( $submenu['vc-general'][6] );
        
	}


	/**
	 * Remove VC elements
	 * @return void
	 */
	private function removeVC() {
		foreach ($this->remove_vc_elements as $el ) {
			vc_remove_element( $el );
		}
	}


	/* ==================================================
	 Register VC elements
	================================================== */

	
	/**
	 * Register Visual Composer elemnets
	 * @return void
	 */
	function registerVC() {


		/**
		 * ROW Extend
		 */
		vc_add_param( 'vc_row', array(
			'type'       => 'dropdown',
			'class'      => '',
			'heading'    => esc_html__( 'Content Width',  'noisa-toolkit' ),
			'param_name' => 'content_width',
			'value'      => array(
		        'Wide' => 'wide',
		        'Thin' => 'thin'
		    ),
		    'dependency' => array( 'element' => 'full_width', 'value' => array( 'stretch_row' ) )
		));

		vc_add_param( 'vc_row', array(
			'type'       => 'checkbox',
			'class'      => '',
			'heading'    => esc_html__( 'Overlay',  'noisa-toolkit' ),
			'param_name' => 'overlay',
			'value'      => array( 'Yes' => '0' ),
		    'dependency' => array( 'element' => 'full_width', 'value' => array( 'stretch_row', 'stretch_row_content', 'stretch_row_content_no_spaces' ) )
		));

		vc_add_param( 'vc_row', array(
			'type'       => 'colorpicker',
			'class'      => '',
			'heading'    => esc_html__( 'Gradient From:',  'noisa-toolkit' ),
			'param_name' => 'gradient_from',
			'value'      => '#272742',
			'dependency' => array( 'element' => 'overlay', 'value' => array( '0' ) )
		));
		vc_add_param( 'vc_row', array(
			'type'       => 'colorpicker',
			'class'      => '',
			'heading'    => esc_html__( 'Gradient To:',  'noisa-toolkit' ),
			'param_name' => 'gradient_to',
			'value'      => 'rgba(230, 64, 14, 0.72)',
			'dependency' => array( 'element' => 'overlay', 'value' => array( '0' ) )
		));
		vc_add_param( 'vc_row', array(
			'type'       => 'textfield',
			'class'      => '',
			'heading'    => esc_html__( 'Gradient Direction:',  'noisa-toolkit' ),
			'param_name' => 'gradient_direction',
			'value'      => '180',
			'dependency' => array( 'element' => 'overlay', 'value' => array( '0' ) )
		));


		// Lead
		function noisa_vc_lead_text() {
		    vc_map( array(
				'name'        => esc_html__( 'Lead Text', 'noisa-toolkit' ),
				'base'        => 'lead',
				'icon'        => '',
				'class'       => '',
				'category'    => esc_html__( 'by Rascals', 'noisa-toolkit' ),
				'description' => '',
				'params'      => array(
		            array(
						'type'        => 'textarea_html',
						'class'       => '',
						'heading'     => esc_html__( 'Content', 'noisa-toolkit' ),
						'param_name'  => 'content',
						'value'       => 'Praesent sit amet lorem mollis, tempor est sit amet, venenatis ligula. Vivamus vestibulum neque sit amet tortor aliquam, ut ornare metus pretium.',
						'description' => '',
						'admin_label' => true
		            ),
		            array(
						'type'        => 'textfield',
						'class'       => '',
						'heading'     => esc_html__( 'Extra class name', 'noisa-toolkit' ),
						'param_name'  => 'classes',
						'value'       => '',
						'admin_label' => true,
						'description' => esc_html__( 'Style particular content element differently - add a class name and refer to it in custom CSS.', 'noisa-toolkit' )
		            )
		        )
		   ) );
		}

		// Slider
		vc_map( array(
			'name'     => esc_html__( 'Slider', 'noisa-toolkit' ),
			'base'     => 'slider',
			'class'    => '',
			'icon'     => '',
			'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'   => array(
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Select Slider ID', 'noisa-toolkit' ),
					'param_name'  => 'id',
					'value'       => $this->getSliders(),
					'description' => esc_html__( 'Select slider ID.', 'noisa-toolkit' )
	            )
	        )
	   	) );

		// Slingle Track
		vc_map( array(
			'name'     => esc_html__( 'Single Track', 'noisa-toolkit' ),
			'base'     => 'track',
			'icon'     => esc_url( RASCALS_TOOLKIT_URL ) . '/assets/images/VC-Scamp-Player.png',
			'class'    => '',
			'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'   => array(
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Track', 'noisa-toolkit' ),
					'param_name'  => 'id',
					'value'       => $this->getTracks(),
					'admin_label' => true,
					'description' => esc_html__( 'Select track ID.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Style', 'noisa-toolkit' ),
					'param_name'  => 'style',
					'value'       => array( 'Normal' => 'normal', 'Compact' => 'compact' ),
					'admin_label' => false,
					'description' => esc_html__( 'Select player style.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'checkbox',
					'class'       => '',
					'heading'     => esc_html__( 'Equalizer (effect)', 'noisa-toolkit' ),
					'param_name'  => 'eq',
					'value'       => array( 'Yes, please' => '1' ),
					'std'         => '0',
					'admin_label' => false,
					'description' => esc_html__( 'Display track equalizer (effect).', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Extra class name', 'noisa-toolkit' ),
					'param_name'  => 'classes',
					'value'       => '',
					'admin_label' => true,
					'description' => esc_html__( 'Style particular content element differently - add a class name and refer to it in custom CSS.', 'noisa-toolkit' )
	            )
 		 	)
	   	) );


		// Tracklist Grid
	 	vc_map( array(
	        'name'     => esc_html__( 'Tracklist Grid', 'noisa-toolkit' ),
	        'base'     => 'tracklist_grid',
	        'class'    => '',
	        'icon'     =>  esc_url( RASCALS_TOOLKIT_URL ) . '/assets/images/VC-Scamp-Player.png',
	        'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
	        'params' => array(
	            array(
	                'type'        => 'dropdown',
	                'class'       => '',
	                'heading'     => esc_html__( 'Tracklist', 'noisa-toolkit' ),
	                'param_name'  => 'id',
	                'value'       => $this->getTracks(),
	                'admin_label' => true,
	                'description' => esc_html__( 'Select track ID.', 'noisa-toolkit' )
	            ),
	            array(
	                'type'        => 'dropdown',
	                'class'       => '',
	                'heading'     => esc_html__( 'Tracks Per Row', 'noisa-toolkit' ),
	                'param_name'  => 'in_row',
	                'value'       => array( '2', '3', '4', '5' ),
	                'admin_label' => false
	            ),
	            array(
	                'type'        => 'dropdown',
	                'class'       => '',
	                'heading'     => esc_html__( 'Gap', 'noisa-toolkit' ),
	                'param_name'  => 'gap',
	                'value'       => array( 'Small Gap' => 'no-gap', 'Medium Gap' => 'medium-gap' ),
	                'admin_label' => false,
	                'description' => esc_html__( 'Number of visible tracks on screen.', 'noisa-toolkit' )
	            ),
	            array(
	                'type'        => 'checkbox',
	                'class'       => '',
	                'heading'     => esc_html__( 'Tracklist Details', 'noisa-toolkit' ),
	                'param_name'  => 'track_meta',
	                'value'       => array( 'Yes, please' => '1' ),
	                'admin_label' => false,
	                'description' => esc_html__( 'Display tracklist titles and artists.', 'noisa-toolkit' )
	            ),
	            array(
	                'type'        => 'textfield',
	                'class'       => '',
	                'heading'     => esc_html__( 'Display Limit', 'noisa-toolkit' ),
	                'param_name'  => 'limit',
	                'value'       => '9999',
	                'admin_label' => true,
	            ),
	            array(
	                'type'        => 'checkbox',
	                'class'       => '',
	                'heading'     => esc_html__( 'Tracklist Button', 'noisa-toolkit' ),
	                'param_name'  => 'list_button',
	                'value'       => array( 'Yes, please' => '1' ),
	                'admin_label' => false,
	                'description' => esc_html__( 'Display tracklist button.', 'noisa-toolkit' )
	            ),
	            array(
	                'type'        => 'textfield',
	                'class'       => '',
	                'heading'     => esc_html__( 'Button Title', 'noisa-toolkit' ),
	                'param_name'  => 'button_title',
	                'value'       => esc_html__( 'Play List', 'noisa-toolkit' ),
	                'admin_label' => true,
	            ),
	            array(
	                'type'        => 'checkbox',
	                'class'       => '',
	                'heading'     => esc_html__( 'Equalizer (effect)', 'noisa-toolkit' ),
	                'param_name'  => 'eq',
	                'value'       => array( 'Yes, please' => '1' ),
	                'std'         => '0',
	                'admin_label' => false,
	                'description' => esc_html__( 'Display track equalizer (effect).', 'noisa-toolkit' )
	            ),
	            array(
	                'type'        => 'textfield',
	                'class'       => '',
	                'heading'     => esc_html__( 'Extra class name', 'noisa-toolkit' ),
	                'param_name'  => 'classes',
	                'value'       => '',
	                'admin_label' => true,
	                'description' => esc_html__( 'Style particular content element differently - add a class name and refer to it in custom CSS.', 'noisa-toolkit' )
	            )
	        )
	   	) );


		// Tracklist
		vc_map( array(
			'name'     => esc_html__( 'Tracklist', 'noisa-toolkit' ),
			'base'     => 'tracklist',
			'class'    => '',
			'icon'     => esc_url( RASCALS_TOOLKIT_URL ) . '/assets/images/VC-Scamp-Player.png',
			'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'   => array(
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Tracklist', 'noisa-toolkit' ),
					'param_name'  => 'id',
					'value'       => $this->getTracks(),
					'admin_label' => true,
					'description' => esc_html__( 'Select track ID.', 'noisa-toolkit' )
	            ),
	             array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Style', 'noisa-toolkit' ),
					'param_name'  => 'style',
					'value'       => array( 'Normal' => 'normal', 'Compact' => 'compact', 'Simple' => 'simple' ),
					'admin_label' => false,
					'description' => esc_html__( 'Select player style.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'checkbox',
					'class'       => '',
					'heading'     => esc_html__( 'Tracklist Button', 'noisa-toolkit' ),
					'param_name'  => 'list_button',
					'value'       => array( 'Yes, please' => '1' ),
					'admin_label' => false,
					'description' => esc_html__( 'Display tracklist button.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Button Title', 'noisa-toolkit' ),
					'param_name'  => 'button_title',
					'value'       => esc_html__( 'Play List', 'noisa-toolkit' ),
					'admin_label' => true,
	            ),
	            array(
					'type'        => 'checkbox',
					'class'       => '',
					'heading'     => esc_html__( 'Equalizer (effect)', 'noisa-toolkit' ),
					'param_name'  => 'eq',
					'value'       => array( 'Yes, please' => '1' ),
					'std'         => '0',
					'admin_label' => false,
					'description' => esc_html__( 'Display track equalizer (effect).', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Extra class name', 'noisa-toolkit' ),
					'param_name'  => 'classes',
					'value'       => '',
					'admin_label' => true,
					'description' => esc_html__( 'Style particular content element differently - add a class name and refer to it in custom CSS.', 'noisa-toolkit' )
	            )
	        )
	   	) );


		// Single Album
		vc_map( array(
			'name'     => esc_html__( 'Single Album', 'noisa-toolkit' ),
			'base'     => 'single_album',
			'icon'     => esc_url( RASCALS_TOOLKIT_URL ) . '/assets/images/VC-Scamp-Player.png',
			'class'    => '',
			'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'   => array(
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Track', 'noisa-toolkit' ),
					'param_name'  => 'id',
					'value'       => $this->getTracks(),
					'admin_label' => true,
					'description' => esc_html__( 'Select track ID.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Album Title', 'noisa-toolkit' ),
					'param_name'  => 'album_title',
					'value'       => '',
					'admin_label' => true,
	            ),
	            array(
					'type'       => 'textfield',
					'class'      => '',
					'heading'    => esc_html__( 'Album Artists', 'noisa-toolkit' ),
					'param_name' => 'album_artists',
	            ),
	            array(
					'type'       => 'attach_image',
					'class'      => '',
					'heading'    => esc_html__( 'Album Cover', 'noisa-toolkit' ),
					'param_name' => 'album_cover'
	            ),
	            array(
					'type'        => 'checkbox',
					'class'       => '',
					'heading'     => esc_html__( 'Equalizer (effect)', 'noisa-toolkit' ),
					'param_name'  => 'eq',
					'value'       => array( 'Yes, please' => '1' ),
					'std'         => '0',
					'admin_label' => false,
					'description' => esc_html__( 'Display track equalizer (effect).', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Extra class name', 'noisa-toolkit' ),
					'param_name'  => 'classes',
					'value'       => '',
					'admin_label' => true,
					'description' => esc_html__( 'Style particular content element differently - add a class name and refer to it in custom CSS.', 'noisa-toolkit' )
	            )
	      	)
	   	) );


		// Tweets List
		vc_map( array(
			'name'     => esc_html__( 'Tweets List', 'noisa-toolkit' ),
			'base'     => 'tweets_list',
			'class'    => '',
			'icon'     => '',
			'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'   => array(
	            array(
	                'type'        => 'textfield',
	                'class'       => '',
	                'heading'     => esc_html__( 'Username', 'noisa-toolkit' ),
	                'param_name'  => 'username',
	                'value'       => '',
	                'description' => 'Twitter username.',
	                'admin_label' => true
	            ),
	            array(
	                'type'        => 'textfield',
	                'class'       => '',
	                'heading'     => esc_html__( 'API Key', 'noisa-toolkit' ),
	                'param_name'  => 'api_key',
	                'value'       => '',
	                'description' => 'Twitter app API Key.<br><a href="http://dev.twitter.com/apps">Find or Create your Twitter App</a>',
	                'admin_label' => false
	            ),
	            array(
	                'type'        => 'textfield',
	                'class'       => '',
	                'heading'     => esc_html__( 'API Secret', 'noisa-toolkit' ),
	                'param_name'  => 'api_secret',
	                'value'       => '',
	                'description' => 'Twitter app API Secret Key.<br><a href="http://dev.twitter.com/apps">Find or Create your Twitter App</a>',
	                'admin_label' => false
	            ),
	            array(
	                'type'       => 'dropdown',
	                'class'      => '',
	                'heading'    => esc_html__( 'Replies', 'noisa-toolkit' ),
	                'param_name' => 'replies',
	                'value'      => array(
	                    'No' => 'no',
	                    'Yes' => 'yes'
	                ),
	                'description' => 'Show Twitter replies.'
	            ),
	            array(
	                'type'        => 'dropdown',
	                'class'       => '',
	                'heading'     => esc_html__( 'Number of Tweets', 'noisa-toolkit' ),
	                'param_name'  => 'limit',
	                'value'       => array( '1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9', '10' => '10', '11' => '11', '12' => '12', '13' => '13', '14' => '14', '15' => '15', '16' => '16', '17' => '17', '18' => '18', '19' => '19', '20' => '20'
	                ),
	                'description' => 'Number of Tweets.'
	            )
    	  	)
	    ));


		// Tweets Slider
		vc_map( array(
			'name'     => esc_html__( 'Tweets Slider', 'noisa-toolkit' ),
			'base'     => 'tweets_slider',
			'class'    => '',
			'icon'     => '',
			'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'   => array(
	           array(
					'type'       => 'dropdown',
					'class'      => '',
					'heading'    => esc_html__( 'Background Color', 'noisa-toolkit' ),
					'param_name' => 'bg_color',
					'value'      => array(
						'Light' => 'light-bg',
						'Dark'  => 'dark-bg'
	                ),
	                'description' => ''
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Username', 'noisa-toolkit' ),
					'param_name'  => 'username',
					'value'       => '',
					'description' => 'Twitter username.',
					'admin_label' => true
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'API Key', 'noisa-toolkit' ),
					'param_name'  => 'api_key',
					'value'       => '',
					'description' => 'Twitter app API Key.<br><a href="http://dev.twitter.com/apps">Find or Create your Twitter App</a>',
					'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'API Secret', 'noisa-toolkit' ),
					'param_name'  => 'api_secret',
					'value'       => '',
					'description' => 'Twitter app API Secret Key.<br><a href="http://dev.twitter.com/apps">Find or Create your Twitter App</a>',
					'admin_label' => false
	            ),
	            array(
					'type'       => 'dropdown',
					'class'      => '',
					'heading'    => esc_html__( 'Replies', 'noisa-toolkit' ),
					'param_name' => 'replies',
					'value'      => array(
	                    'No' => 'no',
	                    'Yes' => 'yes'
	                ),
	                'description' => 'Show Twitter replies.'
	            ),
	            array(
					'type'       => 'dropdown',
					'class'      => '',
					'heading'    => esc_html__( 'Number of Tweets', 'noisa-toolkit' ),
					'param_name' => 'limit',
					'value'      => array( '1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9', '10' => '10', '11' => '11', '12' => '12', '13' => '13', '14' => '14', '15' => '15', '16' => '16', '17' => '17', '18' => '18', '19' => '19', '20' => '20'
					),
	                'description' => 'Number of Tweets.'
	            )
	           
	      	)
   	 	));


		// Buttons
		vc_map( array(
			'name'                    => esc_html__( 'Buttons', 'noisa-toolkit' ),
			'base'                    => 'buttons',
			'as_parent'               => array( 'only' => 'button' ),
			'content_element'         => true,
			'show_settings_on_create' => false,
			'is_container'            => true,
			'class'                   => '',
			'icon'                    => '',
			'category'                => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'js_view'                 => 'VcColumnView',
			'params'                  => array(
	                array(
						'type'        => 'dropdown',
						'class'       => '',
						'heading'     => esc_html__( 'Align', 'noisa-toolkit' ),
						'param_name'  => 'align',
						'std'         => 'text-left',
						'value'       => array( 'Center' => 'text-center', 'Left' => 'text-left', 'Right' => 'text-right' ),
						'admin_label' => false
	                ),
	                array(
						'type'        => 'textfield',
						'class'       => '',
						'heading'     => esc_html__( 'Extra class name', 'noisa-toolkit' ),
						'param_name'  => 'classes',
						'value'       => '',
						'admin_label' => true,
						'description' => esc_html__( 'Style particular content element differently - add a class name and refer to it in custom CSS.', 'noisa-toolkit' )
	                )
	            )
	        )  
	    );


		// Button
		vc_map( array(
			'name'            => esc_html__( 'Button', 'noisa-toolkit' ),
			'base'            => 'button',
			'content_element' => true,
			'class'           => '',
			'icon'            => '',
			'category'        => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'          => array(
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Title', 'noisa-toolkit' ),
					'param_name'  => 'title',
					'value'       => 'Button Title',
					'admin_label' => true,
					'description' => esc_html__( 'Button title.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Link', 'noisa-toolkit' ),
					'param_name'  => 'link',
					'value'       => '#',
					'admin_label' => false,
					'description' => esc_html__( 'Button LINK.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Size', 'noisa-toolkit' ),
					'param_name'  => 'size',
					'value'       => array(  'Large' => 'btn-big', 'Medium' => 'btn-medium', 'Small' => 'btn-small' ),
					'std'         => 'btn-medium',
					'admin_label' => false,
					'description' => esc_html__( 'Select button size.', 'noisa-toolkit' )
	            ),
	            array(
	                'type'        => 'dropdown',
	                'class'       => '',
	                'heading'     => esc_html__( 'Style', 'noisa-toolkit' ),
	                'param_name'  => 'style',
	                'value'       => array(  'Default' => 'default-btn', 'Stamp' => 'stamp-btn' ),
	                'admin_label' => false
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Icon', 'noisa-toolkit' ),
					'param_name'  => 'icon',
					'value'       => $this->getIcons(),
					'admin_label' => false,
					'description' => esc_html__( 'Select icon.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'checkbox',
					'class'       => '',
					'heading'     => esc_html__( 'New Window', 'noisa-toolkit' ),
					'param_name'  => 'target',
					'value'       => array( 'New window' => '0' ),
					'admin_label' => false,
					'description' => esc_html__( 'Open link in new window/tab.', 'noisa-toolkit' )
	            ),
	        )
	   	));


		// Pricing Column
		vc_map( array(
			'name'     => esc_html__( 'Pricing Column', 'noisa-toolkit' ),
			'base'     => 'pricing_column',
			'class'    => '',
			'icon'     => '',
			'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'   => array(
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Title', 'noisa-toolkit' ),
					'param_name'  => 'title',
					'value'       => esc_html__( 'Basic Plan', 'noisa-toolkit' ),
					'description' => '',
					'admin_label' => true
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Price', 'noisa-toolkit' ),
					'param_name'  => 'price',
					'description' => ''
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Currency', 'noisa-toolkit' ),
					'param_name'  => 'currency',
					'description' => ''
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Price Period', 'noisa-toolkit' ),
					'param_name'  => 'period',
					'description' => ''
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Link', 'noisa-toolkit' ),
					'param_name'  => 'link',
					'description' => ''
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Target', 'noisa-toolkit' ),
					'param_name'  => 'target',
					'value'       => array(
						''       => '',
						'Self'   => '_self',
						'Blank'  => '_blank',
						'Parent' => '_parent'
	                ),
	                'description' => ''
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Button Text', 'noisa-toolkit' ),
					'param_name'  => 'button_text',
					'description' => ''
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Important', 'noisa-toolkit' ),
					'param_name'  => 'important',
					'value'       => array(  
	                    'No' => 'no',
	                    'Yes' => 'yes'
	                ),
	                'description' => ''
	            ),
	            array(
					'type'        => 'exploded_textarea',
					'class'       => '',
					'heading'     => esc_html__( 'Content', 'noisa-toolkit' ),
					'param_name'  => 'list',
					'value'       => '2x option 1,Free option 2,Unlimited option 3,Unlimited option 4,1x option 5',
					'description' => ''
	            )
	      	)
	    ));


		// Icon Column
		vc_map( array(
			'name'     => esc_html__( 'Icon Column', 'noisa-toolkit' ),
			'base'     => 'icon_column',
			'class'    => '',
			'icon'     => '',
			'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'   => array(
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Title', 'noisa-toolkit' ),
					'param_name'  => 'icon_title',
					'value'       => '',
					'description' => '',
					'admin_label' => true
	            ),
	            array(
					'type'        => 'checkbox',
					'class'       => '',
					'heading'     => esc_html__( 'Bolder Title', 'noisa-toolkit' ),
					'param_name'  => 'bold_title',
					'value'       => array( 'Yes, please' => '0' ),
					'admin_label' => false,
					'description' =>''
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Icon', 'noisa-toolkit' ),
					'param_name'  => 'icon',
					'value'       => $this->getIcons(),
					'admin_label' => false,
					'description' => esc_html__( 'Select icon.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Icon Place', 'noisa-toolkit' ),
					'param_name'  => 'icon_place',
					'value'       => array(
						'Left'                  => 'icon_left',
						'Right'                 => 'icon_right',
						'Top'                   => 'icon_top',
						'Top (Dark Background)' => 'icon_top_dark'
	                ),
	                'description' => ''
	            ),
	            array(
					'type'        => 'textarea_html',
					'class'       => '',
					'heading'     => esc_html__( 'Content', 'noisa-toolkit' ),
					'param_name'  => 'content',
					'value'       => 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh.',
					'description' => ''
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Button Title', 'noisa-toolkit' ),
					'param_name'  => 'button_title',
					'value'       => '',
					'admin_label' => true,
					'description' => esc_html__( 'Button title.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Link', 'noisa-toolkit' ),
					'param_name'  => 'button_link',
					'value'       => '',
					'admin_label' => true,
					'description' => esc_html__( 'Button LINK.', 'noisa-toolkit' )
	            )
	      	)
	    ));


		// Details List
		vc_map( array(
			'name'                    => esc_html__( 'Details List', 'noisa-toolkit' ),
			'base'                    => 'details_list',
			'as_parent'               => array( 'only' => 'detail' ),
			'content_element'         => true,
			'show_settings_on_create' => false,
			'is_container'            => true,
			'class'                   => '',
			'icon'                    => '',
			'category'                => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'js_view'                 => 'VcColumnView',
			'params'                  => array(
	                array(
						'type'        => 'textfield',
						'class'       => '',
						'heading'     => esc_html__( 'Extra class name', 'noisa-toolkit' ),
						'param_name'  => 'classes',
						'value'       => '',
						'admin_label' => true,
						'description' => esc_html__( 'Style particular content element differently - add a class name and refer to it in custom CSS.', 'noisa-toolkit' )
	                )
	            )
	        ) 
	    );


		// Detail
		vc_map( array(
			'name'            => esc_html__( 'Detail', 'noisa-toolkit' ),
			'base'            => 'detail',
			'as_child'        => array( 'only' => 'details_list' ),
			'content_element' => true,
			'class'           => '',
			'icon'            => '',
			'category'        => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'          => array(
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Title', 'noisa-toolkit' ),
					'param_name'  => 'label',
					'value'       => '',
					'admin_label' => true
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Texts', 'noisa-toolkit' ),
					'param_name'  => 'value',
					'value'       => '',
					'admin_label' => true
	            ),
	            array(
					'type'        => 'checkbox',
					'class'       => '',
					'heading'     => esc_html__( 'Text as link', 'noisa-toolkit' ),
					'param_name'  => 'text_link',
					'value'       => array( 'Yes' => '0' ),
					'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'URL', 'noisa-toolkit' ),
					'param_name'  => 'url',
					'value'       => '',
					'admin_label' => true,
					'dependency'  => array( 'element' => 'text_link', 'value' => array( '0' ) )
	            ),
	            array(
					'type'        => 'checkbox',
					'class'       => '',
					'heading'     => esc_html__( 'New Window', 'noisa-toolkit' ),
					'param_name'  => 'target',
					'value'       => array( 'New window' => '0' ),
					'admin_label' => false,
					'dependency'  => array( 'element' => 'text_link', 'value' => array( '0' ) )
	            ),
	      	)
	    ));


		// Google Maps
		vc_map( array(
			'name'     => esc_html__( 'Google Maps', 'noisa-toolkit' ),
			'base'     => 'google_maps',
			'class'    => '',
			'icon'     => '',
			'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'   => array(
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Height', 'noisa-toolkit' ),
					'param_name'  => 'height',
					'value'       => esc_html__( '400', 'noisa-toolkit' ),
					'description' => 'Map height (px).',
					'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Address', 'noisa-toolkit' ),
					'param_name'  => 'address',
					'value'       => esc_html__( 'Level 13, 2 Elizabeth St, Melbourne Victoria 3000 Australia', 'noisa-toolkit' ),
					'description' => 'Map address.',
					'admin_label' => true
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Depth', 'noisa-toolkit' ),
					'param_name'  => 'depth',
					'value'       => esc_html__( '15', 'noisa-toolkit' ),
					'description' => 'Zoom depth.',
					'admin_label' => false
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Zoom Control', 'noisa-toolkit' ),
					'param_name'  => 'zoom_control',
					'value'       => array(
						'No'  => 'false',
						'Yes' => 'true'
	                ),
	                'description' => 'Zoom control.'
	            ),
	           array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Scroll Whell', 'noisa-toolkit' ),
					'param_name'  => 'scrollwheel',
					'value'       => array(
						'No'  => 'false',
						'Yes' => 'true'
	                ),
					'description' => 'Mouse scroll whell.'
	            )
	      	)
	    ));


		// Posts List
		vc_map( array(
			'name'        => esc_html__( 'Posts List', 'noisa-toolkit' ),
			'base'        => 'posts_list',
			'icon'        => '',
			'class'       => '',
			'category'    => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'description' => '',
			'params'      => array(
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Limit', 'noisa-toolkit' ),
					'param_name'  => 'limit',
					'value'       => '10',
					'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Post IDs', 'noisa-toolkit' ),
					'param_name'  => 'posts_in',
					'value'       => '',
					'admin_label' => false,
					'description' => esc_html__( 'Fill this field with posts IDs separated by commas (,), to retrieve only them.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'exploded_textarea',
					'class'       => '',
					'heading'     => esc_html__( 'Categories', 'noisa-toolkit' ),
					'param_name'  => 'categories_in',
					'value'       => '',
					'description' => 'Fill this field with categories names divided by linebreaks (Enter), to retrieve only them.'
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Button Link', 'noisa-toolkit' ),
					'param_name'  => 'button_link',
					'value'       => '',
					'description' => esc_html__( 'URL to blog page.', 'noisa-toolkit' ),
					'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Extra class name', 'noisa-toolkit' ),
					'param_name'  => 'classes',
					'value'       => '',
					'admin_label' => false,
					'description' => esc_html__( 'Style particular content element differently - add a class name and refer to it in custom CSS.', 'noisa-toolkit' )
	            )
	        )
	   	) );


		// Releases GRID
		vc_map( array(
			'name'     => esc_html__( 'Releases GRID', 'noisa-toolkit' ),
			'base'     => 'releases_grid',
			'icon'     => '',
			'class'    => '',
			'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'   => array(

	            array(
					'type'       => 'dropdown',
					'class'      => '',
					'heading'    => esc_html__( 'Display', 'noisa-toolkit' ),
					'param_name' => 'display_by',
					'value'      => array( 
						'All'        => 'all', 
						'By Artists' => 'noisa_releases_artists'
	                ),
	                'admin_label' => false,
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Taxonomies', 'noisa-toolkit' ),
					'param_name'  => 'terms',
					'admin_label' => false,
					'description' => esc_html__( 'Type slugs separated by commas. ex: dj-nando,general-midi,noisa', 'noisa-toolkit' ),
					'dependency'  => array( 'element' => 'display_by', 'value' => array( 'noisa_releases_artists' ) )
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Order By', 'noisa-toolkit' ),
					'param_name'  => 'order',
					'value'       => array( 'Custom' => 'menu_order', 'Title' => 'title', 'Date' => 'date' ),
					'admin_label' => false,
					'description' => esc_html__( 'Select menu order.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Items Per Row', 'noisa-toolkit' ),
					'param_name'  => 'in_row',
					'std'         => '3',
					'value'       => array( '2', '3', '4', '5' ),
					'admin_label' => false
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Gap', 'noisa-toolkit' ),
					'param_name'  => 'gap',
					'value'       => array( 'Small Gap' => 'no-gap', 'Medium Gap' => 'medium-gap' ),
					'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Limit', 'noisa-toolkit' ),
					'param_name'  => 'limit',
					'value'       => '40',
					'admin_label' => false,
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Link', 'noisa-toolkit' ),
					'param_name'  => 'url',
					'value'       => '',
					'admin_label' => false,
					'description' => esc_html__( 'Last item will be a link with items counter.', 'noisa-toolkit' )
	            )
	        )
	   	) );

		// Releases Carousel
		vc_map( array(
			'name'        => esc_html__( 'Releases Carousel', 'noisa-toolkit' ),
			'base'        => 'releases_carousel',	
			'icon'        => '',
			'class'       => '',
			'category'    => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'description' => '',
			'params'      => array(
	             array(
					'type'       => 'dropdown',
					'class'      => '',
					'heading'    => esc_html__( 'Display', 'noisa-toolkit' ),
					'param_name' => 'display_by',
					'value'      => array( 
						'All'        => 'all', 
						'By Artists' => 'noisa_releases_artists',
						'By Genres' => 'noisa_releases_genres'
	                ),
	                'admin_label' => false,
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Taxonomies', 'noisa-toolkit' ),
					'param_name'  => 'terms',
					'admin_label' => false,
					'description' => esc_html__( 'Type slugs separated by commas. ex: dj-nando,general-midi,noisa', 'noisa-toolkit' ),
					'dependency'  => array( 'element' => 'display_by', 'value' => array( 'noisa_releases_artists', 'noisa_releases_genres' ) )
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Order By', 'noisa-toolkit' ),
					'param_name'  => 'order',
					'value'       => array( 'Custom' => 'menu_order', 'Title' => 'title', 'Date' => 'date' ),
					'admin_label' => false,
					'description' => esc_html__( 'Select menu order.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Limit', 'noisa-toolkit' ),
					'param_name'  => 'limit',
					'value'       => '4',
					'admin_label' => false
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Visible Releases', 'noisa-toolkit' ),
					'param_name'  => 'visible_items',
					'value'       => array( '1' => '1', '2' => '2', '3' => '3', '4' => '4' ),
					'admin_label' => false,
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Gap', 'noisa-toolkit' ),
					'param_name'  => 'gap',
					'value'       => array( 'Small Gap' => 'no-gap', 'Medium Gap' => 'medium-gap' ),
					'admin_label' => false,
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Button Link', 'noisa-toolkit' ),
					'param_name'  => 'button_link',
					'value'       => '',
					'description' => esc_html__( 'URL to release page.', 'noisa-toolkit' ),
					'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Button Title', 'noisa-toolkit' ),
					'param_name'  => 'button_title',
					'value'       => esc_html__( 'View More', 'noisa-toolkit' ),
					'admin_label' => false,
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Extra class name', 'noisa-toolkit' ),
					'param_name'  => 'classes',
					'value'       => '',
					'admin_label' => false,
					'description' => esc_html__( 'Style particular content element differently - add a class name and refer to it in custom CSS.', 'noisa-toolkit' )
	            )
	        )
	   	) );


		// Artists GRID
	 	vc_map( array(
			'name'     => esc_html__( 'Artists GRID', 'noisa-toolkit' ),
			'base'     => 'artists_grid',
			'icon'     => '',
			'class'    => '',
			'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'   => array(

	           array(
					'type'       => 'dropdown',
					'class'      => '',
					'heading'    => esc_html__( 'Display', 'noisa-toolkit' ),
					'param_name' => 'display_by',
					'value'      => array( 
						'All'           => 'all', 
						'By Genres'     => 'noisa_artists_genres',
						'By Categories' => 'noisa_artists_cats'
	                ),
	                'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Taxonomies', 'noisa-toolkit' ),
					'param_name'  => 'terms',
					'admin_label' => false,
					'description' => esc_html__( 'Type slugs separated by commas. ex: dj-nando,general-midi,noisa', 'noisa-toolkit' ),
					'dependency'  => array( 'element' => 'display_by', 'value' => array( 'noisa_artists_genres', 'noisa_artists_cats' ) )
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Order By', 'noisa-toolkit' ),
					'param_name'  => 'order',
					'value'       => array( 'Custom' => 'menu_order', 'Title' => 'title', 'Date' => 'date' ),
					'admin_label' => false,
					'description' => esc_html__( 'Select menu order.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Items Per Row', 'noisa-toolkit' ),
					'param_name'  => 'in_row',
					'std'         => '3',
					'value'       => array( '2', '3', '4', '5' ),
					'admin_label' => false
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Gap', 'noisa-toolkit' ),
					'param_name'  => 'gap',
					'value'       => array( 'Small Gap' => 'no-gap', 'Medium Gap' => 'medium-gap' ),
					'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Limit', 'noisa-toolkit' ),
					'param_name'  => 'limit',
					'value'       => '40',
					'admin_label' => false,
	            ),
	            array(
					'type'        => 'checkbox',
					'class'       => '',
					'heading'     => esc_html__( 'Disable Artists Links', 'noisa-toolkit' ),
					'param_name'  => 'disable_artists_links',
					'std'         => '',
					'value'       => array( 'Yes' => '0' ),
					'admin_label' => false,
					'description' => esc_html__( 'Disable artists links.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Link', 'noisa-toolkit' ),
					'param_name'  => 'url',
					'value'       => '',
					'admin_label' => false,
					'description' => esc_html__( 'Last item will be a link with items counter.', 'noisa-toolkit' )
	            )
	        )
	   	) );


	 	// Artists Carousel
	 	vc_map( array(
			'name'        => esc_html__( 'Artists Carousel', 'noisa-toolkit' ),
			'base'        => 'artists_carousel',
			'icon'        => '',
			'class'       => '',
			'category'    => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'description' => '',
			'params'      => array(
	             array(
					'type'       => 'dropdown',
					'class'      => '',
					'heading'    => esc_html__( 'Display', 'noisa-toolkit' ),
					'param_name' => 'display_by',
					'value'      => array( 
						'All'           => 'all', 
						'By Genres'     => 'noisa_artists_genres',
						'By Categories' => 'noisa_artists_cats'
	                ),
	                'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Taxonomies', 'noisa-toolkit' ),
					'param_name'  => 'terms',
					'admin_label' => false,
					'description' => esc_html__( 'Type slugs separated by commas. ex: dj-nando,general-midi,noisa', 'noisa-toolkit' ),
					'dependency'  => array( 'element' => 'display_by', 'value' => array( 'noisa_artists_genres', 'noisa_artists_cats' ) )
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Order By', 'noisa-toolkit' ),
					'param_name'  => 'order',
					'value'       => array( 'Custom' => 'menu_order', 'Title' => 'title', 'Date' => 'date' ),
					'admin_label' => false,
					'description' => esc_html__( 'Select menu order.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Limit', 'noisa-toolkit' ),
					'param_name'  => 'limit',
					'value'       => '4',
					'admin_label' => false
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Visible Tracks', 'noisa-toolkit' ),
					'param_name'  => 'visible_items',
					'value'       => array( '1' => '1', '2' => '2', '3' => '3', '4' => '4' ),
					'admin_label' => false
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Gap', 'noisa-toolkit' ),
					'param_name'  => 'gap',
					'value'       => array( 'Small Gap' => 'no-gap', 'Medium Gap' => 'medium-gap' ),
					'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Button Link', 'noisa-toolkit' ),
					'param_name'  => 'button_link',
					'value'       => '',
					'description' => esc_html__( 'URL to artists page.', 'noisa-toolkit' ),
					'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Button Title', 'noisa-toolkit' ),
					'param_name'  => 'button_title',
					'value'       => esc_html__( 'View More', 'noisa-toolkit' ),
					'admin_label' => false,
	            ),
	            array(
					'type'        => 'checkbox',
					'class'       => '',
					'heading'     => esc_html__( 'Show Pagination', 'noisa-toolkit' ),
					'param_name'  => 'pagination',
					'std'         => '0',
					'value'       => array( 'Yes' => '0' ),
					'admin_label' => false,
					'description' => esc_html__( 'Show pagination.', 'noisa-toolkit' )
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Extra class name', 'noisa-toolkit' ),
					'param_name'  => 'classes',
					'value'       => '',
					'admin_label' => false,
					'description' => esc_html__( 'Style particular content element differently - add a class name and refer to it in custom CSS.', 'noisa-toolkit' )
	            )
	        )
	   	) );


		// Events
		vc_map( array(
			'name'     => esc_html__( 'Events', 'noisa-toolkit' ),
			'base'     => 'events',
			'icon'     => '',
			'class'    => '',
			'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'   => array(

	            array(
					'type'       => 'dropdown',
					'class'      => '',
					'heading'    => esc_html__( 'Event Type', 'noisa-toolkit' ),
					'param_name' => 'event_type',
					'value'      => array( 
						'Future Events' => 'future-events', 
						'Past Events'   => 'past-events',
						'All Events'    => 'all-events'
	                ),
	                'admin_label' => false
	            ),
	            array(
					'type'       => 'dropdown',
					'class'      => '',
					'heading'    => esc_html__( 'Display Type', 'noisa-toolkit' ),
					'param_name' => 'display_type',
					'value'      => array( 
	                    'Grid' => 'grid', 
	                    'List' => 'list'
	                ),
	                'admin_label' => false
	            ),
	            array(
					'type'       => 'dropdown',
					'class'      => '',
					'heading'    => esc_html__( 'Display', 'noisa-toolkit' ),
					'param_name' => 'display_by',
					'value'      => array( 
						'All'           => 'all', 
						'By Artists'    => 'noisa_events_artists',
						'By Categories' => 'noisa_events_cats'
	                ),
	                'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Taxonomies', 'noisa-toolkit' ),
					'param_name'  => 'terms',
					'admin_label' => false,
					'description' => esc_html__( 'Type slugs separated by commas. ex: dj-nando,general-midi,noisa', 'noisa-toolkit' ),
					'dependency'  => array( 'element' => 'display_by', 'value' => array( 'noisa_events_artists','noisa_events_cats' ) )
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Items Per Row', 'noisa-toolkit' ),
					'param_name'  => 'in_row',
					'std'         => '3',
					'value'       => array( '2', '3', '4', '5' ),
					'admin_label' => false
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Gap', 'noisa-toolkit' ),
					'param_name'  => 'gap',
					'value'       => array( 'Small Gap' => 'no-gap', 'Medium Gap' => 'medium-gap' ),
					'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Limit', 'noisa-toolkit' ),
					'param_name'  => 'limit',
					'value'       => '40',
					'admin_label' => false,
	            ),
	            array(
					'type'       => 'dropdown',
					'class'      => '',
					'heading'    => esc_html__( 'Thumb Style', 'noisa-toolkit' ),
					'param_name' => 'thumb_style',
					'value'      => array( 'Default' => 'default', 'Inverted' => 'inverted' ),
	            ),
	        )
	   	) );


		// Gallery Albums
		vc_map( array(
			'name'     => esc_html__( 'Gallery Albums', 'noisa-toolkit' ),
			'base'     => 'gallery_albums',
			'icon'     => '',
			'class'    => '',
			'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'   => array(

	            array(
					'type'       => 'dropdown',
					'class'      => '',
					'heading'    => esc_html__( 'Display', 'noisa-toolkit' ),
					'param_name' => 'display_by',
					'value'      => array( 
						'All'        => 'all', 
						'By Artists' => 'noisa_gallery_artists'
	                ),
	                'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Taxonomies', 'noisa-toolkit' ),
					'param_name'  => 'terms',
					'admin_label' => false,
					'description' => esc_html__( 'Type slugs separated by commas. ex: dj-nando,general-midi,noisa', 'noisa-toolkit' ),
					'dependency'  => array( 'element' => 'display_by', 'value' => array( 'noisa_gallery_artists' ) )
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Items Per Row', 'noisa-toolkit' ),
					'param_name'  => 'in_row',
					'std'         => '3',
					'value'       => array( '2', '3', '4', '5' ),
					'admin_label' => false
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Gap', 'noisa-toolkit' ),
					'param_name'  => 'gap',
					'value'       => array( 'Small Gap' => 'no-gap', 'Medium Gap' => 'medium-gap' ),
					'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Limit', 'noisa-toolkit' ),
					'param_name'  => 'limit',
					'value'       => '40',
					'admin_label' => false,
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Link', 'noisa-toolkit' ),
					'param_name'  => 'url',
					'value'       => '',
					'admin_label' => false,
					'description' => esc_html__( 'Last item will be a link with items counter.', 'noisa-toolkit' )
	            ),
	             array(
					'type'        => 'checkbox',
					'class'       => '',
					'heading'     => esc_html__( 'Masonry Layout', 'noisa-toolkit' ),
					'param_name'  => 'masonry',
					'value'       => '0',
					'admin_label' => false,
					'description' => esc_html__( 'Do not use masonry layout if your grid is in the TAB section.', 'noisa-toolkit' )
	            )
	        )
	   	) );


		// Gallery Images
		vc_map( array(
			'name'     => esc_html__( 'Gallery Images', 'noisa-toolkit' ),
			'base'     => 'gallery_images',
			'icon'     => '',
			'class'    => '',
			'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'   => array(
	             array(
					'type'       => 'dropdown',
					'class'      => '',
					'heading'    => esc_html__( 'Display Images from', 'noisa-toolkit' ),
					'param_name' => 'album_id',
					'value'      => $this->getAlbums()
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Limit', 'noisa-toolkit' ),
					'param_name'  => 'limit',
					'value'       => '40',
					'admin_label' => false,
	            ),
	            array(
					'type'        => 'checkbox',
					'class'       => '',
					'heading'     => esc_html__( 'Link', 'noisa-toolkit' ),
					'param_name'  => 'url',
					'value'       => '0',
					'admin_label' => false,
					'description' => esc_html__( 'Last item will be a link with items counter.', 'noisa-toolkit' )
	            )
	        )
	   	) ); 
		

		// Event Countdown
		vc_map( array(
			'name'     => esc_html__( 'Event Countdown', 'noisa-toolkit' ),
			'base'     => 'event_countdown',
			'icon'     => '',
			'class'    => '',
			'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'   => array(
	             array(
					'type'       => 'dropdown',
					'class'      => '',
					'heading'    => esc_html__( 'Style', 'noisa-toolkit' ),
					'param_name' => 'style',
					'value'      => array( 'Compact' => 'compact', 'Big' => 'big' ),
	            ),
	            array(
					'type'       => 'dropdown',
					'class'      => '',
					'heading'    => esc_html__( 'Display', 'noisa-toolkit' ),
					'param_name' => 'display_by',
					'value'      => array( 
						'All'        => 'all', 
						'By Artists' => 'noisa_events_artists'
	                ),
	                'admin_label' => false
	            ),
	            array(
					'type'        => 'textfield',
					'class'       => '',
					'heading'     => esc_html__( 'Taxonomies', 'noisa-toolkit' ),
					'param_name'  => 'terms',
					'admin_label' => false,
					'description' => esc_html__( 'Type slugs separated by commas. ex: dj-nando,general-midi,noisa', 'noisa-toolkit' ),
					'dependency'  => array( 'element' => 'display_by', 'value' => array( 'noisa_events_artists' ) )
	            ),
	            array(
					'type'        => 'checkbox',
					'class'       => '',
					'heading'     => esc_html__( 'Select Custom Event', 'noisa-toolkit' ),
					'param_name'  => 'custom_event',
					'value'       => array( 'Yes, please' => '0' ),
					'std'         => '',
					'admin_label' => false,
	            ),
	            array(
					'type'        => 'dropdown',
					'class'       => '',
					'heading'     => esc_html__( 'Custom Event ID', 'noisa-toolkit' ),
					'param_name'  => 'custom_event_id',
					'value'       => $this->getEvents(),
					'admin_label' => true,
					'dependency'  => array( 'element' => 'custom_event', 'value' => array( '0' ) )
	            )
	        ),
	   	) ); 


		// Timeline
	   	vc_map( array(
			'name'     => esc_html__( 'Timeline', 'noisa-toolkit' ),
			'base'     => 'time_line',
			'class'    => '',
			'icon'     => '',
			'category' => esc_html__( 'by Rascals', 'noisa-toolkit' ),
			'params'   => array(
	            array(
					'type'        => 'exploded_textarea',
					'class'       => '',
					'heading'     => esc_html__( 'Content', 'noisa-toolkit' ),
					'param_name'  => 'list',
					'value'       => '01:30 AM - 03:00 AM|Lady C,11:30 PM - 01:30 AM|Gorrilla,10:30 PM - 11:30 PM|Vibeman,09:00 PM - 10:30 PM|DJ Nando,08:00 PM - 09:00 PM|General Midi',
					'description' => ''
	            )
	      	)
	    ));


	}


	/**
	 * Get Events
	 * @return array
	 */
	public function getIcons() {

	    $icons = array('', 'pushpin', 'home', 'pencil', 'pencil2', 'droplet', 'image', 'image2', 'images', 'camera2', 'music', 'headphones', 'play', 'film', 'bullhorn', 'connection', 'tag', 'cart', 'support', 'phone2', 'envelope', 'location', 'map', 'clock', 'calendar', 'screen', 'download', 'upload', 'bubbles', 'user', 'users', 'quotes-left', 'spinner', 'search', 'zoomin', 'zoomout', 'expand', 'wrench', 'equalizer', 'cog', 'cog2', 'pie', 'stats', 'bars', 'bars2', 'gift', 'rocket2', 'fire', 'lab', 'lightning', 'list', 'numbered-list', 'menu', 'menu2', 'cloud', 'earth', 'link', 'eye', 'eye-blocked', 'bookmark', 'star', 'star2', 'star3', 'heart', 'thumbs-up', 'thumbs-up2', 'cancel-circle', 'close', 'checkmark', 'minus', 'plus', 'play2', 'pause', 'volume-high', 'arrow-right', 'arrow-left', 'arrow-up', 'arrow-right2', 'arrow-down', 'arrow-left2', 'newtab', 'code', 'share', 'mail', 'googleplus', 'google-drive', 'facebook', 'twitter', 'feed', 'youtube', 'youtube2', 'vimeo', 'lanyrd', 'flickr', 'flickr2', 'picassa', 'dribbble', 'forrst', 'deviantart', 'steam', 'github', 'github2', 'wordpress', 'joomla', 'blogger', 'tumblr', 'yahoo', 'tux', 'apple', 'finder', 'android', 'windows', 'soundcloud', 'skype', 'reddit', 'linkedin', 'lastfm', 'delicious', 'stumbleupon', 'stackoverflow', 'pinterest', 'xing', 'flattr', 'paypal', 'yelp', 'html5', 'html52', 'css3', 'chrome', 'firefox', 'IE', 'opera', 'number', 'number2', 'number3', 'number4', 'number5', 'number6', 'number7', 'number8', 'number9', 'number10', 'phone', 'tablet', 'window', 'monitor', 'ipod', 'camera', 'lamp', 'diamond', 'paperplane', 'rocket', 'globe', 'ruler', 'chevron-left', 'chevron-right', 'chevron-up', 'chevron-down', 'angle-left', 'angle-right', 'angle-up', 'angle-down');

	    asort( $icons );

	    return $icons;
	}


	/**
	 * Get Events
	 * @return array
	 */
	public function getEvents() {

	    $future_tax = array(
	        array(
				'taxonomy' => 'noisa_event_type',
				'field'    => 'slug',
				'terms'    => 'future-events'
	          )
	    );
	    $future_events = get_posts( array(
			'post_type' => 'noisa_events',
			'showposts' => -1,
			'tax_query' => $future_tax,
			'orderby'   => 'meta_value',
			'meta_key'  => '_event_date_start',
			'order'     => 'ASC'
	    ));

	    $events = array();
	    foreach( $future_events as $event ) {
	        $events[$event->post_title] = $event->ID;
	    }

	    return $events;

	}


	/**
	 * Get all gallery albums in array
	 * @return array
	 */
	public function getAlbums() {

		global $wpdb;

		$gallery = array();
	    $gallery_post_type = 'noisa_gallery';
	    $gallery_query = $wpdb->prepare(
	        "
	        SELECT
	            {$wpdb->posts}.id,
	            {$wpdb->posts}.post_title
	        FROM 
	            {$wpdb->posts}
	        WHERE
	            {$wpdb->posts}.post_type = %s
	        AND 
	            {$wpdb->posts}.post_status = 'publish'
	        ",
	        $gallery_post_type
	    );

	    $sql_gallery = $wpdb->get_results( $gallery_query );
	    $gallery[''] = '';
	    if ( $sql_gallery ) {
	        $count = 0;
	        foreach( $sql_gallery as $track_post ) {
	            $gallery[$track_post->post_title] = $track_post->id;
	            $count++;
	        }
	    }
	    return $gallery;
	}



	/**
	 * Get all sliders in array
	 * @return array
	 */
	public function getSliders() {

		global $wpdb;

		$slider = array();
	    $slider_post_type = 'noisa_slider';
	    $slider_query = $wpdb->prepare(
	        "
	        SELECT
	            {$wpdb->posts}.id,
	            {$wpdb->posts}.post_title
	        FROM 
	            {$wpdb->posts}
	        WHERE
	            {$wpdb->posts}.post_type = %s
	        AND 
	            {$wpdb->posts}.post_status = 'publish'
	        ",
	        $slider_post_type
	    );

	    $sql_slider = $wpdb->get_results( $slider_query );
	    $slider[''] = '';
	    if ( $sql_slider ) {
	        $count = 0;
	        foreach( $sql_slider as $track_post ) {
	            $slider[$track_post->post_title] = $track_post->id;
	            $count++;
	        }
	    }
	    return $slider;
	}

	/**
	 * Get all tracks in array
	 * @return array
	 */
	public function getTracks() {

		global $wpdb;

		// Get Tracks
		$tracks = array();
	    $tracks_post_type = 'noisa_tracks';
	    $tracks_query = $wpdb->prepare(
	        "
	        SELECT
	            {$wpdb->posts}.id,
	            {$wpdb->posts}.post_title
	        FROM 
	            {$wpdb->posts}
	        WHERE
	            {$wpdb->posts}.post_type = %s
	        AND 
	            {$wpdb->posts}.post_status = 'publish'
	        ",
	        $tracks_post_type
	    );

	    $sql_tracks = $wpdb->get_results( $tracks_query );
	    $tracks[''] = 0;
	    if ( $sql_tracks ) {
	        $count = 0;
	        foreach( $sql_tracks as $track_post ) {
	            $tracks[$track_post->post_title] = $track_post->id;
	            $count++;
	        }
	    }

	    return $tracks;
	}


}

// Extend VC containers class
if ( class_exists( 'WPBakeryShortCodesContainer' ) ) {

	// Buttons
    class WPBakeryShortCode_buttons extends WPBakeryShortCodesContainer {}

    // Details list
    class WPBakeryShortCode_details_list extends WPBakeryShortCodesContainer {}
}
if ( class_exists( 'WPBakeryShortCode' ) ) {

	// Button
    class WPBakeryShortCode_button extends WPBakeryShortCode {}

    // Detail
    class WPBakeryShortCode_detail extends WPBakeryShortCode {}
}

Youez - 2016 - github.com/yon3zu
LinuXploit