Your IP : 216.73.216.95


Current Path : /var/test/www/ya/wp-content/themes/youthy/framework/widgets/
Upload File :
Current File : /var/test/www/ya/wp-content/themes/youthy/framework/widgets/widget-testimonials.php

<?php

 // MeanThemes Homepage Widget for Testimonials.

 /*

   *
   * This widget uses the Custom post type for meanthemes_testimonials (via the MeanThemes tools plugin)
   *

 */

 // Register widget
 add_action('widgets_init', 'meanthemes_home_testimonials_widget');
 function meanthemes_home_testimonials_widget() {
   register_widget( 'meanthemes_home_testimonials' );
 }

 // Setup widget class
 class meanthemes_home_testimonials extends WP_Widget {

   function __construct() {

        $widget_name = __( 'MT Homepage: Testimonials' , 'meanthemes' );
        $widget_classname = "meanthemes_home_testimonials";
        $widget_description = __('This widget includes the testimonials you have set up via the "Testimonials" Custom Post Type, with a few extra options.', 'meanthemes');


      // Set widget classname and description from above
       $widget_ops = array(
         'classname' => $widget_classname,
         'description' => $widget_description,
        );
       parent::__construct('meanthemes_home_testimonials-widget',
       $widget_name,
       $widget_ops);


   }



   // Setup widget output
   function widget($args, $instance) {

     extract($args);

     // Variables from the widget settings.

     if ( isset( $instance[ 'title' ] ) ) {
       $title = $instance[ 'title' ];
     } else {
       $title = "";
     }

     if ( isset( $instance[ 'description' ] ) ) {
       $description = $instance[ 'description' ];
     } else {
       $description = "";
     }

     if ( isset( $instance[ 'button_text' ] ) ) {
       $button_text = $instance[ 'button_text' ];
     } else {
       $button_text = "";
     }

     if ( isset( $instance[ 'button_url' ] ) ) {
       $button_url = $instance[ 'button_url' ];
     } else {
       $button_url = "";
     }

     if ( isset( $instance[ 'button_color' ] ) ) {
       $button_color = $instance[ 'button_color' ];
     } else {
       $button_color = "";
     }

     if ( isset( $instance[ 'post_amount' ] ) ) {
       $post_amount = $instance[ 'post_amount' ];
     } else {
       $post_amount = "";
     }

     if ( $post_amount === "" ) {

       $posts_per_page = 3;

     } else {

       $posts_per_page = $post_amount;

     }

     if ( isset( $instance[ 'slide' ] ) ) {
       $slide = $instance[ 'slide' ];
     } else {
       $slide = "";
     }

     if ( $slide === "" ) {

       $slide = 'slide';

     } else {

       $slide = $slide;

     }

     if ( isset( $instance[ 'show_source' ] ) ) {
       $show_source = $instance[ 'show_source' ];
     } else {
       $show_source = "";
     }

     if ( $show_source === "" ) {

       $show_source = '1';

     } else {

       $show_source = $show_source;

     }

     if ( isset( $instance[ 'show_avatar' ] ) ) {
       $show_avatar = $instance[ 'show_avatar' ];
     } else {
       $show_avatar = "";
     }

     if ( $show_avatar === "" ) {

       $show_avatar = '1';

     } else {

       $show_avatar = $show_avatar;

     }

     if ( isset( $instance[ 'auto_rotate' ] ) ) {
       $auto_rotate = $instance[ 'auto_rotate' ];
     } else {
       $auto_rotate = "";
     }

     if ( $auto_rotate === "" ) {

       $auto_rotate = 'true';

     } else {

       $auto_rotate = $auto_rotate;

     }

     if ( isset( $instance[ 'slideshow_speed' ] ) ) {
       $slideshow_speed = $instance[ 'slideshow_speed' ];
     } else {
       $slideshow_speed = "";
     }

     if ( $slideshow_speed === "" ) {

       $slideshow_speed = '7000';

     } else {

       $slideshow_speed = $slideshow_speed;

     }

     if ( isset( $instance[ 'slideshow_direction' ] ) ) {
       $slideshow_direction = $instance[ 'slideshow_direction' ];
     } else {
       $slideshow_direction = "";
     }

     if ( $slideshow_direction === "" ) {

       $slideshow_direction = 'vertical';

     } else {

       $slideshow_direction = $slideshow_direction;

     }


     if ( isset( $instance[ 'bg_color' ] ) ) {
       $bg_color = $instance[ 'bg_color' ];
     } else {
       $bg_color = "";
     }

     if ( isset( $instance[ 'text_color' ] ) ) {
       $text_color = $instance[ 'text_color' ];
     } else {
       $text_color = "";
     }

     if ( $button_color || $bg_color || $text_color ) { ?>

        <style type="text/css">

          <?php if ( $button_color ) { ?>
          .home-widget#<?php echo esc_attr( $this->id ); ?> .btn.info-btn,
          .home-widget#<?php echo esc_attr( $this->id ); ?> .btn.info-btn:hover {
            background-color: <?php echo esc_html( $button_color ); ?> !important;
          }
          <?php } ?>
          <?php if ( $bg_color ) { ?>
          .home-widget#<?php echo esc_attr( $this->id ); ?> {
            background-color: <?php echo esc_html( $bg_color ); ?> !important;
          }
          <?php } ?>
          <?php if ( $text_color ) { ?>
          .home-widget#<?php echo esc_attr( $this->id ); ?> blockquote {
            color: <?php echo esc_html( $text_color ); ?> !important;
          }
          .home-widget#<?php echo esc_attr( $this->id ); ?> .flex-control-nav li a {
            border-color:  <?php echo esc_html( $text_color ); ?> !important;
          }

          <?php } ?>


        </style>

     <?php }


     // Widget HTML output
     ?>

     <section class="home-widget widget-testimonials<?php if ( $show_avatar === '1' ) { echo ' avatars-on'; } ?>" id="<?php echo esc_attr( $this->id ); ?>">


       <?php

         // Get All Testimonial Posts
         wp_reset_postdata();
         $main_query = new WP_Query( array ( 'post_type' => 'testimonial', 'posts_per_page' => $posts_per_page ) );

         if ( $main_query->have_posts() ) { ?>

           <div class="mid-wrap">
             <?php if ( $title || $description ) { ?>

                <div class="widget-info">
                  <?php if ( $title ) { ?>
                    <h2><?php echo esc_html( $title ); ?></h2>
                  <?php } ?>
                  <?php if ( $description ) { ?>
                    <div class="widget-description">
                      <?php echo balanceTags ( apply_filters( 'the_content', $description ) ); ?>
                    </div>

                  <?php } ?>
                </div>

             <?php } ?>
             <div class="loop testimonial-loop">

               <div class="flexslider">
               <ul class="slides">
         <?php }

         while ( $main_query->have_posts() ) : $main_query->the_post();

           ?>


           <li <?php post_class( 'testimonial-item' ); ?> id="post-<?php the_ID(); ?>">
             <?php
             // If we have a featured image, show it
              if ( has_post_thumbnail() && $show_avatar === '1' ) { ?>
                <div class="testimonial-avatar">
                  <?php the_post_thumbnail( 'testimonial' ); ?>
                </div>
              <?php }  ?>

              <div class="testimonial-content">
                <blockquote class="testimonial-content">
                 <?php echo esc_html( get_the_content() ); ?>

                 <?php if ( $show_source === '1' ) { ?>
                 <cite>
                   <?php esc_html( the_title() ); ?>
                 </cite>
                 <?php } ?>
              </blockquote>
            </div>
           </li>


           <?php

         endwhile;

         if ( $main_query->have_posts() ) { ?>

              </ul>
            </div>
              <?php if ( $button_text && $button_url ) { ?>
                <div class="widget-buttons<?php if ( has_post_thumbnail() && $show_avatar === '1' ) { echo ' avatar-on'; } ?>">
                  <a class="btn info-btn" href="<?php echo esc_url( $button_url ); ?>" title="<?php echo esc_html( $button_text ); ?>"><?php echo esc_html( $button_text ); ?> <i class="fa fa-arrow-right"></i></a>
               </div>
              <?php } ?>
            </div>
           </div>
         <?php }

          ?>



     </section>

     <script>
     jQuery(window).load(function() {
       "use strict";

        var getWidth = jQuery(window).width();
        var getDirection = "<?php echo esc_attr( $slideshow_direction ); ?>";
        if ( getWidth < 950 ) {
          getDirection = "horizontal"
        }

         jQuery('.home-widget#<?php echo esc_attr( $this->id ); ?> .flexslider').flexslider(
           {
             smoothHeight: false,
             directionNav: false,
             controlNav: true,
             animation: "<?php echo esc_js( $slide ); ?>",
             slideshow: <?php echo esc_attr( $auto_rotate ); ?>,
             slideshowSpeed: "<?php echo esc_js( $slideshow_speed ); ?>",
             direction: getDirection
           }
         );

    });

     </script>


     <?php

   }

   // Variables for updating widget, these should match above but use santization methods

   function update($new_instance, $old_instance) {
     $instance = $old_instance;
     $instance['title'] = esc_html( $new_instance['title'] );
     $instance['description'] = esc_attr( $new_instance['description'] );
     $instance['button_text'] = esc_html( $new_instance['button_text'] );
     $instance['button_url'] = esc_url( $new_instance['button_url'] );
     $instance['button_color'] = esc_html( $new_instance['button_color'] );
     $instance['post_amount'] = esc_attr( $new_instance['post_amount'] );
     $instance['show_source'] = esc_attr( $new_instance['show_source'] );
     $instance['slide'] = esc_attr( $new_instance['slide'] );
     $instance['show_avatar'] = esc_attr( $new_instance['show_avatar'] );
     $instance['auto_rotate'] = esc_attr( $new_instance['auto_rotate'] );
     $instance['slideshow_speed'] = esc_attr( $new_instance['slideshow_speed'] );
     $instance['slideshow_direction'] = esc_attr( $new_instance['slideshow_direction'] );
     $instance['bg_color'] = esc_html( $new_instance['bg_color'] );
     $instance['text_color'] = esc_html( $new_instance['text_color'] );

     return $instance;
   }


   // Setup widget form that appears in Appearance > Widgets

   function form($instance) {

     // Again set the variables... again!
     $defaults = array(
       "title" => "",
       "description" => "",
       "button_text" => "",
       "button_url" => "",
       "button_color" => "",
       "post_amount" => "",
       "slide" => "",
       "show_source" => "",
       "show_avatar" => "",
       "auto_rotate"  => "",
       "slideshow_speed" => "",
       "slideshow_direction" => "",
       "bg_color" => "",
       "text_color" => ""

     );
     $instance = wp_parse_args( (array) $instance, $defaults );

     ?>

     <p>
       <label for="<?php echo esc_attr( $this->get_field_id('title') ); ?>"><?php _e( 'Title:' , 'meanthemes' ); ?></label><br />
       <input type="text" name="<?php echo esc_attr( $this->get_field_name('title') ); ?>" id="<?php echo esc_attr( $this->get_field_id('title') ); ?>" value="<?php echo esc_attr( $instance['title'] ); ?>" class="widefat" />
     </p>
     <p>
       <label for="<?php echo esc_attr( $this->get_field_id('description') ); ?>"><?php _e( 'Short description:' , 'meanthemes' ); ?></label><br />
       <textarea name="<?php echo esc_attr( $this->get_field_name('description') ); ?>" rows="6" style="width: 100%;" id="<?php echo esc_attr( $this->get_field_id('description') ); ?>"><?php echo balanceTags( $instance['description'] ); ?></textarea>
     </p>
     <p>
       <label for="<?php echo esc_attr( $this->get_field_id('button_text') ); ?>"><?php _e( 'Button Text:' , 'meanthemes' ); ?></label><br />
       <input type="text" name="<?php echo esc_attr( $this->get_field_name('button_text') ); ?>" id="<?php echo esc_attr( $this->get_field_id('button_text') ); ?>" value="<?php echo esc_attr( $instance['button_text'] ); ?>" class="widefat" />
     </p>
     <p>
       <label for="<?php echo esc_attr( $this->get_field_id('button_url') ); ?>"><?php _e( 'Button URL:' , 'meanthemes' ); ?></label><br />
       <input type="text" name="<?php echo esc_attr( $this->get_field_name('button_url') ); ?>" id="<?php echo esc_attr( $this->get_field_id('button_url') ); ?>" value="<?php echo esc_url( $instance['button_url'] ); ?>" class="widefat" />
     </p>
     <p>
       <label for="<?php echo esc_attr( $this->get_field_id('button_color') ); ?>"><?php _e( 'Button Color:' , 'meanthemes' ); ?></label><br />
       <input type="text" name="<?php echo esc_attr( $this->get_field_name('button_color') ); ?>" id="<?php echo esc_attr( $this->get_field_id('button_color') ); ?>" value="<?php echo esc_attr( $instance['button_color'] ); ?>" class="widefat color-field" />
     </p>

     <p>
       <label for="<?php echo esc_attr( $this->get_field_id('show_avatar') ); ?>"><?php _e( 'Show Avatars:' , 'meanthemes' ); ?></label><br />
       <select name="<?php echo esc_attr( $this->get_field_name('show_avatar') ); ?>" id="<?php echo esc_attr( $this->get_field_id('show_avatar') ); ?>">
         <option value="0" <?php if ( $instance['show_avatar'] !== '1' ) { ?>selected<?php } ?>>No</option>
         <option value="1" <?php if ( $instance['show_avatar'] !== '0' ) { ?>selected<?php } ?>>Yes</option>
      </select>
     </p>


     <p>
       <label for="<?php echo esc_attr( $this->get_field_id('show_source') ); ?>"><?php _e( 'Show Testimonial Citation:' , 'meanthemes' ); ?></label><br />
       <select name="<?php echo esc_attr( $this->get_field_name('show_source') ); ?>" id="<?php echo esc_attr( $this->get_field_id('show_source') ); ?>">
         <option value="0" <?php if ( $instance['show_source'] !== '1' ) { ?>selected<?php } ?>>No</option>
         <option value="1" <?php if ( $instance['show_source'] !== '0' ) { ?>selected<?php } ?>>Yes</option>
      </select>
     </p>

      <p>
        <label for="<?php echo esc_attr( $this->get_field_id('slide') ); ?>"><?php _e( 'Slide or Fade:' , 'meanthemes' ); ?></label><br />
        <select name="<?php echo esc_attr( $this->get_field_name('slide') ); ?>" id="<?php echo esc_attr( $this->get_field_id('slide') ); ?>">
          <option value="fade" <?php if ( $instance['slide'] !== 'slide' ) { ?>selected<?php } ?>>Fade</option>
          <option value="slide" <?php if ( $instance['slide'] !== 'fade' ) { ?>selected<?php } ?>>Slide</option>
       </select>
      </p>

      <p>
        <label for="<?php echo esc_attr( $this->get_field_id('auto_rotate') ); ?>"><?php _e( 'Auto rotate:' , 'meanthemes' ); ?></label><br />
        <select name="<?php echo esc_attr( $this->get_field_name('auto_rotate') ); ?>" id="<?php echo esc_attr( $this->get_field_id('auto_rotate') ); ?>">
          <option value="false" <?php if ( $instance['auto_rotate'] !== 'true' ) { ?>selected<?php } ?>>No</option>
          <option value="true" <?php if ( $instance['auto_rotate'] !== 'false' ) { ?>selected<?php } ?>>Yes</option>
       </select>
      </p>

      <p>
        <label for="<?php echo esc_attr( $this->get_field_id('slideshow_speed') ); ?>"><?php _e( 'Slideshow Speed:' , 'meanthemes' ); ?></label><br />
        <select name="<?php echo esc_attr( $this->get_field_name('slideshow_speed') ); ?>" id="<?php echo esc_attr( $this->get_field_id('slideshow_speed') ); ?>">
          <option value="7000" <?php if ( $instance['slideshow_speed'] === '7000' ) { ?>selected<?php } ?>>7 seconds</option>
          <option value="1000" <?php if ( $instance['slideshow_speed'] === '1000' ) { ?>selected<?php } ?>>1 second</option>
          <option value="2000" <?php if ( $instance['slideshow_speed'] === '2000' ) { ?>selected<?php } ?>>2 seconds</option>
          <option value="3000" <?php if ( $instance['slideshow_speed'] === '3000' ) { ?>selected<?php } ?>>3 seconds</option>
          <option value="4000" <?php if ( $instance['slideshow_speed'] === '4000' ) { ?>selected<?php } ?>>4 seconds</option>
          <option value="5000" <?php if ( $instance['slideshow_speed'] === '5000' ) { ?>selected<?php } ?>>5 seconds</option>
          <option value="6000" <?php if ( $instance['slideshow_speed'] === '6000' ) { ?>selected<?php } ?>>6 seconds</option>
          <option value="7000" <?php if ( $instance['slideshow_speed'] === '7000' ) { ?>selected<?php } ?>>7 seconds</option>
          <option value="8000" <?php if ( $instance['slideshow_speed'] === '8000' ) { ?>selected<?php } ?>>8 seconds</option>
          <option value="9000" <?php if ( $instance['slideshow_speed'] === '9000' ) { ?>selected<?php } ?>>9 seconds</option>
          <option value="10000" <?php if ( $instance['slideshow_speed'] === '10000' ) { ?>selected<?php } ?>>10 seconds</option>
          <option value="11000" <?php if ( $instance['slideshow_speed'] === '11000' ) { ?>selected<?php } ?>>11 seconds</option>
          <option value="12000" <?php if ( $instance['slideshow_speed'] === '12000' ) { ?>selected<?php } ?>>12 seconds</option>
          <option value="13000" <?php if ( $instance['slideshow_speed'] === '13000' ) { ?>selected<?php } ?>>13 seconds</option>
          <option value="14000" <?php if ( $instance['slideshow_speed'] === '14000' ) { ?>selected<?php } ?>>14 seconds</option>
          <option value="15000" <?php if ( $instance['slideshow_speed'] === '15000' ) { ?>selected<?php } ?>>15 seconds</option>
       </select>
      </p>

      <p>
        <label for="<?php echo esc_attr( $this->get_field_id('slideshow_direction') ); ?>"><?php _e( 'Slideshow direction:' , 'meanthemes' ); ?></label><br />
        <select name="<?php echo esc_attr( $this->get_field_name('slideshow_direction') ); ?>" id="<?php echo esc_attr( $this->get_field_id('slideshow_direction') ); ?>">
          <option value="vertical" <?php if ( $instance['slideshow_direction'] !== 'horizontal' || $instance['slideshow_direction'] === '' ) { ?>selected<?php } ?>>Vertical</option>
          <option value="horizontal" <?php if ( $instance['slideshow_direction'] === 'horizontal' ) { ?>selected<?php } ?>>Horizontal</option>
       </select>
      </p>

     <p>
       <label for="<?php echo esc_attr( $this->get_field_id('post_amount') ); ?>"><?php _e( 'Show this number of testimonials:' , 'meanthemes' ); ?></label><br />
       <input type="number" name="<?php echo esc_attr( $this->get_field_name('post_amount') ); ?>" id="<?php echo esc_attr( $this->get_field_id('post_amount') ); ?>" value="<?php if ( $instance['post_amount'] === '' ) { echo '3'; } else { echo esc_attr( $instance['post_amount'] ); } ?>" class="widefat" />
     </p>
     <p>
       <label for="<?php echo esc_attr( $this->get_field_id('bg_color') ); ?>"><?php _e( 'Background Color:' , 'meanthemes' ); ?></label><br />
       <input type="text" name="<?php echo esc_attr( $this->get_field_name('bg_color') ); ?>" id="<?php echo esc_attr( $this->get_field_id('bg_color') ); ?>" value="<?php echo esc_attr( $instance['bg_color'] ); ?>" class="widefat color-field" />
     </p>
     <p>
       <label for="<?php echo esc_attr( $this->get_field_id('text_color') ); ?>"><?php _e( 'Text Color:' , 'meanthemes' ); ?></label><br />
       <input type="text" name="<?php echo esc_attr( $this->get_field_name('text_color') ); ?>" id="<?php echo esc_attr( $this->get_field_id('text_color') ); ?>" value="<?php echo esc_attr( $instance['text_color'] ); ?>" class="widefat color-field" />
     </p>

     <?php
   }
 }

?>