<?php

/**

 * @author    ThemePunch <info@themepunch.com>

 * @link      http://www.themepunch.com/

 * @copyright 2015 ThemePunch

 */

 

if( !defined( 'ABSPATH') ) exit();



class RevSliderWidget extends WP_Widget {

	

    public function __construct(){

    	

        // widget actual processes

     	$widget_ops = array('classname' => 'widget_revslider', 'description' => __('Displays a revolution slider on the page','revslider') );

        parent::__construct('rev-slider-widget', __('Revolution Slider','revslider'), $widget_ops);

    }

 

    /**

     * 

     * the form

     */

    public function form($instance) {

		try {

            $slider = new RevSlider();

            $arrSliders = $slider->getArrSlidersShort();

        }catch(Exception $e){}            

          

		if(empty($arrSliders)){

			echo __("No sliders found, Please create a slider",'revslider');

		}else{

			

			$field = "rev_slider";

			$fieldPages = "rev_slider_pages";

			$fieldCheck = "rev_slider_homepage";

			$fieldTitle = "rev_slider_title";

			

	    	$sliderID = RevSliderFunctions::getVal($instance, $field);

	    	$homepage = RevSliderFunctions::getVal($instance, $fieldCheck);

	    	$pagesValue = RevSliderFunctions::getVal($instance, $fieldPages);

	    	$title = RevSliderFunctions::getVal($instance, $fieldTitle);

	    	

			$fieldID = $this->get_field_id( $field );

			$fieldName = $this->get_field_name( $field );

			

			$select = RevSliderFunctions::getHTMLSelect($arrSliders,$sliderID,'name="'.$fieldName.'" id="'.$fieldID.'"',true);

			

			$fieldID_check = $this->get_field_id( $fieldCheck );

			$fieldName_check = $this->get_field_name( $fieldCheck );

			$checked = "";

			if($homepage == "on")

				$checked = "checked='checked'";



			$fieldPages_ID = $this->get_field_id( $fieldPages );

			$fieldPages_Name = $this->get_field_name( $fieldPages );

			

			$fieldTitle_ID = $this->get_field_id( $fieldTitle );

			$fieldTitle_Name = $this->get_field_name( $fieldTitle );

			

			?>

			<label for="<?php echo $fieldTitle_ID?>"><?php _e("Title",'revslider')?>:</label>

			<input type="text" name="<?php echo $fieldTitle_Name?>" id="<?php echo $fieldTitle_ID?>" value="<?php echo $title?>" class="widefat">

			

			<br><br>

			

			<?php _e("Choose Slider",'revslider')?>: <?php echo $select?>

			<div style="padding-top:10px;"></div>

			

			<label for="<?php echo $fieldID_check?>"><?php _e("Home Page Only",'revslider')?>:</label>

			<input type="checkbox" name="<?php echo $fieldName_check?>" id="<?php echo $fieldID_check?>" <?php echo $checked?> >

			<br><br>

			<label for="<?php echo $fieldPages_ID?>"><?php _e("Pages: (example: 2,10)",'revslider')?></label>

			<input type="text" name="<?php echo $fieldPages_Name?>" id="<?php echo $fieldPages_ID?>" value="<?php echo $pagesValue?>">

			

			<div style="padding-top:10px;"></div>

			<?php

		}	//else

    }

 

    /**

     * 

     * update

     */

    public function update($new_instance, $old_instance) {

    	

        return($new_instance);

    }



    

    /**

     * 

     * widget output

     */

    public function widget($args, $instance) {

    	

		$sliderID = RevSliderFunctions::getVal($instance, "rev_slider");

		$title = RevSliderFunctions::getVal($instance, "rev_slider_title");

		

		$homepageCheck = RevSliderFunctions::getVal($instance, "rev_slider_homepage");

		$homepage = "";

		if($homepageCheck == "on")

			$homepage = "homepage";

		

		$pages = RevSliderFunctions::getVal($instance, "rev_slider_pages");

		if(!empty($pages)){

			if(!empty($homepage))

				$homepage .= ",";

			$homepage .= $pages;

		}

				

		if(empty($sliderID))

			return(false);

		

		$slider = new RevSliderSlider();

		$slider->initByID($sliderID);

		$disable_on_mobile = $slider->getParam("disable_on_mobile","off");

		if($disable_on_mobile == 'on'){

			$mobile = (strstr($_SERVER['HTTP_USER_AGENT'],'Android') || strstr($_SERVER['HTTP_USER_AGENT'],'webOS') || strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') ||strstr($_SERVER['HTTP_USER_AGENT'],'iPod') || strstr($_SERVER['HTTP_USER_AGENT'],'iPad') || strstr($_SERVER['HTTP_USER_AGENT'],'Windows Phone') || wp_is_mobile()) ? true : false;

			if($mobile) return false;

		}

		

		

		//widget output

		$beforeWidget = RevSliderFunctions::getVal($args, "before_widget");

		$afterWidget = RevSliderFunctions::getVal($args, "after_widget");

		$beforeTitle = RevSliderFunctions::getVal($args, "before_title");

		$afterTitle = RevSliderFunctions::getVal($args, "after_title");

		

		echo $beforeWidget;

		

		if(!empty($title))

			echo $beforeTitle.$title.$afterTitle;

		

		RevSliderOutput::putSlider($sliderID,$homepage);



		add_action('wp_head', array($this,'writeCSS'));

	    

		echo $afterWidget;						

    }



    public function writeCSS(){

    }

 

}



/**

 * old classname extends new one (old classnames will be obsolete soon)

 * @since: 5.0

 **/

class RevSlider_Widget extends RevSliderWidget {}

?>