PageRenderTime 41ms CodeModel.GetById 12ms RepoModel.GetById 1ms app.codeStats 0ms

/git_src/wp-content/plugins/testimonial-basics/widgets/katb_testimonial_widget.php

https://bitbucket.org/murtuza88/carolina-home-stone
PHP | 176 lines | 145 code | 9 blank | 22 comment | 52 complexity | 9544921efc1307080bd45d233e525566 MD5 | raw file
  1. <?php
  2. /*
  3. Plugin Name: Testimonial Basics Display Widget
  4. Plugin URI: http://kevinsspace.ca/testimonial-basics-wordpress-plugin/
  5. Description: A plugin to display a testimonial
  6. Version: 3.0.0
  7. Author: Kevin Archibald
  8. Author URI: http://kevinsspace.ca/
  9. License: GPLv3
  10. */
  11. // use widgets_init action hook to execute custom function
  12. add_action ( 'widgets_init','katb_display_register_widget' );
  13. //register our widget
  14. function katb_display_register_widget() {
  15. register_widget ( 'katb_display_testimonial_widget' );
  16. }
  17. //widget class
  18. class katb_display_testimonial_widget extends WP_Widget {
  19. //process the new widget
  20. function katb_display_testimonial_widget() {
  21. $widget_ops = array(
  22. 'classname' => 'katb_display_widget_class',
  23. 'description' => __('Display a random or selected testimonial.','testimonial-basics')
  24. );
  25. $this->WP_Widget( 'katb_display_testimonial_widget', __('Testimonial Display Widget','testimonial-basics'), $widget_ops );
  26. }
  27. // Form for widget setup
  28. function form ( $instance ) {
  29. $title = isset($instance['title']) ? esc_attr($instance['title']) : __('Testimonial','testimonial-basics');
  30. $type = isset($instance['type']) ? esc_attr($instance['type']) : 'random';
  31. ?>
  32. <p>Title :
  33. <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /></p>
  34. <p>Random or ID :
  35. <input class="widefat" id="<?php echo $this->get_field_id('type'); ?>" name="<?php echo $this->get_field_name('type'); ?>" type="text" value="<?php echo $type; ?>" /></p>
  36. <?php
  37. }
  38. //save the widget settings
  39. function update ( $new_instance, $old_instance ) {
  40. $instance = $old_instance;
  41. $instance['title'] = strip_tags( $new_instance['title'] );
  42. $instance['type'] = strip_tags( $new_instance['type'] );
  43. //only allow random or an integer
  44. if($instance['type'] != 'random' && is_numeric($instance['type']) == FALSE ) $instance['type'] = 'random';
  45. return $instance;
  46. }
  47. //display the widget
  48. function widget($args, $instance) {
  49. $katb_options = katb_get_options();
  50. extract ( $args);
  51. echo $before_widget;
  52. $title = apply_filters( 'widget_title', $instance['title'] );
  53. $id = esc_attr($instance['type']);
  54. if ( !empty( $title )) { echo $before_title.$title.$after_title;}
  55. global $wpdb,$tablename;
  56. $tablename = $wpdb->prefix.'testimonial_basics';
  57. $katb_display_widget_error = "";
  58. if ( $id == 'random' || $id == 'Random') {
  59. $katb_tdata2 = $wpdb->get_results( " SELECT `tb_id` FROM `$tablename` WHERE `tb_approved` = '1' ",ARRAY_A);
  60. $katb_tnumber = $wpdb->num_rows;
  61. if ( $katb_tnumber == 0 ) {
  62. $katb_display_widget_error = __('There are no approved testimonials to display!','testimonial-basics');
  63. } else {
  64. $rand = rand(0, $katb_tnumber-1);
  65. $random_id = $katb_tdata2[$rand]['tb_id'];
  66. $katb_tdata = $wpdb->get_results("SELECT * FROM `$tablename` WHERE `tb_approved` = '1' AND `tb_id` = $random_id ",ARRAY_A );
  67. $katb_tnumber = $wpdb->num_rows;
  68. }
  69. } elseif (intval($id) != '') {
  70. //$id = intval($id);
  71. $katb_tdata = $wpdb->get_results("SELECT * FROM `$tablename` WHERE `tb_approved` = '1' AND `tb_id` = $id ",ARRAY_A );
  72. $katb_tnumber = $wpdb->num_rows;
  73. if ( $katb_tnumber == 0 ) $katb_display_widget_error = __('Could not find testimonial','testimonial-basics');
  74. } else {
  75. //$id is an unknown
  76. $katb_display_widget_error = __('Could not find testimonial','testimonial-basics');
  77. }
  78. // Database queried
  79. //Lets display the selected testimonial
  80. $katb_html = '';
  81. if( $katb_display_widget_error != '') {
  82. $katb_html .= '<div class="katb_display_widget_error">'.$katb_display_widget_error.'</div>';
  83. } else {
  84. //set up hidden popup if excerpt is used
  85. if ( $katb_options['katb_use_widget_excerpts'] == 1 ) {
  86. $katb_html .= '<div class="katb_topopup" id="katb_widget_single_'.$katb_tdata[0]['tb_id'].'">';
  87. $katb_html .= '<div class="katb_close"></div>';
  88. $katb_html .= '<div class="katb_popup_text">'.stripcslashes($katb_tdata[0]['tb_testimonial']).'</div><br/>';
  89. $katb_html .= '<span class="katb_popup_meta">'.stripcslashes($katb_tdata[0]['tb_name']);
  90. if ($katb_options['katb_widget_show_date'] == 1) {
  91. $katb_date = $katb_tdata[0]['tb_date'];
  92. $year = intval(substr($katb_date,0,4));
  93. $month = intval(substr($katb_date,5,2));
  94. $monthname = date("M", mktime(0, 0, 0, $month, 10));
  95. $day = intval(substr($katb_date,8,2));
  96. $katb_html .= ', '.$monthname.' '.$day.'\''.$year;
  97. }
  98. if ($katb_options['katb_widget_show_location'] == 1) {
  99. if ( $katb_tdata[0]['tb_location'] != "" ) $katb_html .= ', '.stripcslashes($katb_tdata[0]['tb_location']);
  100. }
  101. $katb_html .= '</span></div>';
  102. $katb_html .= '<div class="katb_loader"></div>';
  103. $katb_html .= '<div class="katb_excerpt_popup_bg" id="katb_widget_single_'.$katb_tdata[0]['tb_id'].'_bg"></div>';
  104. }
  105. if ($katb_options['katb_widget_use_formatted_display'] == 1 ) {
  106. $katb_html .= '<div class="katb_widget_test_wrap">';
  107. $katb_html .= '<div class="katb_widget_test_box">';
  108. if ( $katb_options['katb_widget_use_gravatars'] == 1 ){
  109. $has_valid_avatar = katb_validate_gravatar($katb_tdata[0]['tb_email']);
  110. If ( $has_valid_avatar == 1 ) {
  111. $katb_html .= '<span class="katb_widget_avatar">'. get_avatar( $katb_tdata[0]['tb_email'], $size = '50' ).'</span>';
  112. }
  113. }
  114. if ( $katb_options['katb_use_widget_excerpts'] == 1 ) {
  115. $text = stripcslashes($katb_tdata[0]['tb_testimonial']);
  116. $length = $katb_options['katb_widget_excerpt_length'];
  117. $classID = 'katb_widget_single_'.$katb_tdata[0]['tb_id'];
  118. $text = katb_testimonial_excerpt_filter($length,$text,$classID);
  119. $katb_html .= '<div class="katb_widget_text" >'.$text.'</div>';
  120. } else {
  121. $katb_html .= '<div class="katb_widget_text" >'.stripcslashes($katb_tdata[0]['tb_testimonial']).'</div>';
  122. }
  123. $katb_html .= '</div>';
  124. $katb_html .= '<span class="katb_widget_test_meta">'.stripcslashes($katb_tdata[0]['tb_name']);
  125. } else {
  126. $katb_html .= '<div class="katb_widget_test_wrap_basic">';
  127. $katb_html .= '<div class="katb_widget_test_box_basic">';
  128. if ( $katb_options['katb_widget_use_gravatars'] == 1 ){
  129. $has_valid_avatar = katb_validate_gravatar($katb_tdata[0]['tb_email']);
  130. If ( $has_valid_avatar == 1 ) {
  131. $katb_html .= '<span class="katb_widget_avatar">'. get_avatar( $katb_tdata[0]['tb_email'], $size = '50' ).'</span>';
  132. }
  133. }
  134. if ( $katb_options['katb_use_widget_excerpts'] == 1 ) {
  135. $text = stripcslashes($katb_tdata[0]['tb_testimonial']);
  136. $length = $katb_options['katb_widget_excerpt_length'];
  137. $classID = 'katb_widget_single_'.$katb_tdata[0]['tb_id'];
  138. $text = katb_testimonial_excerpt_filter($length,$text,$classID);
  139. $katb_html .= '<div class="katb_widget_text_basic" >'.$text.'</div>';
  140. } else {
  141. $katb_html .= '<div class="katb_widget_text_basic" >'.stripcslashes($katb_tdata[0]['tb_testimonial']).'</div>';
  142. }
  143. $katb_html .= '</div>';
  144. $katb_html .= '<span class="katb_widget_test_meta_basic"><strong>'.stripcslashes($katb_tdata[0]['tb_name']).'</strong>';
  145. }
  146. if ($katb_options['katb_widget_show_date'] == 1) {
  147. $katb_date = $katb_tdata[0]['tb_date'];
  148. $year = intval(substr($katb_date,0,4));
  149. $month = intval(substr($katb_date,5,2));
  150. $monthname = date("M", mktime(0, 0, 0, $month, 10));
  151. $day = intval(substr($katb_date,8,2));
  152. $katb_html .= ', <i>'.$monthname.' '.$day.'\''.$year.'</i>';
  153. }
  154. if ($katb_options['katb_widget_show_location'] == 1) {
  155. if ( $katb_tdata[0]['tb_location'] != "" ) $katb_html .= ', <i>'.stripcslashes($katb_tdata[0]['tb_location']).'</i>';
  156. }
  157. if ($katb_options['katb_widget_show_website'] == 1) {
  158. if ( $katb_tdata[0]['tb_url'] != "" ) $katb_html .= ', <i><a href="'.esc_url($katb_tdata[0]['tb_url']).'" title="Testimonial_author_site" target="_blank" >Website</a></i>';
  159. }
  160. $katb_html .= '</span>';
  161. $katb_html .= '</div>';
  162. }
  163. echo $katb_html;
  164. echo $after_widget;
  165. }
  166. }
  167. ?>