Completed
Push — master ( 62b222...3fdac6 )
by
unknown
07:01
created
includes/updates/update-v3013.php 1 patch
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@  discard block
 block discarded – undo
9 9
 use Carbon\Carbon;
10 10
 use SimpleCalendar\Post_Types;
11 11
 
12
-if ( ! defined( 'ABSPATH' ) ) {
12
+if ( ! defined('ABSPATH')) {
13 13
 	exit;
14 14
 }
15 15
 
@@ -23,7 +23,7 @@  discard block
 block discarded – undo
23 23
 	 *
24 24
 	 * @param array $posts
25 25
 	 */
26
-	public function __construct( $posts ) {
26
+	public function __construct($posts) {
27 27
 
28 28
 		$this->update_options();
29 29
 	}
@@ -34,22 +34,22 @@  discard block
 block discarded – undo
34 34
 	 */
35 35
 	public function update_options() {
36 36
 
37
-		$settings_advanced = get_option( 'simple-calendar_settings_advanced' );
37
+		$settings_advanced = get_option('simple-calendar_settings_advanced');
38 38
 		
39 39
 		// Remove stored always_enqueue value
40
-		if ( isset( $settings_advanced['assets']['always_enqueue'] ) ) {
41
-			unset( $settings_advanced['assets']['always_enqueue'] );
40
+		if (isset($settings_advanced['assets']['always_enqueue'])) {
41
+			unset($settings_advanced['assets']['always_enqueue']);
42 42
 		}
43 43
 
44 44
 		// Remove stored disable_js value
45
-		if ( isset( $settings_advanced['assets']['disable_js'] ) ) {
46
-			unset( $settings_advanced['assets']['disable_js'] );
45
+		if (isset($settings_advanced['assets']['disable_js'])) {
46
+			unset($settings_advanced['assets']['disable_js']);
47 47
 		}
48 48
 
49
-		update_option( 'simple-calendar_settings_advanced', $settings_advanced );
49
+		update_option('simple-calendar_settings_advanced', $settings_advanced);
50 50
 
51 51
 		// Delete legacy options.
52
-		delete_option( 'simple-calendar_defaults' );
52
+		delete_option('simple-calendar_defaults');
53 53
 	}
54 54
 
55 55
 }
Please login to merge, or discard this patch.
includes/admin/assets.php 1 patch
Spacing   +28 added lines, -28 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  */
7 7
 namespace SimpleCalendar\Admin;
8 8
 
9
-if ( ! defined( 'ABSPATH' ) ) {
9
+if ( ! defined('ABSPATH')) {
10 10
 	exit;
11 11
 }
12 12
 
@@ -34,9 +34,9 @@  discard block
 block discarded – undo
34 34
 	 */
35 35
 	public function __construct() {
36 36
 
37
-		$this->min = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG == true ) ? '' : '.min';
37
+		$this->min = (defined('SCRIPT_DEBUG') && SCRIPT_DEBUG == true) ? '' : '.min';
38 38
 
39
-		add_action( 'admin_enqueue_scripts', array( $this, 'load' ) );
39
+		add_action('admin_enqueue_scripts', array($this, 'load'));
40 40
 	}
41 41
 
42 42
 	/**
@@ -46,10 +46,10 @@  discard block
 block discarded – undo
46 46
 	 */
47 47
 	public function load() {
48 48
 
49
-		$css_path        = SIMPLE_CALENDAR_ASSETS . 'css/';
50
-		$css_path_vendor = $css_path . 'vendor/';
51
-		$js_path         = SIMPLE_CALENDAR_ASSETS . 'js/';
52
-		$js_path_vendor  = $js_path . 'vendor/';
49
+		$css_path        = SIMPLE_CALENDAR_ASSETS.'css/';
50
+		$css_path_vendor = $css_path.'vendor/';
51
+		$js_path         = SIMPLE_CALENDAR_ASSETS.'js/';
52
+		$js_path_vendor  = $js_path.'vendor/';
53 53
 
54 54
 		/* ====================== *
55 55
 		 * Register Admin Scripts *
@@ -58,21 +58,21 @@  discard block
 block discarded – undo
58 58
 		// TipTip uses ".minified.js" filename ending.
59 59
 		wp_register_script(
60 60
 			'simcal-tiptip',
61
-			$js_path_vendor . 'jquery.tipTip' . ( ( $this->min !== '' ) ? '.minified' : '' ) . '.js',
62
-			array( 'jquery' ),
61
+			$js_path_vendor.'jquery.tipTip'.(($this->min !== '') ? '.minified' : '').'.js',
62
+			array('jquery'),
63 63
 			'1.3',
64 64
 			true
65 65
 		);
66 66
 		wp_register_script(
67 67
 			'simcal-select2',
68
-			$js_path_vendor . 'select2' . $this->min . '.js',
68
+			$js_path_vendor.'select2'.$this->min.'.js',
69 69
 			array(),
70 70
 			'4.0',
71 71
 			true
72 72
 		);
73 73
 		wp_register_script(
74 74
 			'simcal-admin',
75
-			$js_path . 'admin' . $this->min . '.js',
75
+			$js_path.'admin'.$this->min.'.js',
76 76
 			array(
77 77
 				'jquery',
78 78
 				'jquery-ui-sortable',
@@ -86,8 +86,8 @@  discard block
 block discarded – undo
86 86
 		);
87 87
 		wp_register_script(
88 88
 			'simcal-admin-add-calendar',
89
-			$js_path . 'admin-add-calendar' . $this->min . '.js',
90
-			array( 'simcal-select2' ),
89
+			$js_path.'admin-add-calendar'.$this->min.'.js',
90
+			array('simcal-select2'),
91 91
 			SIMPLE_CALENDAR_VERSION,
92 92
 			true
93 93
 		);
@@ -98,13 +98,13 @@  discard block
 block discarded – undo
98 98
 
99 99
 		wp_register_style(
100 100
 			'simcal-select2',
101
-			$css_path_vendor . 'select2' . $this->min . '.css',
101
+			$css_path_vendor.'select2'.$this->min.'.css',
102 102
 			array(),
103 103
 			'4.0.0'
104 104
 		);
105 105
 		wp_register_style(
106 106
 			'simcal-admin',
107
-			$css_path . 'admin' . $this->min . '.css',
107
+			$css_path.'admin'.$this->min.'.css',
108 108
 			array(
109 109
 				'wp-color-picker',
110 110
 				'simcal-select2',
@@ -113,21 +113,21 @@  discard block
 block discarded – undo
113 113
 		);
114 114
 		wp_register_style(
115 115
 			'simcal-admin-add-calendar',
116
-			$css_path . 'admin-add-calendar' . $this->min . '.css',
117
-			array( 'simcal-select2' ),
116
+			$css_path.'admin-add-calendar'.$this->min.'.css',
117
+			array('simcal-select2'),
118 118
 			SIMPLE_CALENDAR_VERSION
119 119
 		);
120 120
 
121
-		if ( simcal_is_admin_screen() !== false ) {
121
+		if (simcal_is_admin_screen() !== false) {
122 122
 
123
-			wp_enqueue_script( 'simcal-admin' );
123
+			wp_enqueue_script('simcal-admin');
124 124
 			wp_localize_script(
125 125
 				'simcal-admin',
126 126
 				'simcal_admin',
127 127
 				simcal_common_scripts_variables()
128 128
 			);
129 129
 
130
-			wp_enqueue_style( 'simcal-admin' );
130
+			wp_enqueue_style('simcal-admin');
131 131
 
132 132
 		} else {
133 133
 
@@ -135,25 +135,25 @@  discard block
 block discarded – undo
135 135
 			$screen = get_current_screen();
136 136
 
137 137
 			$post_types = array();
138
-			$settings = get_option( 'simple-calendar_settings_calendars' );
139
-			if ( isset( $settings['general']['attach_calendars_posts'] ) ) {
138
+			$settings = get_option('simple-calendar_settings_calendars');
139
+			if (isset($settings['general']['attach_calendars_posts'])) {
140 140
 				$post_types = $settings['general']['attach_calendars_posts'];
141 141
 			}
142 142
 
143 143
 			$conditions = array(
144
-				in_array( $post_type, (array) $post_types ),
144
+				in_array($post_type, (array) $post_types),
145 145
 				$screen->id == 'widgets',
146 146
 			);
147 147
 
148
-			if ( in_array( true, $conditions ) ) {
148
+			if (in_array(true, $conditions)) {
149 149
 
150
-				wp_enqueue_script( 'simcal-admin-add-calendar' );
151
-				wp_localize_script( 'simcal-admin-add-calendar', 'simcal_admin', array(
150
+				wp_enqueue_script('simcal-admin-add-calendar');
151
+				wp_localize_script('simcal-admin-add-calendar', 'simcal_admin', array(
152 152
 					'locale'   => get_locale(),
153 153
 					'text_dir' => is_rtl() ? 'rtl' : 'ltr',
154
-				) );
154
+				));
155 155
 
156
-				wp_enqueue_style( 'simcal-admin-add-calendar' );
156
+				wp_enqueue_style('simcal-admin-add-calendar');
157 157
 			}
158 158
 
159 159
 		}
Please login to merge, or discard this patch.
includes/admin/fields/select.php 1 patch
Spacing   +24 added lines, -24 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
 
9 9
 use SimpleCalendar\Abstracts\Field;
10 10
 
11
-if ( ! defined( 'ABSPATH' ) ) {
11
+if ( ! defined('ABSPATH')) {
12 12
 	exit;
13 13
 }
14 14
 
@@ -51,32 +51,32 @@  discard block
 block discarded – undo
51 51
 	 *
52 52
 	 * @param array $field
53 53
 	 */
54
-	public function __construct( $field ) {
54
+	public function __construct($field) {
55 55
 
56 56
 		$class = 'simcal-field-select';
57 57
 
58
-		$enhanced = isset( $field['enhanced'] ) ? $field['enhanced'] : '';
59
-		if ( 'enhanced' == $enhanced )  {
58
+		$enhanced = isset($field['enhanced']) ? $field['enhanced'] : '';
59
+		if ('enhanced' == $enhanced) {
60 60
 			$this->enhanced = true;
61 61
 			$class .= ' simcal-field-select-enhanced';
62 62
 		}
63 63
 
64
-		$multiselect = isset( $field['multiselect'] ) ? $field['multiselect'] : '';
65
-		if ( 'multiselect' == $multiselect ) {
64
+		$multiselect = isset($field['multiselect']) ? $field['multiselect'] : '';
65
+		if ('multiselect' == $multiselect) {
66 66
 			$this->multiselect = true;
67 67
 			$class .= ' simcal-field-multiselect';
68 68
 		}
69 69
 
70
-		if ( isset( $field['default'] ) ) {
70
+		if (isset($field['default'])) {
71 71
 			$this->default = $field['default'];
72 72
 		}
73 73
 
74 74
 		$this->type_class = $class;
75 75
 
76
-		$allow_void = isset( $field['allow_void'] ) ? $field['allow_void'] : '';
76
+		$allow_void = isset($field['allow_void']) ? $field['allow_void'] : '';
77 77
 		$this->allow_void = 'allow_void' == $allow_void ? true : false;
78 78
 
79
-		parent::__construct( $field );
79
+		parent::__construct($field);
80 80
 	}
81 81
 
82 82
 	/**
@@ -86,36 +86,36 @@  discard block
 block discarded – undo
86 86
 	 */
87 87
 	public function html() {
88 88
 
89
-		if ( $this->multiselect === true && ! is_array( $this->value ) ) {
90
-			$this->value = explode( ',', $this->value );
89
+		if ($this->multiselect === true && ! is_array($this->value)) {
90
+			$this->value = explode(',', $this->value);
91 91
 		}
92 92
 
93
-		if ( $this->default ) {
94
-			if ( empty( $this->value ) || $this->value == '' ) {
93
+		if ($this->default) {
94
+			if (empty($this->value) || $this->value == '') {
95 95
 				$this->value = $this->default;
96 96
 			}
97 97
 		}
98 98
 
99 99
 		?>
100
-		<select name="<?php echo $this->name; ?><?php if ( $this->multiselect === true ) { echo '[]'; } ?>"
100
+		<select name="<?php echo $this->name; ?><?php if ($this->multiselect === true) { echo '[]'; } ?>"
101 101
 		        id="<?php echo $this->id; ?>"
102 102
 		        style="<?php echo $this->style; ?>"
103 103
 		        class="<?php echo $this->class; ?>"
104 104
 				<?php echo $this->attributes; ?>
105
-				<?php echo ( $this->multiselect === true ) ? ' multiple="multiple"' : ''; ?>>
105
+				<?php echo ($this->multiselect === true) ? ' multiple="multiple"' : ''; ?>>
106 106
 			<?php
107 107
 
108
-			if ( $this->allow_void === true ) {
109
-				echo '<option value=""' . selected( '', $this->value, false ) . '></option>';
108
+			if ($this->allow_void === true) {
109
+				echo '<option value=""'.selected('', $this->value, false).'></option>';
110 110
 			}
111 111
 
112
-			foreach ( $this->options as $option => $name ) {
113
-				if ( is_array( $this->value ) ) {
114
-					$selected =	selected( in_array( $option, $this->value ), true, false );
112
+			foreach ($this->options as $option => $name) {
113
+				if (is_array($this->value)) {
114
+					$selected = selected(in_array($option, $this->value), true, false);
115 115
 				} else {
116
-					$selected = selected( $this->value, trim( strval( $option ) ), false );
116
+					$selected = selected($this->value, trim(strval($option)), false);
117 117
 				}
118
-				echo '<option value="' . $option . '" ' . $selected . '>' . esc_attr( $name ) . '</option>';
118
+				echo '<option value="'.$option.'" '.$selected.'>'.esc_attr($name).'</option>';
119 119
 			}
120 120
 
121 121
 			?>
@@ -124,8 +124,8 @@  discard block
 block discarded – undo
124 124
 
125 125
 		echo $this->tooltip;
126 126
 
127
-		if ( ! empty( $this->description ) ) {
128
-			echo '<p class="description">' . wp_kses_post( $this->description ) . '</p>';
127
+		if ( ! empty($this->description)) {
128
+			echo '<p class="description">'.wp_kses_post($this->description).'</p>';
129 129
 		}
130 130
 
131 131
 	}
Please login to merge, or discard this patch.
includes/abstracts/calendar.php 2 patches
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -784,8 +784,8 @@
 block discarded – undo
784 784
 				if ( 'yes' == $poweredby ) {
785 785
 					$align = is_rtl() ? 'left' : 'right';
786 786
 					echo '<small class="simcal-powered simcal-align-' . $align .'">' .
787
-					     sprintf( __( 'Powered by <a href="%s" target="_blank">Simple Calendar</a>', 'google-calendar-events' ), simcal_get_url( 'home' ) ) .
788
-					     '</small>';
787
+						 sprintf( __( 'Powered by <a href="%s" target="_blank">Simple Calendar</a>', 'google-calendar-events' ), simcal_get_url( 'home' ) ) .
788
+						 '</small>';
789 789
 				}
790 790
 
791 791
 				echo '</div>';
Please login to merge, or discard this patch.
Spacing   +172 added lines, -172 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
 use SimpleCalendar\Events\Event_Builder;
12 12
 use SimpleCalendar\Events\Events;
13 13
 
14
-if ( ! defined( 'ABSPATH' ) ) {
14
+if ( ! defined('ABSPATH')) {
15 15
 	exit;
16 16
 }
17 17
 
@@ -234,12 +234,12 @@  discard block
 block discarded – undo
234 234
 	 * @param int|object|\WP_Post|Calendar $calendar
235 235
 	 * @param string $view
236 236
 	 */
237
-	public function __construct( $calendar, $view = '' ) {
237
+	public function __construct($calendar, $view = '') {
238 238
 
239 239
 		// Set the post object.
240
-		$this->set_post_object( $calendar );
240
+		$this->set_post_object($calendar);
241 241
 
242
-		if ( ! is_null( $this->post ) ) {
242
+		if ( ! is_null($this->post)) {
243 243
 
244 244
 			// Set calendar type and events source.
245 245
 			$this->set_taxonomies();
@@ -256,23 +256,23 @@  discard block
 block discarded – undo
256 256
 			$this->set_events_template();
257 257
 
258 258
 			// Get events source data.
259
-			$feed = simcal_get_feed( $this );
260
-			if ( $feed instanceof Feed ) {
261
-				if ( ! empty( $feed->events ) ) {
262
-					if ( is_array( $feed->events ) ) {
263
-						$this->set_events( $feed->events );
264
-						if ( 'use_calendar' == get_post_meta( $this->id, '_feed_timezone_setting', true ) ) {
259
+			$feed = simcal_get_feed($this);
260
+			if ($feed instanceof Feed) {
261
+				if ( ! empty($feed->events)) {
262
+					if (is_array($feed->events)) {
263
+						$this->set_events($feed->events);
264
+						if ('use_calendar' == get_post_meta($this->id, '_feed_timezone_setting', true)) {
265 265
 							$this->timezone = $feed->timezone;
266 266
 							$this->set_start();
267 267
 						}
268
-					} elseif ( is_string( $feed->events ) ) {
268
+					} elseif (is_string($feed->events)) {
269 269
 						$this->errors[] = $feed->events;
270 270
 					}
271 271
 				}
272 272
 			}
273 273
 
274 274
 			// Set general purpose timestamps.
275
-			$now = Carbon::now( $this->timezone );
275
+			$now = Carbon::now($this->timezone);
276 276
 			$this->now    = $now->getTimestamp();
277 277
 			$this->today  = $now->startOfDay()->getTimestamp();
278 278
 			$this->offset = $now->getOffset();
@@ -283,26 +283,26 @@  discard block
 block discarded – undo
283 283
 			$this->set_datetime_separator();
284 284
 
285 285
 			// Set earliest and latest event timestamps.
286
-			if ( $this->events && is_array( $this->events ) ) {
287
-				$this->earliest_event = intval( current( array_keys( $this->events ) ) );
288
-				$this->latest_event   = intval( key( array_slice( $this->events, -1, 1, true ) ) );
286
+			if ($this->events && is_array($this->events)) {
287
+				$this->earliest_event = intval(current(array_keys($this->events)));
288
+				$this->latest_event   = intval(key(array_slice($this->events, -1, 1, true)));
289 289
 			}
290 290
 
291 291
 			// Set calendar end.
292 292
 			$this->set_end();
293 293
 
294 294
 			// Set view.
295
-			if ( ! $view ) {
295
+			if ( ! $view) {
296 296
 
297
-				$calendar_view = get_post_meta( $this->id, '_calendar_view', true );
298
-				$calendar_view = isset( $calendar_view[ $this->type ] ) ? $calendar_view[ $this->type ] : '';
297
+				$calendar_view = get_post_meta($this->id, '_calendar_view', true);
298
+				$calendar_view = isset($calendar_view[$this->type]) ? $calendar_view[$this->type] : '';
299 299
 
300
-				$view = esc_attr( $calendar_view );
300
+				$view = esc_attr($calendar_view);
301 301
 			}
302 302
 		}
303 303
 
304 304
 		// Get view.
305
-		$this->view = $this->get_view( $view );
305
+		$this->view = $this->get_view($view);
306 306
 	}
307 307
 
308 308
 	/**
@@ -314,8 +314,8 @@  discard block
 block discarded – undo
314 314
 	 *
315 315
 	 * @return bool
316 316
 	 */
317
-	public function __isset( $key ) {
318
-		return metadata_exists( 'post', $this->id, '_' . $key );
317
+	public function __isset($key) {
318
+		return metadata_exists('post', $this->id, '_'.$key);
319 319
 	}
320 320
 
321 321
 	/**
@@ -327,9 +327,9 @@  discard block
 block discarded – undo
327 327
 	 *
328 328
 	 * @return mixed
329 329
 	 */
330
-	public function __get( $key ) {
331
-		$value = get_post_meta( $this->id, '_' . $key, true );
332
-		if ( ! empty( $value ) ) {
330
+	public function __get($key) {
331
+		$value = get_post_meta($this->id, '_'.$key, true);
332
+		if ( ! empty($value)) {
333 333
 			$this->$key = $value;
334 334
 		}
335 335
 		return $value;
@@ -342,17 +342,17 @@  discard block
 block discarded – undo
342 342
 	 *
343 343
 	 * @param int|object|\WP_Post|Calendar $calendar
344 344
 	 */
345
-	public function set_post_object( $calendar ) {
346
-		if ( is_numeric( $calendar ) ) {
347
-			$this->id   = absint( $calendar );
348
-			$this->post = get_post( $this->id );
349
-		} elseif ( $calendar instanceof Calendar ) {
350
-			$this->id   = absint( $calendar->id );
345
+	public function set_post_object($calendar) {
346
+		if (is_numeric($calendar)) {
347
+			$this->id   = absint($calendar);
348
+			$this->post = get_post($this->id);
349
+		} elseif ($calendar instanceof Calendar) {
350
+			$this->id   = absint($calendar->id);
351 351
 			$this->post = $calendar->post;
352
-		} elseif ( $calendar instanceof \WP_Post ) {
353
-			$this->id   = absint( $calendar->ID );
352
+		} elseif ($calendar instanceof \WP_Post) {
353
+			$this->id   = absint($calendar->ID);
354 354
 			$this->post = $calendar;
355
-		} elseif ( isset( $calendar->id ) && isset( $calendar->post ) ) {
355
+		} elseif (isset($calendar->id) && isset($calendar->post)) {
356 356
 			$this->id   = $calendar->id;
357 357
 			$this->post = $calendar->post;
358 358
 		}
@@ -366,8 +366,8 @@  discard block
 block discarded – undo
366 366
 	 * @return string
367 367
 	 */
368 368
 	public function get_title() {
369
-		$title = isset( $this->post->post_title ) ? $this->post->post_title : '';
370
-		return apply_filters( 'simcal_calendar_title', $title );
369
+		$title = isset($this->post->post_title) ? $this->post->post_title : '';
370
+		return apply_filters('simcal_calendar_title', $title);
371 371
 	}
372 372
 
373 373
 	/**
@@ -389,16 +389,16 @@  discard block
 block discarded – undo
389 389
 	 */
390 390
 	protected function set_taxonomies() {
391 391
 		// Set calendar type.
392
-		if ( $type = wp_get_object_terms( $this->id, 'calendar_type' ) ) {
393
-			$this->type = sanitize_title( current( $type )->name );
392
+		if ($type = wp_get_object_terms($this->id, 'calendar_type')) {
393
+			$this->type = sanitize_title(current($type)->name);
394 394
 		} else {
395
-			$this->type = apply_filters( 'simcal_calendar_default_type', 'default-calendar' );
395
+			$this->type = apply_filters('simcal_calendar_default_type', 'default-calendar');
396 396
 		}
397 397
 		// Set feed type.
398
-		if ( $feed_type = wp_get_object_terms( $this->id, 'calendar_feed' ) ) {
399
-			$this->feed = sanitize_title( current( $feed_type )->name );
398
+		if ($feed_type = wp_get_object_terms($this->id, 'calendar_feed')) {
399
+			$this->feed = sanitize_title(current($feed_type)->name);
400 400
 		} else {
401
-			$this->feed = apply_filters( 'simcal_calendar_default_feed', 'google' );
401
+			$this->feed = apply_filters('simcal_calendar_default_feed', 'google');
402 402
 		}
403 403
 	}
404 404
 
@@ -410,7 +410,7 @@  discard block
 block discarded – undo
410 410
 	 * @return Events
411 411
 	 */
412 412
 	public function get_events() {
413
-		return new Events( $this->events, $this->timezone );
413
+		return new Events($this->events, $this->timezone);
414 414
 	}
415 415
 
416 416
 	/**
@@ -420,14 +420,14 @@  discard block
 block discarded – undo
420 420
 	 *
421 421
 	 * @param array $array
422 422
 	 */
423
-	public function set_events( array $array ) {
423
+	public function set_events(array $array) {
424 424
 
425 425
 		$events = array();
426 426
 
427
-		if ( ! empty( $array ) ) {
428
-			foreach ( $array as $tz => $e ) {
429
-				foreach ( $e as $event ) {
430
-					$events[ $tz ][] = $event instanceof Event ? $event : new Event( $event );
427
+		if ( ! empty($array)) {
428
+			foreach ($array as $tz => $e) {
429
+				foreach ($e as $event) {
430
+					$events[$tz][] = $event instanceof Event ? $event : new Event($event);
431 431
 				}
432 432
 			}
433 433
 		}
@@ -444,24 +444,24 @@  discard block
 block discarded – undo
444 444
 	 *
445 445
 	 * @return string
446 446
 	 */
447
-	public function set_events_template( $template = '' ) {
448
-		if ( empty( $template ) ) {
449
-			$template = isset( $this->post->post_content ) ? $this->post->post_content : '';
447
+	public function set_events_template($template = '') {
448
+		if (empty($template)) {
449
+			$template = isset($this->post->post_content) ? $this->post->post_content : '';
450 450
 		}
451 451
 
452 452
 		// TODO: Removed wpautop() call.
453 453
 
454
-		$event_formatting = get_post_meta( $this->id, '_event_formatting', true );
454
+		$event_formatting = get_post_meta($this->id, '_event_formatting', true);
455 455
 
456
-		switch( $event_formatting ) {
456
+		switch ($event_formatting) {
457 457
 			case 'none':
458
-				$this->events_template =  wp_kses_post( trim( $template ) );
458
+				$this->events_template = wp_kses_post(trim($template));
459 459
 				break;
460 460
 			case 'no_linebreaks':
461
-				$this->events_template =  wpautop( wp_kses_post( trim( $template ) ), false );
461
+				$this->events_template = wpautop(wp_kses_post(trim($template)), false);
462 462
 				break;
463 463
 			default:
464
-				$this->events_template =  wpautop( wp_kses_post( trim( $template ) ), true );
464
+				$this->events_template = wpautop(wp_kses_post(trim($template)), true);
465 465
 		}
466 466
 
467 467
 		//$this->events_template =  wpautop( wp_kses_post( trim( $template ) ), true );
@@ -474,37 +474,37 @@  discard block
 block discarded – undo
474 474
 	 *
475 475
 	 * @param string $tz Timezone.
476 476
 	 */
477
-	public function set_timezone( $tz = '' ) {
477
+	public function set_timezone($tz = '') {
478 478
 
479
-		$site_tz = esc_attr( simcal_get_wp_timezone() );
479
+		$site_tz = esc_attr(simcal_get_wp_timezone());
480 480
 
481
-		if ( $this->feed === 'grouped-calendars' ) {
481
+		if ($this->feed === 'grouped-calendars') {
482 482
 			$this->timezone = $site_tz;
483 483
 			return;
484 484
 		}
485 485
 
486
-		if ( empty( $tz ) ) {
486
+		if (empty($tz)) {
487 487
 
488
-			$timezone_setting = get_post_meta( $this->id, '_feed_timezone_setting', true );
488
+			$timezone_setting = get_post_meta($this->id, '_feed_timezone_setting', true);
489 489
 
490
-			if ( 'use_site' == $timezone_setting ) {
490
+			if ('use_site' == $timezone_setting) {
491 491
 				$tz = $site_tz;
492
-			} elseif ( 'use_custom' == $timezone_setting ) {
493
-				$custom_timezone = esc_attr( get_post_meta( $this->id, '_feed_timezone', true ) );
492
+			} elseif ('use_custom' == $timezone_setting) {
493
+				$custom_timezone = esc_attr(get_post_meta($this->id, '_feed_timezone', true));
494 494
 				// One may be using a non standard timezone in GMT (UTC) offset format.
495
-				if ( ( strpos( $custom_timezone, 'UTC+' ) === 0 ) || ( strpos( $custom_timezone, 'UTC-' ) === 0 ) ) {
496
-					$tz = simcal_get_timezone_from_gmt_offset( substr( $custom_timezone, 3 ) );
495
+				if ((strpos($custom_timezone, 'UTC+') === 0) || (strpos($custom_timezone, 'UTC-') === 0)) {
496
+					$tz = simcal_get_timezone_from_gmt_offset(substr($custom_timezone, 3));
497 497
 				} else {
498
-					$tz = ! empty( $custom_timezone ) ? $custom_timezone : 'UTC';
498
+					$tz = ! empty($custom_timezone) ? $custom_timezone : 'UTC';
499 499
 				}
500 500
 			}
501 501
 
502
-			$this->timezone = empty( $tz ) ? 'UTC' : $tz;
502
+			$this->timezone = empty($tz) ? 'UTC' : $tz;
503 503
 			return;
504 504
 		}
505 505
 
506 506
 		$this->site_timezone = $site_tz;
507
-		$this->timezone = simcal_esc_timezone( $tz, $this->timezone );
507
+		$this->timezone = simcal_esc_timezone($tz, $this->timezone);
508 508
 	}
509 509
 
510 510
 	/**
@@ -514,20 +514,20 @@  discard block
 block discarded – undo
514 514
 	 *
515 515
 	 * @param string $format PHP datetime format.
516 516
 	 */
517
-	public function set_date_format( $format = '' ) {
517
+	public function set_date_format($format = '') {
518 518
 
519 519
 		$date_format_custom = $date_format_default = $format;
520 520
 
521
-		if ( empty( $date_format_custom ) ) {
521
+		if (empty($date_format_custom)) {
522 522
 
523
-			$date_format_option  = esc_attr( get_post_meta( $this->id, '_calendar_date_format_setting', true ) );
524
-			$date_format_default = esc_attr( get_option( 'date_format' ) );
523
+			$date_format_option  = esc_attr(get_post_meta($this->id, '_calendar_date_format_setting', true));
524
+			$date_format_default = esc_attr(get_option('date_format'));
525 525
 			$date_format_custom  = '';
526 526
 
527
-			if ( 'use_custom' == $date_format_option ) {
528
-				$date_format_custom = esc_attr( get_post_meta( $this->id, '_calendar_date_format', true ) );
529
-			} elseif ( 'use_custom_php' == $date_format_option ) {
530
-				$date_format_custom = esc_attr( get_post_meta( $this->id, '_calendar_date_format_php', true ) );
527
+			if ('use_custom' == $date_format_option) {
528
+				$date_format_custom = esc_attr(get_post_meta($this->id, '_calendar_date_format', true));
529
+			} elseif ('use_custom_php' == $date_format_option) {
530
+				$date_format_custom = esc_attr(get_post_meta($this->id, '_calendar_date_format_php', true));
531 531
 			}
532 532
 		}
533 533
 
@@ -541,20 +541,20 @@  discard block
 block discarded – undo
541 541
 	 *
542 542
 	 * @param string $format PHP datetime format.
543 543
 	 */
544
-	public function set_time_format( $format = '' ) {
544
+	public function set_time_format($format = '') {
545 545
 
546 546
 		$time_format_custom = $time_format_default = $format;
547 547
 
548
-		if ( empty( $time_format_custom ) ) {
548
+		if (empty($time_format_custom)) {
549 549
 
550
-			$time_format_option  = esc_attr( get_post_meta( $this->id, '_calendar_time_format_setting', true ) );
551
-			$time_format_default = esc_attr( get_option( 'time_format' ) );
550
+			$time_format_option  = esc_attr(get_post_meta($this->id, '_calendar_time_format_setting', true));
551
+			$time_format_default = esc_attr(get_option('time_format'));
552 552
 			$time_format_custom  = '';
553 553
 
554
-			if ( 'use_custom' == $time_format_option ) {
555
-				$time_format_custom = esc_attr( get_post_meta( $this->id, '_calendar_time_format', true ) );
556
-			} elseif ( 'use_custom_php' == $time_format_option ) {
557
-				$time_format_custom = esc_attr( get_post_meta( $this->id, '_calendar_time_format_php', true ) );
554
+			if ('use_custom' == $time_format_option) {
555
+				$time_format_custom = esc_attr(get_post_meta($this->id, '_calendar_time_format', true));
556
+			} elseif ('use_custom_php' == $time_format_option) {
557
+				$time_format_custom = esc_attr(get_post_meta($this->id, '_calendar_time_format_php', true));
558 558
 			}
559 559
 		}
560 560
 
@@ -568,13 +568,13 @@  discard block
 block discarded – undo
568 568
 	 *
569 569
 	 * @param string $separator A UTF8 character used as separator.
570 570
 	 */
571
-	public function set_datetime_separator( $separator = '' ) {
571
+	public function set_datetime_separator($separator = '') {
572 572
 
573
-		if ( empty( $separator ) ) {
574
-			$separator = get_post_meta( $this->id, '_calendar_datetime_separator', true );
573
+		if (empty($separator)) {
574
+			$separator = get_post_meta($this->id, '_calendar_datetime_separator', true);
575 575
 		}
576 576
 
577
-		$this->datetime_separator = esc_attr( $separator );
577
+		$this->datetime_separator = esc_attr($separator);
578 578
 	}
579 579
 
580 580
 	/**
@@ -584,18 +584,18 @@  discard block
 block discarded – undo
584 584
 	 *
585 585
 	 * @param int $weekday From 0 (Sunday) to 6 (Friday).
586 586
 	 */
587
-	public function set_start_of_week( $weekday = -1 ) {
587
+	public function set_start_of_week($weekday = -1) {
588 588
 
589
-		$week_starts = is_int( $weekday ) ? $weekday : -1;
589
+		$week_starts = is_int($weekday) ? $weekday : -1;
590 590
 
591
-		if ( $week_starts < 0 || $week_starts > 6 ) {
591
+		if ($week_starts < 0 || $week_starts > 6) {
592 592
 
593
-			$week_starts_setting = get_post_meta( $this->id, '_calendar_week_starts_on_setting', true );
594
-			$week_starts         = intval( get_option( 'start_of_week' ) );
593
+			$week_starts_setting = get_post_meta($this->id, '_calendar_week_starts_on_setting', true);
594
+			$week_starts         = intval(get_option('start_of_week'));
595 595
 
596
-			if ( 'use_custom' == $week_starts_setting ) {
597
-				$week_starts_on = get_post_meta( $this->id, '_calendar_week_starts_on', true );
598
-				$week_starts    = is_numeric( $week_starts_on ) ? intval( $week_starts_on ) : $week_starts;
596
+			if ('use_custom' == $week_starts_setting) {
597
+				$week_starts_on = get_post_meta($this->id, '_calendar_week_starts_on', true);
598
+				$week_starts    = is_numeric($week_starts_on) ? intval($week_starts_on) : $week_starts;
599 599
 			}
600 600
 		}
601 601
 
@@ -609,51 +609,51 @@  discard block
 block discarded – undo
609 609
 	 *
610 610
 	 * @param int $timestamp
611 611
 	 */
612
-	public function set_start( $timestamp = 0 ) {
612
+	public function set_start($timestamp = 0) {
613 613
 
614
-		if ( is_int( $timestamp ) && $timestamp !== 0 ) {
614
+		if (is_int($timestamp) && $timestamp !== 0) {
615 615
 			$this->start = $timestamp;
616 616
 			return;
617 617
 		}
618 618
 
619
-		$this->start = Carbon::now( $this->timezone )->getTimestamp();
619
+		$this->start = Carbon::now($this->timezone)->getTimestamp();
620 620
 
621
-		$calendar_begins = esc_attr( get_post_meta( $this->id, '_calendar_begins', true ) );
622
-		$nth = max( absint( get_post_meta( $this->id, '_calendar_begins_nth', true ) ), 1 );
621
+		$calendar_begins = esc_attr(get_post_meta($this->id, '_calendar_begins', true));
622
+		$nth = max(absint(get_post_meta($this->id, '_calendar_begins_nth', true)), 1);
623 623
 
624
-		if ( 'today' == $calendar_begins ) {
625
-			$this->start = Carbon::today( $this->timezone )->getTimestamp();
626
-		} elseif ( 'days_before' == $calendar_begins ) {
627
-			$this->start = Carbon::today( $this->timezone )->subDays( $nth )->getTimestamp();
628
-		} elseif ( 'days_after' == $calendar_begins ) {
629
-			$this->start = Carbon::today( $this->timezone )->addDays( $nth )->getTimestamp();
630
-		} elseif ( 'this_week' == $calendar_begins ) {
631
-			$week = new Carbon( 'now', $this->timezone );
632
-			$week->setWeekStartsAt( $this->week_starts );
624
+		if ('today' == $calendar_begins) {
625
+			$this->start = Carbon::today($this->timezone)->getTimestamp();
626
+		} elseif ('days_before' == $calendar_begins) {
627
+			$this->start = Carbon::today($this->timezone)->subDays($nth)->getTimestamp();
628
+		} elseif ('days_after' == $calendar_begins) {
629
+			$this->start = Carbon::today($this->timezone)->addDays($nth)->getTimestamp();
630
+		} elseif ('this_week' == $calendar_begins) {
631
+			$week = new Carbon('now', $this->timezone);
632
+			$week->setWeekStartsAt($this->week_starts);
633 633
 			$this->start = $week->startOfWeek()->getTimestamp();
634
-		} elseif ( 'weeks_before' == $calendar_begins ) {
635
-			$week = new Carbon( 'now', $this->timezone );
636
-			$week->setWeekStartsAt( $this->week_starts );
637
-			$this->start = $week->startOfWeek()->subWeeks( $nth )->getTimestamp();
638
-		} elseif ( 'weeks_after' == $calendar_begins ) {
639
-			$week = new Carbon( 'now', $this->timezone );
640
-			$week->setWeekStartsAt( $this->week_starts );
641
-			$this->start = $week->startOfWeek()->addWeeks( $nth )->getTimestamp();
642
-		} elseif ( 'this_month' == $calendar_begins ) {
643
-			$this->start = Carbon::today( $this->timezone )->startOfMonth()->getTimeStamp();
644
-		} elseif ( 'months_before' == $calendar_begins ) {
645
-			$this->start = Carbon::today( $this->timezone )->subMonths( $nth )->startOfMonth()->getTimeStamp();
646
-		} elseif ( 'months_after' == $calendar_begins ) {
647
-			$this->start = Carbon::today( $this->timezone )->addMonths( $nth )->startOfMonth()->getTimeStamp();
648
-		} elseif ( 'this_year' == $calendar_begins ) {
649
-			$this->start = Carbon::today( $this->timezone )->startOfYear()->getTimestamp();
650
-		} elseif ( 'years_before' == $calendar_begins ) {
651
-			$this->start = Carbon::today( $this->timezone )->subYears( $nth )->startOfYear()->getTimeStamp();
652
-		} elseif ( 'years_after' == $calendar_begins ) {
653
-			$this->start = Carbon::today( $this->timezone )->addYears( $nth )->startOfYear()->getTimeStamp();
654
-		} elseif ( 'custom_date' == $calendar_begins ) {
655
-			if ( $date = get_post_meta( $this->id, '_calendar_begins_custom_date', true ) ) {
656
-				$this->start = Carbon::createFromFormat( 'Y-m-d', esc_attr( $date ), $this->timezone )->setTimezone( $this->timezone )->startOfDay()->getTimestamp();
634
+		} elseif ('weeks_before' == $calendar_begins) {
635
+			$week = new Carbon('now', $this->timezone);
636
+			$week->setWeekStartsAt($this->week_starts);
637
+			$this->start = $week->startOfWeek()->subWeeks($nth)->getTimestamp();
638
+		} elseif ('weeks_after' == $calendar_begins) {
639
+			$week = new Carbon('now', $this->timezone);
640
+			$week->setWeekStartsAt($this->week_starts);
641
+			$this->start = $week->startOfWeek()->addWeeks($nth)->getTimestamp();
642
+		} elseif ('this_month' == $calendar_begins) {
643
+			$this->start = Carbon::today($this->timezone)->startOfMonth()->getTimeStamp();
644
+		} elseif ('months_before' == $calendar_begins) {
645
+			$this->start = Carbon::today($this->timezone)->subMonths($nth)->startOfMonth()->getTimeStamp();
646
+		} elseif ('months_after' == $calendar_begins) {
647
+			$this->start = Carbon::today($this->timezone)->addMonths($nth)->startOfMonth()->getTimeStamp();
648
+		} elseif ('this_year' == $calendar_begins) {
649
+			$this->start = Carbon::today($this->timezone)->startOfYear()->getTimestamp();
650
+		} elseif ('years_before' == $calendar_begins) {
651
+			$this->start = Carbon::today($this->timezone)->subYears($nth)->startOfYear()->getTimeStamp();
652
+		} elseif ('years_after' == $calendar_begins) {
653
+			$this->start = Carbon::today($this->timezone)->addYears($nth)->startOfYear()->getTimeStamp();
654
+		} elseif ('custom_date' == $calendar_begins) {
655
+			if ($date = get_post_meta($this->id, '_calendar_begins_custom_date', true)) {
656
+				$this->start = Carbon::createFromFormat('Y-m-d', esc_attr($date), $this->timezone)->setTimezone($this->timezone)->startOfDay()->getTimestamp();
657 657
 			}
658 658
 		}
659 659
 	}
@@ -665,8 +665,8 @@  discard block
 block discarded – undo
665 665
 	 *
666 666
 	 * @param int $timestamp
667 667
 	 */
668
-	public function set_end( $timestamp = 0 ) {
669
-		$latest = is_int( $timestamp ) && $timestamp !== 0 ? $timestamp : $this->latest_event;
668
+	public function set_end($timestamp = 0) {
669
+		$latest = is_int($timestamp) && $timestamp !== 0 ? $timestamp : $this->latest_event;
670 670
 		$this->end = $latest > $this->start ? $latest : $this->start;
671 671
 	}
672 672
 
@@ -677,14 +677,14 @@  discard block
 block discarded – undo
677 677
 	 *
678 678
 	 * @param string|bool $static
679 679
 	 */
680
-	public function set_static( $static = '' ) {
680
+	public function set_static($static = '') {
681 681
 
682
-		if ( ! empty( $static ) && is_bool( $static ) ) {
682
+		if ( ! empty($static) && is_bool($static)) {
683 683
 			$this->static = $static;
684 684
 			return;
685 685
 		}
686 686
 
687
-		if ( 'yes' == get_post_meta( $this->id, '_calendar_is_static', true ) ) {
687
+		if ('yes' == get_post_meta($this->id, '_calendar_is_static', true)) {
688 688
 			$this->static = true;
689 689
 			return;
690 690
 		}
@@ -712,7 +712,7 @@  discard block
 block discarded – undo
712 712
 	 *
713 713
 	 * @return Calendar_View
714 714
 	 */
715
-	abstract public function get_view( $view = '' );
715
+	abstract public function get_view($view = '');
716 716
 
717 717
 	/**
718 718
 	 * Get event HTML parsed by template.
@@ -724,11 +724,11 @@  discard block
 block discarded – undo
724 724
 	 *
725 725
 	 * @return string
726 726
 	 */
727
-	public function get_event_html( Event $event, $template = '' ) {
728
-		$event_builder = new Event_Builder( $event, $this );
727
+	public function get_event_html(Event $event, $template = '') {
728
+		$event_builder = new Event_Builder($event, $this);
729 729
 		// Use the event template to parse tags; if empty, fallback to calendar post content.
730
-		$template = empty( $template ) ? ( empty( $event->template ) ? $this->events_template : $event->template ) : $template;
731
-		return $event_builder->parse_event_template_tags( $template );
730
+		$template = empty($template) ? (empty($event->template) ? $this->events_template : $event->template) : $template;
731
+		return $event_builder->parse_event_template_tags($template);
732 732
 	}
733 733
 
734 734
 	/**
@@ -738,58 +738,58 @@  discard block
 block discarded – undo
738 738
 	 *
739 739
 	 * @param string $view The calendar view to display.
740 740
 	 */
741
-	public function html( $view = '' ) {
741
+	public function html($view = '') {
742 742
 
743
-		$view = empty( $view ) ? $this->view : $this->get_view( $view );
743
+		$view = empty($view) ? $this->view : $this->get_view($view);
744 744
 
745
-		if ( $view instanceof Calendar_View ) {
745
+		if ($view instanceof Calendar_View) {
746 746
 
747
-			if ( ! empty( $this->errors ) ) {
747
+			if ( ! empty($this->errors)) {
748 748
 
749
-				if ( current_user_can( 'manage_options' )  ) {
749
+				if (current_user_can('manage_options')) {
750 750
 					echo '<pre><code>';
751
-					foreach ( $this->errors as $error ) { echo $error; }
751
+					foreach ($this->errors as $error) { echo $error; }
752 752
 					echo '</code></pre>';
753 753
 				}
754 754
 
755 755
 			} else {
756 756
 
757 757
 				// Get a CSS class from the class name of the calendar view (minus namespace part).
758
-				$view_name  = implode( '-', array_map( 'lcfirst', explode( '_', strtolower( get_class( $view ) ) ) ) );
759
-				$view_class = substr( $view_name, strrpos( $view_name, '\\' ) + 1 );
758
+				$view_name  = implode('-', array_map('lcfirst', explode('_', strtolower(get_class($view)))));
759
+				$view_class = substr($view_name, strrpos($view_name, '\\') + 1);
760 760
 
761
-				$calendar_class = trim( implode( ' simcal-', apply_filters( 'simcal_calendar_class', array(
761
+				$calendar_class = trim(implode(' simcal-', apply_filters('simcal_calendar_class', array(
762 762
 					'simcal-calendar',
763 763
 					$this->type,
764 764
 					$view_class,
765
-				), $this->id ) ) );
766
-
767
-				echo '<div class="' . $calendar_class . '" '
768
-									. 'data-calendar-id="'    . $this->id . '" '
769
-									. 'data-timezone="'       . $this->timezone . '" '
770
-									. 'data-offset="'         . $this->offset . '" '
771
-									. 'data-week-start="'     . $this->week_starts . '" '
772
-									. 'data-calendar-start="' . $this->start .'" '
773
-									. 'data-calendar-end="'   . $this->end . '" '
774
-									. 'data-events-first="'   . $this->earliest_event .'" '
775
-									. 'data-events-last="'    . $this->latest_event . '"'
765
+				), $this->id)));
766
+
767
+				echo '<div class="'.$calendar_class.'" '
768
+									. 'data-calendar-id="'.$this->id.'" '
769
+									. 'data-timezone="'.$this->timezone.'" '
770
+									. 'data-offset="'.$this->offset.'" '
771
+									. 'data-week-start="'.$this->week_starts.'" '
772
+									. 'data-calendar-start="'.$this->start.'" '
773
+									. 'data-calendar-end="'.$this->end.'" '
774
+									. 'data-events-first="'.$this->earliest_event.'" '
775
+									. 'data-events-last="'.$this->latest_event.'"'
776 776
 									. '>';
777 777
 
778
-				date_default_timezone_set( $this->timezone );
779
-				do_action( 'simcal_calendar_html_before', $this->id );
778
+				date_default_timezone_set($this->timezone);
779
+				do_action('simcal_calendar_html_before', $this->id);
780 780
 
781 781
 				$view->html();
782 782
 
783
-				do_action( 'simcal_calendar_html_after', $this->id );
784
-				date_default_timezone_set( $this->site_timezone );
783
+				do_action('simcal_calendar_html_after', $this->id);
784
+				date_default_timezone_set($this->site_timezone);
785 785
 
786 786
 				//$settings = get_option( 'simple-calendar_settings_calendars' );
787
-				$poweredby = get_post_meta( $this->id, '_poweredby', true );
787
+				$poweredby = get_post_meta($this->id, '_poweredby', true);
788 788
 
789
-				if ( 'yes' == $poweredby ) {
789
+				if ('yes' == $poweredby) {
790 790
 					$align = is_rtl() ? 'left' : 'right';
791
-					echo '<small class="simcal-powered simcal-align-' . $align .'">' .
792
-					     sprintf( __( 'Powered by <a href="%s" target="_blank">Simple Calendar</a>', 'google-calendar-events' ), simcal_get_url( 'home' ) ) .
791
+					echo '<small class="simcal-powered simcal-align-'.$align.'">'.
792
+					     sprintf(__('Powered by <a href="%s" target="_blank">Simple Calendar</a>', 'google-calendar-events'), simcal_get_url('home')).
793 793
 					     '</small>';
794 794
 				}
795 795
 
Please login to merge, or discard this patch.
includes/events/event-builder.php 3 patches
Indentation   +64 added lines, -64 removed lines patch added patch discarded remove patch
@@ -594,21 +594,21 @@  discard block
 block discarded – undo
594 594
 		if ( ! $event->whole_day ) {
595 595
 
596 596
 			$time_start = $this->calendar->datetime_separator .
597
-			              ' <span class="simcal-event-start simcal-event-start-time" ' .
598
-			              'data-event-start="' . $start->getTimestamp() . '" ' .
599
-			              'data-event-format="' . $this->calendar->time_format . '" ' .
600
-			              'itemprop="startDate" data-content="' . $start->toIso8601String() . '">' .
601
-			              date_i18n( $this->calendar->time_format, $start->getTimestamp() ) .
602
-			              '</span> ';
597
+						  ' <span class="simcal-event-start simcal-event-start-time" ' .
598
+						  'data-event-start="' . $start->getTimestamp() . '" ' .
599
+						  'data-event-format="' . $this->calendar->time_format . '" ' .
600
+						  'itemprop="startDate" data-content="' . $start->toIso8601String() . '">' .
601
+						  date_i18n( $this->calendar->time_format, $start->getTimestamp() ) .
602
+						  '</span> ';
603 603
 
604 604
 			if ( $end instanceof Carbon ) {
605 605
 
606 606
 				$time_end = ' <span class="simcal-event-end simcal-event-end-time" ' .
607
-				            'data-event-end="' . $end->getTimestamp() . '" ' .
608
-				            'data-event-format="' . $this->calendar->time_format . '" ' .
609
-				            'itemprop="endDate" data-content="' . $end->toIso8601String() . '">' .
610
-				            date_i18n( $this->calendar->time_format, $end->getTimestamp() ) .
611
-				            '</span> ';
607
+							'data-event-end="' . $end->getTimestamp() . '" ' .
608
+							'data-event-format="' . $this->calendar->time_format . '" ' .
609
+							'itemprop="endDate" data-content="' . $end->toIso8601String() . '">' .
610
+							date_i18n( $this->calendar->time_format, $end->getTimestamp() ) .
611
+							'</span> ';
612 612
 
613 613
 			}
614 614
 
@@ -617,23 +617,23 @@  discard block
 block discarded – undo
617 617
 		if ( $event->multiple_days ) {
618 618
 
619 619
 			$output = ' <span class="simcal-event-start simcal-event-start-date" ' .
620
-			          'data-event-start="' . $start->getTimestamp() . '" ' .
621
-			          'data-event-format="' . $this->calendar->date_format . '" ' .
622
-			          'itemprop="startDate" data-content="' . $start->toIso8601String() . '">' .
623
-			          date_i18n( $this->calendar->date_format, $start->getTimestamp() ) .
624
-			          '</span> ' .
625
-			          $time_start;
620
+					  'data-event-start="' . $start->getTimestamp() . '" ' .
621
+					  'data-event-format="' . $this->calendar->date_format . '" ' .
622
+					  'itemprop="startDate" data-content="' . $start->toIso8601String() . '">' .
623
+					  date_i18n( $this->calendar->date_format, $start->getTimestamp() ) .
624
+					  '</span> ' .
625
+					  $time_start;
626 626
 
627 627
 			if ( $end instanceof Carbon ) {
628 628
 
629 629
 				$output .= '-' .
630
-				           ' <span class="simcal-event-start simcal-event-end-date" ' .
631
-				           'data-event-start="' . $end->getTimestamp() . '" ' .
632
-				           'data-event-format="' . $this->calendar->date_format . '" ' .
633
-				           'itemprop="endDate" data-content="' . $end->toIso8601String() . '">' .
634
-				           date_i18n( $this->calendar->date_format, $end->getTimestamp() ) .
635
-				           '</span> ' .
636
-				           $time_end;
630
+						   ' <span class="simcal-event-start simcal-event-end-date" ' .
631
+						   'data-event-start="' . $end->getTimestamp() . '" ' .
632
+						   'data-event-format="' . $this->calendar->date_format . '" ' .
633
+						   'itemprop="endDate" data-content="' . $end->toIso8601String() . '">' .
634
+						   date_i18n( $this->calendar->date_format, $end->getTimestamp() ) .
635
+						   '</span> ' .
636
+						   $time_end;
637 637
 			}
638 638
 
639 639
 		} else {
@@ -641,12 +641,12 @@  discard block
 block discarded – undo
641 641
 			$time_end = ! empty( $time_start ) && ! empty( $time_end ) ? ' - ' . $time_end : '';
642 642
 
643 643
 			$output = ' <span class="simcal-event-start simcal-event-start-date" ' .
644
-			          'data-event-start="' . $start->getTimestamp() . '" ' .
645
-			          'data-event-format="' . $this->calendar->date_format . '">' .
646
-			          date_i18n( $this->calendar->date_format, $start->getTimestamp() ) .
647
-			          '</span> ' .
648
-			          $time_start .
649
-			          $time_end;
644
+					  'data-event-start="' . $start->getTimestamp() . '" ' .
645
+					  'data-event-format="' . $this->calendar->date_format . '">' .
646
+					  date_i18n( $this->calendar->date_format, $start->getTimestamp() ) .
647
+					  '</span> ' .
648
+					  $time_start .
649
+					  $time_end;
650 650
 
651 651
 		}
652 652
 
@@ -705,11 +705,11 @@  discard block
 block discarded – undo
705 705
 		}
706 706
 
707 707
 		return '<span class="simcal-event-' . $bound . ' ' . 'simcal-event-' . $bound . '-' . $format . '" ' .
708
-		       'data-event-' . $bound . '="' . $event_dt->getTimestamp() . '" ' .
709
-		       'data-event-format="' . $dt_format . '" ' .
710
-		       'itemprop="' . $bound . 'Date" data-content="' . $event_dt->toIso8601String() . '">' .
711
-		       $value .
712
-		       '</span>';
708
+			   'data-event-' . $bound . '="' . $event_dt->getTimestamp() . '" ' .
709
+			   'data-event-format="' . $dt_format . '" ' .
710
+			   'itemprop="' . $bound . 'Date" data-content="' . $event_dt->toIso8601String() . '">' .
711
+			   $value .
712
+			   '</span>';
713 713
 	}
714 714
 
715 715
 	/**
@@ -928,35 +928,35 @@  discard block
 block discarded – undo
928 928
 		$tagregexp = implode( '|', array_values( $this->tags ) );
929 929
 
930 930
 		return '/'
931
-		       . '\\['                              // Opening bracket
932
-		       . '(\\[?)'                           // 1: Optional second opening bracket for escaping tags: [[tag]]
933
-		       . "($tagregexp)"                     // 2: Tag name
934
-		       . '(?![\\w-])'                       // Not followed by word character or hyphen
935
-		       . '('                                // 3: Unroll the loop: Inside the opening tag
936
-		       .     '[^\\]\\/]*'                   // Not a closing bracket or forward slash
937
-		       .     '(?:'
938
-		       .         '\\/(?!\\])'               // A forward slash not followed by a closing bracket
939
-		       .         '[^\\]\\/]*'               // Not a closing bracket or forward slash
940
-		       .     ')*?'
941
-		       . ')'
942
-		       . '(?:'
943
-		       .     '(\\/)'                        // 4: Self closing tag ...
944
-		       .     '\\]'                          // ... and closing bracket
945
-		       . '|'
946
-		       .     '\\]'                          // Closing bracket
947
-		       .     '(?:'
948
-		       .         '('                        // 5: Unroll the loop: Optionally, anything between the opening and closing tags
949
-		       .             '[^\\[]*+'             // Not an opening bracket
950
-		       .             '(?:'
951
-		       .                 '\\[(?!\\/\\2\\])' // An opening bracket not followed by the closing tag
952
-		       .                 '[^\\[]*+'         // Not an opening bracket
953
-		       .             ')*+'
954
-		       .         ')'
955
-		       .         '\\[\\/\\2\\]'             // Closing tag
956
-		       .     ')?'
957
-		       . ')'
958
-		       . '(\\]?)'                           // 6: Optional second closing bracket for escaping tags: [[tag]]
959
-		       . '/s';
931
+			   . '\\['                              // Opening bracket
932
+			   . '(\\[?)'                           // 1: Optional second opening bracket for escaping tags: [[tag]]
933
+			   . "($tagregexp)"                     // 2: Tag name
934
+			   . '(?![\\w-])'                       // Not followed by word character or hyphen
935
+			   . '('                                // 3: Unroll the loop: Inside the opening tag
936
+			   .     '[^\\]\\/]*'                   // Not a closing bracket or forward slash
937
+			   .     '(?:'
938
+			   .         '\\/(?!\\])'               // A forward slash not followed by a closing bracket
939
+			   .         '[^\\]\\/]*'               // Not a closing bracket or forward slash
940
+			   .     ')*?'
941
+			   . ')'
942
+			   . '(?:'
943
+			   .     '(\\/)'                        // 4: Self closing tag ...
944
+			   .     '\\]'                          // ... and closing bracket
945
+			   . '|'
946
+			   .     '\\]'                          // Closing bracket
947
+			   .     '(?:'
948
+			   .         '('                        // 5: Unroll the loop: Optionally, anything between the opening and closing tags
949
+			   .             '[^\\[]*+'             // Not an opening bracket
950
+			   .             '(?:'
951
+			   .                 '\\[(?!\\/\\2\\])' // An opening bracket not followed by the closing tag
952
+			   .                 '[^\\[]*+'         // Not an opening bracket
953
+			   .             ')*+'
954
+			   .         ')'
955
+			   .         '\\[\\/\\2\\]'             // Closing tag
956
+			   .     ')?'
957
+			   . ')'
958
+			   . '(\\]?)'                           // 6: Optional second closing bracket for escaping tags: [[tag]]
959
+			   . '/s';
960 960
 	}
961 961
 
962 962
 }
Please login to merge, or discard this patch.
Spacing   +311 added lines, -311 removed lines patch added patch discarded remove patch
@@ -9,7 +9,7 @@  discard block
 block discarded – undo
9 9
 use Carbon\Carbon;
10 10
 use SimpleCalendar\Abstracts\Calendar;
11 11
 
12
-if ( ! defined( 'ABSPATH' ) ) {
12
+if ( ! defined('ABSPATH')) {
13 13
 	exit;
14 14
 }
15 15
 
@@ -54,7 +54,7 @@  discard block
 block discarded – undo
54 54
 	 * @param Event    $event
55 55
 	 * @param Calendar $calendar
56 56
 	 */
57
-	public function __construct( Event $event, Calendar $calendar ) {
57
+	public function __construct(Event $event, Calendar $calendar) {
58 58
 		$this->event    = $event;
59 59
 		$this->calendar = $calendar;
60 60
 		$this->tags     = $this->get_content_tags();
@@ -74,85 +74,85 @@  discard block
 block discarded – undo
74 74
 			 * Content Tags *
75 75
 			 * ============ */
76 76
 
77
-			'title',                 // The event title.
78
-			'event-title',           // @deprecated An alias for 'title' tag.
79
-			'description',           // The event description.
80
-
81
-			'when',                  // Date and time of the event.
82
-			'start-time',            // Start time of the event.
83
-			'start-date',            // Start date of the event.
84
-			'start-custom',          // @deprecated Start time in a user defined format (set by tag 'format' attribute).
85
-			'start-human',           // Start time in a human friendly format.
86
-			'end-time',              // End time of the event.
87
-			'end-date',              // End date of the event.
88
-			'end-custom',            // @deprecated End date-time in a user defined format (set by tag 'format' attribute).
89
-			'end-human',             // End date-time in a human friendly format.
90
-
91
-			'duration',              // How long the events lasts, in a human-readable format.
92
-			'length',                // @deprecated An alias of 'duration' tag.
93
-
94
-			'location',              // Alias of start-location.
95
-			'start-location',        // Location name where the event starts.
96
-			'maps-link',             // @deprecated An alias for 'start-location-link' tag.
97
-			'start-location-link',   // Link to Google Maps querying the event start location address.
98
-			'end-location',          // Location name where the event ends.
99
-			'end-location-link',     // Link to Google Maps querying the event end location address.
100
-
101
-			'link',                  // An HTML link to the event URL.
102
-			'url',                   // A string with the raw event link URL.
103
-
104
-			'calendar',              // The title of the source calendar.
105
-			'feed-title',            // @deprecated An alias of 'calendar'.
106
-
107
-			'id',                    // The event unique ID.
108
-			'uid',                   // An alias of ID.
109
-			'ical-id',               // iCal ID.
110
-			'event-id',              // @deprecated An alias for 'id' tag.
111
-			'calendar-id',           // The calendar ID.
112
-			'feed-id',               // @deprecated An alias for 'calendar-id' tag.
113
-			'cal-id',                // @deprecated An alias for 'calendar-id' tag.
77
+			'title', // The event title.
78
+			'event-title', // @deprecated An alias for 'title' tag.
79
+			'description', // The event description.
80
+
81
+			'when', // Date and time of the event.
82
+			'start-time', // Start time of the event.
83
+			'start-date', // Start date of the event.
84
+			'start-custom', // @deprecated Start time in a user defined format (set by tag 'format' attribute).
85
+			'start-human', // Start time in a human friendly format.
86
+			'end-time', // End time of the event.
87
+			'end-date', // End date of the event.
88
+			'end-custom', // @deprecated End date-time in a user defined format (set by tag 'format' attribute).
89
+			'end-human', // End date-time in a human friendly format.
90
+
91
+			'duration', // How long the events lasts, in a human-readable format.
92
+			'length', // @deprecated An alias of 'duration' tag.
93
+
94
+			'location', // Alias of start-location.
95
+			'start-location', // Location name where the event starts.
96
+			'maps-link', // @deprecated An alias for 'start-location-link' tag.
97
+			'start-location-link', // Link to Google Maps querying the event start location address.
98
+			'end-location', // Location name where the event ends.
99
+			'end-location-link', // Link to Google Maps querying the event end location address.
100
+
101
+			'link', // An HTML link to the event URL.
102
+			'url', // A string with the raw event link URL.
103
+
104
+			'calendar', // The title of the source calendar.
105
+			'feed-title', // @deprecated An alias of 'calendar'.
106
+
107
+			'id', // The event unique ID.
108
+			'uid', // An alias of ID.
109
+			'ical-id', // iCal ID.
110
+			'event-id', // @deprecated An alias for 'id' tag.
111
+			'calendar-id', // The calendar ID.
112
+			'feed-id', // @deprecated An alias for 'calendar-id' tag.
113
+			'cal-id', // @deprecated An alias for 'calendar-id' tag.
114 114
 
115 115
 			/* ========= *
116 116
 			 * Meta Tags *
117 117
 			 * ========= */
118 118
 
119
-			'attachments',          // List of attachments.
120
-			'attendees',            // List of attendees.
121
-			'organizer',            // Creator info.
119
+			'attachments', // List of attachments.
120
+			'attendees', // List of attendees.
121
+			'organizer', // Creator info.
122 122
 
123 123
 			/* ================ *
124 124
 			 * Conditional Tags *
125 125
 			 * ================ */
126 126
 
127
-			'if-title',              // If the event has a title.
128
-			'if-description',        // If the event has a description.
129
-
130
-			'if-now',                // If the event is taking place now.
131
-			'if-not-now',            // If the event is not taking place now (may have ended or just not started yet).
132
-			'if-started',            // If the event has started (and may as well as ended).
133
-			'if-not-started',        // If the event has NOT started yet (event could be any time in the future).
134
-			'if-ended',              // If the event has ended (event could be any time in the past).
135
-			'if-not-ended',          // If the event has NOT ended (may as well as not started yet).
136
-
137
-			'if-whole-day',          // If the event lasts the whole day.
138
-			'if-all-day',            // @deprecated Alias for 'if-whole-day'.
139
-			'if-not-whole-day',      // If the event does NOT last the whole day.
140
-			'if-not-all-day',        // @deprecated Alias for 'if-not-whole-day'.
141
-			'if-end-time',           // If the event has a set end time.
142
-			'if-no-end-time',        // If the event has NOT a set end time.
143
-
144
-			'if-multi-day',          // If the event spans multiple days.
145
-			'if-single-day',         // If the event does not span multiple days.
146
-
147
-			'if-recurring',          // If the event is a recurring event.
148
-			'if-not-recurring',      // If the event is NOT a recurring event.
149
-
150
-			'if-location',           // @deprecated Alias for 'if-start-location'.
151
-			'if-start-location',     // Does the event has a start location?
152
-			'if-end-location',       // Does the event has an end location?
153
-			'if-not-location',       // @deprecated Alias for 'if-not-start-location'.
127
+			'if-title', // If the event has a title.
128
+			'if-description', // If the event has a description.
129
+
130
+			'if-now', // If the event is taking place now.
131
+			'if-not-now', // If the event is not taking place now (may have ended or just not started yet).
132
+			'if-started', // If the event has started (and may as well as ended).
133
+			'if-not-started', // If the event has NOT started yet (event could be any time in the future).
134
+			'if-ended', // If the event has ended (event could be any time in the past).
135
+			'if-not-ended', // If the event has NOT ended (may as well as not started yet).
136
+
137
+			'if-whole-day', // If the event lasts the whole day.
138
+			'if-all-day', // @deprecated Alias for 'if-whole-day'.
139
+			'if-not-whole-day', // If the event does NOT last the whole day.
140
+			'if-not-all-day', // @deprecated Alias for 'if-not-whole-day'.
141
+			'if-end-time', // If the event has a set end time.
142
+			'if-no-end-time', // If the event has NOT a set end time.
143
+
144
+			'if-multi-day', // If the event spans multiple days.
145
+			'if-single-day', // If the event does not span multiple days.
146
+
147
+			'if-recurring', // If the event is a recurring event.
148
+			'if-not-recurring', // If the event is NOT a recurring event.
149
+
150
+			'if-location', // @deprecated Alias for 'if-start-location'.
151
+			'if-start-location', // Does the event has a start location?
152
+			'if-end-location', // Does the event has an end location?
153
+			'if-not-location', // @deprecated Alias for 'if-not-start-location'.
154 154
 			'if-not-start-location', // Does the event has NOT a start location?
155
-			'if-not-end-location',   // Does the event has NOT an end location?
155
+			'if-not-end-location', // Does the event has NOT an end location?
156 156
 
157 157
 		);
158 158
 	}
@@ -166,19 +166,19 @@  discard block
 block discarded – undo
166 166
 	 *
167 167
 	 * @return string
168 168
 	 */
169
-	public function parse_event_template_tags( $template_tags = '' ) {
169
+	public function parse_event_template_tags($template_tags = '') {
170 170
 
171 171
 		// Process tags.
172 172
 		$result = preg_replace_callback(
173 173
 			$this->get_regex(),
174
-			array( $this, 'process_event_content' ),
174
+			array($this, 'process_event_content'),
175 175
 			$template_tags
176 176
 		);
177 177
 
178 178
 		// Removes extra consecutive <br> tags.
179 179
 		// TODO: Doesn't seem to work but going to remove it to allow multiple <br> tags in the editor
180 180
 		/*return preg_replace( '#(<br *//*?>\s*)+#i', '<br />', trim( $result ) );*/
181
-		return do_shortcode( trim( $result ) );
181
+		return do_shortcode(trim($result));
182 182
 	}
183 183
 
184 184
 	/**
@@ -190,10 +190,10 @@  discard block
 block discarded – undo
190 190
 	 *
191 191
 	 * @return string
192 192
 	 */
193
-	public function process_event_content( $match ) {
193
+	public function process_event_content($match) {
194 194
 
195
-		if ( $match[1] == '[' && $match[6] == ']' ) {
196
-			return substr( $match[0], 1, - 1 );
195
+		if ($match[1] == '[' && $match[6] == ']') {
196
+			return substr($match[0], 1, - 1);
197 197
 		}
198 198
 
199 199
 		$tag     = $match[2]; // Tag name without square brackets.
@@ -205,9 +205,9 @@  discard block
 block discarded – undo
205 205
 		$calendar = $this->calendar;
206 206
 		$event    = $this->event;
207 207
 
208
-		if ( ( $calendar instanceof Calendar ) && ( $event instanceof Event ) ) {
208
+		if (($calendar instanceof Calendar) && ($event instanceof Event)) {
209 209
 
210
-			switch ( $tag ) {
210
+			switch ($tag) {
211 211
 
212 212
 				/* ============ *
213 213
 				 * Content Tags *
@@ -215,13 +215,13 @@  discard block
 block discarded – undo
215 215
 
216 216
 				case 'title' :
217 217
 				case 'event-title' :
218
-					return $this->get_title( $event->title, $attr );
218
+					return $this->get_title($event->title, $attr);
219 219
 
220 220
 				case 'description' :
221
-					return $this->get_description( $event->description, $attr );
221
+					return $this->get_description($event->description, $attr);
222 222
 
223 223
 				case 'when' :
224
-					return $this->get_when( $event );
224
+					return $this->get_when($event);
225 225
 
226 226
 				case 'end-date' :
227 227
 				case 'end-custom' :
@@ -231,40 +231,40 @@  discard block
 block discarded – undo
231 231
 				case 'start-date' :
232 232
 				case 'start-human' :
233 233
 				case 'start-time' :
234
-					return $this->get_dt( $tag, $event, $attr );
234
+					return $this->get_dt($tag, $event, $attr);
235 235
 
236 236
 				case 'length' :
237 237
 				case 'duration' :
238
-					if ( false !== $event->end ) {
238
+					if (false !== $event->end) {
239 239
 						$duration = $event->start - $event->end;
240
-						$value    = human_time_diff( $event->start, $event->end );
240
+						$value    = human_time_diff($event->start, $event->end);
241 241
 					} else {
242 242
 						$duration = '-1';
243
-						$value    = __( 'No end time', 'google-calendar-events' );
243
+						$value    = __('No end time', 'google-calendar-events');
244 244
 					}
245
-					return ' <span class="simcal-event-duration" data-event-duration="' . $duration . '">' . $value . '</span>';
245
+					return ' <span class="simcal-event-duration" data-event-duration="'.$duration.'">'.$value.'</span>';
246 246
 
247 247
 				case 'location' :
248 248
 				case 'start-location' :
249 249
 				case 'end-location' :
250 250
 					$location = $tag == 'end-location' ? $event->end_location['address'] : $event->start_location['address'];
251 251
 					$location_class = $tag == 'end-location' ? 'end' : 'start';
252
-					return ' <span class="simcal-event-address simcal-event-' . $location_class . '-location" itemprop="location" itemscope itemtype="http://schema.org/Place">' . wp_strip_all_tags( $location ) . '</span>';
252
+					return ' <span class="simcal-event-address simcal-event-'.$location_class.'-location" itemprop="location" itemscope itemtype="http://schema.org/Place">'.wp_strip_all_tags($location).'</span>';
253 253
 
254 254
 				case 'start-location-link':
255 255
 				case 'end-location-link' :
256 256
 				case 'maps-link' :
257 257
 					$location = $tag == 'end-location-link' ? $event->end_location['address'] : $event->start_location['address'];
258
-					if ( ! empty( $location ) ) {
259
-						$url = '//maps.google.com?q=' . urlencode( $location );
260
-						return $this->make_link( $tag, $url, $calendar->get_event_html( $event, $partial ), $attr );
258
+					if ( ! empty($location)) {
259
+						$url = '//maps.google.com?q='.urlencode($location);
260
+						return $this->make_link($tag, $url, $calendar->get_event_html($event, $partial), $attr);
261 261
 					}
262 262
 					break;
263 263
 
264 264
 				case 'link' :
265 265
 				case 'url' :
266
-					$content = 'link' == $tag ? $calendar->get_event_html( $event, $partial ) : '';
267
-					return $this->make_link( $tag, $event->link, $content , $attr );
266
+					$content = 'link' == $tag ? $calendar->get_event_html($event, $partial) : '';
267
+					return $this->make_link($tag, $event->link, $content, $attr);
268 268
 
269 269
 				case 'calendar' :
270 270
 				case 'feed-title' :
@@ -289,22 +289,22 @@  discard block
 block discarded – undo
289 289
 
290 290
 				case 'attachments' :
291 291
 					$attachments = $event->get_attachments();
292
-					if ( ! empty( $attachments ) ) {
293
-						return $this->get_attachments( $attachments );
292
+					if ( ! empty($attachments)) {
293
+						return $this->get_attachments($attachments);
294 294
 					}
295 295
 					break;
296 296
 
297 297
 				case 'attendees' :
298 298
 					$attendees = $event->get_attendees();
299
-					if ( ! empty( $attendees ) ) {
300
-						return $this->get_attendees( $attendees, $attr );
299
+					if ( ! empty($attendees)) {
300
+						return $this->get_attendees($attendees, $attr);
301 301
 					}
302 302
 					break;
303 303
 
304 304
 				case 'organizer' :
305 305
 					$organizer = $event->get_organizer();
306
-					if ( ! empty( $organizer ) ) {
307
-						return $this->get_organizer( $organizer, $attr );
306
+					if ( ! empty($organizer)) {
307
+						return $this->get_organizer($organizer, $attr);
308 308
 					}
309 309
 					break;
310 310
 
@@ -313,35 +313,35 @@  discard block
 block discarded – undo
313 313
 				 * ================ */
314 314
 
315 315
 				case 'if-title':
316
-					if ( ! empty( $event->title ) ) {
317
-						return $calendar->get_event_html( $event, $partial );
316
+					if ( ! empty($event->title)) {
317
+						return $calendar->get_event_html($event, $partial);
318 318
 					}
319 319
 					break;
320 320
 
321 321
 				case 'if-description':
322
-					if ( ! empty( $event->description ) ) {
323
-						return $calendar->get_event_html( $event, $partial );
322
+					if ( ! empty($event->description)) {
323
+						return $calendar->get_event_html($event, $partial);
324 324
 					}
325 325
 					break;
326 326
 
327 327
 				case 'if-now' :
328 328
 				case 'if-not-now' :
329 329
 
330
-					$start_dt = $event->start_dt->setTimezone( $calendar->timezone );
330
+					$start_dt = $event->start_dt->setTimezone($calendar->timezone);
331 331
 					$start = $start_dt->getTimestamp();
332 332
 
333
-					if ( $event->end_dt instanceof Carbon ) {
334
-						$end = $event->end_dt->setTimezone( $calendar->timezone )->getTimestamp();
333
+					if ($event->end_dt instanceof Carbon) {
334
+						$end = $event->end_dt->setTimezone($calendar->timezone)->getTimestamp();
335 335
 					} else {
336 336
 						return '';
337 337
 					}
338 338
 
339
-					$now = ( $start <= $calendar->now ) && ( $end >= $calendar->now );
339
+					$now = ($start <= $calendar->now) && ($end >= $calendar->now);
340 340
 
341
-					if ( ( 'if-now' == $tag ) && $now ) {
342
-						return $calendar->get_event_html( $event, $partial );
343
-					} elseif ( ( 'if-not-now' == $tag ) && ( false == $now ) ) {
344
-						return $calendar->get_event_html( $event, $partial );
341
+					if (('if-now' == $tag) && $now) {
342
+						return $calendar->get_event_html($event, $partial);
343
+					} elseif (('if-not-now' == $tag) && (false == $now)) {
344
+						return $calendar->get_event_html($event, $partial);
345 345
 					}
346 346
 
347 347
 					break;
@@ -349,15 +349,15 @@  discard block
 block discarded – undo
349 349
 				case 'if-started' :
350 350
 				case 'if-not-started' :
351 351
 
352
-					$start = $event->start_dt->setTimezone( $calendar->timezone )->getTimestamp();
352
+					$start = $event->start_dt->setTimezone($calendar->timezone)->getTimestamp();
353 353
 
354
-					if ( 'if-started' == $tag ) {
355
-						if ( $start < $calendar->now ) {
356
-							return $calendar->get_event_html( $event, $partial );
354
+					if ('if-started' == $tag) {
355
+						if ($start < $calendar->now) {
356
+							return $calendar->get_event_html($event, $partial);
357 357
 						}
358
-					} elseif ( 'if-not-started' == $tag ) {
359
-						if ( $start > $calendar->now ) {
360
-							return $calendar->get_event_html( $event, $partial );
358
+					} elseif ('if-not-started' == $tag) {
359
+						if ($start > $calendar->now) {
360
+							return $calendar->get_event_html($event, $partial);
361 361
 						}
362 362
 					}
363 363
 
@@ -366,17 +366,17 @@  discard block
 block discarded – undo
366 366
 				case 'if-ended' :
367 367
 				case 'if-not-ended' :
368 368
 
369
-					if ( false !== $event->end ) {
369
+					if (false !== $event->end) {
370 370
 
371
-						$end = $event->end_dt->setTimezone( $calendar->timezone )->getTimestamp();
371
+						$end = $event->end_dt->setTimezone($calendar->timezone)->getTimestamp();
372 372
 
373
-						if ( 'if-ended' == $tag ) {
374
-							if ( $end < $calendar->now ) {
375
-								return $calendar->get_event_html( $event, $partial );
373
+						if ('if-ended' == $tag) {
374
+							if ($end < $calendar->now) {
375
+								return $calendar->get_event_html($event, $partial);
376 376
 							}
377
-						} elseif ( 'if-not-ended' == $tag ) {
378
-							if ( $end > $calendar->now ) {
379
-								return $calendar->get_event_html( $event, $partial );
377
+						} elseif ('if-not-ended' == $tag) {
378
+							if ($end > $calendar->now) {
379
+								return $calendar->get_event_html($event, $partial);
380 380
 							}
381 381
 						}
382 382
 
@@ -385,14 +385,14 @@  discard block
 block discarded – undo
385 385
 					break;
386 386
 
387 387
 				case 'if-end-time' :
388
-					if ( false !== $event->end ) {
389
-						return $calendar->get_event_html( $event, $partial );
388
+					if (false !== $event->end) {
389
+						return $calendar->get_event_html($event, $partial);
390 390
 					}
391 391
 					break;
392 392
 
393 393
 				case 'if-no-end-time' :
394
-					if ( false === $event->end ) {
395
-						return $calendar->get_event_html( $event, $partial );
394
+					if (false === $event->end) {
395
+						return $calendar->get_event_html($event, $partial);
396 396
 					}
397 397
 					break;
398 398
 
@@ -400,59 +400,59 @@  discard block
 block discarded – undo
400 400
 				case 'if-whole-day' :
401 401
 				case 'if-not-all-day' :
402 402
 				case 'if-not-whole-day' :
403
-					$bool = strstr( $tag, 'not' ) ? false : true;
404
-					if ( $bool === $event->whole_day ) {
405
-						return $calendar->get_event_html( $event, $partial );
403
+					$bool = strstr($tag, 'not') ? false : true;
404
+					if ($bool === $event->whole_day) {
405
+						return $calendar->get_event_html($event, $partial);
406 406
 					}
407 407
 					break;
408 408
 
409 409
 				case 'if-recurring' :
410
-					if ( ! empty( $event->recurrence ) ) {
411
-						return $calendar->get_event_html( $event, $partial );
410
+					if ( ! empty($event->recurrence)) {
411
+						return $calendar->get_event_html($event, $partial);
412 412
 					}
413 413
 					break;
414 414
 
415 415
 				case 'if-not-recurring' :
416
-					if ( false === $event->recurrence ) {
417
-						return $calendar->get_event_html( $event, $partial );
416
+					if (false === $event->recurrence) {
417
+						return $calendar->get_event_html($event, $partial);
418 418
 					}
419 419
 					break;
420 420
 
421 421
 				case 'if-multi-day' :
422
-					if ( false !== $event->multiple_days ) {
423
-						return $calendar->get_event_html( $event, $partial );
422
+					if (false !== $event->multiple_days) {
423
+						return $calendar->get_event_html($event, $partial);
424 424
 					}
425 425
 					break;
426 426
 
427 427
 				case 'if-single-day' :
428
-					if ( false === $event->multiple_days ) {
429
-						return $calendar->get_event_html( $event, $partial );
428
+					if (false === $event->multiple_days) {
429
+						return $calendar->get_event_html($event, $partial);
430 430
 					}
431 431
 					break;
432 432
 
433 433
 				case 'if-location' :
434 434
 				case 'if-start-location' :
435
-					if ( ! empty( $event->start_location['address'] ) ) {
436
-						return $calendar->get_event_html( $event, $partial );
435
+					if ( ! empty($event->start_location['address'])) {
436
+						return $calendar->get_event_html($event, $partial);
437 437
 					}
438 438
 					return false;
439 439
 
440 440
 				case 'if-not-location' :
441 441
 				case 'if-not-start-location' :
442
-					if ( empty( $event->start_location['address'] ) ) {
443
-						return $calendar->get_event_html( $event, $partial );
442
+					if (empty($event->start_location['address'])) {
443
+						return $calendar->get_event_html($event, $partial);
444 444
 					}
445 445
 					return '';
446 446
 
447 447
 				case 'if-not-end-location' :
448
-					if ( empty( $event->end_location['address'] ) ) {
449
-						return $calendar->get_event_html( $event, $partial );
448
+					if (empty($event->end_location['address'])) {
449
+						return $calendar->get_event_html($event, $partial);
450 450
 					}
451 451
 					return '';
452 452
 
453 453
 				case 'if-end-location' :
454
-					if ( ! empty( $event->end_location['address'] ) ) {
455
-						return $calendar->get_event_html( $event, $partial );
454
+					if ( ! empty($event->end_location['address'])) {
455
+						return $calendar->get_event_html($event, $partial);
456 456
 					}
457 457
 					return '';
458 458
 
@@ -461,7 +461,7 @@  discard block
 block discarded – undo
461 461
 				 * ======= */
462 462
 
463 463
 				default :
464
-					return wp_kses_post( $before . $partial . $after );
464
+					return wp_kses_post($before.$partial.$after);
465 465
 			}
466 466
 		}
467 467
 
@@ -479,14 +479,14 @@  discard block
 block discarded – undo
479 479
 	 *
480 480
 	 * @return string
481 481
 	 */
482
-	private function limit_words( $text, $limit ) {
482
+	private function limit_words($text, $limit) {
483 483
 
484
-		$limit = max( absint( $limit ), 0 );
484
+		$limit = max(absint($limit), 0);
485 485
 
486
-		if ( $limit > 0 && ( str_word_count( $text, 0 ) > $limit ) ) {
487
-			$words  = str_word_count( $text, 2 );
488
-			$pos    = array_keys( $words );
489
-			$text   = trim( substr( $text, 0, $pos[ $limit ] ) ) . '&hellip;';
486
+		if ($limit > 0 && (str_word_count($text, 0) > $limit)) {
487
+			$words  = str_word_count($text, 2);
488
+			$pos    = array_keys($words);
489
+			$text   = trim(substr($text, 0, $pos[$limit])).'&hellip;';
490 490
 		}
491 491
 
492 492
 		return $text;
@@ -503,26 +503,26 @@  discard block
 block discarded – undo
503 503
 	 *
504 504
 	 * @return string
505 505
 	 */
506
-	private function get_title( $title, $attr ) {
506
+	private function get_title($title, $attr) {
507 507
 
508
-		if ( empty( $title ) ) {
508
+		if (empty($title)) {
509 509
 			return '';
510 510
 		}
511 511
 
512
-		$attr = array_merge( array(
513
-			'html'  => '',  // Parse HTML
514
-			'limit' => 0,   // Trim length to amount of words
515
-		), (array) shortcode_parse_atts( $attr ) );
512
+		$attr = array_merge(array(
513
+			'html'  => '', // Parse HTML
514
+			'limit' => 0, // Trim length to amount of words
515
+		), (array) shortcode_parse_atts($attr));
516 516
 
517
-		if ( ! empty( $attr['html'] ) ) {
518
-			$title = wp_kses_post( $title );
517
+		if ( ! empty($attr['html'])) {
518
+			$title = wp_kses_post($title);
519 519
 			$tag = 'div';
520 520
 		} else {
521
-			$title = $this->limit_words( $title, $attr['limit'] );
521
+			$title = $this->limit_words($title, $attr['limit']);
522 522
 			$tag = 'span';
523 523
 		}
524 524
 
525
-		return '<' . $tag . ' class="simcal-event-title" itemprop="name">' . $title . '</' . $tag . '>';
525
+		return '<'.$tag.' class="simcal-event-title" itemprop="name">'.$title.'</'.$tag.'>';
526 526
 	}
527 527
 
528 528
 	/**
@@ -536,42 +536,42 @@  discard block
 block discarded – undo
536 536
 	 *
537 537
 	 * @return string
538 538
 	 */
539
-	private function get_description( $description, $attr ) {
539
+	private function get_description($description, $attr) {
540 540
 
541
-		if ( empty( $description ) ) {
541
+		if (empty($description)) {
542 542
 			return '';
543 543
 		}
544 544
 
545
-		$attr = array_merge( array(
546
-			'limit'     => 0,       // Trim length to number of words
547
-			'html'      => 'no',    // Parse HTML content
548
-			'markdown'  => 'no',    // Parse Markdown content
549
-			'autolink'  => 'no',    // Automatically convert plaintext URIs to anchors
550
-		), (array) shortcode_parse_atts( $attr ) );
545
+		$attr = array_merge(array(
546
+			'limit'     => 0, // Trim length to number of words
547
+			'html'      => 'no', // Parse HTML content
548
+			'markdown'  => 'no', // Parse Markdown content
549
+			'autolink'  => 'no', // Automatically convert plaintext URIs to anchors
550
+		), (array) shortcode_parse_atts($attr));
551 551
 
552
-		$allow_html = 'no' != $attr['html']     ? true : false;
552
+		$allow_html = 'no' != $attr['html'] ? true : false;
553 553
 		$allow_md   = 'no' != $attr['markdown'] ? true : false;
554 554
 
555 555
 		$html = '<div class="simcal-event-description" itemprop="description">';
556 556
 
557 557
 		// Markdown and HTML don't play well together, use one or the other in the same tag.
558
-		if ( $allow_html || $allow_md ) {
559
-			if ( $allow_html ) {
560
-				$description = wp_kses_post( $description );
561
-			} elseif ( $allow_md ) {
558
+		if ($allow_html || $allow_md) {
559
+			if ($allow_html) {
560
+				$description = wp_kses_post($description);
561
+			} elseif ($allow_md) {
562 562
 				$markdown = new \Parsedown();
563
-				$description = $markdown->text( wp_strip_all_tags( $description ) );
563
+				$description = $markdown->text(wp_strip_all_tags($description));
564 564
 			}
565 565
 		} else {
566
-			$description = wpautop( $description );
566
+			$description = wpautop($description);
567 567
 		}
568 568
 
569
-		$description = $this->limit_words( $description, $attr['limit'] );
569
+		$description = $this->limit_words($description, $attr['limit']);
570 570
 
571
-		$html .= $description . '</div>';
571
+		$html .= $description.'</div>';
572 572
 
573
-		if ( 'no' != $attr['autolink'] ) {
574
-			$html = ' ' . make_clickable( $html );
573
+		if ('no' != $attr['autolink']) {
574
+			$html = ' '.make_clickable($html);
575 575
 		}
576 576
 
577 577
 		return $html;
@@ -587,74 +587,74 @@  discard block
 block discarded – undo
587 587
 	 *
588 588
 	 * @return string
589 589
 	 */
590
-	private function get_when( Event $event ) {
590
+	private function get_when(Event $event) {
591 591
 
592
-		$start = $event->start_dt->setTimezone( $event->timezone );
593
-		$end = ! is_null( $event->end_dt ) ? $event->end_dt->setTimezone( $event->timezone ) : null;
592
+		$start = $event->start_dt->setTimezone($event->timezone);
593
+		$end = ! is_null($event->end_dt) ? $event->end_dt->setTimezone($event->timezone) : null;
594 594
 
595 595
 		$time_start = '';
596 596
 		$time_end = '';
597 597
 
598
-		if ( ! $event->whole_day ) {
598
+		if ( ! $event->whole_day) {
599 599
 
600
-			$time_start = $this->calendar->datetime_separator .
601
-			              ' <span class="simcal-event-start simcal-event-start-time" ' .
602
-			              'data-event-start="' . $start->getTimestamp() . '" ' .
603
-			              'data-event-format="' . $this->calendar->time_format . '" ' .
604
-			              'itemprop="startDate" data-content="' . $start->toIso8601String() . '">' .
605
-			              date_i18n( $this->calendar->time_format, $start->getTimestamp() ) .
600
+			$time_start = $this->calendar->datetime_separator.
601
+			              ' <span class="simcal-event-start simcal-event-start-time" '.
602
+			              'data-event-start="'.$start->getTimestamp().'" '.
603
+			              'data-event-format="'.$this->calendar->time_format.'" '.
604
+			              'itemprop="startDate" data-content="'.$start->toIso8601String().'">'.
605
+			              date_i18n($this->calendar->time_format, $start->getTimestamp()).
606 606
 			              '</span> ';
607 607
 
608
-			if ( $end instanceof Carbon ) {
608
+			if ($end instanceof Carbon) {
609 609
 
610
-				$time_end = ' <span class="simcal-event-end simcal-event-end-time" ' .
611
-				            'data-event-end="' . $end->getTimestamp() . '" ' .
612
-				            'data-event-format="' . $this->calendar->time_format . '" ' .
613
-				            'itemprop="endDate" data-content="' . $end->toIso8601String() . '">' .
614
-				            date_i18n( $this->calendar->time_format, $end->getTimestamp() ) .
610
+				$time_end = ' <span class="simcal-event-end simcal-event-end-time" '.
611
+				            'data-event-end="'.$end->getTimestamp().'" '.
612
+				            'data-event-format="'.$this->calendar->time_format.'" '.
613
+				            'itemprop="endDate" data-content="'.$end->toIso8601String().'">'.
614
+				            date_i18n($this->calendar->time_format, $end->getTimestamp()).
615 615
 				            '</span> ';
616 616
 
617 617
 			}
618 618
 
619 619
 		}
620 620
 
621
-		if ( $event->multiple_days ) {
621
+		if ($event->multiple_days) {
622 622
 
623
-			$output = ' <span class="simcal-event-start simcal-event-start-date" ' .
624
-			          'data-event-start="' . $start->getTimestamp() . '" ' .
625
-			          'data-event-format="' . $this->calendar->date_format . '" ' .
626
-			          'itemprop="startDate" data-content="' . $start->toIso8601String() . '">' .
627
-			          date_i18n( $this->calendar->date_format, $start->getTimestamp() ) .
628
-			          '</span> ' .
623
+			$output = ' <span class="simcal-event-start simcal-event-start-date" '.
624
+			          'data-event-start="'.$start->getTimestamp().'" '.
625
+			          'data-event-format="'.$this->calendar->date_format.'" '.
626
+			          'itemprop="startDate" data-content="'.$start->toIso8601String().'">'.
627
+			          date_i18n($this->calendar->date_format, $start->getTimestamp()).
628
+			          '</span> '.
629 629
 			          $time_start;
630 630
 
631
-			if ( $end instanceof Carbon ) {
631
+			if ($end instanceof Carbon) {
632 632
 
633
-				$output .= '-' .
634
-				           ' <span class="simcal-event-start simcal-event-end-date" ' .
635
-				           'data-event-start="' . $end->getTimestamp() . '" ' .
636
-				           'data-event-format="' . $this->calendar->date_format . '" ' .
637
-				           'itemprop="endDate" data-content="' . $end->toIso8601String() . '">' .
638
-				           date_i18n( $this->calendar->date_format, $end->getTimestamp() ) .
639
-				           '</span> ' .
633
+				$output .= '-'.
634
+				           ' <span class="simcal-event-start simcal-event-end-date" '.
635
+				           'data-event-start="'.$end->getTimestamp().'" '.
636
+				           'data-event-format="'.$this->calendar->date_format.'" '.
637
+				           'itemprop="endDate" data-content="'.$end->toIso8601String().'">'.
638
+				           date_i18n($this->calendar->date_format, $end->getTimestamp()).
639
+				           '</span> '.
640 640
 				           $time_end;
641 641
 			}
642 642
 
643 643
 		} else {
644 644
 
645
-			$time_end = ! empty( $time_start ) && ! empty( $time_end ) ? ' - ' . $time_end : '';
645
+			$time_end = ! empty($time_start) && ! empty($time_end) ? ' - '.$time_end : '';
646 646
 
647
-			$output = ' <span class="simcal-event-start simcal-event-start-date" ' .
648
-			          'data-event-start="' . $start->getTimestamp() . '" ' .
649
-			          'data-event-format="' . $this->calendar->date_format . '">' .
650
-			          date_i18n( $this->calendar->date_format, $start->getTimestamp() ) .
651
-			          '</span> ' .
652
-			          $time_start .
647
+			$output = ' <span class="simcal-event-start simcal-event-start-date" '.
648
+			          'data-event-start="'.$start->getTimestamp().'" '.
649
+			          'data-event-format="'.$this->calendar->date_format.'">'.
650
+			          date_i18n($this->calendar->date_format, $start->getTimestamp()).
651
+			          '</span> '.
652
+			          $time_start.
653 653
 			          $time_end;
654 654
 
655 655
 		}
656 656
 
657
-		return trim( $output );
657
+		return trim($output);
658 658
 	}
659 659
 
660 660
 	/**
@@ -669,50 +669,50 @@  discard block
 block discarded – undo
669 669
 	 *
670 670
 	 * @return string
671 671
 	 */
672
-	private function get_dt( $tag, Event $event, $attr ) {
672
+	private function get_dt($tag, Event $event, $attr) {
673 673
 
674
-		$bound = 0 === strpos( $tag, 'end' ) ? 'end' : 'start';
675
-		if ( ( 'end' == $bound ) && ( false === $event->end ) ) {
674
+		$bound = 0 === strpos($tag, 'end') ? 'end' : 'start';
675
+		if (('end' == $bound) && (false === $event->end)) {
676 676
 			return '';
677 677
 		}
678 678
 
679
-		$dt = $bound . '_dt';
680
-		if ( ! $event->$dt instanceof Carbon ) {
679
+		$dt = $bound.'_dt';
680
+		if ( ! $event->$dt instanceof Carbon) {
681 681
 			return '';
682 682
 		}
683
-		$event_dt = $event->$dt->setTimezone( $event->timezone );
683
+		$event_dt = $event->$dt->setTimezone($event->timezone);
684 684
 
685
-		$attr = array_merge( array(
685
+		$attr = array_merge(array(
686 686
 			'format'    => '',
687
-		), (array) shortcode_parse_atts( $attr ) );
687
+		), (array) shortcode_parse_atts($attr));
688 688
 
689
-		$format = ltrim( strstr( $tag, '-' ), '-' );
689
+		$format = ltrim(strstr($tag, '-'), '-');
690 690
 		$dt_format = '';
691
-		if ( ! empty( $attr['format'] ) ) {
692
-			$dt_format = esc_attr( wp_strip_all_tags( $attr['format'] ) );
693
-		} elseif ( 'date' == $format ) {
691
+		if ( ! empty($attr['format'])) {
692
+			$dt_format = esc_attr(wp_strip_all_tags($attr['format']));
693
+		} elseif ('date' == $format) {
694 694
 			$dt_format = $this->calendar->date_format;
695
-		} elseif ( 'time' == $format ) {
695
+		} elseif ('time' == $format) {
696 696
 			$dt_format = $this->calendar->time_format;
697 697
 		}
698 698
 
699
-		if ( 'human' == $format ) {
700
-			$value = human_time_diff( $event_dt->getTimestamp(), Carbon::now( $event->timezone )->getTimestamp() );
699
+		if ('human' == $format) {
700
+			$value = human_time_diff($event_dt->getTimestamp(), Carbon::now($event->timezone)->getTimestamp());
701 701
 
702
-			if ( $event_dt->getTimestamp() < Carbon::now( $event->timezone )->getTimestamp() ) {
703
-				$value .= ' ' . _x( 'ago', 'human date event builder code modifier', 'google-calendar-events' );
702
+			if ($event_dt->getTimestamp() < Carbon::now($event->timezone)->getTimestamp()) {
703
+				$value .= ' '._x('ago', 'human date event builder code modifier', 'google-calendar-events');
704 704
 			} else {
705
-				$value .= ' ' . _x( 'from now', 'human date event builder code modifier', 'google-calendar-events' );
705
+				$value .= ' '._x('from now', 'human date event builder code modifier', 'google-calendar-events');
706 706
 			}
707 707
 		} else {
708
-			$value = date_i18n( $dt_format, $event_dt->getTimestamp() );
708
+			$value = date_i18n($dt_format, $event_dt->getTimestamp());
709 709
 		}
710 710
 
711
-		return '<span class="simcal-event-' . $bound . ' ' . 'simcal-event-' . $bound . '-' . $format . '" ' .
712
-		       'data-event-' . $bound . '="' . $event_dt->getTimestamp() . '" ' .
713
-		       'data-event-format="' . $dt_format . '" ' .
714
-		       'itemprop="' . $bound . 'Date" data-content="' . $event_dt->toIso8601String() . '">' .
715
-		       $value .
711
+		return '<span class="simcal-event-'.$bound.' '.'simcal-event-'.$bound.'-'.$format.'" '.
712
+		       'data-event-'.$bound.'="'.$event_dt->getTimestamp().'" '.
713
+		       'data-event-format="'.$dt_format.'" '.
714
+		       'itemprop="'.$bound.'Date" data-content="'.$event_dt->toIso8601String().'">'.
715
+		       $value.
716 716
 		       '</span>';
717 717
 	}
718 718
 
@@ -729,23 +729,23 @@  discard block
 block discarded – undo
729 729
 	 *
730 730
 	 * @return string
731 731
 	 */
732
-	private function make_link( $tag, $url, $content, $attr ) {
732
+	private function make_link($tag, $url, $content, $attr) {
733 733
 
734
-		if ( empty( $url ) ) {
734
+		if (empty($url)) {
735 735
 			return '';
736 736
 		}
737 737
 
738
-		$text = empty( $content ) ? $url : $content;
738
+		$text = empty($content) ? $url : $content;
739 739
 
740
-		$attr = array_merge( array(
741
-			'autolink'  => false,   // Convert url to link anchor
742
-			'newwindow' => false,   // If autolink attribute is true, open link in new window
743
-		), (array) shortcode_parse_atts( $attr ) );
740
+		$attr = array_merge(array(
741
+			'autolink'  => false, // Convert url to link anchor
742
+			'newwindow' => false, // If autolink attribute is true, open link in new window
743
+		), (array) shortcode_parse_atts($attr));
744 744
 
745 745
 		$anchor = $tag != 'url' ? 'yes' : $attr['autolink'];
746 746
 		$target = $attr['newwindow'] !== false ? 'target="_blank"' : '';
747 747
 
748
-		return $anchor !== false ? ' <a href="' . esc_url( $url ) . '" ' . $target . '>' . $text . '</a>' : ' ' . $text;
748
+		return $anchor !== false ? ' <a href="'.esc_url($url).'" '.$target.'>'.$text.'</a>' : ' '.$text;
749 749
 	}
750 750
 
751 751
 	/**
@@ -758,20 +758,20 @@  discard block
 block discarded – undo
758 758
 	 *
759 759
 	 * @return string
760 760
 	 */
761
-	private function get_attachments( $attachments ) {
761
+	private function get_attachments($attachments) {
762 762
 
763
-		$html = '<ul class="simcal-attachments">' . "\n\t";
763
+		$html = '<ul class="simcal-attachments">'."\n\t";
764 764
 
765
-		foreach ( $attachments as $attachment ) {
765
+		foreach ($attachments as $attachment) {
766 766
 			$html .= '<li class="simcal-attachment">';
767
-			$html .= '<a href="' . $attachment['url'] . '" target="_blank">';
768
-			$html .= ! empty( $attachment['icon'] ) ? '<img src="' . $attachment['icon'] . '" />' : '';
769
-			$html .= '<span>' . $attachment['name'] . '</span>';
767
+			$html .= '<a href="'.$attachment['url'].'" target="_blank">';
768
+			$html .= ! empty($attachment['icon']) ? '<img src="'.$attachment['icon'].'" />' : '';
769
+			$html .= '<span>'.$attachment['name'].'</span>';
770 770
 			$html .= '</a>';
771
-			$html .= '</li>' . "\n";
771
+			$html .= '</li>'."\n";
772 772
 		}
773 773
 
774
-		$html .= '</ul>' . "\n";
774
+		$html .= '</ul>'."\n";
775 775
 
776 776
 		return $html;
777 777
 	}
@@ -787,41 +787,41 @@  discard block
 block discarded – undo
787 787
 	 *
788 788
 	 * @return string
789 789
 	 */
790
-	private function get_attendees( $attendees, $attr ) {
790
+	private function get_attendees($attendees, $attr) {
791 791
 
792
-		$attr = array_merge( array(
793
-			'photo'     => 'show',  // show/hide attendee photo
794
-			'email'     => 'hide',  // show/hide attendee email address
795
-			'rsvp'      => 'hide',  // show/hide rsvp response status
796
-			'response'  => '',      // filter attendees by rsvp response (yes/no/maybe)
797
-		), (array) shortcode_parse_atts( $attr ) );
792
+		$attr = array_merge(array(
793
+			'photo'     => 'show', // show/hide attendee photo
794
+			'email'     => 'hide', // show/hide attendee email address
795
+			'rsvp'      => 'hide', // show/hide rsvp response status
796
+			'response'  => '', // filter attendees by rsvp response (yes/no/maybe)
797
+		), (array) shortcode_parse_atts($attr));
798 798
 
799
-		$html = '<ul class="simcal-attendees" itemprop="attendees">' . "\n\t";
799
+		$html = '<ul class="simcal-attendees" itemprop="attendees">'."\n\t";
800 800
 
801 801
 		$known = 0;
802 802
 		$unknown = 0;
803 803
 
804
-		foreach ( $attendees as $attendee ) {
804
+		foreach ($attendees as $attendee) {
805 805
 
806
-			if ( 'yes' == $attr['response'] && 'yes' != $attendee['response'] ) {
806
+			if ('yes' == $attr['response'] && 'yes' != $attendee['response']) {
807 807
 				continue;
808
-			} elseif ( 'no' == $attr['response'] && 'no' != $attendee['response'] ) {
808
+			} elseif ('no' == $attr['response'] && 'no' != $attendee['response']) {
809 809
 				continue;
810
-			} elseif ( 'maybe' == $attr['response'] && ! in_array( $attendee['response'], array( 'yes', 'maybe' ) ) ) {
810
+			} elseif ('maybe' == $attr['response'] && ! in_array($attendee['response'], array('yes', 'maybe'))) {
811 811
 				continue;
812 812
 			}
813 813
 
814
-			if ( ! empty( $attendee['name'] ) ) {
814
+			if ( ! empty($attendee['name'])) {
815 815
 
816
-				$photo      = 'hide' != $attr['photo'] ? '<img class="avatar avatar-128 photo" src="' . $attendee['photo'] . '" itemprop="image" />' : '';
817
-				$response   = 'hide' != $attr['rsvp'] ? $this->get_rsvp_response( $attendee['response'] ) : '';
818
-				$guest      = $photo . '<span itemprop="name">' . $attendee['name'] . $response . '</span>';
816
+				$photo      = 'hide' != $attr['photo'] ? '<img class="avatar avatar-128 photo" src="'.$attendee['photo'].'" itemprop="image" />' : '';
817
+				$response   = 'hide' != $attr['rsvp'] ? $this->get_rsvp_response($attendee['response']) : '';
818
+				$guest      = $photo.'<span itemprop="name">'.$attendee['name'].$response.'</span>';
819 819
 
820
-				if ( ! empty( $attendee['email'] ) && ( 'show' == $attr['email'] ) ) {
821
-					$guest = sprintf( '<a href="mailto:' . $attendee['email'] . '" itemprop="email">%s</a>', $guest );
820
+				if ( ! empty($attendee['email']) && ('show' == $attr['email'])) {
821
+					$guest = sprintf('<a href="mailto:'.$attendee['email'].'" itemprop="email">%s</a>', $guest);
822 822
 				}
823 823
 
824
-				$html .= '<li class="simcal-attendee" itemprop="attendee" itemscope itemtype="http://schema.org/Person">' . $guest . '</li>' . "\n";
824
+				$html .= '<li class="simcal-attendee" itemprop="attendee" itemscope itemtype="http://schema.org/Person">'.$guest.'</li>'."\n";
825 825
 
826 826
 				$known++;
827 827
 
@@ -832,21 +832,21 @@  discard block
 block discarded – undo
832 832
 			}
833 833
 		}
834 834
 
835
-		if ( $unknown > 0 ) {
836
-			if ( $known > 0 ) {
835
+		if ($unknown > 0) {
836
+			if ($known > 0) {
837 837
 				/* translators: One more person attending the event. */
838
-				$others = sprintf( _n( '1 more attendee', '%s more attendees', $unknown, 'google-calendar-events' ), $unknown );
838
+				$others = sprintf(_n('1 more attendee', '%s more attendees', $unknown, 'google-calendar-events'), $unknown);
839 839
 			} else {
840 840
 				/* translators: One or more persons attending the event whose name is unknown. */
841
-				$others = sprintf( _n( '1 anonymous attendee', '%s anonymous attendees', $unknown, 'google-calendar-events' ), $unknown );
841
+				$others = sprintf(_n('1 anonymous attendee', '%s anonymous attendees', $unknown, 'google-calendar-events'), $unknown);
842 842
 			}
843
-			$photo = $attr['photo'] !== 'hide' ? get_avatar( '', 128 ) : '';
844
-			$html .= '<li class="simcal-attendee simcal-attendee-anonymous">' . $photo . '<span>' . $others . '</span></li>' . "\n";
845
-		} elseif ( $known === 0 ) {
846
-			$html .= '<li class="simcal-attendee">' . _x( 'No one yet', 'No one yet rsvp to attend the event.', 'google-calendar-events' ) . '</li>' . "\n";
843
+			$photo = $attr['photo'] !== 'hide' ? get_avatar('', 128) : '';
844
+			$html .= '<li class="simcal-attendee simcal-attendee-anonymous">'.$photo.'<span>'.$others.'</span></li>'."\n";
845
+		} elseif ($known === 0) {
846
+			$html .= '<li class="simcal-attendee">'._x('No one yet', 'No one yet rsvp to attend the event.', 'google-calendar-events').'</li>'."\n";
847 847
 		}
848 848
 
849
-		$html .= '</ul>' . "\n";
849
+		$html .= '</ul>'."\n";
850 850
 
851 851
 		return $html;
852 852
 	}
@@ -860,23 +860,23 @@  discard block
 block discarded – undo
860 860
 	 *
861 861
 	 * @return string
862 862
 	 */
863
-	private function get_rsvp_response( $response ) {
863
+	private function get_rsvp_response($response) {
864 864
 
865
-		if ( 'yes' == $response ) {
865
+		if ('yes' == $response) {
866 866
 			/* translators: Someone replied with 'yes' to a rsvp request. */
867
-			$rsvp = __( 'Attending', 'google-calendar-events' );
868
-		} elseif ( 'no' == $response ) {
867
+			$rsvp = __('Attending', 'google-calendar-events');
868
+		} elseif ('no' == $response) {
869 869
 			/* translators: Someone replied with 'no' to a rsvp request. */
870
-			$rsvp = __( 'Not attending', 'google-calendar-events' );
871
-		} elseif ( 'maybe' == $response ) {
870
+			$rsvp = __('Not attending', 'google-calendar-events');
871
+		} elseif ('maybe' == $response) {
872 872
 			/* translators: Someone replied with 'maybe' to a rsvp request. */
873
-			$rsvp = __( 'Maybe attending', 'google-calendar-events' );
873
+			$rsvp = __('Maybe attending', 'google-calendar-events');
874 874
 		} else {
875 875
 			/* translators: Someone did not send yet a rsvp confirmation to join an event. */
876
-			$rsvp = __( 'Response pending', 'google-calendar-events' );
876
+			$rsvp = __('Response pending', 'google-calendar-events');
877 877
 		}
878 878
 
879
-		return ' <small>(' . $rsvp . ')</small>';
879
+		return ' <small>('.$rsvp.')</small>';
880 880
 	}
881 881
 
882 882
 	/**
@@ -890,21 +890,21 @@  discard block
 block discarded – undo
890 890
 	 *
891 891
 	 * @return string
892 892
 	 */
893
-	private function get_organizer( $organizer, $attr ) {
893
+	private function get_organizer($organizer, $attr) {
894 894
 
895
-		$attr = array_merge( array(
896
-			'photo' => 'show',  // show/hide attendee photo
897
-			'email' => 'hide',  // show/hide attendee email address
898
-		), (array) shortcode_parse_atts( $attr ) );
895
+		$attr = array_merge(array(
896
+			'photo' => 'show', // show/hide attendee photo
897
+			'email' => 'hide', // show/hide attendee email address
898
+		), (array) shortcode_parse_atts($attr));
899 899
 
900
-		$photo           = 'hide' != $attr['photo'] ? '<img class="avatar avatar-128 photo" src="' . $organizer['photo'] . '" itemprop="image"  />' : '';
901
-		$organizer_html  = $photo . '<span itemprop="name">' . $organizer['name'] . '</span>';
900
+		$photo           = 'hide' != $attr['photo'] ? '<img class="avatar avatar-128 photo" src="'.$organizer['photo'].'" itemprop="image"  />' : '';
901
+		$organizer_html  = $photo.'<span itemprop="name">'.$organizer['name'].'</span>';
902 902
 
903
-		if ( ! empty( $organizer['email'] ) && ( 'show' == $attr['email'] ) ) {
904
-			$organizer_html = sprintf( '<a href="mailto:' . $organizer['email'] . '" itemprop="email">%s</a>', $organizer_html );
903
+		if ( ! empty($organizer['email']) && ('show' == $attr['email'])) {
904
+			$organizer_html = sprintf('<a href="mailto:'.$organizer['email'].'" itemprop="email">%s</a>', $organizer_html);
905 905
 		}
906 906
 
907
-		return '<div class="simcal-organizer" itemprop="organizer" itemscope itemtype="https://schema.org/Person">' . $organizer_html . '</div>';
907
+		return '<div class="simcal-organizer" itemprop="organizer" itemscope itemtype="https://schema.org/Person">'.$organizer_html.'</div>';
908 908
 	}
909 909
 
910 910
 	/**
@@ -929,7 +929,7 @@  discard block
 block discarded – undo
929 929
 		// This is largely borrowed on get_shortcode_regex() from WordPress Core.
930 930
 		// @see /wp-includes/shortcodes.php (with some modification)
931 931
 
932
-		$tagregexp = implode( '|', array_values( $this->tags ) );
932
+		$tagregexp = implode('|', array_values($this->tags));
933 933
 
934 934
 		return '/'
935 935
 		       . '\\['                              // Opening bracket
Please login to merge, or discard this patch.
Doc Comments   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -65,7 +65,7 @@  discard block
 block discarded – undo
65 65
 	 *
66 66
 	 * @since  3.0.0
67 67
 	 *
68
-	 * @return array
68
+	 * @return string[]
69 69
 	 */
70 70
 	public function get_content_tags() {
71 71
 		return  array(
@@ -498,8 +498,8 @@  discard block
 block discarded – undo
498 498
 	 * @since  3.0.0
499 499
 	 * @access private
500 500
 	 *
501
-	 * @param  $title
502
-	 * @param  $attr
501
+	 * @param  string $title
502
+	 * @param  string $attr
503 503
 	 *
504 504
 	 * @return string
505 505
 	 */
Please login to merge, or discard this patch.
includes/feeds/google.php 2 patches
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -108,7 +108,7 @@
 block discarded – undo
108 108
 			// Google query args.
109 109
 			$this->google_calendar_id       = $this->esc_google_calendar_id( get_post_meta( $this->post_id, '_google_calendar_id', true ) );
110 110
 			$this->google_events_recurring  = esc_attr( get_post_meta( $this->post_id, '_google_events_recurring', true ) );
111
-            // note that google_search_query is used in a URL param and not as HTML output, so don't use esc_attr() on it
111
+			// note that google_search_query is used in a URL param and not as HTML output, so don't use esc_attr() on it
112 112
 			$this->google_search_query      = get_post_meta( $this->post_id, '_google_events_search_query', true );
113 113
 			$this->google_max_results       = max( absint( get_post_meta( $this->post_id, '_google_events_max_results', true ) ), 1 );
114 114
 
Please login to merge, or discard this patch.
Spacing   +100 added lines, -100 removed lines patch added patch discarded remove patch
@@ -12,7 +12,7 @@  discard block
 block discarded – undo
12 12
 use SimpleCalendar\Abstracts\Feed;
13 13
 use SimpleCalendar\Feeds\Admin\Google_Admin as Admin;
14 14
 
15
-if ( ! defined( 'ABSPATH' ) ) {
15
+if ( ! defined('ABSPATH')) {
16 16
 	exit;
17 17
 }
18 18
 
@@ -90,35 +90,35 @@  discard block
 block discarded – undo
90 90
 	 * @param string|Calendar $calendar
91 91
 	 * @param bool $load_admin
92 92
 	 */
93
-	public function __construct( $calendar = '', $load_admin = true ) {
93
+	public function __construct($calendar = '', $load_admin = true) {
94 94
 
95
-		parent::__construct( $calendar );
95
+		parent::__construct($calendar);
96 96
 
97 97
 		$this->type = 'google';
98
-		$this->name = __( 'Google Calendar', 'google-calendar-events' );
98
+		$this->name = __('Google Calendar', 'google-calendar-events');
99 99
 
100 100
 		// Google client config.
101
-		$settings = get_option( 'simple-calendar_settings_feeds' );
102
-		$this->google_api_key = isset( $settings['google']['api_key'] ) ? esc_attr( $settings['google']['api_key'] ) : '';
103
-		$this->google_client_scopes = array( \Google_Service_Calendar::CALENDAR_READONLY );
101
+		$settings = get_option('simple-calendar_settings_feeds');
102
+		$this->google_api_key = isset($settings['google']['api_key']) ? esc_attr($settings['google']['api_key']) : '';
103
+		$this->google_client_scopes = array(\Google_Service_Calendar::CALENDAR_READONLY);
104 104
 		$this->google_client = $this->get_client();
105 105
 
106
-		if ( $this->post_id > 0 ) {
106
+		if ($this->post_id > 0) {
107 107
 
108 108
 			// Google query args.
109
-			$this->google_calendar_id       = $this->esc_google_calendar_id( get_post_meta( $this->post_id, '_google_calendar_id', true ) );
110
-			$this->google_events_recurring  = esc_attr( get_post_meta( $this->post_id, '_google_events_recurring', true ) );
109
+			$this->google_calendar_id       = $this->esc_google_calendar_id(get_post_meta($this->post_id, '_google_calendar_id', true));
110
+			$this->google_events_recurring  = esc_attr(get_post_meta($this->post_id, '_google_events_recurring', true));
111 111
             // note that google_search_query is used in a URL param and not as HTML output, so don't use esc_attr() on it
112
-			$this->google_search_query      = get_post_meta( $this->post_id, '_google_events_search_query', true );
113
-			$this->google_max_results       = max( absint( get_post_meta( $this->post_id, '_google_events_max_results', true ) ), 1 );
112
+			$this->google_search_query      = get_post_meta($this->post_id, '_google_events_search_query', true);
113
+			$this->google_max_results       = max(absint(get_post_meta($this->post_id, '_google_events_max_results', true)), 1);
114 114
 
115
-			if ( ! is_admin() || defined( 'DOING_AJAX' ) ) {
116
-				$this->events = ! empty( $this->google_api_key ) ? $this->get_events() : array();
115
+			if ( ! is_admin() || defined('DOING_AJAX')) {
116
+				$this->events = ! empty($this->google_api_key) ? $this->get_events() : array();
117 117
 			}
118 118
 		}
119 119
 
120
-		if ( is_admin() && $load_admin ) {
121
-			$admin = new Admin( $this, $this->google_api_key, $this->google_calendar_id );
120
+		if (is_admin() && $load_admin) {
121
+			$admin = new Admin($this, $this->google_api_key, $this->google_calendar_id);
122 122
 			$this->settings = $admin->settings_fields();
123 123
 		}
124 124
 	}
@@ -132,8 +132,8 @@  discard block
 block discarded – undo
132 132
 	 *
133 133
 	 * @return string
134 134
 	 */
135
-	public function esc_google_calendar_id( $id ) {
136
-		return base64_decode( $id );
135
+	public function esc_google_calendar_id($id) {
136
+		return base64_decode($id);
137 137
 	}
138 138
 
139 139
 	/**
@@ -147,85 +147,85 @@  discard block
 block discarded – undo
147 147
 	 */
148 148
 	public function get_events() {
149 149
 
150
-		$calendar = get_transient( '_simple-calendar_feed_id_' . strval( $this->post_id ) . '_' . $this->type );
150
+		$calendar = get_transient('_simple-calendar_feed_id_'.strval($this->post_id).'_'.$this->type);
151 151
 
152
-		if ( empty( $calendar ) && ! empty( $this->google_calendar_id ) ) {
152
+		if (empty($calendar) && ! empty($this->google_calendar_id)) {
153 153
 
154 154
 			$error = '';
155 155
 
156 156
 			try {
157
-				$response = $this->make_request( $this->google_calendar_id );
158
-			} catch ( \Exception $e ) {
157
+				$response = $this->make_request($this->google_calendar_id);
158
+			} catch (\Exception $e) {
159 159
 				$error .= $e->getMessage();
160 160
 			}
161 161
 
162
-			if ( empty( $error ) && isset( $response['events'] ) && isset( $response['timezone'] ) ) {
162
+			if (empty($error) && isset($response['events']) && isset($response['timezone'])) {
163 163
 
164
-				$calendar = array_merge( $response, array( 'events' => array() ) );
164
+				$calendar = array_merge($response, array('events' => array()));
165 165
 
166 166
 				// If no timezone has been set, use calendar feed.
167
-				if ( 'use_calendar' == $this->timezone_setting ) {
167
+				if ('use_calendar' == $this->timezone_setting) {
168 168
 					$this->timezone = $calendar['timezone'];
169 169
 				}
170 170
 
171
-				$source = isset( $response['title'] ) ? sanitize_text_field( $response['title'] ) : '';
171
+				$source = isset($response['title']) ? sanitize_text_field($response['title']) : '';
172 172
 
173
-				if ( ! empty( $response['events'] ) && is_array( $response['events'] ) ) {
174
-					foreach ( $response['events'] as $event ) {
175
-						if ( $event instanceof \Google_Service_Calendar_Event ) {
173
+				if ( ! empty($response['events']) && is_array($response['events'])) {
174
+					foreach ($response['events'] as $event) {
175
+						if ($event instanceof \Google_Service_Calendar_Event) {
176 176
 
177 177
 							// Visibility and status.
178 178
 							// Public calendars may have private events which can't be properly accessed by simple api key method.
179 179
 							// Also want to skip cancelled events (single occurences deleted from repeating events)
180 180
 							$visibility = $event->getVisibility();
181 181
 							$status = $event->getStatus();
182
-							if ( $this->type == 'google' && ( $visibility == 'private' || $visibility == 'confidential' || $status == 'cancelled' ) ) {
182
+							if ($this->type == 'google' && ($visibility == 'private' || $visibility == 'confidential' || $status == 'cancelled')) {
183 183
 								continue;
184 184
 							}
185 185
 
186 186
 							// Event title & description.
187
-							$title = strip_tags( $event->getSummary() );
188
-							$title = sanitize_text_field( iconv( mb_detect_encoding( $title, mb_detect_order(), true ), 'UTF-8', $title ) );
189
-							$description = wp_kses_post( iconv( mb_detect_encoding( $event->getDescription(), mb_detect_order(), true ), 'UTF-8', $event->getDescription() ) );
187
+							$title = strip_tags($event->getSummary());
188
+							$title = sanitize_text_field(iconv(mb_detect_encoding($title, mb_detect_order(), true), 'UTF-8', $title));
189
+							$description = wp_kses_post(iconv(mb_detect_encoding($event->getDescription(), mb_detect_order(), true), 'UTF-8', $event->getDescription()));
190 190
 
191 191
 							$whole_day = false;
192 192
 
193 193
 							// Event start properties.
194
-							if( 'use_calendar' == $this->timezone_setting ) {
194
+							if ('use_calendar' == $this->timezone_setting) {
195 195
 								$start_timezone = ! $event->getStart()->timeZone ? $calendar['timezone'] : $event->getStart()->timeZone;
196 196
 							} else {
197 197
 								$start_timezone = $this->timezone;
198 198
 							}
199 199
 
200
-							if ( is_null( $event->getStart()->dateTime ) ) {
200
+							if (is_null($event->getStart()->dateTime)) {
201 201
 								// Whole day event.
202
-								$date = Carbon::parse( $event->getStart()->date );
203
-								$google_start = Carbon::createFromDate( $date->year, $date->month, $date->day, $start_timezone )->startOfDay()->addSeconds( 59 );
204
-								$google_start_utc = Carbon::createFromDate( $date->year, $date->month, $date->day, 'UTC' )->startOfDay()->addSeconds( 59 );
202
+								$date = Carbon::parse($event->getStart()->date);
203
+								$google_start = Carbon::createFromDate($date->year, $date->month, $date->day, $start_timezone)->startOfDay()->addSeconds(59);
204
+								$google_start_utc = Carbon::createFromDate($date->year, $date->month, $date->day, 'UTC')->startOfDay()->addSeconds(59);
205 205
 								$whole_day = true;
206 206
 							} else {
207
-								$date = Carbon::parse( $event->getStart()->dateTime );
207
+								$date = Carbon::parse($event->getStart()->dateTime);
208 208
 
209 209
 								// Check if there is an event level timezone
210
-								if( $event->getStart()->timeZone && 'use_calendar' == $this->timezone_setting ) {
210
+								if ($event->getStart()->timeZone && 'use_calendar' == $this->timezone_setting) {
211 211
 
212 212
 									// Get the two different times with the separate timezones so we can check the offsets next
213
-									$google_start1 = Carbon::create( $date->year, $date->month, $date->day, $date->hour, $date->minute, $date->second, $date->timezone );
214
-									$google_start2 = Carbon::create( $date->year, $date->month, $date->day, $date->hour, $date->minute, $date->second, $event->getStart()->timeZone );
213
+									$google_start1 = Carbon::create($date->year, $date->month, $date->day, $date->hour, $date->minute, $date->second, $date->timezone);
214
+									$google_start2 = Carbon::create($date->year, $date->month, $date->day, $date->hour, $date->minute, $date->second, $event->getStart()->timeZone);
215 215
 
216 216
 									// Get the offset in hours
217 217
 									$offset1 = $google_start1->offsetHours;
218 218
 									$offset2 = $google_start2->offsetHours;
219 219
 
220 220
 									// Get the difference between the two timezones
221
-									$total_offset = ( $offset2 - $offset1 );
221
+									$total_offset = ($offset2 - $offset1);
222 222
 
223 223
 									// Add the hours offset to the date hour
224 224
 									$date->hour += $total_offset;
225 225
 								}
226 226
 
227
-								$google_start = Carbon::create( $date->year, $date->month, $date->day, $date->hour, $date->minute, $date->second, $start_timezone );
228
-								$google_start_utc = Carbon::create( $date->year, $date->month, $date->day, $date->hour, $date->minute, $date->second, 'UTC' );
227
+								$google_start = Carbon::create($date->year, $date->month, $date->day, $date->hour, $date->minute, $date->second, $start_timezone);
228
+								$google_start_utc = Carbon::create($date->year, $date->month, $date->day, $date->hour, $date->minute, $date->second, 'UTC');
229 229
 
230 230
 								$this->timezone = $start_timezone;
231 231
 							}
@@ -236,43 +236,43 @@  discard block
 block discarded – undo
236 236
 
237 237
 							$end = $end_utc = $end_timezone = '';
238 238
 							$span = 0;
239
-							if ( false == $event->getEndTimeUnspecified() ) {
239
+							if (false == $event->getEndTimeUnspecified()) {
240 240
 
241 241
 								// Event end properties.
242
-								if( 'use_calendar' == $this->timezone_setting ) {
242
+								if ('use_calendar' == $this->timezone_setting) {
243 243
 									$end_timezone = ! $event->getEnd()->timeZone ? $calendar['timezone'] : $event->getEnd()->timeZone;
244 244
 								} else {
245 245
 									$end_timezone = $this->timezone;
246 246
 								}
247 247
 
248
-								if ( is_null( $event->getEnd()->dateTime ) ) {
248
+								if (is_null($event->getEnd()->dateTime)) {
249 249
 									// Whole day event.
250
-									$date           = Carbon::parse( $event->getEnd()->date );
251
-									$google_end     = Carbon::createFromDate( $date->year, $date->month, $date->day, $end_timezone )->startOfDay()->subSeconds( 59 );
252
-									$google_end_utc = Carbon::createFromDate( $date->year, $date->month, $date->day, 'UTC' )->startOfDay()->subSeconds( 59 );
250
+									$date           = Carbon::parse($event->getEnd()->date);
251
+									$google_end     = Carbon::createFromDate($date->year, $date->month, $date->day, $end_timezone)->startOfDay()->subSeconds(59);
252
+									$google_end_utc = Carbon::createFromDate($date->year, $date->month, $date->day, 'UTC')->startOfDay()->subSeconds(59);
253 253
 								} else {
254
-									$date = Carbon::parse( $event->getEnd()->dateTime );
254
+									$date = Carbon::parse($event->getEnd()->dateTime);
255 255
 
256 256
 									// Check if there is an event level timezone
257
-									if( $event->getEnd()->timeZone && 'use_calendar' == $this->timezone_setting ) {
257
+									if ($event->getEnd()->timeZone && 'use_calendar' == $this->timezone_setting) {
258 258
 
259 259
 										// Get the two different times with the separate timezones so we can check the offsets next
260
-										$google_start1 = Carbon::create( $date->year, $date->month, $date->day, $date->hour, $date->minute, $date->second, $date->timezone );
261
-										$google_start2 = Carbon::create( $date->year, $date->month, $date->day, $date->hour, $date->minute, $date->second, $event->getEnd()->timeZone );
260
+										$google_start1 = Carbon::create($date->year, $date->month, $date->day, $date->hour, $date->minute, $date->second, $date->timezone);
261
+										$google_start2 = Carbon::create($date->year, $date->month, $date->day, $date->hour, $date->minute, $date->second, $event->getEnd()->timeZone);
262 262
 
263 263
 										// Get the offset in hours
264 264
 										$offset1 = $google_start1->offsetHours;
265 265
 										$offset2 = $google_start2->offsetHours;
266 266
 
267 267
 										// Get the difference between the two timezones
268
-										$total_offset = ( $offset2 - $offset1 );
268
+										$total_offset = ($offset2 - $offset1);
269 269
 
270 270
 										// Add the hours offset to the date hour
271 271
 										$date->hour += $total_offset;
272 272
 									}
273 273
 
274
-									$google_end     = Carbon::create( $date->year, $date->month, $date->day, $date->hour, $date->minute, $date->second, $end_timezone );
275
-									$google_end_utc = Carbon::create( $date->year, $date->month, $date->day, $date->hour, $date->minute, $date->second, 'UTC' );
274
+									$google_end     = Carbon::create($date->year, $date->month, $date->day, $date->hour, $date->minute, $date->second, $end_timezone);
275
+									$google_end_utc = Carbon::create($date->year, $date->month, $date->day, $date->hour, $date->minute, $date->second, 'UTC');
276 276
 								}
277 277
 								// End.
278 278
 								$end = $google_end->getTimestamp();
@@ -280,10 +280,10 @@  discard block
 block discarded – undo
280 280
 								$end_utc = $google_end_utc->getTimestamp();
281 281
 
282 282
 								// Count multiple days.
283
-								$span = $google_start->diffInDays( $google_end );
283
+								$span = $google_start->diffInDays($google_end);
284 284
 
285
-								if ( $span == 0 ) {
286
-									if ( ( $google_start->toDateString() !== $google_end->toDateString() ) && $google_end->toTimeString() != '00:00:00' ) {
285
+								if ($span == 0) {
286
+									if (($google_start->toDateString() !== $google_end->toDateString()) && $google_end->toTimeString() != '00:00:00') {
287 287
 										$span = 1;
288 288
 									}
289 289
 								}
@@ -298,19 +298,19 @@  discard block
 block discarded – undo
298 298
 							// Recurring event.
299 299
 							$recurrence = $event->getRecurrence();
300 300
 							$recurring_id = $event->getRecurringEventId();
301
-							if ( ! $recurrence && $recurring_id ) {
301
+							if ( ! $recurrence && $recurring_id) {
302 302
 								$recurrence = true;
303 303
 							}
304 304
 
305 305
 							// Event link.
306
-							if ( 'use_calendar' == $this->timezone_setting ) {
307
-								$link = add_query_arg( array( 'ctz' => $this->timezone ), $event->getHtmlLink() );
306
+							if ('use_calendar' == $this->timezone_setting) {
307
+								$link = add_query_arg(array('ctz' => $this->timezone), $event->getHtmlLink());
308 308
 							} else {
309 309
 								$link = $event->getHtmlLink();
310 310
 							}
311 311
 
312 312
 							// Build the event.
313
-							$calendar['events'][ intval( $start ) ][] = array(
313
+							$calendar['events'][intval($start)][] = array(
314 314
 								'type'           => 'google-calendar',
315 315
 								'source'         => $source,
316 316
 								'title'          => $title,
@@ -338,24 +338,24 @@  discard block
 block discarded – undo
338 338
 						}
339 339
 					}
340 340
 
341
-					if ( ! empty( $calendar['events'] ) ) {
341
+					if ( ! empty($calendar['events'])) {
342 342
 
343
-						ksort( $calendar['events'], SORT_NUMERIC );
343
+						ksort($calendar['events'], SORT_NUMERIC);
344 344
 
345 345
 						set_transient(
346
-							'_simple-calendar_feed_id_' . strval( $this->post_id ) . '_' . $this->type,
346
+							'_simple-calendar_feed_id_'.strval($this->post_id).'_'.$this->type,
347 347
 							$calendar,
348
-							max( absint( $this->cache ), 1 ) // Since a value of 0 means forever we set the minimum here to 1 if the user has set it to be 0
348
+							max(absint($this->cache), 1) // Since a value of 0 means forever we set the minimum here to 1 if the user has set it to be 0
349 349
 						);
350 350
 					}
351 351
 				}
352 352
 
353 353
 			} else {
354 354
 
355
-				$message  = __( 'While trying to retrieve events, Google returned an error:', 'google-calendar-events' );
356
-				$message .= '<br><br>' . $error . '<br><br>';
357
-				$message .= __( 'Please ensure that both your Google Calendar ID and API Key are valid and that the Google Calendar you want to display is public.', 'google-calendar-events' ) . '<br><br>';
358
-				$message .= __( 'Only you can see this notice.', 'google-calendar-events' );
355
+				$message  = __('While trying to retrieve events, Google returned an error:', 'google-calendar-events');
356
+				$message .= '<br><br>'.$error.'<br><br>';
357
+				$message .= __('Please ensure that both your Google Calendar ID and API Key are valid and that the Google Calendar you want to display is public.', 'google-calendar-events').'<br><br>';
358
+				$message .= __('Only you can see this notice.', 'google-calendar-events');
359 359
 
360 360
 				return $message;
361 361
 			}
@@ -363,11 +363,11 @@  discard block
 block discarded – undo
363 363
 		}
364 364
 
365 365
 		// If no timezone has been set, use calendar feed.
366
-		if ( 'use_calendar' == $this->timezone_setting && isset( $calendar['timezone'] ) ) {
366
+		if ('use_calendar' == $this->timezone_setting && isset($calendar['timezone'])) {
367 367
 			$this->timezone = $calendar['timezone'];
368 368
 		}
369 369
 
370
-		return isset( $calendar['events'] ) ? $calendar['events'] : array();
370
+		return isset($calendar['events']) ? $calendar['events'] : array();
371 371
 	}
372 372
 
373 373
 	/**
@@ -383,67 +383,67 @@  discard block
 block discarded – undo
383 383
 	 *
384 384
 	 * @throws \Exception On request failure will throw an exception from Google.
385 385
 	 */
386
-	public function make_request( $id = '', $time_min = 0, $time_max = 0 ) {
386
+	public function make_request($id = '', $time_min = 0, $time_max = 0) {
387 387
 
388 388
 		$calendar = array();
389 389
 		$google = $this->get_service();
390 390
 
391
-		if ( ! is_null( $google ) && ! empty( $id ) ) {
391
+		if ( ! is_null($google) && ! empty($id)) {
392 392
 
393 393
 			// Build the request args.
394 394
 			$args = array();
395 395
 
396 396
 			// Expand recurring events.
397
-			if ( $this->google_events_recurring == 'show' ) {
397
+			if ($this->google_events_recurring == 'show') {
398 398
 				$args['singleEvents'] = true;
399 399
 			}
400 400
 
401 401
 			// Query events using search terms.
402
-			if ( ! empty( $this->google_search_query ) ) {
403
-				$args['q'] = rawurlencode( $this->google_search_query );
402
+			if ( ! empty($this->google_search_query)) {
403
+				$args['q'] = rawurlencode($this->google_search_query);
404 404
 			}
405 405
 
406 406
 			// Max results to query.
407
-			$args['maxResults'] = strval( min( absint( $this->google_max_results ), 2500 ) );
407
+			$args['maxResults'] = strval(min(absint($this->google_max_results), 2500));
408 408
 
409 409
 			// Specify a timezone.
410 410
 			$timezone = '';
411
-			if ( 'use_calendar' != get_post_meta( $this->post_id, '_feed_timezone_setting', true ) ) {
411
+			if ('use_calendar' != get_post_meta($this->post_id, '_feed_timezone_setting', true)) {
412 412
 				$args['timeZone'] = $timezone = $this->timezone;
413 413
 			}
414 414
 
415 415
 			// Lower bound (inclusive) for an event's end time to filter by.
416
-			$earliest_event = intval( $this->time_min );
417
-			if ( $earliest_event > 0 ) {
416
+			$earliest_event = intval($this->time_min);
417
+			if ($earliest_event > 0) {
418 418
 				$timeMin = Carbon::now();
419
-				if ( ! empty( $timezone ) ) {
420
-					$timeMin->setTimezone( $timezone );
419
+				if ( ! empty($timezone)) {
420
+					$timeMin->setTimezone($timezone);
421 421
 				}
422
-				$timeMin->setTimestamp( $earliest_event );
422
+				$timeMin->setTimestamp($earliest_event);
423 423
 				$args['timeMin'] = $timeMin->toRfc3339String();
424 424
 			}
425 425
 
426 426
 			// Upper bound (exclusive) for an event's start time to filter by.
427
-			$latest_event = intval( $this->time_max );
428
-			if ( $latest_event > 0 ) {
427
+			$latest_event = intval($this->time_max);
428
+			if ($latest_event > 0) {
429 429
 				$timeMax = Carbon::now();
430
-				if ( ! empty( $timezone ) ) {
431
-					$timeMax->setTimezone( $timezone );
430
+				if ( ! empty($timezone)) {
431
+					$timeMax->setTimezone($timezone);
432 432
 				}
433
-				$timeMax->setTimestamp( $latest_event );
433
+				$timeMax->setTimestamp($latest_event);
434 434
 				$args['timeMax'] = $timeMax->toRfc3339String();
435 435
 			}
436 436
 
437 437
 			// Query events in calendar.
438
-			$response = $google->events->listEvents( $id, $args );
438
+			$response = $google->events->listEvents($id, $args);
439 439
 
440
-			if ( $response instanceof \Google_Service_Calendar_Events ) {
440
+			if ($response instanceof \Google_Service_Calendar_Events) {
441 441
 				$calendar = array(
442 442
 					'id'            => $id,
443 443
 					'title'         => $response->getSummary(),
444 444
 					'description'   => $response->getDescription(),
445 445
 					'timezone'      => $response->getTimeZone(),
446
-					'url'           => esc_url( '//www.google.com/calendar/embed?src=' . $id ),
446
+					'url'           => esc_url('//www.google.com/calendar/embed?src='.$id),
447 447
 					'events'        => $response->getItems(),
448 448
 				);
449 449
 			}
@@ -463,10 +463,10 @@  discard block
 block discarded – undo
463 463
 	private function get_client() {
464 464
 
465 465
 		$client = new \Google_Client();
466
-		$client->setApplicationName( 'Simple Calendar' );
467
-		$client->setScopes( $this->google_client_scopes );
468
-		$client->setDeveloperKey( $this->google_api_key );
469
-		$client->setAccessType( 'online' );
466
+		$client->setApplicationName('Simple Calendar');
467
+		$client->setScopes($this->google_client_scopes);
468
+		$client->setDeveloperKey($this->google_api_key);
469
+		$client->setAccessType('online');
470 470
 
471 471
 		return $client;
472 472
 	}
@@ -480,7 +480,7 @@  discard block
 block discarded – undo
480 480
 	 * @return null|\Google_Service_Calendar
481 481
 	 */
482 482
 	protected function get_service() {
483
-		return $this->google_client instanceof \Google_Client ? new \Google_Service_Calendar( $this->google_client ) : null;
483
+		return $this->google_client instanceof \Google_Client ? new \Google_Service_Calendar($this->google_client) : null;
484 484
 	}
485 485
 
486 486
 }
Please login to merge, or discard this patch.
includes/functions/shared.php 2 patches
Spacing   +107 added lines, -107 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
  * @package SimpleCalendar/Functions
8 8
  */
9 9
 
10
-if ( ! defined( 'ABSPATH' ) ) {
10
+if ( ! defined('ABSPATH')) {
11 11
 	exit;
12 12
 }
13 13
 
@@ -20,17 +20,17 @@  discard block
 block discarded – undo
20 20
  */
21 21
 function is_simple_calendar() {
22 22
 
23
-	if ( is_singular() ) {
23
+	if (is_singular()) {
24 24
 
25 25
 		global $post, $post_type;
26 26
 
27
-		if ( 'calendar' == $post_type ) {
27
+		if ('calendar' == $post_type) {
28 28
 			return true;
29 29
 		} else {
30
-			if ( false !== get_post_meta( $post->ID, '_simcal_attach_calendar_id', true ) ) {
30
+			if (false !== get_post_meta($post->ID, '_simcal_attach_calendar_id', true)) {
31 31
 				return true;
32 32
 			}
33
-			if ( has_shortcode( $post->post_content, 'calendar' ) ) {
33
+			if (has_shortcode($post->post_content, 'calendar')) {
34 34
 				return true;
35 35
 			}
36 36
 		}
@@ -46,8 +46,8 @@  discard block
 block discarded – undo
46 46
  *
47 47
  * @return string
48 48
  */
49
-function simcal_get_url( $url ) {
50
-	return \SimpleCalendar\plugin()->get_url( $url );
49
+function simcal_get_url($url) {
50
+	return \SimpleCalendar\plugin()->get_url($url);
51 51
 }
52 52
 
53 53
 /**
@@ -71,9 +71,9 @@  discard block
 block discarded – undo
71 71
  *
72 72
  * @return null|\SimpleCalendar\Abstracts\Feed
73 73
  */
74
-function simcal_get_feed( $object ) {
74
+function simcal_get_feed($object) {
75 75
 	$objects = \SimpleCalendar\plugin()->objects;
76
-	return $objects instanceof \SimpleCalendar\Objects ? $objects->get_feed( $object ) : null;
76
+	return $objects instanceof \SimpleCalendar\Objects ? $objects->get_feed($object) : null;
77 77
 }
78 78
 
79 79
 /**
@@ -97,9 +97,9 @@  discard block
 block discarded – undo
97 97
  *
98 98
  * @return null|\SimpleCalendar\Abstracts\Calendar
99 99
  */
100
-function simcal_get_calendar( $object ) {
100
+function simcal_get_calendar($object) {
101 101
 	$objects = \SimpleCalendar\plugin()->objects;
102
-	return $objects instanceof \SimpleCalendar\Objects ? $objects->get_calendar( $object ) : null;
102
+	return $objects instanceof \SimpleCalendar\Objects ? $objects->get_calendar($object) : null;
103 103
 }
104 104
 
105 105
 /**
@@ -112,9 +112,9 @@  discard block
 block discarded – undo
112 112
  *
113 113
  * @return mixed
114 114
  */
115
-function simcal_get_calendar_view( $id = 0, $name = '' ) {
115
+function simcal_get_calendar_view($id = 0, $name = '') {
116 116
 	$objects = \SimpleCalendar\plugin()->objects;
117
-	return $objects instanceof \SimpleCalendar\Objects ? $objects->get_calendar_view( $id, $name ) : false;
117
+	return $objects instanceof \SimpleCalendar\Objects ? $objects->get_calendar_view($id, $name) : false;
118 118
 }
119 119
 
120 120
 /**
@@ -126,11 +126,11 @@  discard block
 block discarded – undo
126 126
  *
127 127
  * @return void
128 128
  */
129
-function simcal_print_calendar( $object ) {
129
+function simcal_print_calendar($object) {
130 130
 
131
-	$calendar = simcal_get_calendar( $object );
131
+	$calendar = simcal_get_calendar($object);
132 132
 
133
-	if ( $calendar instanceof \SimpleCalendar\Abstracts\Calendar ) {
133
+	if ($calendar instanceof \SimpleCalendar\Abstracts\Calendar) {
134 134
 		$calendar->html();
135 135
 	}
136 136
 }
@@ -148,21 +148,21 @@  discard block
 block discarded – undo
148 148
 
149 149
 	$vars = array(
150 150
 		'ajax_url'  => \SimpleCalendar\plugin()->ajax_url(),
151
-		'nonce'     => wp_create_nonce( 'simcal' ),
151
+		'nonce'     => wp_create_nonce('simcal'),
152 152
 		'locale'    => \SimpleCalendar\plugin()->locale,
153 153
 		'text_dir'  => is_rtl() ? 'rtl' : 'ltr',
154 154
 		'months'    => array(
155
-			'full'  => simcal_get_calendar_names_i18n( 'month', 'full' ),
156
-			'short' => simcal_get_calendar_names_i18n( 'month', 'short' ),
155
+			'full'  => simcal_get_calendar_names_i18n('month', 'full'),
156
+			'short' => simcal_get_calendar_names_i18n('month', 'short'),
157 157
 		),
158 158
 		'days'      => array(
159
-			'full'  => simcal_get_calendar_names_i18n( 'day', 'full' ),
160
-			'short' => simcal_get_calendar_names_i18n( 'day', 'short' ),
159
+			'full'  => simcal_get_calendar_names_i18n('day', 'full'),
160
+			'short' => simcal_get_calendar_names_i18n('day', 'short'),
161 161
 		),
162
-		'meridiem' => simcal_get_calendar_names_i18n( 'meridiem' ),
162
+		'meridiem' => simcal_get_calendar_names_i18n('meridiem'),
163 163
 	);
164 164
 
165
-	return array_merge( $vars, apply_filters( 'simcal_common_scripts_variables', array() ) );
165
+	return array_merge($vars, apply_filters('simcal_common_scripts_variables', array()));
166 166
 }
167 167
 
168 168
 /**
@@ -175,31 +175,31 @@  discard block
 block discarded – undo
175 175
  *
176 176
  * @return array Associative array with ids as keys and feed titles as values.
177 177
  */
178
-function simcal_get_calendars( $exclude = '', $cached = true ) {
178
+function simcal_get_calendars($exclude = '', $cached = true) {
179 179
 
180
-	$calendars = get_transient( '_simple-calendar_feed_ids' );
180
+	$calendars = get_transient('_simple-calendar_feed_ids');
181 181
 
182
-	if ( ! $calendars || $cached === false ) {
182
+	if ( ! $calendars || $cached === false) {
183 183
 
184
-		$posts = get_posts( array(
184
+		$posts = get_posts(array(
185 185
 			'post_type' => 'calendar',
186 186
 			'nopaging'  => true,
187
-		) );
187
+		));
188 188
 
189 189
 		$calendars = array();
190
-		foreach ( $posts as $post ) {
191
-			$calendars[ $post->ID ] = $post->post_title;
190
+		foreach ($posts as $post) {
191
+			$calendars[$post->ID] = $post->post_title;
192 192
 		}
193
-		asort( $calendars );
193
+		asort($calendars);
194 194
 
195
-		set_transient( '_simple-calendar_feed_ids', $calendars, 604800 );
195
+		set_transient('_simple-calendar_feed_ids', $calendars, 604800);
196 196
 	}
197 197
 
198
-	if ( ! empty( $exclude ) ) {
199
-		if ( is_numeric( $exclude ) ) {
200
-			unset( $calendars[ intval( $exclude ) ] );
201
-		} elseif ( is_array( $exclude ) ) {
202
-			array_diff_key( $calendars, array_map( 'intval', array_keys( $exclude ) ) );
198
+	if ( ! empty($exclude)) {
199
+		if (is_numeric($exclude)) {
200
+			unset($calendars[intval($exclude)]);
201
+		} elseif (is_array($exclude)) {
202
+			array_diff_key($calendars, array_map('intval', array_keys($exclude)));
203 203
 		}
204 204
 	}
205 205
 
@@ -218,45 +218,45 @@  discard block
 block discarded – undo
218 218
  *
219 219
  * @return array
220 220
  */
221
-function simcal_get_calendar_names_i18n( $group, $style = 'full' ) {
221
+function simcal_get_calendar_names_i18n($group, $style = 'full') {
222 222
 
223 223
 	$names = array();
224 224
 
225
-	if ( in_array( $group, array( 'month', 'day', 'meridiem' ) ) ) {
225
+	if (in_array($group, array('month', 'day', 'meridiem'))) {
226 226
 
227 227
 		$format = '';
228 228
 		$length = 0;
229 229
 
230 230
 		$date = Carbon\Carbon::now();
231 231
 
232
-		if ( 'month' == $group ) {
233
-			$date->month( 0 )->startOfMonth();
232
+		if ('month' == $group) {
233
+			$date->month(0)->startOfMonth();
234 234
 			$format = 'short' == $style ? 'M' : 'F';
235 235
 			$length = 11;
236
-		} elseif ( 'day' == $group ) {
237
-			$date->next( 6 );
236
+		} elseif ('day' == $group) {
237
+			$date->next(6);
238 238
 			$format = 'short' == $style ? 'D' : 'l';
239 239
 			$length = 6;
240
-		} elseif ( 'meridiem' == $group ) {
240
+		} elseif ('meridiem' == $group) {
241 241
 			$date->startOfDay();
242
-			$am = $date->addHour( 1 )->getTimestamp();
243
-			$pm = $date->addHours( 13 )->getTimestamp();
242
+			$am = $date->addHour(1)->getTimestamp();
243
+			$pm = $date->addHours(13)->getTimestamp();
244 244
 			return array(
245
-				'AM' => date_i18n( 'A', $am ),
246
-				'am' => date_i18n( 'a', $am ),
247
-				'PM' => date_i18n( 'A', $pm ),
248
-				'pm' => date_i18n( 'a', $pm ),
245
+				'AM' => date_i18n('A', $am),
246
+				'am' => date_i18n('a', $am),
247
+				'PM' => date_i18n('A', $pm),
248
+				'pm' => date_i18n('a', $pm),
249 249
 			);
250 250
 		}
251 251
 
252 252
 		$i = 0;
253
-		while ( $i <= $length ) {
254
-			if ( 'month' == $group ) {
255
-				$date->addMonths( 1 );
253
+		while ($i <= $length) {
254
+			if ('month' == $group) {
255
+				$date->addMonths(1);
256 256
 			} else {
257
-				$date->addDays( 1 );
257
+				$date->addDays(1);
258 258
 			}
259
-			$names[ strval( $i ) ] = date_i18n( $format, $date->getTimestamp() );
259
+			$names[strval($i)] = date_i18n($format, $date->getTimestamp());
260 260
 			$i++;
261 261
 		}
262 262
 
@@ -274,15 +274,15 @@  discard block
 block discarded – undo
274 274
  */
275 275
 function simcal_default_event_template() {
276 276
 
277
-	$content  = '<strong>' . '[title]' . '</strong>';
277
+	$content  = '<strong>'.'[title]'.'</strong>';
278 278
 	$content .= "\n\n";
279
-	$content .= '[when]' . "\n";
279
+	$content .= '[when]'."\n";
280 280
 	$content .= '[location]';
281 281
 	$content .= "\n";
282
-	$content .= '<div>' . '[description]' . '</div>';
283
-	$content .= "\n" . '[link newwindow="yes"]' . __( 'See more details', 'google-calendar-events' ) . '[/link]';
282
+	$content .= '<div>'.'[description]'.'</div>';
283
+	$content .= "\n".'[link newwindow="yes"]'.__('See more details', 'google-calendar-events').'[/link]';
284 284
 
285
-	return apply_filters( 'simcal_default_event_template', $content );
285
+	return apply_filters('simcal_default_event_template', $content);
286 286
 }
287 287
 
288 288
 /**
@@ -297,21 +297,21 @@  discard block
 block discarded – undo
297 297
  *
298 298
  * @return array
299 299
  */
300
-function simcal_get_date_format_order( $date_format ) {
300
+function simcal_get_date_format_order($date_format) {
301 301
 
302 302
 	$pos = array(
303
-		'd' => strpos( $date_format, strpbrk( $date_format, 'Dj' ) ),
304
-		'm' => strpos( $date_format, strpbrk( $date_format, 'FMmn' ) ),
305
-		'y' => strpos( $date_format, strpbrk( $date_format, 'Yy' ) ),
303
+		'd' => strpos($date_format, strpbrk($date_format, 'Dj')),
304
+		'm' => strpos($date_format, strpbrk($date_format, 'FMmn')),
305
+		'y' => strpos($date_format, strpbrk($date_format, 'Yy')),
306 306
 	);
307 307
 
308 308
 	// @TODO When one date piece is not found, perhaps fallback to ISO standard position.
309 309
 
310 310
 	$order = array();
311
-	foreach ( $pos as $k => $v ) {
312
-		$order[ $k ] = $v;
311
+	foreach ($pos as $k => $v) {
312
+		$order[$k] = $v;
313 313
 	}
314
-	ksort( $order );
314
+	ksort($order);
315 315
 
316 316
 	return $order;
317 317
 }
@@ -327,11 +327,11 @@  discard block
 block discarded – undo
327 327
  */
328 328
 function simcal_get_wp_timezone() {
329 329
 
330
-	$timezone = get_option( 'timezone_string' );
330
+	$timezone = get_option('timezone_string');
331 331
 
332
-	if ( empty( $timezone ) ) {
333
-		$gmt = get_option( 'gmt_offset' );
334
-		$timezone = simcal_get_timezone_from_gmt_offset( $gmt );
332
+	if (empty($timezone)) {
333
+		$gmt = get_option('gmt_offset');
334
+		$timezone = simcal_get_timezone_from_gmt_offset($gmt);
335 335
 	}
336 336
 
337 337
 	return $timezone;
@@ -348,26 +348,26 @@  discard block
 block discarded – undo
348 348
  *
349 349
  * @return null|string
350 350
  */
351
-function simcal_get_timezone_from_gmt_offset( $offset ) {
351
+function simcal_get_timezone_from_gmt_offset($offset) {
352 352
 
353
-	if ( is_numeric( $offset ) ) {
353
+	if (is_numeric($offset)) {
354 354
 
355
-		if ( 0 === intval( $offset ) ) {
355
+		if (0 === intval($offset)) {
356 356
 			return 'UTC';
357 357
 		} else {
358
-			$offset = floatval( $offset ) * 3600;
358
+			$offset = floatval($offset) * 3600;
359 359
 		}
360 360
 
361
-		$timezone = timezone_name_from_abbr( null, $offset, false );
361
+		$timezone = timezone_name_from_abbr(null, $offset, false);
362 362
 		// This is buggy and might return false:
363 363
 		// @see http://php.net/manual/en/function.timezone-name-from-abbr.php#86928
364 364
 		// Therefore:
365
-		if ( false == $timezone ) {
365
+		if (false == $timezone) {
366 366
 
367 367
 			$list = timezone_abbreviations_list();
368
-			foreach ( $list as $abbr ) {
369
-				foreach ( $abbr as $city ) {
370
-					if ( $offset == $city['offset'] ) {
368
+			foreach ($list as $abbr) {
369
+				foreach ($abbr as $city) {
370
+					if ($offset == $city['offset']) {
371 371
 						return $city['timezone_id'];
372 372
 					}
373 373
 				}
@@ -390,8 +390,8 @@  discard block
 block discarded – undo
390 390
  *
391 391
  * @return int Unix time offset
392 392
  */
393
-function simcal_get_timezone_offset( $timezone ) {
394
-	return \Carbon\Carbon::now( $timezone )->offset;
393
+function simcal_get_timezone_offset($timezone) {
394
+	return \Carbon\Carbon::now($timezone)->offset;
395 395
 }
396 396
 
397 397
 /**
@@ -404,8 +404,8 @@  discard block
 block discarded – undo
404 404
  *
405 405
  * @return mixed|string
406 406
  */
407
-function simcal_esc_timezone( $tz, $default = 'UTC' ) {
408
-	return in_array( $tz, timezone_identifiers_list() ) ? $tz : $default;
407
+function simcal_esc_timezone($tz, $default = 'UTC') {
408
+	return in_array($tz, timezone_identifiers_list()) ? $tz : $default;
409 409
 }
410 410
 
411 411
 /**
@@ -417,57 +417,57 @@  discard block
 block discarded – undo
417 417
  *
418 418
  * @return bool
419 419
  */
420
-function simcal_delete_feed_transients( $id = '' ) {
420
+function simcal_delete_feed_transients($id = '') {
421 421
 
422
-	$grouped_ids = get_post_meta( $id, '_grouped_calendars_ids', true );
422
+	$grouped_ids = get_post_meta($id, '_grouped_calendars_ids', true);
423 423
 
424 424
 	// If there are group IDs we need to construct an array to pass along with the grouped IDs + the original $post_id
425
-	if ( is_array( $grouped_ids ) ) {
425
+	if (is_array($grouped_ids)) {
426 426
 		$temp_id = $id;
427 427
 		$id = $grouped_ids;
428 428
 		$id[] = $temp_id;
429 429
 	}
430 430
 
431
-	if ( is_numeric( $id ) ) {
432
-		$id = intval( $id ) > 0 ? absint( $id ) : simcal_get_calendars();
433
-	} elseif ( $id instanceof WP_Post ) {
431
+	if (is_numeric($id)) {
432
+		$id = intval($id) > 0 ? absint($id) : simcal_get_calendars();
433
+	} elseif ($id instanceof WP_Post) {
434 434
 		$id = $id->ID;
435
-	} elseif ( is_array( $id ) ) {
436
-		$id = array_map( 'absint', $id );
435
+	} elseif (is_array($id)) {
436
+		$id = array_map('absint', $id);
437 437
 	} else {
438
-		$id = simcal_get_calendars( '', true );
438
+		$id = simcal_get_calendars('', true);
439 439
 	}
440 440
 
441 441
 	$feed_types = simcal_get_feed_types();
442 442
 
443
-	if ( is_array( $id ) ) {
443
+	if (is_array($id)) {
444 444
 
445
-		$posts = get_posts( array(
445
+		$posts = get_posts(array(
446 446
 				'post_type' => 'calendar',
447 447
 				'fields'    => 'ids',
448 448
 				'post__in'  => $id,
449 449
 				'nopaging'  => true,
450
-		) );
450
+		));
451 451
 
452
-		foreach ( $posts as $post ) {
453
-			$calendar = simcal_get_calendar( $post );
454
-			if ( $calendar instanceof \SimpleCalendar\Abstracts\Calendar ) {
455
-				foreach ( $feed_types as $feed_type ) {
456
-					delete_transient( '_simple-calendar_feed_id_' . strval( $calendar->id ) . '_' . $feed_type );
452
+		foreach ($posts as $post) {
453
+			$calendar = simcal_get_calendar($post);
454
+			if ($calendar instanceof \SimpleCalendar\Abstracts\Calendar) {
455
+				foreach ($feed_types as $feed_type) {
456
+					delete_transient('_simple-calendar_feed_id_'.strval($calendar->id).'_'.$feed_type);
457 457
 				}
458 458
 			}
459 459
 		}
460 460
 
461 461
 	} else {
462 462
 
463
-		$post = get_post( $id );
464
-		$calendar = simcal_get_calendar( $post );
465
-		if ( $calendar instanceof \SimpleCalendar\Abstracts\Calendar ) {
466
-			foreach ( $feed_types as $feed_type ) {
467
-				delete_transient( '_simple-calendar_feed_id_' . strval( $calendar->id ) . '_' . $feed_type );
463
+		$post = get_post($id);
464
+		$calendar = simcal_get_calendar($post);
465
+		if ($calendar instanceof \SimpleCalendar\Abstracts\Calendar) {
466
+			foreach ($feed_types as $feed_type) {
467
+				delete_transient('_simple-calendar_feed_id_'.strval($calendar->id).'_'.$feed_type);
468 468
 			}
469 469
 		}
470 470
 	}
471 471
 
472
-	return delete_transient( '_simple-calendar_feed_ids' );
472
+	return delete_transient('_simple-calendar_feed_ids');
473 473
 }
474 474
\ No newline at end of file
Please login to merge, or discard this patch.
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -400,7 +400,7 @@
 block discarded – undo
400 400
  * @since  3.0.0
401 401
  *
402 402
  * @param  string $tz
403
- * @param  mixed  $default
403
+ * @param  string  $default
404 404
  *
405 405
  * @return mixed|string
406 406
  */
Please login to merge, or discard this patch.
google-calendar-events.php 1 patch
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -14,24 +14,24 @@  discard block
 block discarded – undo
14 14
  */
15 15
 
16 16
 // Exit if accessed directly.
17
-if ( ! defined( 'ABSPATH' ) ) {
17
+if ( ! defined('ABSPATH')) {
18 18
 	exit;
19 19
 }
20 20
 
21 21
 // Plugin constants.
22
-$this_plugin_path      = trailingslashit( dirname( __FILE__ ) );
23
-$this_plugin_dir       = plugin_dir_url( __FILE__ );
22
+$this_plugin_path      = trailingslashit(dirname(__FILE__));
23
+$this_plugin_dir       = plugin_dir_url(__FILE__);
24 24
 $this_plugin_constants = array(
25 25
 	'SIMPLE_CALENDAR_VERSION'   => '3.0.15',
26 26
 	'SIMPLE_CALENDAR_MAIN_FILE' => __FILE__,
27 27
 	'SIMPLE_CALENDAR_URL'       => $this_plugin_dir,
28
-	'SIMPLE_CALENDAR_ASSETS'    => $this_plugin_dir . 'assets/',
28
+	'SIMPLE_CALENDAR_ASSETS'    => $this_plugin_dir.'assets/',
29 29
 	'SIMPLE_CALENDAR_PATH'      => $this_plugin_path,
30
-	'SIMPLE_CALENDAR_INC'       => $this_plugin_path . 'includes/',
30
+	'SIMPLE_CALENDAR_INC'       => $this_plugin_path.'includes/',
31 31
 );
32
-foreach ( $this_plugin_constants as $constant => $value ) {
33
-	if ( ! defined( $constant ) ) {
34
-		define( $constant, $value );
32
+foreach ($this_plugin_constants as $constant => $value) {
33
+	if ( ! defined($constant)) {
34
+		define($constant, $value);
35 35
 	}
36 36
 }
37 37
 
@@ -40,7 +40,7 @@  discard block
 block discarded – undo
40 40
 include_once 'includes/wp-requirements.php';
41 41
 
42 42
 // Check plugin requirements before loading plugin.
43
-$this_plugin_checks = new SimCal_WP_Requirements( 'Simple Calendar', plugin_basename( __FILE__ ), array(
43
+$this_plugin_checks = new SimCal_WP_Requirements('Simple Calendar', plugin_basename(__FILE__), array(
44 44
 		'PHP'        => '5.3.3',
45 45
 		'WordPress'  => '4.1',
46 46
 		'Extensions' => array(
@@ -49,8 +49,8 @@  discard block
 block discarded – undo
49 49
 			'json',
50 50
 			'mbstring',
51 51
 		),
52
-	) );
53
-if ( $this_plugin_checks->pass() === false ) {
52
+	));
53
+if ($this_plugin_checks->pass() === false) {
54 54
 	$this_plugin_checks->halt();
55 55
 
56 56
 	return;
Please login to merge, or discard this patch.
includes/browser.php 3 patches
Indentation   +1211 added lines, -1211 removed lines patch added patch discarded remove patch
@@ -42,1214 +42,1214 @@
 block discarded – undo
42 42
 
43 43
 
44 44
 
45
-    class Browser
46
-    {
47
-        private $_agent = '';
48
-        private $_browser_name = '';
49
-        private $_version = '';
50
-        private $_platform = '';
51
-        private $_os = '';
52
-        private $_is_aol = false;
53
-        private $_is_mobile = false;
54
-        private $_is_tablet = false;
55
-        private $_is_robot = false;
56
-        private $_is_facebook = false;
57
-        private $_aol_version = '';
58
-
59
-        const BROWSER_UNKNOWN = 'unknown';
60
-        const VERSION_UNKNOWN = 'unknown';
61
-
62
-        const BROWSER_OPERA = 'Opera'; // http://www.opera.com/
63
-        const BROWSER_OPERA_MINI = 'Opera Mini'; // http://www.opera.com/mini/
64
-        const BROWSER_WEBTV = 'WebTV'; // http://www.webtv.net/pc/
65
-        const BROWSER_IE = 'Internet Explorer'; // http://www.microsoft.com/ie/
66
-        const BROWSER_POCKET_IE = 'Pocket Internet Explorer'; // http://en.wikipedia.org/wiki/Internet_Explorer_Mobile
67
-        const BROWSER_KONQUEROR = 'Konqueror'; // http://www.konqueror.org/
68
-        const BROWSER_ICAB = 'iCab'; // http://www.icab.de/
69
-        const BROWSER_OMNIWEB = 'OmniWeb'; // http://www.omnigroup.com/applications/omniweb/
70
-        const BROWSER_FIREBIRD = 'Firebird'; // http://www.ibphoenix.com/
71
-        const BROWSER_FIREFOX = 'Firefox'; // http://www.mozilla.com/en-US/firefox/firefox.html
72
-        const BROWSER_ICEWEASEL = 'Iceweasel'; // http://www.geticeweasel.org/
73
-        const BROWSER_SHIRETOKO = 'Shiretoko'; // http://wiki.mozilla.org/Projects/shiretoko
74
-        const BROWSER_MOZILLA = 'Mozilla'; // http://www.mozilla.com/en-US/
75
-        const BROWSER_AMAYA = 'Amaya'; // http://www.w3.org/Amaya/
76
-        const BROWSER_LYNX = 'Lynx'; // http://en.wikipedia.org/wiki/Lynx
77
-        const BROWSER_SAFARI = 'Safari'; // http://apple.com
78
-        const BROWSER_IPHONE = 'iPhone'; // http://apple.com
79
-        const BROWSER_IPOD = 'iPod'; // http://apple.com
80
-        const BROWSER_IPAD = 'iPad'; // http://apple.com
81
-        const BROWSER_CHROME = 'Chrome'; // http://www.google.com/chrome
82
-        const BROWSER_ANDROID = 'Android'; // http://www.android.com/
83
-        const BROWSER_GOOGLEBOT = 'GoogleBot'; // http://en.wikipedia.org/wiki/Googlebot
84
-        const BROWSER_SLURP = 'Yahoo! Slurp'; // http://en.wikipedia.org/wiki/Yahoo!_Slurp
85
-        const BROWSER_W3CVALIDATOR = 'W3C Validator'; // http://validator.w3.org/
86
-        const BROWSER_BLACKBERRY = 'BlackBerry'; // http://www.blackberry.com/
87
-        const BROWSER_ICECAT = 'IceCat'; // http://en.wikipedia.org/wiki/GNU_IceCat
88
-        const BROWSER_NOKIA_S60 = 'Nokia S60 OSS Browser'; // http://en.wikipedia.org/wiki/Web_Browser_for_S60
89
-        const BROWSER_NOKIA = 'Nokia Browser'; // * all other WAP-based browsers on the Nokia Platform
90
-        const BROWSER_MSN = 'MSN Browser'; // http://explorer.msn.com/
91
-        const BROWSER_MSNBOT = 'MSN Bot'; // http://search.msn.com/msnbot.htm
92
-        const BROWSER_BINGBOT = 'Bing Bot'; // http://en.wikipedia.org/wiki/Bingbot
93
-
94
-        const BROWSER_NETSCAPE_NAVIGATOR = 'Netscape Navigator'; // http://browser.netscape.com/ (DEPRECATED)
95
-        const BROWSER_GALEON = 'Galeon'; // http://galeon.sourceforge.net/ (DEPRECATED)
96
-        const BROWSER_NETPOSITIVE = 'NetPositive'; // http://en.wikipedia.org/wiki/NetPositive (DEPRECATED)
97
-        const BROWSER_PHOENIX = 'Phoenix'; // http://en.wikipedia.org/wiki/History_of_Mozilla_Firefox (DEPRECATED)
98
-
99
-        const PLATFORM_UNKNOWN = 'unknown';
100
-        const PLATFORM_WINDOWS = 'Windows';
101
-        const PLATFORM_WINDOWS_CE = 'Windows CE';
102
-        const PLATFORM_APPLE = 'Apple';
103
-        const PLATFORM_LINUX = 'Linux';
104
-        const PLATFORM_OS2 = 'OS/2';
105
-        const PLATFORM_BEOS = 'BeOS';
106
-        const PLATFORM_IPHONE = 'iPhone';
107
-        const PLATFORM_IPOD = 'iPod';
108
-        const PLATFORM_IPAD = 'iPad';
109
-        const PLATFORM_BLACKBERRY = 'BlackBerry';
110
-        const PLATFORM_NOKIA = 'Nokia';
111
-        const PLATFORM_FREEBSD = 'FreeBSD';
112
-        const PLATFORM_OPENBSD = 'OpenBSD';
113
-        const PLATFORM_NETBSD = 'NetBSD';
114
-        const PLATFORM_SUNOS = 'SunOS';
115
-        const PLATFORM_OPENSOLARIS = 'OpenSolaris';
116
-        const PLATFORM_ANDROID = 'Android';
117
-
118
-        const OPERATING_SYSTEM_UNKNOWN = 'unknown';
119
-
120
-        public function __construct($userAgent = "")
121
-        {
122
-            $this->reset();
123
-            if ($userAgent != "") {
124
-                $this->setUserAgent($userAgent);
125
-            } else {
126
-                $this->determine();
127
-            }
128
-        }
129
-
130
-        /**
131
-         * Reset all properties
132
-         */
133
-        public function reset()
134
-        {
135
-            $this->_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "";
136
-            $this->_browser_name = self::BROWSER_UNKNOWN;
137
-            $this->_version = self::VERSION_UNKNOWN;
138
-            $this->_platform = self::PLATFORM_UNKNOWN;
139
-            $this->_os = self::OPERATING_SYSTEM_UNKNOWN;
140
-            $this->_is_aol = false;
141
-            $this->_is_mobile = false;
142
-            $this->_is_tablet = false;
143
-            $this->_is_robot = false;
144
-            $this->_is_facebook = false;
145
-            $this->_aol_version = self::VERSION_UNKNOWN;
146
-        }
147
-
148
-        /**
149
-         * Check to see if the specific browser is valid
150
-         * @param string $browserName
151
-         * @return bool True if the browser is the specified browser
152
-         */
153
-        function isBrowser($browserName)
154
-        {
155
-            return (0 == strcasecmp($this->_browser_name, trim($browserName)));
156
-        }
157
-
158
-        /**
159
-         * The name of the browser.  All return types are from the class contants
160
-         * @return string Name of the browser
161
-         */
162
-        public function getBrowser()
163
-        {
164
-            return $this->_browser_name;
165
-        }
166
-
167
-        /**
168
-         * Set the name of the browser
169
-         * @param $browser string The name of the Browser
170
-         */
171
-        public function setBrowser($browser)
172
-        {
173
-            $this->_browser_name = $browser;
174
-        }
175
-
176
-        /**
177
-         * The name of the platform.  All return types are from the class contants
178
-         * @return string Name of the browser
179
-         */
180
-        public function getPlatform()
181
-        {
182
-            return $this->_platform;
183
-        }
184
-
185
-        /**
186
-         * Set the name of the platform
187
-         * @param string $platform The name of the Platform
188
-         */
189
-        public function setPlatform($platform)
190
-        {
191
-            $this->_platform = $platform;
192
-        }
193
-
194
-        /**
195
-         * The version of the browser.
196
-         * @return string Version of the browser (will only contain alpha-numeric characters and a period)
197
-         */
198
-        public function getVersion()
199
-        {
200
-            return $this->_version;
201
-        }
202
-
203
-        /**
204
-         * Set the version of the browser
205
-         * @param string $version The version of the Browser
206
-         */
207
-        public function setVersion($version)
208
-        {
209
-            $this->_version = preg_replace('/[^0-9,.,a-z,A-Z-]/', '', $version);
210
-        }
211
-
212
-        /**
213
-         * The version of AOL.
214
-         * @return string Version of AOL (will only contain alpha-numeric characters and a period)
215
-         */
216
-        public function getAolVersion()
217
-        {
218
-            return $this->_aol_version;
219
-        }
220
-
221
-        /**
222
-         * Set the version of AOL
223
-         * @param string $version The version of AOL
224
-         */
225
-        public function setAolVersion($version)
226
-        {
227
-            $this->_aol_version = preg_replace('/[^0-9,.,a-z,A-Z]/', '', $version);
228
-        }
229
-
230
-        /**
231
-         * Is the browser from AOL?
232
-         * @return boolean True if the browser is from AOL otherwise false
233
-         */
234
-        public function isAol()
235
-        {
236
-            return $this->_is_aol;
237
-        }
238
-
239
-        /**
240
-         * Is the browser from a mobile device?
241
-         * @return boolean True if the browser is from a mobile device otherwise false
242
-         */
243
-        public function isMobile()
244
-        {
245
-            return $this->_is_mobile;
246
-        }
247
-
248
-        /**
249
-         * Is the browser from a tablet device?
250
-         * @return boolean True if the browser is from a tablet device otherwise false
251
-         */
252
-        public function isTablet()
253
-        {
254
-            return $this->_is_tablet;
255
-        }
256
-
257
-        /**
258
-         * Is the browser from a robot (ex Slurp,GoogleBot)?
259
-         * @return boolean True if the browser is from a robot otherwise false
260
-         */
261
-        public function isRobot()
262
-        {
263
-            return $this->_is_robot;
264
-        }
265
-
266
-        /**
267
-         * Is the browser from facebook?
268
-         * @return boolean True if the browser is from facebook otherwise false
269
-         */
270
-        public function isFacebook()
271
-        {
272
-            return $this->_is_facebook;
273
-        }
274
-
275
-        /**
276
-         * Set the browser to be from AOL
277
-         * @param $isAol
278
-         */
279
-        public function setAol($isAol)
280
-        {
281
-            $this->_is_aol = $isAol;
282
-        }
283
-
284
-        /**
285
-         * Set the Browser to be mobile
286
-         * @param boolean $value is the browser a mobile browser or not
287
-         */
288
-        protected function setMobile($value = true)
289
-        {
290
-            $this->_is_mobile = $value;
291
-        }
292
-
293
-        /**
294
-         * Set the Browser to be tablet
295
-         * @param boolean $value is the browser a tablet browser or not
296
-         */
297
-        protected function setTablet($value = true)
298
-        {
299
-            $this->_is_tablet = $value;
300
-        }
301
-
302
-        /**
303
-         * Set the Browser to be a robot
304
-         * @param boolean $value is the browser a robot or not
305
-         */
306
-        protected function setRobot($value = true)
307
-        {
308
-            $this->_is_robot = $value;
309
-        }
310
-
311
-        /**
312
-         * Set the Browser to be a Facebook request
313
-         * @param boolean $value is the browser a robot or not
314
-         */
315
-        protected function setFacebook($value = true)
316
-        {
317
-            $this->_is_facebook = $value;
318
-        }
319
-
320
-        /**
321
-         * Get the user agent value in use to determine the browser
322
-         * @return string The user agent from the HTTP header
323
-         */
324
-        public function getUserAgent()
325
-        {
326
-            return $this->_agent;
327
-        }
328
-
329
-        /**
330
-         * Set the user agent value (the construction will use the HTTP header value - this will overwrite it)
331
-         * @param string $agent_string The value for the User Agent
332
-         */
333
-        public function setUserAgent($agent_string)
334
-        {
335
-            $this->reset();
336
-            $this->_agent = $agent_string;
337
-            $this->determine();
338
-        }
339
-
340
-        /**
341
-         * Used to determine if the browser is actually "chromeframe"
342
-         * @since 1.7
343
-         * @return boolean True if the browser is using chromeframe
344
-         */
345
-        public function isChromeFrame()
346
-        {
347
-            return (strpos($this->_agent, "chromeframe") !== false);
348
-        }
349
-
350
-        /**
351
-         * Returns a formatted string with a summary of the details of the browser.
352
-         * @return string formatted string with a summary of the browser
353
-         */
354
-        public function __toString()
355
-        {
356
-            return "<strong>Browser Name:</strong> {$this->getBrowser()}<br/>\n" .
357
-            "<strong>Browser Version:</strong> {$this->getVersion()}<br/>\n" .
358
-            "<strong>Browser User Agent String:</strong> {$this->getUserAgent()}<br/>\n" .
359
-            "<strong>Platform:</strong> {$this->getPlatform()}<br/>";
360
-        }
361
-
362
-        /**
363
-         * Protected routine to calculate and determine what the browser is in use (including platform)
364
-         */
365
-        protected function determine()
366
-        {
367
-            $this->checkPlatform();
368
-            $this->checkBrowsers();
369
-            $this->checkForAol();
370
-        }
371
-
372
-        /**
373
-         * Protected routine to determine the browser type
374
-         * @return boolean True if the browser was detected otherwise false
375
-         */
376
-        protected function checkBrowsers()
377
-        {
378
-            return (
379
-                // well-known, well-used
380
-                // Special Notes:
381
-                // (1) Opera must be checked before FireFox due to the odd
382
-                //     user agents used in some older versions of Opera
383
-                // (2) WebTV is strapped onto Internet Explorer so we must
384
-                //     check for WebTV before IE
385
-                // (3) (deprecated) Galeon is based on Firefox and needs to be
386
-                //     tested before Firefox is tested
387
-                // (4) OmniWeb is based on Safari so OmniWeb check must occur
388
-                //     before Safari
389
-                // (5) Netscape 9+ is based on Firefox so Netscape checks
390
-                //     before FireFox are necessary
391
-                $this->checkBrowserWebTv() ||
392
-                $this->checkBrowserInternetExplorer() ||
393
-                $this->checkBrowserOpera() ||
394
-                $this->checkBrowserGaleon() ||
395
-                $this->checkBrowserNetscapeNavigator9Plus() ||
396
-                $this->checkBrowserFirefox() ||
397
-                $this->checkBrowserChrome() ||
398
-                $this->checkBrowserOmniWeb() ||
399
-
400
-                // common mobile
401
-                $this->checkBrowserAndroid() ||
402
-                $this->checkBrowseriPad() ||
403
-                $this->checkBrowseriPod() ||
404
-                $this->checkBrowseriPhone() ||
405
-                $this->checkBrowserBlackBerry() ||
406
-                $this->checkBrowserNokia() ||
407
-
408
-                // common bots
409
-                $this->checkBrowserGoogleBot() ||
410
-                $this->checkBrowserMSNBot() ||
411
-                $this->checkBrowserBingBot() ||
412
-                $this->checkBrowserSlurp() ||
413
-
414
-                // check for facebook external hit when loading URL
415
-                $this->checkFacebookExternalHit() ||
416
-
417
-                // WebKit base check (post mobile and others)
418
-                $this->checkBrowserSafari() ||
419
-
420
-                // everyone else
421
-                $this->checkBrowserNetPositive() ||
422
-                $this->checkBrowserFirebird() ||
423
-                $this->checkBrowserKonqueror() ||
424
-                $this->checkBrowserIcab() ||
425
-                $this->checkBrowserPhoenix() ||
426
-                $this->checkBrowserAmaya() ||
427
-                $this->checkBrowserLynx() ||
428
-                $this->checkBrowserShiretoko() ||
429
-                $this->checkBrowserIceCat() ||
430
-                $this->checkBrowserIceweasel() ||
431
-                $this->checkBrowserW3CValidator() ||
432
-                $this->checkBrowserMozilla() /* Mozilla is such an open standard that you must check it last */
433
-            );
434
-        }
435
-
436
-        /**
437
-         * Determine if the user is using a BlackBerry (last updated 1.7)
438
-         * @return boolean True if the browser is the BlackBerry browser otherwise false
439
-         */
440
-        protected function checkBrowserBlackBerry()
441
-        {
442
-            if (stripos($this->_agent, 'blackberry') !== false) {
443
-                $aresult = explode("/", stristr($this->_agent, "BlackBerry"));
444
-                if (isset($aresult[1])) {
445
-                    $aversion = explode(' ', $aresult[1]);
446
-                    $this->setVersion($aversion[0]);
447
-                    $this->_browser_name = self::BROWSER_BLACKBERRY;
448
-                    $this->setMobile(true);
449
-                    return true;
450
-                }
451
-            }
452
-            return false;
453
-        }
454
-
455
-        /**
456
-         * Determine if the user is using an AOL User Agent (last updated 1.7)
457
-         * @return boolean True if the browser is from AOL otherwise false
458
-         */
459
-        protected function checkForAol()
460
-        {
461
-            $this->setAol(false);
462
-            $this->setAolVersion(self::VERSION_UNKNOWN);
463
-
464
-            if (stripos($this->_agent, 'aol') !== false) {
465
-                $aversion = explode(' ', stristr($this->_agent, 'AOL'));
466
-                if (isset($aversion[1])) {
467
-                    $this->setAol(true);
468
-                    $this->setAolVersion(preg_replace('/[^0-9\.a-z]/i', '', $aversion[1]));
469
-                    return true;
470
-                }
471
-            }
472
-            return false;
473
-        }
474
-
475
-        /**
476
-         * Determine if the browser is the GoogleBot or not (last updated 1.7)
477
-         * @return boolean True if the browser is the GoogletBot otherwise false
478
-         */
479
-        protected function checkBrowserGoogleBot()
480
-        {
481
-            if (stripos($this->_agent, 'googlebot') !== false) {
482
-                $aresult = explode('/', stristr($this->_agent, 'googlebot'));
483
-                if (isset($aresult[1])) {
484
-                    $aversion = explode(' ', $aresult[1]);
485
-                    $this->setVersion(str_replace(';', '', $aversion[0]));
486
-                    $this->_browser_name = self::BROWSER_GOOGLEBOT;
487
-                    $this->setRobot(true);
488
-                    return true;
489
-                }
490
-            }
491
-            return false;
492
-        }
493
-
494
-        /**
495
-         * Determine if the browser is the MSNBot or not (last updated 1.9)
496
-         * @return boolean True if the browser is the MSNBot otherwise false
497
-         */
498
-        protected function checkBrowserMSNBot()
499
-        {
500
-            if (stripos($this->_agent, "msnbot") !== false) {
501
-                $aresult = explode("/", stristr($this->_agent, "msnbot"));
502
-                if (isset($aresult[1])) {
503
-                    $aversion = explode(" ", $aresult[1]);
504
-                    $this->setVersion(str_replace(";", "", $aversion[0]));
505
-                    $this->_browser_name = self::BROWSER_MSNBOT;
506
-                    $this->setRobot(true);
507
-                    return true;
508
-                }
509
-            }
510
-            return false;
511
-        }
512
-
513
-        /**
514
-         * Determine if the browser is the BingBot or not (last updated 1.9)
515
-         * @return boolean True if the browser is the BingBot otherwise false
516
-         */
517
-        protected function checkBrowserBingBot()
518
-        {
519
-            if (stripos($this->_agent, "bingbot") !== false) {
520
-                $aresult = explode("/", stristr($this->_agent, "bingbot"));
521
-                if (isset($aresult[1])) {
522
-                    $aversion = explode(" ", $aresult[1]);
523
-                    $this->setVersion(str_replace(";", "", $aversion[0]));
524
-                    $this->_browser_name = self::BROWSER_BINGBOT;
525
-                    $this->setRobot(true);
526
-                    return true;
527
-                }
528
-            }
529
-            return false;
530
-        }
531
-
532
-        /**
533
-         * Determine if the browser is the W3C Validator or not (last updated 1.7)
534
-         * @return boolean True if the browser is the W3C Validator otherwise false
535
-         */
536
-        protected function checkBrowserW3CValidator()
537
-        {
538
-            if (stripos($this->_agent, 'W3C-checklink') !== false) {
539
-                $aresult = explode('/', stristr($this->_agent, 'W3C-checklink'));
540
-                if (isset($aresult[1])) {
541
-                    $aversion = explode(' ', $aresult[1]);
542
-                    $this->setVersion($aversion[0]);
543
-                    $this->_browser_name = self::BROWSER_W3CVALIDATOR;
544
-                    return true;
545
-                }
546
-            } else if (stripos($this->_agent, 'W3C_Validator') !== false) {
547
-                // Some of the Validator versions do not delineate w/ a slash - add it back in
548
-                $ua = str_replace("W3C_Validator ", "W3C_Validator/", $this->_agent);
549
-                $aresult = explode('/', stristr($ua, 'W3C_Validator'));
550
-                if (isset($aresult[1])) {
551
-                    $aversion = explode(' ', $aresult[1]);
552
-                    $this->setVersion($aversion[0]);
553
-                    $this->_browser_name = self::BROWSER_W3CVALIDATOR;
554
-                    return true;
555
-                }
556
-            } else if (stripos($this->_agent, 'W3C-mobileOK') !== false) {
557
-                $this->_browser_name = self::BROWSER_W3CVALIDATOR;
558
-                $this->setMobile(true);
559
-                return true;
560
-            }
561
-            return false;
562
-        }
563
-
564
-        /**
565
-         * Determine if the browser is the Yahoo! Slurp Robot or not (last updated 1.7)
566
-         * @return boolean True if the browser is the Yahoo! Slurp Robot otherwise false
567
-         */
568
-        protected function checkBrowserSlurp()
569
-        {
570
-            if (stripos($this->_agent, 'slurp') !== false) {
571
-                $aresult = explode('/', stristr($this->_agent, 'Slurp'));
572
-                if (isset($aresult[1])) {
573
-                    $aversion = explode(' ', $aresult[1]);
574
-                    $this->setVersion($aversion[0]);
575
-                    $this->_browser_name = self::BROWSER_SLURP;
576
-                    $this->setRobot(true);
577
-                    $this->setMobile(false);
578
-                    return true;
579
-                }
580
-            }
581
-            return false;
582
-        }
583
-
584
-        /**
585
-         * Determine if the browser is Internet Explorer or not (last updated 1.7)
586
-         * @return boolean True if the browser is Internet Explorer otherwise false
587
-         */
588
-        protected function checkBrowserInternetExplorer()
589
-        {
590
-            //  Test for IE11
591
-            if (stripos($this->_agent, 'Trident/7.0; rv:11.0') !== false) {
592
-                $this->setBrowser(self::BROWSER_IE);
593
-                $this->setVersion('11.0');
594
-                return true;
595
-            } // Test for v1 - v1.5 IE
596
-            else if (stripos($this->_agent, 'microsoft internet explorer') !== false) {
597
-                $this->setBrowser(self::BROWSER_IE);
598
-                $this->setVersion('1.0');
599
-                $aresult = stristr($this->_agent, '/');
600
-                if (preg_match('/308|425|426|474|0b1/i', $aresult)) {
601
-                    $this->setVersion('1.5');
602
-                }
603
-                return true;
604
-            } // Test for versions > 1.5
605
-            else if (stripos($this->_agent, 'msie') !== false && stripos($this->_agent, 'opera') === false) {
606
-                // See if the browser is the odd MSN Explorer
607
-                if (stripos($this->_agent, 'msnb') !== false) {
608
-                    $aresult = explode(' ', stristr(str_replace(';', '; ', $this->_agent), 'MSN'));
609
-                    if (isset($aresult[1])) {
610
-                        $this->setBrowser(self::BROWSER_MSN);
611
-                        $this->setVersion(str_replace(array('(', ')', ';'), '', $aresult[1]));
612
-                        return true;
613
-                    }
614
-                }
615
-                $aresult = explode(' ', stristr(str_replace(';', '; ', $this->_agent), 'msie'));
616
-                if (isset($aresult[1])) {
617
-                    $this->setBrowser(self::BROWSER_IE);
618
-                    $this->setVersion(str_replace(array('(', ')', ';'), '', $aresult[1]));
619
-                    if (stripos($this->_agent, 'IEMobile') !== false) {
620
-                        $this->setBrowser(self::BROWSER_POCKET_IE);
621
-                        $this->setMobile(true);
622
-                    }
623
-                    return true;
624
-                }
625
-            } // Test for versions > IE 10
626
-            else if (stripos($this->_agent, 'trident') !== false) {
627
-                $this->setBrowser(self::BROWSER_IE);
628
-                $result = explode('rv:', $this->_agent);
629
-                if (isset($result[1])) {
630
-                    $this->setVersion(preg_replace('/[^0-9.]+/', '', $result[1]));
631
-                    $this->_agent = str_replace(array("Mozilla", "Gecko"), "MSIE", $this->_agent);
632
-                }
633
-            } // Test for Pocket IE
634
-            else if (stripos($this->_agent, 'mspie') !== false || stripos($this->_agent, 'pocket') !== false) {
635
-                $aresult = explode(' ', stristr($this->_agent, 'mspie'));
636
-                if (isset($aresult[1])) {
637
-                    $this->setPlatform(self::PLATFORM_WINDOWS_CE);
638
-                    $this->setBrowser(self::BROWSER_POCKET_IE);
639
-                    $this->setMobile(true);
640
-
641
-                    if (stripos($this->_agent, 'mspie') !== false) {
642
-                        $this->setVersion($aresult[1]);
643
-                    } else {
644
-                        $aversion = explode('/', $this->_agent);
645
-                        if (isset($aversion[1])) {
646
-                            $this->setVersion($aversion[1]);
647
-                        }
648
-                    }
649
-                    return true;
650
-                }
651
-            }
652
-            return false;
653
-        }
654
-
655
-        /**
656
-         * Determine if the browser is Opera or not (last updated 1.7)
657
-         * @return boolean True if the browser is Opera otherwise false
658
-         */
659
-        protected function checkBrowserOpera()
660
-        {
661
-            if (stripos($this->_agent, 'opera mini') !== false) {
662
-                $resultant = stristr($this->_agent, 'opera mini');
663
-                if (preg_match('/\//', $resultant)) {
664
-                    $aresult = explode('/', $resultant);
665
-                    if (isset($aresult[1])) {
666
-                        $aversion = explode(' ', $aresult[1]);
667
-                        $this->setVersion($aversion[0]);
668
-                    }
669
-                } else {
670
-                    $aversion = explode(' ', stristr($resultant, 'opera mini'));
671
-                    if (isset($aversion[1])) {
672
-                        $this->setVersion($aversion[1]);
673
-                    }
674
-                }
675
-                $this->_browser_name = self::BROWSER_OPERA_MINI;
676
-                $this->setMobile(true);
677
-                return true;
678
-            } else if (stripos($this->_agent, 'opera') !== false) {
679
-                $resultant = stristr($this->_agent, 'opera');
680
-                if (preg_match('/Version\/(1*.*)$/', $resultant, $matches)) {
681
-                    $this->setVersion($matches[1]);
682
-                } else if (preg_match('/\//', $resultant)) {
683
-                    $aresult = explode('/', str_replace("(", " ", $resultant));
684
-                    if (isset($aresult[1])) {
685
-                        $aversion = explode(' ', $aresult[1]);
686
-                        $this->setVersion($aversion[0]);
687
-                    }
688
-                } else {
689
-                    $aversion = explode(' ', stristr($resultant, 'opera'));
690
-                    $this->setVersion(isset($aversion[1]) ? $aversion[1] : "");
691
-                }
692
-                if (stripos($this->_agent, 'Opera Mobi') !== false) {
693
-                    $this->setMobile(true);
694
-                }
695
-                $this->_browser_name = self::BROWSER_OPERA;
696
-                return true;
697
-            } else if (stripos($this->_agent, 'OPR') !== false) {
698
-                $resultant = stristr($this->_agent, 'OPR');
699
-                if (preg_match('/\//', $resultant)) {
700
-                    $aresult = explode('/', str_replace("(", " ", $resultant));
701
-                    if (isset($aresult[1])) {
702
-                        $aversion = explode(' ', $aresult[1]);
703
-                        $this->setVersion($aversion[0]);
704
-                    }
705
-                }
706
-                if (stripos($this->_agent, 'Mobile') !== false) {
707
-                    $this->setMobile(true);
708
-                }
709
-                $this->_browser_name = self::BROWSER_OPERA;
710
-                return true;
711
-            }
712
-            return false;
713
-        }
714
-
715
-        /**
716
-         * Determine if the browser is Chrome or not (last updated 1.7)
717
-         * @return boolean True if the browser is Chrome otherwise false
718
-         */
719
-        protected function checkBrowserChrome()
720
-        {
721
-            if (stripos($this->_agent, 'Chrome') !== false) {
722
-                $aresult = explode('/', stristr($this->_agent, 'Chrome'));
723
-                if (isset($aresult[1])) {
724
-                    $aversion = explode(' ', $aresult[1]);
725
-                    $this->setVersion($aversion[0]);
726
-                    $this->setBrowser(self::BROWSER_CHROME);
727
-                    //Chrome on Android
728
-                    if (stripos($this->_agent, 'Android') !== false) {
729
-                        if (stripos($this->_agent, 'Mobile') !== false) {
730
-                            $this->setMobile(true);
731
-                        } else {
732
-                            $this->setTablet(true);
733
-                        }
734
-                    }
735
-                    return true;
736
-                }
737
-            }
738
-            return false;
739
-        }
740
-
741
-
742
-        /**
743
-         * Determine if the browser is WebTv or not (last updated 1.7)
744
-         * @return boolean True if the browser is WebTv otherwise false
745
-         */
746
-        protected function checkBrowserWebTv()
747
-        {
748
-            if (stripos($this->_agent, 'webtv') !== false) {
749
-                $aresult = explode('/', stristr($this->_agent, 'webtv'));
750
-                if (isset($aresult[1])) {
751
-                    $aversion = explode(' ', $aresult[1]);
752
-                    $this->setVersion($aversion[0]);
753
-                    $this->setBrowser(self::BROWSER_WEBTV);
754
-                    return true;
755
-                }
756
-            }
757
-            return false;
758
-        }
759
-
760
-        /**
761
-         * Determine if the browser is NetPositive or not (last updated 1.7)
762
-         * @return boolean True if the browser is NetPositive otherwise false
763
-         */
764
-        protected function checkBrowserNetPositive()
765
-        {
766
-            if (stripos($this->_agent, 'NetPositive') !== false) {
767
-                $aresult = explode('/', stristr($this->_agent, 'NetPositive'));
768
-                if (isset($aresult[1])) {
769
-                    $aversion = explode(' ', $aresult[1]);
770
-                    $this->setVersion(str_replace(array('(', ')', ';'), '', $aversion[0]));
771
-                    $this->setBrowser(self::BROWSER_NETPOSITIVE);
772
-                    return true;
773
-                }
774
-            }
775
-            return false;
776
-        }
777
-
778
-        /**
779
-         * Determine if the browser is Galeon or not (last updated 1.7)
780
-         * @return boolean True if the browser is Galeon otherwise false
781
-         */
782
-        protected function checkBrowserGaleon()
783
-        {
784
-            if (stripos($this->_agent, 'galeon') !== false) {
785
-                $aresult = explode(' ', stristr($this->_agent, 'galeon'));
786
-                $aversion = explode('/', $aresult[0]);
787
-                if (isset($aversion[1])) {
788
-                    $this->setVersion($aversion[1]);
789
-                    $this->setBrowser(self::BROWSER_GALEON);
790
-                    return true;
791
-                }
792
-            }
793
-            return false;
794
-        }
795
-
796
-        /**
797
-         * Determine if the browser is Konqueror or not (last updated 1.7)
798
-         * @return boolean True if the browser is Konqueror otherwise false
799
-         */
800
-        protected function checkBrowserKonqueror()
801
-        {
802
-            if (stripos($this->_agent, 'Konqueror') !== false) {
803
-                $aresult = explode(' ', stristr($this->_agent, 'Konqueror'));
804
-                $aversion = explode('/', $aresult[0]);
805
-                if (isset($aversion[1])) {
806
-                    $this->setVersion($aversion[1]);
807
-                    $this->setBrowser(self::BROWSER_KONQUEROR);
808
-                    return true;
809
-                }
810
-            }
811
-            return false;
812
-        }
813
-
814
-        /**
815
-         * Determine if the browser is iCab or not (last updated 1.7)
816
-         * @return boolean True if the browser is iCab otherwise false
817
-         */
818
-        protected function checkBrowserIcab()
819
-        {
820
-            if (stripos($this->_agent, 'icab') !== false) {
821
-                $aversion = explode(' ', stristr(str_replace('/', ' ', $this->_agent), 'icab'));
822
-                if (isset($aversion[1])) {
823
-                    $this->setVersion($aversion[1]);
824
-                    $this->setBrowser(self::BROWSER_ICAB);
825
-                    return true;
826
-                }
827
-            }
828
-            return false;
829
-        }
830
-
831
-        /**
832
-         * Determine if the browser is OmniWeb or not (last updated 1.7)
833
-         * @return boolean True if the browser is OmniWeb otherwise false
834
-         */
835
-        protected function checkBrowserOmniWeb()
836
-        {
837
-            if (stripos($this->_agent, 'omniweb') !== false) {
838
-                $aresult = explode('/', stristr($this->_agent, 'omniweb'));
839
-                $aversion = explode(' ', isset($aresult[1]) ? $aresult[1] : "");
840
-                $this->setVersion($aversion[0]);
841
-                $this->setBrowser(self::BROWSER_OMNIWEB);
842
-                return true;
843
-            }
844
-            return false;
845
-        }
846
-
847
-        /**
848
-         * Determine if the browser is Phoenix or not (last updated 1.7)
849
-         * @return boolean True if the browser is Phoenix otherwise false
850
-         */
851
-        protected function checkBrowserPhoenix()
852
-        {
853
-            if (stripos($this->_agent, 'Phoenix') !== false) {
854
-                $aversion = explode('/', stristr($this->_agent, 'Phoenix'));
855
-                if (isset($aversion[1])) {
856
-                    $this->setVersion($aversion[1]);
857
-                    $this->setBrowser(self::BROWSER_PHOENIX);
858
-                    return true;
859
-                }
860
-            }
861
-            return false;
862
-        }
863
-
864
-        /**
865
-         * Determine if the browser is Firebird or not (last updated 1.7)
866
-         * @return boolean True if the browser is Firebird otherwise false
867
-         */
868
-        protected function checkBrowserFirebird()
869
-        {
870
-            if (stripos($this->_agent, 'Firebird') !== false) {
871
-                $aversion = explode('/', stristr($this->_agent, 'Firebird'));
872
-                if (isset($aversion[1])) {
873
-                    $this->setVersion($aversion[1]);
874
-                    $this->setBrowser(self::BROWSER_FIREBIRD);
875
-                    return true;
876
-                }
877
-            }
878
-            return false;
879
-        }
880
-
881
-        /**
882
-         * Determine if the browser is Netscape Navigator 9+ or not (last updated 1.7)
883
-         * NOTE: (http://browser.netscape.com/ - Official support ended on March 1st, 2008)
884
-         * @return boolean True if the browser is Netscape Navigator 9+ otherwise false
885
-         */
886
-        protected function checkBrowserNetscapeNavigator9Plus()
887
-        {
888
-            if (stripos($this->_agent, 'Firefox') !== false && preg_match('/Navigator\/([^ ]*)/i', $this->_agent, $matches)) {
889
-                $this->setVersion($matches[1]);
890
-                $this->setBrowser(self::BROWSER_NETSCAPE_NAVIGATOR);
891
-                return true;
892
-            } else if (stripos($this->_agent, 'Firefox') === false && preg_match('/Netscape6?\/([^ ]*)/i', $this->_agent, $matches)) {
893
-                $this->setVersion($matches[1]);
894
-                $this->setBrowser(self::BROWSER_NETSCAPE_NAVIGATOR);
895
-                return true;
896
-            }
897
-            return false;
898
-        }
899
-
900
-        /**
901
-         * Determine if the browser is Shiretoko or not (https://wiki.mozilla.org/Projects/shiretoko) (last updated 1.7)
902
-         * @return boolean True if the browser is Shiretoko otherwise false
903
-         */
904
-        protected function checkBrowserShiretoko()
905
-        {
906
-            if (stripos($this->_agent, 'Mozilla') !== false && preg_match('/Shiretoko\/([^ ]*)/i', $this->_agent, $matches)) {
907
-                $this->setVersion($matches[1]);
908
-                $this->setBrowser(self::BROWSER_SHIRETOKO);
909
-                return true;
910
-            }
911
-            return false;
912
-        }
913
-
914
-        /**
915
-         * Determine if the browser is Ice Cat or not (http://en.wikipedia.org/wiki/GNU_IceCat) (last updated 1.7)
916
-         * @return boolean True if the browser is Ice Cat otherwise false
917
-         */
918
-        protected function checkBrowserIceCat()
919
-        {
920
-            if (stripos($this->_agent, 'Mozilla') !== false && preg_match('/IceCat\/([^ ]*)/i', $this->_agent, $matches)) {
921
-                $this->setVersion($matches[1]);
922
-                $this->setBrowser(self::BROWSER_ICECAT);
923
-                return true;
924
-            }
925
-            return false;
926
-        }
927
-
928
-        /**
929
-         * Determine if the browser is Nokia or not (last updated 1.7)
930
-         * @return boolean True if the browser is Nokia otherwise false
931
-         */
932
-        protected function checkBrowserNokia()
933
-        {
934
-            if (preg_match("/Nokia([^\/]+)\/([^ SP]+)/i", $this->_agent, $matches)) {
935
-                $this->setVersion($matches[2]);
936
-                if (stripos($this->_agent, 'Series60') !== false || strpos($this->_agent, 'S60') !== false) {
937
-                    $this->setBrowser(self::BROWSER_NOKIA_S60);
938
-                } else {
939
-                    $this->setBrowser(self::BROWSER_NOKIA);
940
-                }
941
-                $this->setMobile(true);
942
-                return true;
943
-            }
944
-            return false;
945
-        }
946
-
947
-        /**
948
-         * Determine if the browser is Firefox or not (last updated 1.7)
949
-         * @return boolean True if the browser is Firefox otherwise false
950
-         */
951
-        protected function checkBrowserFirefox()
952
-        {
953
-            if (stripos($this->_agent, 'safari') === false) {
954
-                if (preg_match("/Firefox[\/ \(]([^ ;\)]+)/i", $this->_agent, $matches)) {
955
-                    $this->setVersion($matches[1]);
956
-                    $this->setBrowser(self::BROWSER_FIREFOX);
957
-                    //Firefox on Android
958
-                    if (stripos($this->_agent, 'Android') !== false) {
959
-                        if (stripos($this->_agent, 'Mobile') !== false) {
960
-                            $this->setMobile(true);
961
-                        } else {
962
-                            $this->setTablet(true);
963
-                        }
964
-                    }
965
-                    return true;
966
-                } else if (preg_match("/Firefox$/i", $this->_agent, $matches)) {
967
-                    $this->setVersion("");
968
-                    $this->setBrowser(self::BROWSER_FIREFOX);
969
-                    return true;
970
-                }
971
-            }
972
-            return false;
973
-        }
974
-
975
-        /**
976
-         * Determine if the browser is Firefox or not (last updated 1.7)
977
-         * @return boolean True if the browser is Firefox otherwise false
978
-         */
979
-        protected function checkBrowserIceweasel()
980
-        {
981
-            if (stripos($this->_agent, 'Iceweasel') !== false) {
982
-                $aresult = explode('/', stristr($this->_agent, 'Iceweasel'));
983
-                if (isset($aresult[1])) {
984
-                    $aversion = explode(' ', $aresult[1]);
985
-                    $this->setVersion($aversion[0]);
986
-                    $this->setBrowser(self::BROWSER_ICEWEASEL);
987
-                    return true;
988
-                }
989
-            }
990
-            return false;
991
-        }
992
-
993
-        /**
994
-         * Determine if the browser is Mozilla or not (last updated 1.7)
995
-         * @return boolean True if the browser is Mozilla otherwise false
996
-         */
997
-        protected function checkBrowserMozilla()
998
-        {
999
-            if (stripos($this->_agent, 'mozilla') !== false && preg_match('/rv:[0-9].[0-9][a-b]?/i', $this->_agent) && stripos($this->_agent, 'netscape') === false) {
1000
-                $aversion = explode(' ', stristr($this->_agent, 'rv:'));
1001
-                preg_match('/rv:[0-9].[0-9][a-b]?/i', $this->_agent, $aversion);
1002
-                $this->setVersion(str_replace('rv:', '', $aversion[0]));
1003
-                $this->setBrowser(self::BROWSER_MOZILLA);
1004
-                return true;
1005
-            } else if (stripos($this->_agent, 'mozilla') !== false && preg_match('/rv:[0-9]\.[0-9]/i', $this->_agent) && stripos($this->_agent, 'netscape') === false) {
1006
-                $aversion = explode('', stristr($this->_agent, 'rv:'));
1007
-                $this->setVersion(str_replace('rv:', '', $aversion[0]));
1008
-                $this->setBrowser(self::BROWSER_MOZILLA);
1009
-                return true;
1010
-            } else if (stripos($this->_agent, 'mozilla') !== false && preg_match('/mozilla\/([^ ]*)/i', $this->_agent, $matches) && stripos($this->_agent, 'netscape') === false) {
1011
-                $this->setVersion($matches[1]);
1012
-                $this->setBrowser(self::BROWSER_MOZILLA);
1013
-                return true;
1014
-            }
1015
-            return false;
1016
-        }
1017
-
1018
-        /**
1019
-         * Determine if the browser is Lynx or not (last updated 1.7)
1020
-         * @return boolean True if the browser is Lynx otherwise false
1021
-         */
1022
-        protected function checkBrowserLynx()
1023
-        {
1024
-            if (stripos($this->_agent, 'lynx') !== false) {
1025
-                $aresult = explode('/', stristr($this->_agent, 'Lynx'));
1026
-                $aversion = explode(' ', (isset($aresult[1]) ? $aresult[1] : ""));
1027
-                $this->setVersion($aversion[0]);
1028
-                $this->setBrowser(self::BROWSER_LYNX);
1029
-                return true;
1030
-            }
1031
-            return false;
1032
-        }
1033
-
1034
-        /**
1035
-         * Determine if the browser is Amaya or not (last updated 1.7)
1036
-         * @return boolean True if the browser is Amaya otherwise false
1037
-         */
1038
-        protected function checkBrowserAmaya()
1039
-        {
1040
-            if (stripos($this->_agent, 'amaya') !== false) {
1041
-                $aresult = explode('/', stristr($this->_agent, 'Amaya'));
1042
-                if (isset($aresult[1])) {
1043
-                    $aversion = explode(' ', $aresult[1]);
1044
-                    $this->setVersion($aversion[0]);
1045
-                    $this->setBrowser(self::BROWSER_AMAYA);
1046
-                    return true;
1047
-                }
1048
-            }
1049
-            return false;
1050
-        }
1051
-
1052
-        /**
1053
-         * Determine if the browser is Safari or not (last updated 1.7)
1054
-         * @return boolean True if the browser is Safari otherwise false
1055
-         */
1056
-        protected function checkBrowserSafari()
1057
-        {
1058
-            if (stripos($this->_agent, 'Safari') !== false
1059
-                && stripos($this->_agent, 'iPhone') === false
1060
-                && stripos($this->_agent, 'iPod') === false
1061
-            ) {
1062
-
1063
-                $aresult = explode('/', stristr($this->_agent, 'Version'));
1064
-                if (isset($aresult[1])) {
1065
-                    $aversion = explode(' ', $aresult[1]);
1066
-                    $this->setVersion($aversion[0]);
1067
-                } else {
1068
-                    $this->setVersion(self::VERSION_UNKNOWN);
1069
-                }
1070
-                $this->setBrowser(self::BROWSER_SAFARI);
1071
-                return true;
1072
-            }
1073
-            return false;
1074
-        }
1075
-
1076
-        /**
1077
-         * Detect if URL is loaded from FacebookExternalHit
1078
-         * @return boolean True if it detects FacebookExternalHit otherwise false
1079
-         */
1080
-        protected function checkFacebookExternalHit()
1081
-        {
1082
-            if (stristr($this->_agent, 'FacebookExternalHit')) {
1083
-                $this->setRobot(true);
1084
-                $this->setFacebook(true);
1085
-                return true;
1086
-            }
1087
-            return false;
1088
-        }
1089
-
1090
-        /**
1091
-         * Detect if URL is being loaded from internal Facebook browser
1092
-         * @return boolean True if it detects internal Facebook browser otherwise false
1093
-         */
1094
-        protected function checkForFacebookIos()
1095
-        {
1096
-            if (stristr($this->_agent, 'FBIOS')) {
1097
-                $this->setFacebook(true);
1098
-                return true;
1099
-            }
1100
-            return false;
1101
-        }
1102
-
1103
-        /**
1104
-         * Detect Version for the Safari browser on iOS devices
1105
-         * @return boolean True if it detects the version correctly otherwise false
1106
-         */
1107
-        protected function getSafariVersionOnIos()
1108
-        {
1109
-            $aresult = explode('/', stristr($this->_agent, 'Version'));
1110
-            if (isset($aresult[1])) {
1111
-                $aversion = explode(' ', $aresult[1]);
1112
-                $this->setVersion($aversion[0]);
1113
-                return true;
1114
-            }
1115
-            return false;
1116
-        }
1117
-
1118
-        /**
1119
-         * Detect Version for the Chrome browser on iOS devices
1120
-         * @return boolean True if it detects the version correctly otherwise false
1121
-         */
1122
-        protected function getChromeVersionOnIos()
1123
-        {
1124
-            $aresult = explode('/', stristr($this->_agent, 'CriOS'));
1125
-            if (isset($aresult[1])) {
1126
-                $aversion = explode(' ', $aresult[1]);
1127
-                $this->setVersion($aversion[0]);
1128
-                $this->setBrowser(self::BROWSER_CHROME);
1129
-                return true;
1130
-            }
1131
-            return false;
1132
-        }
1133
-
1134
-        /**
1135
-         * Determine if the browser is iPhone or not (last updated 1.7)
1136
-         * @return boolean True if the browser is iPhone otherwise false
1137
-         */
1138
-        protected function checkBrowseriPhone()
1139
-        {
1140
-            if (stripos($this->_agent, 'iPhone') !== false) {
1141
-                $this->setVersion(self::VERSION_UNKNOWN);
1142
-                $this->setBrowser(self::BROWSER_IPHONE);
1143
-                $this->getSafariVersionOnIos();
1144
-                $this->getChromeVersionOnIos();
1145
-                $this->checkForFacebookIos();
1146
-                $this->setMobile(true);
1147
-                return true;
1148
-            }
1149
-            return false;
1150
-        }
1151
-
1152
-        /**
1153
-         * Determine if the browser is iPad or not (last updated 1.7)
1154
-         * @return boolean True if the browser is iPad otherwise false
1155
-         */
1156
-        protected function checkBrowseriPad()
1157
-        {
1158
-            if (stripos($this->_agent, 'iPad') !== false) {
1159
-                $this->setVersion(self::VERSION_UNKNOWN);
1160
-                $this->setBrowser(self::BROWSER_IPAD);
1161
-                $this->getSafariVersionOnIos();
1162
-                $this->getChromeVersionOnIos();
1163
-                $this->checkForFacebookIos();
1164
-                $this->setTablet(true);
1165
-                return true;
1166
-            }
1167
-            return false;
1168
-        }
1169
-
1170
-        /**
1171
-         * Determine if the browser is iPod or not (last updated 1.7)
1172
-         * @return boolean True if the browser is iPod otherwise false
1173
-         */
1174
-        protected function checkBrowseriPod()
1175
-        {
1176
-            if (stripos($this->_agent, 'iPod') !== false) {
1177
-                $this->setVersion(self::VERSION_UNKNOWN);
1178
-                $this->setBrowser(self::BROWSER_IPOD);
1179
-                $this->getSafariVersionOnIos();
1180
-                $this->getChromeVersionOnIos();
1181
-                $this->checkForFacebookIos();
1182
-                $this->setMobile(true);
1183
-                return true;
1184
-            }
1185
-            return false;
1186
-        }
1187
-
1188
-        /**
1189
-         * Determine if the browser is Android or not (last updated 1.7)
1190
-         * @return boolean True if the browser is Android otherwise false
1191
-         */
1192
-        protected function checkBrowserAndroid()
1193
-        {
1194
-            if (stripos($this->_agent, 'Android') !== false) {
1195
-                $aresult = explode(' ', stristr($this->_agent, 'Android'));
1196
-                if (isset($aresult[1])) {
1197
-                    $aversion = explode(' ', $aresult[1]);
1198
-                    $this->setVersion($aversion[0]);
1199
-                } else {
1200
-                    $this->setVersion(self::VERSION_UNKNOWN);
1201
-                }
1202
-                if (stripos($this->_agent, 'Mobile') !== false) {
1203
-                    $this->setMobile(true);
1204
-                } else {
1205
-                    $this->setTablet(true);
1206
-                }
1207
-                $this->setBrowser(self::BROWSER_ANDROID);
1208
-                return true;
1209
-            }
1210
-            return false;
1211
-        }
1212
-
1213
-        /**
1214
-         * Determine the user's platform (last updated 1.7)
1215
-         */
1216
-        protected function checkPlatform()
1217
-        {
1218
-            if (stripos($this->_agent, 'windows') !== false) {
1219
-                $this->_platform = self::PLATFORM_WINDOWS;
1220
-            } else if (stripos($this->_agent, 'iPad') !== false) {
1221
-                $this->_platform = self::PLATFORM_IPAD;
1222
-            } else if (stripos($this->_agent, 'iPod') !== false) {
1223
-                $this->_platform = self::PLATFORM_IPOD;
1224
-            } else if (stripos($this->_agent, 'iPhone') !== false) {
1225
-                $this->_platform = self::PLATFORM_IPHONE;
1226
-            } elseif (stripos($this->_agent, 'mac') !== false) {
1227
-                $this->_platform = self::PLATFORM_APPLE;
1228
-            } elseif (stripos($this->_agent, 'android') !== false) {
1229
-                $this->_platform = self::PLATFORM_ANDROID;
1230
-            } elseif (stripos($this->_agent, 'linux') !== false) {
1231
-                $this->_platform = self::PLATFORM_LINUX;
1232
-            } else if (stripos($this->_agent, 'Nokia') !== false) {
1233
-                $this->_platform = self::PLATFORM_NOKIA;
1234
-            } else if (stripos($this->_agent, 'BlackBerry') !== false) {
1235
-                $this->_platform = self::PLATFORM_BLACKBERRY;
1236
-            } elseif (stripos($this->_agent, 'FreeBSD') !== false) {
1237
-                $this->_platform = self::PLATFORM_FREEBSD;
1238
-            } elseif (stripos($this->_agent, 'OpenBSD') !== false) {
1239
-                $this->_platform = self::PLATFORM_OPENBSD;
1240
-            } elseif (stripos($this->_agent, 'NetBSD') !== false) {
1241
-                $this->_platform = self::PLATFORM_NETBSD;
1242
-            } elseif (stripos($this->_agent, 'OpenSolaris') !== false) {
1243
-                $this->_platform = self::PLATFORM_OPENSOLARIS;
1244
-            } elseif (stripos($this->_agent, 'SunOS') !== false) {
1245
-                $this->_platform = self::PLATFORM_SUNOS;
1246
-            } elseif (stripos($this->_agent, 'OS\/2') !== false) {
1247
-                $this->_platform = self::PLATFORM_OS2;
1248
-            } elseif (stripos($this->_agent, 'BeOS') !== false) {
1249
-                $this->_platform = self::PLATFORM_BEOS;
1250
-            } elseif (stripos($this->_agent, 'win') !== false) {
1251
-                $this->_platform = self::PLATFORM_WINDOWS;
1252
-            }
1253
-
1254
-        }
1255
-    }
1256 45
\ No newline at end of file
46
+	class Browser
47
+	{
48
+		private $_agent = '';
49
+		private $_browser_name = '';
50
+		private $_version = '';
51
+		private $_platform = '';
52
+		private $_os = '';
53
+		private $_is_aol = false;
54
+		private $_is_mobile = false;
55
+		private $_is_tablet = false;
56
+		private $_is_robot = false;
57
+		private $_is_facebook = false;
58
+		private $_aol_version = '';
59
+
60
+		const BROWSER_UNKNOWN = 'unknown';
61
+		const VERSION_UNKNOWN = 'unknown';
62
+
63
+		const BROWSER_OPERA = 'Opera'; // http://www.opera.com/
64
+		const BROWSER_OPERA_MINI = 'Opera Mini'; // http://www.opera.com/mini/
65
+		const BROWSER_WEBTV = 'WebTV'; // http://www.webtv.net/pc/
66
+		const BROWSER_IE = 'Internet Explorer'; // http://www.microsoft.com/ie/
67
+		const BROWSER_POCKET_IE = 'Pocket Internet Explorer'; // http://en.wikipedia.org/wiki/Internet_Explorer_Mobile
68
+		const BROWSER_KONQUEROR = 'Konqueror'; // http://www.konqueror.org/
69
+		const BROWSER_ICAB = 'iCab'; // http://www.icab.de/
70
+		const BROWSER_OMNIWEB = 'OmniWeb'; // http://www.omnigroup.com/applications/omniweb/
71
+		const BROWSER_FIREBIRD = 'Firebird'; // http://www.ibphoenix.com/
72
+		const BROWSER_FIREFOX = 'Firefox'; // http://www.mozilla.com/en-US/firefox/firefox.html
73
+		const BROWSER_ICEWEASEL = 'Iceweasel'; // http://www.geticeweasel.org/
74
+		const BROWSER_SHIRETOKO = 'Shiretoko'; // http://wiki.mozilla.org/Projects/shiretoko
75
+		const BROWSER_MOZILLA = 'Mozilla'; // http://www.mozilla.com/en-US/
76
+		const BROWSER_AMAYA = 'Amaya'; // http://www.w3.org/Amaya/
77
+		const BROWSER_LYNX = 'Lynx'; // http://en.wikipedia.org/wiki/Lynx
78
+		const BROWSER_SAFARI = 'Safari'; // http://apple.com
79
+		const BROWSER_IPHONE = 'iPhone'; // http://apple.com
80
+		const BROWSER_IPOD = 'iPod'; // http://apple.com
81
+		const BROWSER_IPAD = 'iPad'; // http://apple.com
82
+		const BROWSER_CHROME = 'Chrome'; // http://www.google.com/chrome
83
+		const BROWSER_ANDROID = 'Android'; // http://www.android.com/
84
+		const BROWSER_GOOGLEBOT = 'GoogleBot'; // http://en.wikipedia.org/wiki/Googlebot
85
+		const BROWSER_SLURP = 'Yahoo! Slurp'; // http://en.wikipedia.org/wiki/Yahoo!_Slurp
86
+		const BROWSER_W3CVALIDATOR = 'W3C Validator'; // http://validator.w3.org/
87
+		const BROWSER_BLACKBERRY = 'BlackBerry'; // http://www.blackberry.com/
88
+		const BROWSER_ICECAT = 'IceCat'; // http://en.wikipedia.org/wiki/GNU_IceCat
89
+		const BROWSER_NOKIA_S60 = 'Nokia S60 OSS Browser'; // http://en.wikipedia.org/wiki/Web_Browser_for_S60
90
+		const BROWSER_NOKIA = 'Nokia Browser'; // * all other WAP-based browsers on the Nokia Platform
91
+		const BROWSER_MSN = 'MSN Browser'; // http://explorer.msn.com/
92
+		const BROWSER_MSNBOT = 'MSN Bot'; // http://search.msn.com/msnbot.htm
93
+		const BROWSER_BINGBOT = 'Bing Bot'; // http://en.wikipedia.org/wiki/Bingbot
94
+
95
+		const BROWSER_NETSCAPE_NAVIGATOR = 'Netscape Navigator'; // http://browser.netscape.com/ (DEPRECATED)
96
+		const BROWSER_GALEON = 'Galeon'; // http://galeon.sourceforge.net/ (DEPRECATED)
97
+		const BROWSER_NETPOSITIVE = 'NetPositive'; // http://en.wikipedia.org/wiki/NetPositive (DEPRECATED)
98
+		const BROWSER_PHOENIX = 'Phoenix'; // http://en.wikipedia.org/wiki/History_of_Mozilla_Firefox (DEPRECATED)
99
+
100
+		const PLATFORM_UNKNOWN = 'unknown';
101
+		const PLATFORM_WINDOWS = 'Windows';
102
+		const PLATFORM_WINDOWS_CE = 'Windows CE';
103
+		const PLATFORM_APPLE = 'Apple';
104
+		const PLATFORM_LINUX = 'Linux';
105
+		const PLATFORM_OS2 = 'OS/2';
106
+		const PLATFORM_BEOS = 'BeOS';
107
+		const PLATFORM_IPHONE = 'iPhone';
108
+		const PLATFORM_IPOD = 'iPod';
109
+		const PLATFORM_IPAD = 'iPad';
110
+		const PLATFORM_BLACKBERRY = 'BlackBerry';
111
+		const PLATFORM_NOKIA = 'Nokia';
112
+		const PLATFORM_FREEBSD = 'FreeBSD';
113
+		const PLATFORM_OPENBSD = 'OpenBSD';
114
+		const PLATFORM_NETBSD = 'NetBSD';
115
+		const PLATFORM_SUNOS = 'SunOS';
116
+		const PLATFORM_OPENSOLARIS = 'OpenSolaris';
117
+		const PLATFORM_ANDROID = 'Android';
118
+
119
+		const OPERATING_SYSTEM_UNKNOWN = 'unknown';
120
+
121
+		public function __construct($userAgent = "")
122
+		{
123
+			$this->reset();
124
+			if ($userAgent != "") {
125
+				$this->setUserAgent($userAgent);
126
+			} else {
127
+				$this->determine();
128
+			}
129
+		}
130
+
131
+		/**
132
+		 * Reset all properties
133
+		 */
134
+		public function reset()
135
+		{
136
+			$this->_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "";
137
+			$this->_browser_name = self::BROWSER_UNKNOWN;
138
+			$this->_version = self::VERSION_UNKNOWN;
139
+			$this->_platform = self::PLATFORM_UNKNOWN;
140
+			$this->_os = self::OPERATING_SYSTEM_UNKNOWN;
141
+			$this->_is_aol = false;
142
+			$this->_is_mobile = false;
143
+			$this->_is_tablet = false;
144
+			$this->_is_robot = false;
145
+			$this->_is_facebook = false;
146
+			$this->_aol_version = self::VERSION_UNKNOWN;
147
+		}
148
+
149
+		/**
150
+		 * Check to see if the specific browser is valid
151
+		 * @param string $browserName
152
+		 * @return bool True if the browser is the specified browser
153
+		 */
154
+		function isBrowser($browserName)
155
+		{
156
+			return (0 == strcasecmp($this->_browser_name, trim($browserName)));
157
+		}
158
+
159
+		/**
160
+		 * The name of the browser.  All return types are from the class contants
161
+		 * @return string Name of the browser
162
+		 */
163
+		public function getBrowser()
164
+		{
165
+			return $this->_browser_name;
166
+		}
167
+
168
+		/**
169
+		 * Set the name of the browser
170
+		 * @param $browser string The name of the Browser
171
+		 */
172
+		public function setBrowser($browser)
173
+		{
174
+			$this->_browser_name = $browser;
175
+		}
176
+
177
+		/**
178
+		 * The name of the platform.  All return types are from the class contants
179
+		 * @return string Name of the browser
180
+		 */
181
+		public function getPlatform()
182
+		{
183
+			return $this->_platform;
184
+		}
185
+
186
+		/**
187
+		 * Set the name of the platform
188
+		 * @param string $platform The name of the Platform
189
+		 */
190
+		public function setPlatform($platform)
191
+		{
192
+			$this->_platform = $platform;
193
+		}
194
+
195
+		/**
196
+		 * The version of the browser.
197
+		 * @return string Version of the browser (will only contain alpha-numeric characters and a period)
198
+		 */
199
+		public function getVersion()
200
+		{
201
+			return $this->_version;
202
+		}
203
+
204
+		/**
205
+		 * Set the version of the browser
206
+		 * @param string $version The version of the Browser
207
+		 */
208
+		public function setVersion($version)
209
+		{
210
+			$this->_version = preg_replace('/[^0-9,.,a-z,A-Z-]/', '', $version);
211
+		}
212
+
213
+		/**
214
+		 * The version of AOL.
215
+		 * @return string Version of AOL (will only contain alpha-numeric characters and a period)
216
+		 */
217
+		public function getAolVersion()
218
+		{
219
+			return $this->_aol_version;
220
+		}
221
+
222
+		/**
223
+		 * Set the version of AOL
224
+		 * @param string $version The version of AOL
225
+		 */
226
+		public function setAolVersion($version)
227
+		{
228
+			$this->_aol_version = preg_replace('/[^0-9,.,a-z,A-Z]/', '', $version);
229
+		}
230
+
231
+		/**
232
+		 * Is the browser from AOL?
233
+		 * @return boolean True if the browser is from AOL otherwise false
234
+		 */
235
+		public function isAol()
236
+		{
237
+			return $this->_is_aol;
238
+		}
239
+
240
+		/**
241
+		 * Is the browser from a mobile device?
242
+		 * @return boolean True if the browser is from a mobile device otherwise false
243
+		 */
244
+		public function isMobile()
245
+		{
246
+			return $this->_is_mobile;
247
+		}
248
+
249
+		/**
250
+		 * Is the browser from a tablet device?
251
+		 * @return boolean True if the browser is from a tablet device otherwise false
252
+		 */
253
+		public function isTablet()
254
+		{
255
+			return $this->_is_tablet;
256
+		}
257
+
258
+		/**
259
+		 * Is the browser from a robot (ex Slurp,GoogleBot)?
260
+		 * @return boolean True if the browser is from a robot otherwise false
261
+		 */
262
+		public function isRobot()
263
+		{
264
+			return $this->_is_robot;
265
+		}
266
+
267
+		/**
268
+		 * Is the browser from facebook?
269
+		 * @return boolean True if the browser is from facebook otherwise false
270
+		 */
271
+		public function isFacebook()
272
+		{
273
+			return $this->_is_facebook;
274
+		}
275
+
276
+		/**
277
+		 * Set the browser to be from AOL
278
+		 * @param $isAol
279
+		 */
280
+		public function setAol($isAol)
281
+		{
282
+			$this->_is_aol = $isAol;
283
+		}
284
+
285
+		/**
286
+		 * Set the Browser to be mobile
287
+		 * @param boolean $value is the browser a mobile browser or not
288
+		 */
289
+		protected function setMobile($value = true)
290
+		{
291
+			$this->_is_mobile = $value;
292
+		}
293
+
294
+		/**
295
+		 * Set the Browser to be tablet
296
+		 * @param boolean $value is the browser a tablet browser or not
297
+		 */
298
+		protected function setTablet($value = true)
299
+		{
300
+			$this->_is_tablet = $value;
301
+		}
302
+
303
+		/**
304
+		 * Set the Browser to be a robot
305
+		 * @param boolean $value is the browser a robot or not
306
+		 */
307
+		protected function setRobot($value = true)
308
+		{
309
+			$this->_is_robot = $value;
310
+		}
311
+
312
+		/**
313
+		 * Set the Browser to be a Facebook request
314
+		 * @param boolean $value is the browser a robot or not
315
+		 */
316
+		protected function setFacebook($value = true)
317
+		{
318
+			$this->_is_facebook = $value;
319
+		}
320
+
321
+		/**
322
+		 * Get the user agent value in use to determine the browser
323
+		 * @return string The user agent from the HTTP header
324
+		 */
325
+		public function getUserAgent()
326
+		{
327
+			return $this->_agent;
328
+		}
329
+
330
+		/**
331
+		 * Set the user agent value (the construction will use the HTTP header value - this will overwrite it)
332
+		 * @param string $agent_string The value for the User Agent
333
+		 */
334
+		public function setUserAgent($agent_string)
335
+		{
336
+			$this->reset();
337
+			$this->_agent = $agent_string;
338
+			$this->determine();
339
+		}
340
+
341
+		/**
342
+		 * Used to determine if the browser is actually "chromeframe"
343
+		 * @since 1.7
344
+		 * @return boolean True if the browser is using chromeframe
345
+		 */
346
+		public function isChromeFrame()
347
+		{
348
+			return (strpos($this->_agent, "chromeframe") !== false);
349
+		}
350
+
351
+		/**
352
+		 * Returns a formatted string with a summary of the details of the browser.
353
+		 * @return string formatted string with a summary of the browser
354
+		 */
355
+		public function __toString()
356
+		{
357
+			return "<strong>Browser Name:</strong> {$this->getBrowser()}<br/>\n" .
358
+			"<strong>Browser Version:</strong> {$this->getVersion()}<br/>\n" .
359
+			"<strong>Browser User Agent String:</strong> {$this->getUserAgent()}<br/>\n" .
360
+			"<strong>Platform:</strong> {$this->getPlatform()}<br/>";
361
+		}
362
+
363
+		/**
364
+		 * Protected routine to calculate and determine what the browser is in use (including platform)
365
+		 */
366
+		protected function determine()
367
+		{
368
+			$this->checkPlatform();
369
+			$this->checkBrowsers();
370
+			$this->checkForAol();
371
+		}
372
+
373
+		/**
374
+		 * Protected routine to determine the browser type
375
+		 * @return boolean True if the browser was detected otherwise false
376
+		 */
377
+		protected function checkBrowsers()
378
+		{
379
+			return (
380
+				// well-known, well-used
381
+				// Special Notes:
382
+				// (1) Opera must be checked before FireFox due to the odd
383
+				//     user agents used in some older versions of Opera
384
+				// (2) WebTV is strapped onto Internet Explorer so we must
385
+				//     check for WebTV before IE
386
+				// (3) (deprecated) Galeon is based on Firefox and needs to be
387
+				//     tested before Firefox is tested
388
+				// (4) OmniWeb is based on Safari so OmniWeb check must occur
389
+				//     before Safari
390
+				// (5) Netscape 9+ is based on Firefox so Netscape checks
391
+				//     before FireFox are necessary
392
+				$this->checkBrowserWebTv() ||
393
+				$this->checkBrowserInternetExplorer() ||
394
+				$this->checkBrowserOpera() ||
395
+				$this->checkBrowserGaleon() ||
396
+				$this->checkBrowserNetscapeNavigator9Plus() ||
397
+				$this->checkBrowserFirefox() ||
398
+				$this->checkBrowserChrome() ||
399
+				$this->checkBrowserOmniWeb() ||
400
+
401
+				// common mobile
402
+				$this->checkBrowserAndroid() ||
403
+				$this->checkBrowseriPad() ||
404
+				$this->checkBrowseriPod() ||
405
+				$this->checkBrowseriPhone() ||
406
+				$this->checkBrowserBlackBerry() ||
407
+				$this->checkBrowserNokia() ||
408
+
409
+				// common bots
410
+				$this->checkBrowserGoogleBot() ||
411
+				$this->checkBrowserMSNBot() ||
412
+				$this->checkBrowserBingBot() ||
413
+				$this->checkBrowserSlurp() ||
414
+
415
+				// check for facebook external hit when loading URL
416
+				$this->checkFacebookExternalHit() ||
417
+
418
+				// WebKit base check (post mobile and others)
419
+				$this->checkBrowserSafari() ||
420
+
421
+				// everyone else
422
+				$this->checkBrowserNetPositive() ||
423
+				$this->checkBrowserFirebird() ||
424
+				$this->checkBrowserKonqueror() ||
425
+				$this->checkBrowserIcab() ||
426
+				$this->checkBrowserPhoenix() ||
427
+				$this->checkBrowserAmaya() ||
428
+				$this->checkBrowserLynx() ||
429
+				$this->checkBrowserShiretoko() ||
430
+				$this->checkBrowserIceCat() ||
431
+				$this->checkBrowserIceweasel() ||
432
+				$this->checkBrowserW3CValidator() ||
433
+				$this->checkBrowserMozilla() /* Mozilla is such an open standard that you must check it last */
434
+			);
435
+		}
436
+
437
+		/**
438
+		 * Determine if the user is using a BlackBerry (last updated 1.7)
439
+		 * @return boolean True if the browser is the BlackBerry browser otherwise false
440
+		 */
441
+		protected function checkBrowserBlackBerry()
442
+		{
443
+			if (stripos($this->_agent, 'blackberry') !== false) {
444
+				$aresult = explode("/", stristr($this->_agent, "BlackBerry"));
445
+				if (isset($aresult[1])) {
446
+					$aversion = explode(' ', $aresult[1]);
447
+					$this->setVersion($aversion[0]);
448
+					$this->_browser_name = self::BROWSER_BLACKBERRY;
449
+					$this->setMobile(true);
450
+					return true;
451
+				}
452
+			}
453
+			return false;
454
+		}
455
+
456
+		/**
457
+		 * Determine if the user is using an AOL User Agent (last updated 1.7)
458
+		 * @return boolean True if the browser is from AOL otherwise false
459
+		 */
460
+		protected function checkForAol()
461
+		{
462
+			$this->setAol(false);
463
+			$this->setAolVersion(self::VERSION_UNKNOWN);
464
+
465
+			if (stripos($this->_agent, 'aol') !== false) {
466
+				$aversion = explode(' ', stristr($this->_agent, 'AOL'));
467
+				if (isset($aversion[1])) {
468
+					$this->setAol(true);
469
+					$this->setAolVersion(preg_replace('/[^0-9\.a-z]/i', '', $aversion[1]));
470
+					return true;
471
+				}
472
+			}
473
+			return false;
474
+		}
475
+
476
+		/**
477
+		 * Determine if the browser is the GoogleBot or not (last updated 1.7)
478
+		 * @return boolean True if the browser is the GoogletBot otherwise false
479
+		 */
480
+		protected function checkBrowserGoogleBot()
481
+		{
482
+			if (stripos($this->_agent, 'googlebot') !== false) {
483
+				$aresult = explode('/', stristr($this->_agent, 'googlebot'));
484
+				if (isset($aresult[1])) {
485
+					$aversion = explode(' ', $aresult[1]);
486
+					$this->setVersion(str_replace(';', '', $aversion[0]));
487
+					$this->_browser_name = self::BROWSER_GOOGLEBOT;
488
+					$this->setRobot(true);
489
+					return true;
490
+				}
491
+			}
492
+			return false;
493
+		}
494
+
495
+		/**
496
+		 * Determine if the browser is the MSNBot or not (last updated 1.9)
497
+		 * @return boolean True if the browser is the MSNBot otherwise false
498
+		 */
499
+		protected function checkBrowserMSNBot()
500
+		{
501
+			if (stripos($this->_agent, "msnbot") !== false) {
502
+				$aresult = explode("/", stristr($this->_agent, "msnbot"));
503
+				if (isset($aresult[1])) {
504
+					$aversion = explode(" ", $aresult[1]);
505
+					$this->setVersion(str_replace(";", "", $aversion[0]));
506
+					$this->_browser_name = self::BROWSER_MSNBOT;
507
+					$this->setRobot(true);
508
+					return true;
509
+				}
510
+			}
511
+			return false;
512
+		}
513
+
514
+		/**
515
+		 * Determine if the browser is the BingBot or not (last updated 1.9)
516
+		 * @return boolean True if the browser is the BingBot otherwise false
517
+		 */
518
+		protected function checkBrowserBingBot()
519
+		{
520
+			if (stripos($this->_agent, "bingbot") !== false) {
521
+				$aresult = explode("/", stristr($this->_agent, "bingbot"));
522
+				if (isset($aresult[1])) {
523
+					$aversion = explode(" ", $aresult[1]);
524
+					$this->setVersion(str_replace(";", "", $aversion[0]));
525
+					$this->_browser_name = self::BROWSER_BINGBOT;
526
+					$this->setRobot(true);
527
+					return true;
528
+				}
529
+			}
530
+			return false;
531
+		}
532
+
533
+		/**
534
+		 * Determine if the browser is the W3C Validator or not (last updated 1.7)
535
+		 * @return boolean True if the browser is the W3C Validator otherwise false
536
+		 */
537
+		protected function checkBrowserW3CValidator()
538
+		{
539
+			if (stripos($this->_agent, 'W3C-checklink') !== false) {
540
+				$aresult = explode('/', stristr($this->_agent, 'W3C-checklink'));
541
+				if (isset($aresult[1])) {
542
+					$aversion = explode(' ', $aresult[1]);
543
+					$this->setVersion($aversion[0]);
544
+					$this->_browser_name = self::BROWSER_W3CVALIDATOR;
545
+					return true;
546
+				}
547
+			} else if (stripos($this->_agent, 'W3C_Validator') !== false) {
548
+				// Some of the Validator versions do not delineate w/ a slash - add it back in
549
+				$ua = str_replace("W3C_Validator ", "W3C_Validator/", $this->_agent);
550
+				$aresult = explode('/', stristr($ua, 'W3C_Validator'));
551
+				if (isset($aresult[1])) {
552
+					$aversion = explode(' ', $aresult[1]);
553
+					$this->setVersion($aversion[0]);
554
+					$this->_browser_name = self::BROWSER_W3CVALIDATOR;
555
+					return true;
556
+				}
557
+			} else if (stripos($this->_agent, 'W3C-mobileOK') !== false) {
558
+				$this->_browser_name = self::BROWSER_W3CVALIDATOR;
559
+				$this->setMobile(true);
560
+				return true;
561
+			}
562
+			return false;
563
+		}
564
+
565
+		/**
566
+		 * Determine if the browser is the Yahoo! Slurp Robot or not (last updated 1.7)
567
+		 * @return boolean True if the browser is the Yahoo! Slurp Robot otherwise false
568
+		 */
569
+		protected function checkBrowserSlurp()
570
+		{
571
+			if (stripos($this->_agent, 'slurp') !== false) {
572
+				$aresult = explode('/', stristr($this->_agent, 'Slurp'));
573
+				if (isset($aresult[1])) {
574
+					$aversion = explode(' ', $aresult[1]);
575
+					$this->setVersion($aversion[0]);
576
+					$this->_browser_name = self::BROWSER_SLURP;
577
+					$this->setRobot(true);
578
+					$this->setMobile(false);
579
+					return true;
580
+				}
581
+			}
582
+			return false;
583
+		}
584
+
585
+		/**
586
+		 * Determine if the browser is Internet Explorer or not (last updated 1.7)
587
+		 * @return boolean True if the browser is Internet Explorer otherwise false
588
+		 */
589
+		protected function checkBrowserInternetExplorer()
590
+		{
591
+			//  Test for IE11
592
+			if (stripos($this->_agent, 'Trident/7.0; rv:11.0') !== false) {
593
+				$this->setBrowser(self::BROWSER_IE);
594
+				$this->setVersion('11.0');
595
+				return true;
596
+			} // Test for v1 - v1.5 IE
597
+			else if (stripos($this->_agent, 'microsoft internet explorer') !== false) {
598
+				$this->setBrowser(self::BROWSER_IE);
599
+				$this->setVersion('1.0');
600
+				$aresult = stristr($this->_agent, '/');
601
+				if (preg_match('/308|425|426|474|0b1/i', $aresult)) {
602
+					$this->setVersion('1.5');
603
+				}
604
+				return true;
605
+			} // Test for versions > 1.5
606
+			else if (stripos($this->_agent, 'msie') !== false && stripos($this->_agent, 'opera') === false) {
607
+				// See if the browser is the odd MSN Explorer
608
+				if (stripos($this->_agent, 'msnb') !== false) {
609
+					$aresult = explode(' ', stristr(str_replace(';', '; ', $this->_agent), 'MSN'));
610
+					if (isset($aresult[1])) {
611
+						$this->setBrowser(self::BROWSER_MSN);
612
+						$this->setVersion(str_replace(array('(', ')', ';'), '', $aresult[1]));
613
+						return true;
614
+					}
615
+				}
616
+				$aresult = explode(' ', stristr(str_replace(';', '; ', $this->_agent), 'msie'));
617
+				if (isset($aresult[1])) {
618
+					$this->setBrowser(self::BROWSER_IE);
619
+					$this->setVersion(str_replace(array('(', ')', ';'), '', $aresult[1]));
620
+					if (stripos($this->_agent, 'IEMobile') !== false) {
621
+						$this->setBrowser(self::BROWSER_POCKET_IE);
622
+						$this->setMobile(true);
623
+					}
624
+					return true;
625
+				}
626
+			} // Test for versions > IE 10
627
+			else if (stripos($this->_agent, 'trident') !== false) {
628
+				$this->setBrowser(self::BROWSER_IE);
629
+				$result = explode('rv:', $this->_agent);
630
+				if (isset($result[1])) {
631
+					$this->setVersion(preg_replace('/[^0-9.]+/', '', $result[1]));
632
+					$this->_agent = str_replace(array("Mozilla", "Gecko"), "MSIE", $this->_agent);
633
+				}
634
+			} // Test for Pocket IE
635
+			else if (stripos($this->_agent, 'mspie') !== false || stripos($this->_agent, 'pocket') !== false) {
636
+				$aresult = explode(' ', stristr($this->_agent, 'mspie'));
637
+				if (isset($aresult[1])) {
638
+					$this->setPlatform(self::PLATFORM_WINDOWS_CE);
639
+					$this->setBrowser(self::BROWSER_POCKET_IE);
640
+					$this->setMobile(true);
641
+
642
+					if (stripos($this->_agent, 'mspie') !== false) {
643
+						$this->setVersion($aresult[1]);
644
+					} else {
645
+						$aversion = explode('/', $this->_agent);
646
+						if (isset($aversion[1])) {
647
+							$this->setVersion($aversion[1]);
648
+						}
649
+					}
650
+					return true;
651
+				}
652
+			}
653
+			return false;
654
+		}
655
+
656
+		/**
657
+		 * Determine if the browser is Opera or not (last updated 1.7)
658
+		 * @return boolean True if the browser is Opera otherwise false
659
+		 */
660
+		protected function checkBrowserOpera()
661
+		{
662
+			if (stripos($this->_agent, 'opera mini') !== false) {
663
+				$resultant = stristr($this->_agent, 'opera mini');
664
+				if (preg_match('/\//', $resultant)) {
665
+					$aresult = explode('/', $resultant);
666
+					if (isset($aresult[1])) {
667
+						$aversion = explode(' ', $aresult[1]);
668
+						$this->setVersion($aversion[0]);
669
+					}
670
+				} else {
671
+					$aversion = explode(' ', stristr($resultant, 'opera mini'));
672
+					if (isset($aversion[1])) {
673
+						$this->setVersion($aversion[1]);
674
+					}
675
+				}
676
+				$this->_browser_name = self::BROWSER_OPERA_MINI;
677
+				$this->setMobile(true);
678
+				return true;
679
+			} else if (stripos($this->_agent, 'opera') !== false) {
680
+				$resultant = stristr($this->_agent, 'opera');
681
+				if (preg_match('/Version\/(1*.*)$/', $resultant, $matches)) {
682
+					$this->setVersion($matches[1]);
683
+				} else if (preg_match('/\//', $resultant)) {
684
+					$aresult = explode('/', str_replace("(", " ", $resultant));
685
+					if (isset($aresult[1])) {
686
+						$aversion = explode(' ', $aresult[1]);
687
+						$this->setVersion($aversion[0]);
688
+					}
689
+				} else {
690
+					$aversion = explode(' ', stristr($resultant, 'opera'));
691
+					$this->setVersion(isset($aversion[1]) ? $aversion[1] : "");
692
+				}
693
+				if (stripos($this->_agent, 'Opera Mobi') !== false) {
694
+					$this->setMobile(true);
695
+				}
696
+				$this->_browser_name = self::BROWSER_OPERA;
697
+				return true;
698
+			} else if (stripos($this->_agent, 'OPR') !== false) {
699
+				$resultant = stristr($this->_agent, 'OPR');
700
+				if (preg_match('/\//', $resultant)) {
701
+					$aresult = explode('/', str_replace("(", " ", $resultant));
702
+					if (isset($aresult[1])) {
703
+						$aversion = explode(' ', $aresult[1]);
704
+						$this->setVersion($aversion[0]);
705
+					}
706
+				}
707
+				if (stripos($this->_agent, 'Mobile') !== false) {
708
+					$this->setMobile(true);
709
+				}
710
+				$this->_browser_name = self::BROWSER_OPERA;
711
+				return true;
712
+			}
713
+			return false;
714
+		}
715
+
716
+		/**
717
+		 * Determine if the browser is Chrome or not (last updated 1.7)
718
+		 * @return boolean True if the browser is Chrome otherwise false
719
+		 */
720
+		protected function checkBrowserChrome()
721
+		{
722
+			if (stripos($this->_agent, 'Chrome') !== false) {
723
+				$aresult = explode('/', stristr($this->_agent, 'Chrome'));
724
+				if (isset($aresult[1])) {
725
+					$aversion = explode(' ', $aresult[1]);
726
+					$this->setVersion($aversion[0]);
727
+					$this->setBrowser(self::BROWSER_CHROME);
728
+					//Chrome on Android
729
+					if (stripos($this->_agent, 'Android') !== false) {
730
+						if (stripos($this->_agent, 'Mobile') !== false) {
731
+							$this->setMobile(true);
732
+						} else {
733
+							$this->setTablet(true);
734
+						}
735
+					}
736
+					return true;
737
+				}
738
+			}
739
+			return false;
740
+		}
741
+
742
+
743
+		/**
744
+		 * Determine if the browser is WebTv or not (last updated 1.7)
745
+		 * @return boolean True if the browser is WebTv otherwise false
746
+		 */
747
+		protected function checkBrowserWebTv()
748
+		{
749
+			if (stripos($this->_agent, 'webtv') !== false) {
750
+				$aresult = explode('/', stristr($this->_agent, 'webtv'));
751
+				if (isset($aresult[1])) {
752
+					$aversion = explode(' ', $aresult[1]);
753
+					$this->setVersion($aversion[0]);
754
+					$this->setBrowser(self::BROWSER_WEBTV);
755
+					return true;
756
+				}
757
+			}
758
+			return false;
759
+		}
760
+
761
+		/**
762
+		 * Determine if the browser is NetPositive or not (last updated 1.7)
763
+		 * @return boolean True if the browser is NetPositive otherwise false
764
+		 */
765
+		protected function checkBrowserNetPositive()
766
+		{
767
+			if (stripos($this->_agent, 'NetPositive') !== false) {
768
+				$aresult = explode('/', stristr($this->_agent, 'NetPositive'));
769
+				if (isset($aresult[1])) {
770
+					$aversion = explode(' ', $aresult[1]);
771
+					$this->setVersion(str_replace(array('(', ')', ';'), '', $aversion[0]));
772
+					$this->setBrowser(self::BROWSER_NETPOSITIVE);
773
+					return true;
774
+				}
775
+			}
776
+			return false;
777
+		}
778
+
779
+		/**
780
+		 * Determine if the browser is Galeon or not (last updated 1.7)
781
+		 * @return boolean True if the browser is Galeon otherwise false
782
+		 */
783
+		protected function checkBrowserGaleon()
784
+		{
785
+			if (stripos($this->_agent, 'galeon') !== false) {
786
+				$aresult = explode(' ', stristr($this->_agent, 'galeon'));
787
+				$aversion = explode('/', $aresult[0]);
788
+				if (isset($aversion[1])) {
789
+					$this->setVersion($aversion[1]);
790
+					$this->setBrowser(self::BROWSER_GALEON);
791
+					return true;
792
+				}
793
+			}
794
+			return false;
795
+		}
796
+
797
+		/**
798
+		 * Determine if the browser is Konqueror or not (last updated 1.7)
799
+		 * @return boolean True if the browser is Konqueror otherwise false
800
+		 */
801
+		protected function checkBrowserKonqueror()
802
+		{
803
+			if (stripos($this->_agent, 'Konqueror') !== false) {
804
+				$aresult = explode(' ', stristr($this->_agent, 'Konqueror'));
805
+				$aversion = explode('/', $aresult[0]);
806
+				if (isset($aversion[1])) {
807
+					$this->setVersion($aversion[1]);
808
+					$this->setBrowser(self::BROWSER_KONQUEROR);
809
+					return true;
810
+				}
811
+			}
812
+			return false;
813
+		}
814
+
815
+		/**
816
+		 * Determine if the browser is iCab or not (last updated 1.7)
817
+		 * @return boolean True if the browser is iCab otherwise false
818
+		 */
819
+		protected function checkBrowserIcab()
820
+		{
821
+			if (stripos($this->_agent, 'icab') !== false) {
822
+				$aversion = explode(' ', stristr(str_replace('/', ' ', $this->_agent), 'icab'));
823
+				if (isset($aversion[1])) {
824
+					$this->setVersion($aversion[1]);
825
+					$this->setBrowser(self::BROWSER_ICAB);
826
+					return true;
827
+				}
828
+			}
829
+			return false;
830
+		}
831
+
832
+		/**
833
+		 * Determine if the browser is OmniWeb or not (last updated 1.7)
834
+		 * @return boolean True if the browser is OmniWeb otherwise false
835
+		 */
836
+		protected function checkBrowserOmniWeb()
837
+		{
838
+			if (stripos($this->_agent, 'omniweb') !== false) {
839
+				$aresult = explode('/', stristr($this->_agent, 'omniweb'));
840
+				$aversion = explode(' ', isset($aresult[1]) ? $aresult[1] : "");
841
+				$this->setVersion($aversion[0]);
842
+				$this->setBrowser(self::BROWSER_OMNIWEB);
843
+				return true;
844
+			}
845
+			return false;
846
+		}
847
+
848
+		/**
849
+		 * Determine if the browser is Phoenix or not (last updated 1.7)
850
+		 * @return boolean True if the browser is Phoenix otherwise false
851
+		 */
852
+		protected function checkBrowserPhoenix()
853
+		{
854
+			if (stripos($this->_agent, 'Phoenix') !== false) {
855
+				$aversion = explode('/', stristr($this->_agent, 'Phoenix'));
856
+				if (isset($aversion[1])) {
857
+					$this->setVersion($aversion[1]);
858
+					$this->setBrowser(self::BROWSER_PHOENIX);
859
+					return true;
860
+				}
861
+			}
862
+			return false;
863
+		}
864
+
865
+		/**
866
+		 * Determine if the browser is Firebird or not (last updated 1.7)
867
+		 * @return boolean True if the browser is Firebird otherwise false
868
+		 */
869
+		protected function checkBrowserFirebird()
870
+		{
871
+			if (stripos($this->_agent, 'Firebird') !== false) {
872
+				$aversion = explode('/', stristr($this->_agent, 'Firebird'));
873
+				if (isset($aversion[1])) {
874
+					$this->setVersion($aversion[1]);
875
+					$this->setBrowser(self::BROWSER_FIREBIRD);
876
+					return true;
877
+				}
878
+			}
879
+			return false;
880
+		}
881
+
882
+		/**
883
+		 * Determine if the browser is Netscape Navigator 9+ or not (last updated 1.7)
884
+		 * NOTE: (http://browser.netscape.com/ - Official support ended on March 1st, 2008)
885
+		 * @return boolean True if the browser is Netscape Navigator 9+ otherwise false
886
+		 */
887
+		protected function checkBrowserNetscapeNavigator9Plus()
888
+		{
889
+			if (stripos($this->_agent, 'Firefox') !== false && preg_match('/Navigator\/([^ ]*)/i', $this->_agent, $matches)) {
890
+				$this->setVersion($matches[1]);
891
+				$this->setBrowser(self::BROWSER_NETSCAPE_NAVIGATOR);
892
+				return true;
893
+			} else if (stripos($this->_agent, 'Firefox') === false && preg_match('/Netscape6?\/([^ ]*)/i', $this->_agent, $matches)) {
894
+				$this->setVersion($matches[1]);
895
+				$this->setBrowser(self::BROWSER_NETSCAPE_NAVIGATOR);
896
+				return true;
897
+			}
898
+			return false;
899
+		}
900
+
901
+		/**
902
+		 * Determine if the browser is Shiretoko or not (https://wiki.mozilla.org/Projects/shiretoko) (last updated 1.7)
903
+		 * @return boolean True if the browser is Shiretoko otherwise false
904
+		 */
905
+		protected function checkBrowserShiretoko()
906
+		{
907
+			if (stripos($this->_agent, 'Mozilla') !== false && preg_match('/Shiretoko\/([^ ]*)/i', $this->_agent, $matches)) {
908
+				$this->setVersion($matches[1]);
909
+				$this->setBrowser(self::BROWSER_SHIRETOKO);
910
+				return true;
911
+			}
912
+			return false;
913
+		}
914
+
915
+		/**
916
+		 * Determine if the browser is Ice Cat or not (http://en.wikipedia.org/wiki/GNU_IceCat) (last updated 1.7)
917
+		 * @return boolean True if the browser is Ice Cat otherwise false
918
+		 */
919
+		protected function checkBrowserIceCat()
920
+		{
921
+			if (stripos($this->_agent, 'Mozilla') !== false && preg_match('/IceCat\/([^ ]*)/i', $this->_agent, $matches)) {
922
+				$this->setVersion($matches[1]);
923
+				$this->setBrowser(self::BROWSER_ICECAT);
924
+				return true;
925
+			}
926
+			return false;
927
+		}
928
+
929
+		/**
930
+		 * Determine if the browser is Nokia or not (last updated 1.7)
931
+		 * @return boolean True if the browser is Nokia otherwise false
932
+		 */
933
+		protected function checkBrowserNokia()
934
+		{
935
+			if (preg_match("/Nokia([^\/]+)\/([^ SP]+)/i", $this->_agent, $matches)) {
936
+				$this->setVersion($matches[2]);
937
+				if (stripos($this->_agent, 'Series60') !== false || strpos($this->_agent, 'S60') !== false) {
938
+					$this->setBrowser(self::BROWSER_NOKIA_S60);
939
+				} else {
940
+					$this->setBrowser(self::BROWSER_NOKIA);
941
+				}
942
+				$this->setMobile(true);
943
+				return true;
944
+			}
945
+			return false;
946
+		}
947
+
948
+		/**
949
+		 * Determine if the browser is Firefox or not (last updated 1.7)
950
+		 * @return boolean True if the browser is Firefox otherwise false
951
+		 */
952
+		protected function checkBrowserFirefox()
953
+		{
954
+			if (stripos($this->_agent, 'safari') === false) {
955
+				if (preg_match("/Firefox[\/ \(]([^ ;\)]+)/i", $this->_agent, $matches)) {
956
+					$this->setVersion($matches[1]);
957
+					$this->setBrowser(self::BROWSER_FIREFOX);
958
+					//Firefox on Android
959
+					if (stripos($this->_agent, 'Android') !== false) {
960
+						if (stripos($this->_agent, 'Mobile') !== false) {
961
+							$this->setMobile(true);
962
+						} else {
963
+							$this->setTablet(true);
964
+						}
965
+					}
966
+					return true;
967
+				} else if (preg_match("/Firefox$/i", $this->_agent, $matches)) {
968
+					$this->setVersion("");
969
+					$this->setBrowser(self::BROWSER_FIREFOX);
970
+					return true;
971
+				}
972
+			}
973
+			return false;
974
+		}
975
+
976
+		/**
977
+		 * Determine if the browser is Firefox or not (last updated 1.7)
978
+		 * @return boolean True if the browser is Firefox otherwise false
979
+		 */
980
+		protected function checkBrowserIceweasel()
981
+		{
982
+			if (stripos($this->_agent, 'Iceweasel') !== false) {
983
+				$aresult = explode('/', stristr($this->_agent, 'Iceweasel'));
984
+				if (isset($aresult[1])) {
985
+					$aversion = explode(' ', $aresult[1]);
986
+					$this->setVersion($aversion[0]);
987
+					$this->setBrowser(self::BROWSER_ICEWEASEL);
988
+					return true;
989
+				}
990
+			}
991
+			return false;
992
+		}
993
+
994
+		/**
995
+		 * Determine if the browser is Mozilla or not (last updated 1.7)
996
+		 * @return boolean True if the browser is Mozilla otherwise false
997
+		 */
998
+		protected function checkBrowserMozilla()
999
+		{
1000
+			if (stripos($this->_agent, 'mozilla') !== false && preg_match('/rv:[0-9].[0-9][a-b]?/i', $this->_agent) && stripos($this->_agent, 'netscape') === false) {
1001
+				$aversion = explode(' ', stristr($this->_agent, 'rv:'));
1002
+				preg_match('/rv:[0-9].[0-9][a-b]?/i', $this->_agent, $aversion);
1003
+				$this->setVersion(str_replace('rv:', '', $aversion[0]));
1004
+				$this->setBrowser(self::BROWSER_MOZILLA);
1005
+				return true;
1006
+			} else if (stripos($this->_agent, 'mozilla') !== false && preg_match('/rv:[0-9]\.[0-9]/i', $this->_agent) && stripos($this->_agent, 'netscape') === false) {
1007
+				$aversion = explode('', stristr($this->_agent, 'rv:'));
1008
+				$this->setVersion(str_replace('rv:', '', $aversion[0]));
1009
+				$this->setBrowser(self::BROWSER_MOZILLA);
1010
+				return true;
1011
+			} else if (stripos($this->_agent, 'mozilla') !== false && preg_match('/mozilla\/([^ ]*)/i', $this->_agent, $matches) && stripos($this->_agent, 'netscape') === false) {
1012
+				$this->setVersion($matches[1]);
1013
+				$this->setBrowser(self::BROWSER_MOZILLA);
1014
+				return true;
1015
+			}
1016
+			return false;
1017
+		}
1018
+
1019
+		/**
1020
+		 * Determine if the browser is Lynx or not (last updated 1.7)
1021
+		 * @return boolean True if the browser is Lynx otherwise false
1022
+		 */
1023
+		protected function checkBrowserLynx()
1024
+		{
1025
+			if (stripos($this->_agent, 'lynx') !== false) {
1026
+				$aresult = explode('/', stristr($this->_agent, 'Lynx'));
1027
+				$aversion = explode(' ', (isset($aresult[1]) ? $aresult[1] : ""));
1028
+				$this->setVersion($aversion[0]);
1029
+				$this->setBrowser(self::BROWSER_LYNX);
1030
+				return true;
1031
+			}
1032
+			return false;
1033
+		}
1034
+
1035
+		/**
1036
+		 * Determine if the browser is Amaya or not (last updated 1.7)
1037
+		 * @return boolean True if the browser is Amaya otherwise false
1038
+		 */
1039
+		protected function checkBrowserAmaya()
1040
+		{
1041
+			if (stripos($this->_agent, 'amaya') !== false) {
1042
+				$aresult = explode('/', stristr($this->_agent, 'Amaya'));
1043
+				if (isset($aresult[1])) {
1044
+					$aversion = explode(' ', $aresult[1]);
1045
+					$this->setVersion($aversion[0]);
1046
+					$this->setBrowser(self::BROWSER_AMAYA);
1047
+					return true;
1048
+				}
1049
+			}
1050
+			return false;
1051
+		}
1052
+
1053
+		/**
1054
+		 * Determine if the browser is Safari or not (last updated 1.7)
1055
+		 * @return boolean True if the browser is Safari otherwise false
1056
+		 */
1057
+		protected function checkBrowserSafari()
1058
+		{
1059
+			if (stripos($this->_agent, 'Safari') !== false
1060
+				&& stripos($this->_agent, 'iPhone') === false
1061
+				&& stripos($this->_agent, 'iPod') === false
1062
+			) {
1063
+
1064
+				$aresult = explode('/', stristr($this->_agent, 'Version'));
1065
+				if (isset($aresult[1])) {
1066
+					$aversion = explode(' ', $aresult[1]);
1067
+					$this->setVersion($aversion[0]);
1068
+				} else {
1069
+					$this->setVersion(self::VERSION_UNKNOWN);
1070
+				}
1071
+				$this->setBrowser(self::BROWSER_SAFARI);
1072
+				return true;
1073
+			}
1074
+			return false;
1075
+		}
1076
+
1077
+		/**
1078
+		 * Detect if URL is loaded from FacebookExternalHit
1079
+		 * @return boolean True if it detects FacebookExternalHit otherwise false
1080
+		 */
1081
+		protected function checkFacebookExternalHit()
1082
+		{
1083
+			if (stristr($this->_agent, 'FacebookExternalHit')) {
1084
+				$this->setRobot(true);
1085
+				$this->setFacebook(true);
1086
+				return true;
1087
+			}
1088
+			return false;
1089
+		}
1090
+
1091
+		/**
1092
+		 * Detect if URL is being loaded from internal Facebook browser
1093
+		 * @return boolean True if it detects internal Facebook browser otherwise false
1094
+		 */
1095
+		protected function checkForFacebookIos()
1096
+		{
1097
+			if (stristr($this->_agent, 'FBIOS')) {
1098
+				$this->setFacebook(true);
1099
+				return true;
1100
+			}
1101
+			return false;
1102
+		}
1103
+
1104
+		/**
1105
+		 * Detect Version for the Safari browser on iOS devices
1106
+		 * @return boolean True if it detects the version correctly otherwise false
1107
+		 */
1108
+		protected function getSafariVersionOnIos()
1109
+		{
1110
+			$aresult = explode('/', stristr($this->_agent, 'Version'));
1111
+			if (isset($aresult[1])) {
1112
+				$aversion = explode(' ', $aresult[1]);
1113
+				$this->setVersion($aversion[0]);
1114
+				return true;
1115
+			}
1116
+			return false;
1117
+		}
1118
+
1119
+		/**
1120
+		 * Detect Version for the Chrome browser on iOS devices
1121
+		 * @return boolean True if it detects the version correctly otherwise false
1122
+		 */
1123
+		protected function getChromeVersionOnIos()
1124
+		{
1125
+			$aresult = explode('/', stristr($this->_agent, 'CriOS'));
1126
+			if (isset($aresult[1])) {
1127
+				$aversion = explode(' ', $aresult[1]);
1128
+				$this->setVersion($aversion[0]);
1129
+				$this->setBrowser(self::BROWSER_CHROME);
1130
+				return true;
1131
+			}
1132
+			return false;
1133
+		}
1134
+
1135
+		/**
1136
+		 * Determine if the browser is iPhone or not (last updated 1.7)
1137
+		 * @return boolean True if the browser is iPhone otherwise false
1138
+		 */
1139
+		protected function checkBrowseriPhone()
1140
+		{
1141
+			if (stripos($this->_agent, 'iPhone') !== false) {
1142
+				$this->setVersion(self::VERSION_UNKNOWN);
1143
+				$this->setBrowser(self::BROWSER_IPHONE);
1144
+				$this->getSafariVersionOnIos();
1145
+				$this->getChromeVersionOnIos();
1146
+				$this->checkForFacebookIos();
1147
+				$this->setMobile(true);
1148
+				return true;
1149
+			}
1150
+			return false;
1151
+		}
1152
+
1153
+		/**
1154
+		 * Determine if the browser is iPad or not (last updated 1.7)
1155
+		 * @return boolean True if the browser is iPad otherwise false
1156
+		 */
1157
+		protected function checkBrowseriPad()
1158
+		{
1159
+			if (stripos($this->_agent, 'iPad') !== false) {
1160
+				$this->setVersion(self::VERSION_UNKNOWN);
1161
+				$this->setBrowser(self::BROWSER_IPAD);
1162
+				$this->getSafariVersionOnIos();
1163
+				$this->getChromeVersionOnIos();
1164
+				$this->checkForFacebookIos();
1165
+				$this->setTablet(true);
1166
+				return true;
1167
+			}
1168
+			return false;
1169
+		}
1170
+
1171
+		/**
1172
+		 * Determine if the browser is iPod or not (last updated 1.7)
1173
+		 * @return boolean True if the browser is iPod otherwise false
1174
+		 */
1175
+		protected function checkBrowseriPod()
1176
+		{
1177
+			if (stripos($this->_agent, 'iPod') !== false) {
1178
+				$this->setVersion(self::VERSION_UNKNOWN);
1179
+				$this->setBrowser(self::BROWSER_IPOD);
1180
+				$this->getSafariVersionOnIos();
1181
+				$this->getChromeVersionOnIos();
1182
+				$this->checkForFacebookIos();
1183
+				$this->setMobile(true);
1184
+				return true;
1185
+			}
1186
+			return false;
1187
+		}
1188
+
1189
+		/**
1190
+		 * Determine if the browser is Android or not (last updated 1.7)
1191
+		 * @return boolean True if the browser is Android otherwise false
1192
+		 */
1193
+		protected function checkBrowserAndroid()
1194
+		{
1195
+			if (stripos($this->_agent, 'Android') !== false) {
1196
+				$aresult = explode(' ', stristr($this->_agent, 'Android'));
1197
+				if (isset($aresult[1])) {
1198
+					$aversion = explode(' ', $aresult[1]);
1199
+					$this->setVersion($aversion[0]);
1200
+				} else {
1201
+					$this->setVersion(self::VERSION_UNKNOWN);
1202
+				}
1203
+				if (stripos($this->_agent, 'Mobile') !== false) {
1204
+					$this->setMobile(true);
1205
+				} else {
1206
+					$this->setTablet(true);
1207
+				}
1208
+				$this->setBrowser(self::BROWSER_ANDROID);
1209
+				return true;
1210
+			}
1211
+			return false;
1212
+		}
1213
+
1214
+		/**
1215
+		 * Determine the user's platform (last updated 1.7)
1216
+		 */
1217
+		protected function checkPlatform()
1218
+		{
1219
+			if (stripos($this->_agent, 'windows') !== false) {
1220
+				$this->_platform = self::PLATFORM_WINDOWS;
1221
+			} else if (stripos($this->_agent, 'iPad') !== false) {
1222
+				$this->_platform = self::PLATFORM_IPAD;
1223
+			} else if (stripos($this->_agent, 'iPod') !== false) {
1224
+				$this->_platform = self::PLATFORM_IPOD;
1225
+			} else if (stripos($this->_agent, 'iPhone') !== false) {
1226
+				$this->_platform = self::PLATFORM_IPHONE;
1227
+			} elseif (stripos($this->_agent, 'mac') !== false) {
1228
+				$this->_platform = self::PLATFORM_APPLE;
1229
+			} elseif (stripos($this->_agent, 'android') !== false) {
1230
+				$this->_platform = self::PLATFORM_ANDROID;
1231
+			} elseif (stripos($this->_agent, 'linux') !== false) {
1232
+				$this->_platform = self::PLATFORM_LINUX;
1233
+			} else if (stripos($this->_agent, 'Nokia') !== false) {
1234
+				$this->_platform = self::PLATFORM_NOKIA;
1235
+			} else if (stripos($this->_agent, 'BlackBerry') !== false) {
1236
+				$this->_platform = self::PLATFORM_BLACKBERRY;
1237
+			} elseif (stripos($this->_agent, 'FreeBSD') !== false) {
1238
+				$this->_platform = self::PLATFORM_FREEBSD;
1239
+			} elseif (stripos($this->_agent, 'OpenBSD') !== false) {
1240
+				$this->_platform = self::PLATFORM_OPENBSD;
1241
+			} elseif (stripos($this->_agent, 'NetBSD') !== false) {
1242
+				$this->_platform = self::PLATFORM_NETBSD;
1243
+			} elseif (stripos($this->_agent, 'OpenSolaris') !== false) {
1244
+				$this->_platform = self::PLATFORM_OPENSOLARIS;
1245
+			} elseif (stripos($this->_agent, 'SunOS') !== false) {
1246
+				$this->_platform = self::PLATFORM_SUNOS;
1247
+			} elseif (stripos($this->_agent, 'OS\/2') !== false) {
1248
+				$this->_platform = self::PLATFORM_OS2;
1249
+			} elseif (stripos($this->_agent, 'BeOS') !== false) {
1250
+				$this->_platform = self::PLATFORM_BEOS;
1251
+			} elseif (stripos($this->_agent, 'win') !== false) {
1252
+				$this->_platform = self::PLATFORM_WINDOWS;
1253
+			}
1254
+
1255
+		}
1256
+	}
1257 1257
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -353,9 +353,9 @@
 block discarded – undo
353 353
          */
354 354
         public function __toString()
355 355
         {
356
-            return "<strong>Browser Name:</strong> {$this->getBrowser()}<br/>\n" .
357
-            "<strong>Browser Version:</strong> {$this->getVersion()}<br/>\n" .
358
-            "<strong>Browser User Agent String:</strong> {$this->getUserAgent()}<br/>\n" .
356
+            return "<strong>Browser Name:</strong> {$this->getBrowser()}<br/>\n".
357
+            "<strong>Browser Version:</strong> {$this->getVersion()}<br/>\n".
358
+            "<strong>Browser User Agent String:</strong> {$this->getUserAgent()}<br/>\n".
359 359
             "<strong>Platform:</strong> {$this->getPlatform()}<br/>";
360 360
         }
361 361
 
Please login to merge, or discard this patch.
Doc Comments   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -166,7 +166,7 @@  discard block
 block discarded – undo
166 166
 
167 167
         /**
168 168
          * Set the name of the browser
169
-         * @param $browser string The name of the Browser
169
+         * @param string $browser string The name of the Browser
170 170
          */
171 171
         public function setBrowser($browser)
172 172
         {
@@ -274,7 +274,7 @@  discard block
 block discarded – undo
274 274
 
275 275
         /**
276 276
          * Set the browser to be from AOL
277
-         * @param $isAol
277
+         * @param boolean $isAol
278 278
          */
279 279
         public function setAol($isAol)
280 280
         {
Please login to merge, or discard this patch.