*/ class Advanced_Floating_Sliding_Panel_Public { /** * The ID of this plugin. * * @since 1.0.0 * @access private * @var string $plugin_name The ID of this plugin. */ private $plugin_name; /** * The version of this plugin. * * @since 1.0.0 * @access private * @var string $version The current version of this plugin. */ private $version; /** * Initialize the class and set its properties. * * @since 1.0.0 * @param string $plugin_name The name of the plugin. * @param string $version The version of this plugin. */ public function __construct( $plugin_name, $version ) { $this->plugin_name = $plugin_name; $this->version = $version; } /** * Register the stylesheets for the public-facing side of the site. * * @since 1.0.0 */ public function afsp_enqueue_styles() { /** * This function is provided for demonstration purposes only. * * An instance of this class should be passed to the run() function * defined in Advanced_Floating_Sliding_Panel_Loader as all of the hooks are defined * in that particular class. * * The Advanced_Floating_Sliding_Panel_Loader will then create the relationship * between the defined hooks and the functions defined in this * class. */ wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/advanced-floating-sliding-panel-public.css', array(), $this->version, 'all' ); //wp_enqueue_style( $this->plugin_name.'-demo', plugin_dir_url( __FILE__ ) . 'css/demo.css', array(), $this->version, 'all' ); wp_enqueue_style( $this->plugin_name.'-fontawesome', plugin_dir_url( __FILE__ ) . 'css/font-awesome.css', array(), $this->version, 'all' ); } /** * Register the JavaScript for the public-facing side of the site. * * @since 1.0.0 */ public function afsp_enqueue_scripts() { /** * This function is provided for demonstration purposes only. * * An instance of this class should be passed to the run() function * defined in Advanced_Floating_Sliding_Panel_Loader as all of the hooks are defined * in that particular class. * * The Advanced_Floating_Sliding_Panel_Loader will then create the relationship * between the defined hooks and the functions defined in this * class. */ wp_enqueue_script( $this->plugin_name.'sliding-panel', plugin_dir_url( __FILE__ ) . 'js/jquery.slidingpanel.js', array( 'jquery' ), null, true ); wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/advanced-floating-sliding-panel-public.js', array( 'jquery' ), null, true ); } public function afsp_load() { $args = array( 'posts_per_page' => -1, 'post_type' => 'ct_afsp', 'post_status' => 'publish' ); $posts = get_posts($args); if(!$posts){ return; } foreach($posts as $post) { $output = ""; $output_tabs = ""; $output_css = ""; $output_js = ""; $impressions = get_post_meta( $post->ID, 'ct_afsp_impressions', true ); if ( empty( $impressions ) ) $impressions = 1; else $impressions = $impressions + 1; update_post_meta($post->ID, 'ct_afsp_impressions', $impressions); $sliding_panel_post_meta = get_post_meta( $post->ID ); $total_tabs = 0; foreach($sliding_panel_post_meta as $key => $val){ if (strpos($key, 'ct_afsp_tab_label_') !== false) { $number = (int) filter_var($key, FILTER_SANITIZE_NUMBER_INT); if($number!=0) { $total_tabs++; $tab_title = get_post_meta( $post->ID, 'ct_afsp_tab_label_'.$number, true ); $tab_text = $tab_title; // get_post_meta( $post->ID, 'ct_afsp_tab_alignment_'.$number, true ); if(get_post_meta( $post->ID, 'ct_afsp_tab_alignment_'.$number, true )=="left" && get_post_meta( $post->ID, 'ct_afsp_tab_icon_'.$number, true )!= ""){ $tab_text = ''.$tab_title; } if(get_post_meta( $post->ID, 'ct_afsp_tab_alignment_'.$number, true )=="right" && get_post_meta( $post->ID, 'ct_afsp_tab_icon_'.$number, true )!= ""){ $tab_text = $tab_title.''; } if( $tab_title=="" && get_post_meta( $post->ID, 'ct_afsp_tab_icon_'.$number, true )!= "" ){ $tab_text = ''; } // echo $tab_text.get_post_meta( $post->ID, 'ct_afsp_tab_alignment_'.$number, true ); $output_tabs .= '

'.$tab_text.'

'.wpautop(get_post_meta( $post->ID, 'ct_afsp_tab_content_'.$number, true )).'
'; } } } $sliding_panel_position = get_post_meta( $post->ID, 'ct_afsp_position', true ); $sliding_panel_width = get_post_meta( $post->ID, 'ct_afsp_width', true ); $sliding_panel_height = get_post_meta( $post->ID, 'ct_afsp_height', true ); $sliding_panel_color = get_post_meta( $post->ID, 'ct_afsp_bg_color', true ); $output_css = $this->afsp_generate_css($post->ID,$sliding_panel_position,$total_tabs); $output_js = $this->afsp_generate_js($post->ID); $output ='
'.$output_tabs.'
'."\n".$output_css.$output_js; echo $output; } } public function afsp_generate_js($post_id){ wp_enqueue_script('sliding-'.$post_id, plugin_dir_url( __FILE__ ) . 'js/sliding-panel-'.$post_id.'.js', array( 'jquery' ), null, false); } public function afsp_generate_css($post_id,$sliding_panel_position,$total_tabs){ $sliding_panel_css = ""; $positioning_css = ""; switch($sliding_panel_position){ case "left"; $positioning_css .= $this->afsp_generate_css_left($post_id,$total_tabs); return $positioning_css; break; default: break; } // return $sliding_panel_css; } public function afsp_generate_css_left($post_id,$total_tabs){ if(get_post_meta( $post_id, 'ct_afsp_tab_height', true ) > 50) $margintop = ceil((get_post_meta( $post_id, 'ct_afsp_tab_height', true ) - 50) / 2); else $margintop = ''; $sliding_panel_css .=""; return $sliding_panel_css; } }