Your IP : 216.73.216.44


Current Path : /home/krobertfnz/www/wp-content/plugins/vamtam-elements-b/modules/vamtam-booked/
Upload File :
Current File : /home/krobertfnz/www/wp-content/plugins/vamtam-elements-b/modules/vamtam-booked/vamtam-booked.php

<?php

/**
 * @class VamtamBookedModule
 */
class VamtamBookedModule extends FLBuilderModule {

	/**
	 * @method __construct
	 */
	public function __construct() {
		$path = trailingslashit( 'modules/' . basename( dirname( __FILE__ ) ) );

		parent::__construct(array(
			'name'            => __( 'Booked', 'vamtam-elements-b' ),
			'description'     => __( 'Display a Booked Calendar.', 'vamtam-elements-b' ),
			'category'        => __( 'VamTam Modules', 'vamtam-elements-b' ),
			'partial_refresh' => true,
			'dir'             => VAMTAMEL_B_DIR . $path,
			'url'             => VAMTAMEL_B_URL . $path,
			'enabled'         => shortcode_exists( 'booked-calendar' ),
		));
	}

	public static function get_booked_calendars() {
		if ( ! is_plugin_active( 'booked/booked.php' ) ) return array();

		$calendars = get_terms( 'booked_custom_calendars', array(
			'orderby'    => 'name',
			'order'      => 'ASC',
			'hide_empty' => false,
		) );

		$result = array();

		foreach ( $calendars as $calendar ) {
			if ( is_object( $calendar ) ) {
				$result[ $calendar->term_id ] = $calendar->name;
			}
		}

		return $result;
	}
}

/**
 * Register the module and its form settings.
 */
FLBuilder::register_module( 'VamtamBookedModule', array(
	'layout' => array(
		'title'    => __( 'General', 'vamtam-elements-b' ),
		'sections' => array(
			'general' => array(
				'title'  => '',
				'fields' => array(
					'shortcode' => array(
						'label'   => esc_html__( 'Type', 'vamtam-elements-b' ),
						'default' => 'booked-calendar',
						'type'    => 'select',
						'options' => array(
							'booked-calendar'     => esc_html__( 'Calendar', 'vamtam-elements-b' ),
							'booked-login'        => esc_html__( 'Login form', 'vamtam-elements-b' ),
							'booked-profile'      => esc_html__( 'User Profile', 'vamtam-elements-b' ),
							'booked-appointments' => esc_html__( 'User Appointments', 'vamtam-elements-b' ),
						),
						'toggle' => array(
							'booked-calendar' => array(
								'sections' => array( 'calendar_options' ),
							),
						),
					),
				),
			),
			'calendar_options' => array(
				'title'  => esc_html__( 'Calendar Options', 'vamtam-elements-b' ),
				'fields' => array(
					'year' => array(
						'label'   => esc_html__( 'Year', 'vamtam-elements-b' ),
						'desc'    => esc_html__( 'Leave blank for default', 'vamtam-elements-b' ),
						'default' => '',
						'type'    => 'text',
					),

					'month' => array(
						'label'   => esc_html__( 'Month', 'vamtam-elements-b' ),
						'desc'    => esc_html__( 'Leave blank for default', 'vamtam-elements-b' ),
						'default' => '',
						'type'    => 'text',
					),

					'day' => array(
						'label'   => esc_html__( 'Day', 'vamtam-elements-b' ),
						'desc'    => esc_html__( 'Leave blank for default', 'vamtam-elements-b' ),
						'default' => '',
						'type'    => 'text',
					),

					'switcher' => array(
						'label'   => esc_html__( 'Switcher', 'vamtam-elements-b' ),
						'default' => '0',
						'type'    => 'select',
						'options' => array(
							'1' => esc_html__( 'On', 'vamtam-elements-b' ),
							'0' => esc_html__( 'Off', 'vamtam-elements-b' ),
						),
					),

					'style' => array(
						'label'   => esc_html__( 'Style', 'vamtam-elements-b' ),
						'default' => 'calendar',
						'type'    => 'select',
						'options' => array(
							'list'     => esc_html__( 'List', 'vamtam-elements-b' ),
							'calendar' => esc_html__( 'Calendar', 'vamtam-elements-b' ),
						),
					),

					'calendar' => array(
						'label'       => esc_html__( 'Calendar', 'vamtam-elements-b' ),
						'default'     => '',
						'prompt'      => '',
						'options'     => VamtamBookedModule::get_booked_calendars(),
						'type'        => 'select',
						'vamtam-wpml' => 'LINE',
					),

					'size' => array(
						'label'   => esc_html__( 'Size', 'vamtam-elements-b' ),
						'default' => 'large',
						'type'    => 'select',
						'options' => array(
							'small' => esc_html__( 'Small', 'vamtam-elements-b' ),
							'large' => esc_html__( 'Large', 'vamtam-elements-b' ),
						),
					),

					'members_only' => array(
						'label'   => esc_html__( 'Visibility', 'vamtam-elements-b' ),
						'default' => '0',
						'type'    => 'select',
						'options' => array(
							'1' => esc_html__( 'Logged in users only', 'vamtam-elements-b' ),
							'0' => esc_html__( 'All users', 'vamtam-elements-b' ),
						),
					),
				),
			),
		),
	),
) );