PluginProbe
Taboola / 1.0.13
Taboola v1.0.13
1.0.4 1.0.5 1.0.6 1.0.8 2.0.1 2.0.2 2.1.0 2.1.1 2.2.2 2.2.3 3.0.0 3.0.1 3.0.2 3.1.0 trunk 1.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.2 1.0.3
taboola / widget.php

widget.php in Taboola 1.0.13, at widget.php

106 lines 3.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 define ("TABOOLA_WIDGET_BASE_ID","taboola");
3 define ("TABOOLA_CONTAINER_PREFIX","inner-");
4 class WP_Widget_Taboola extends WP_Widget {
5
6 private static $counter;
7 function __construct() {
8
9
10 $widget_ops = array('classname' => 'widget_taboola', 'description' => __( "A taboola widget for your site.") );
11 parent::__construct( TABOOLA_WIDGET_BASE_ID, _x( 'Taboola Widget', 'Taboola Widget' ), $widget_ops );
12 $this->plugin_directory = plugin_dir_path(__FILE__);
13 }
14
15 function get_id($tag){
16
17 $start_pos = strpos($tag,"id=");
18
19 $container_id = null;
20 if ($start_pos !== false){
21
22 $end_pos = strpos($tag," ",$start_pos);
23 $extracted_id = str_replace(array('"',"'"),"",substr($tag,$start_pos+3,$end_pos-$start_pos-3));
24 if ($extracted_id != ""){
25 $container_id = $extracted_id;
26 }
27 }
28 return $container_id;
29 }
30
31 function widget( $args, $instance ) {
32 if (!isset(WP_Widget_Taboola::$counter)){
33 WP_Widget_Taboola::$counter = 1;
34 }
35 else{
36 WP_Widget_Taboola::$counter = WP_Widget_Taboola::$counter + 1;
37 }
38 if (trim($instance['widget_id']) == ''){
39 return;
40 }
41 extract($args);
42
43 /** This filter is documented in wp-includes/default-widgets.php */
44 $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base );
45
46 $tmp_id = explode("-",$args["widget_id"]);
47 $widget_num = $tmp_id[1];
48
49 $widget_id = ! empty( $instance['widget_id'] ) ? $instance['widget_id'] : '';
50
51 // use the widget container name as the placement, suffix the widget_num to make it unique
52 $placement=$args["id"]."-".$widget_num;
53
54 echo $before_widget;
55
56 if ( $title ){
57 echo $before_title . $title . $after_title;
58 }
59
60 $container = $this->get_id($before_widget);
61
62 if ($container == null){
63 // widget container (adding a div)
64 $container = TABOOLA_CONTAINER_PREFIX.$this->id;
65 echo '<div id="'.$container.'"></div>';
66 }
67
68 //widget content
69 $stringParams = array(
70 "{{WIDGET_ID}}" => $widget_id,
71 "{{CONTAINER}}" => $container,
72 "{{PLACEMENT}}" => $placement
73 );
74 $widgetInjectionScript_content = str_replace(array_keys($stringParams), array_values($stringParams), file_get_contents($this->plugin_directory.'js/widgetInjectionScript.js'));
75 echo '<script type="text/javascript">'.$widgetInjectionScript_content.'</script>';
76
77 echo $after_widget;
78 }
79
80 function form( $instance ) {
81 $instance = wp_parse_args( (array) $instance );
82 $widget_id = esc_attr( $instance['widget_id'] );
83 ?>
84 <p>
85 <label for="<?php echo $this->get_field_id('widget_id'); ?>"><?php _e('Widget ID:'); ?>
86 <input class="widefat" id="<?php echo $this->get_field_id('widget_id'); ?>" name="<?php echo $this->get_field_name('widget_id'); ?>" type="text" value="<?php echo esc_attr($widget_id); ?>" />
87 </label>
88 </p>
89 <?php
90 }
91
92 function update( $new_instance, $old_instance ) {
93
94 // canceling save if the field is empty
95 if (strip_tags($new_instance['widget_id']) == ""){
96 return false;
97 }
98
99 $instance = $old_instance;
100 $instance['widget_id'] = strip_tags($new_instance['widget_id']);
101
102 return $instance;
103 }
104
105 }
106