%PDF- %PDF-
Direktori : /var/www/html/shaban/laviva/wp-content/plugins/master-slider/public/ |
Current File : /var/www/html/shaban/laviva/wp-content/plugins/master-slider/public/class-master-slider.php |
<?php /** * Master Slider. * * @package MasterSlider * @author averta [averta.net] * @license LICENSE.txt * @link http://masterslider.com * @copyright Copyright © 2014 averta */ if ( ! class_exists( 'Master_Slider' ) ) : /** * Plugin class. This class should ideally be used to work with the * public-facing side of the WordPress site. */ class Master_Slider { /** * Instance of this class. * * @since 1.0.0 * * @var object */ protected static $instance = null; /** * Instance of Master_Slider_Admin class. * * @since 1.0.0 * * @var object */ public $admin = null; /** * Initialize the plugin * * @since 1.0.0 */ private function __construct() { $this->includes(); add_action( 'init', array( $this, 'init' ) ); // Activate plugin when new blog is added add_action( 'wpmu_new_blog', array( $this, 'activate_new_site' ) ); // Loaded action do_action( 'masterslider_loaded' ); } /** * * @return [type] [description] */ private function includes() { // load common functionalities include_once( MSWP_AVERTA_INC_DIR . '/index.php' ); // Dashboard and Administrative Functionality if ( is_admin() ) { // Load AJAX spesific codes on demand if ( defined('DOING_AJAX') && DOING_AJAX ){ include_once( MSWP_AVERTA_ADMIN_DIR . '/includes/classes/class-msp-admin-ajax.php'); include_once( MSWP_AVERTA_ADMIN_DIR . '/includes/msp-admin-functions.php'); } // Load admin spesific codes else { $this->admin = include( MSWP_AVERTA_ADMIN_DIR . '/class-master-slider-admin.php' ); } // Load Frontend Functionality } else { include_once( 'includes/class-msp-frontend-assets.php' ); } } /** * Init Masterslider when WordPress Initialises. * * @return void */ public function init(){ // Before init action do_action( 'before_masterslider_init' ); // @Deprecate WP Version 5.0 global $wp_version; if ( version_compare( $wp_version, '4.6', '<' ) ) { // Load plugin text domain $this->load_plugin_textdomain(); } // Init action do_action( 'masterslider_init' ); } /** * Return an instance of this class. * * @since 1.0.0 * * @return object A single instance of this class. */ public static function get_instance() { // If the single instance hasn't been set, set it now. if ( null == self::$instance ) { self::$instance = new self; } return self::$instance; } /** * Fired when the plugin is activated. * * @since 1.0.0 * * @param boolean $network_wide True if WPMU superadmin uses * "Network Activate" action, false if * WPMU is disabled or plugin is * activated on an individual blog. */ public static function activate( $network_wide ) { if ( function_exists( 'is_multisite' ) && is_multisite() ) { if ( $network_wide ) { // Get all blog ids $blog_ids = self::get_blog_ids(); foreach ( $blog_ids as $blog_id ) { switch_to_blog( $blog_id ); self::single_activate(); } restore_current_blog(); } else { self::single_activate(); } } else { self::single_activate(); } } /** * Fired when the plugin is deactivated. * * @since 1.0.0 * * @param boolean $network_wide True if WPMU superadmin uses * "Network Deactivate" action, false if * WPMU is disabled or plugin is * deactivated on an individual blog. */ public static function deactivate( $network_wide ) { if ( function_exists( 'is_multisite' ) && is_multisite() ) { if ( $network_wide ) { // Get all blog ids $blog_ids = self::get_blog_ids(); foreach ( $blog_ids as $blog_id ) { switch_to_blog( $blog_id ); self::single_deactivate(); } restore_current_blog(); } else { self::single_deactivate(); } } else { self::single_deactivate(); } } /** * Fired when a new site is activated with a WPMU environment. * * @since 1.0.0 * * @param int $blog_id ID of the new blog. */ public function activate_new_site( $blog_id ) { if ( 1 !== did_action( 'wpmu_new_blog' ) ) { return; } switch_to_blog( $blog_id ); self::single_activate(); restore_current_blog(); } /** * Get all blog ids of blogs in the current network that are: * - not archived * - not spam * - not deleted * * @since 1.0.0 * * @return array|false The blog ids, false if no matches. */ private static function get_blog_ids() { global $wpdb; // get an array of blog ids $sql = "SELECT blog_id FROM $wpdb->blogs WHERE archived = '0' AND spam = '0' AND deleted = '0'"; return $wpdb->get_col( $sql ); } /** * Fired for each blog when the plugin is activated. * * @since 1.0.0 */ private static function single_activate() { global $mspdb; $mspdb->create_tables(); // add masterslider custom caps self::assign_custom_caps(); // determine the pro feature content type for panel tab if( ! get_option( 'master-slider_ab_pro_feature_panel_content_type', 0 ) ){ update_option( 'master-slider_ab_pro_feature_panel_content_type', rand(1, 2) ); } // determine the pro feature content type for pro setting page if( ! get_option( 'master-slider_ab_pro_feature_setting_content_type', 0 ) ){ update_option( 'master-slider_ab_pro_feature_setting_content_type', rand(1, 2) ); } do_action( 'masterslider_activated', get_current_blog_id() ); } /** * Assign masterslider custom capabilities to main roles * @return void */ public static function assign_custom_caps( $force_update = false ){ // check if custom capabilities are added before or not $is_added = get_option( 'masterslider_capabilities_added', 0 ); // add caps if they are not already added if( ! $is_added || $force_update ) { // assign masterslider capabilities to following roles $roles = array( 'administrator', 'editor' ); foreach ( $roles as $role ) { if( ! $role = get_role( $role ) ) continue; $role->add_cap( 'access_masterslider' ); $role->add_cap( 'publish_masterslider' ); $role->add_cap( 'delete_masterslider' ); $role->add_cap( 'create_masterslider' ); $role->add_cap( 'export_masterslider' ); $role->add_cap( 'duplicate_masterslider' ); } update_option( 'masterslider_capabilities_added', 1 ); } } /** * Set default options * * @since 1.0.0 */ public static function set_default_options( $force_update = false ){ } /** * Fired for each blog when the plugin is deactivated. * * @since 1.0.0 */ private static function single_deactivate() { do_action( 'masterslider_deactivated' ); } /** * Load the plugin text domain for translation. * * @since 1.0.0 */ public function load_plugin_textdomain() { $locale = apply_filters( 'plugin_locale', get_locale(), 'master-slider' ); load_textdomain( 'master-slider', trailingslashit( WP_LANG_DIR ) . 'master-slider' . '/' . 'master-slider' . '-' . $locale . '.mo' ); load_plugin_textdomain( 'master-slider', FALSE, basename( MSWP_AVERTA_DIR ) . '/languages/' ); } } endif; function MSP(){ return Master_Slider::get_instance(); } MSP(); class MSP_AttachmentFields { private $fields = array(); function __construct($fields = null) { if(isset($fields) && is_array($fields)) $this->$fields = $fields; } public function add($field){ if(is_array($field)) $this->fields[] = $field; } public function init(){ add_filter( 'attachment_fields_to_edit', array( $this, 'addFields' ), 11, 2 ); add_filter( 'attachment_fields_to_save', array( $this, 'saveFields' ), 11, 2 ); } public function addFields( $form_fields, $post ){ $form_fields['image_rating'] = array( 'label' => __( 'rating', "default" ), 'input' => 'radio', 'options' => array( '1' => 1, '2' => 2, '3' => 3, '4' => 4, '5' => 5 ), 'application' => 'image', 'exclusions' => array( 'audio', 'video' ) ); return $form_fields; } public function saveFields($post, $attachment) { return $post; } } $attach_fields = new MSP_AttachmentFields(); $attchments_options = array( 'image_copyright' => array( 'label' => '', 'input' => 'text', 'helps' => '', 'application' => 'image', 'exclusions' => array( 'audio', 'video' ), 'required' => true, 'error_text' => __( 'Field is required', "default" ) ), 'image_rating' => array( 'label' => __( 'rating', "default" ), 'input' => 'radio', 'options' => array( '1' => 1, '2' => 2, '3' => 3, '4' => 4, '5' => 5 ), 'application' => 'image', 'exclusions' => array( 'audio', 'video' ) ) ); $attach_fields->init();