Version Description
- Released on 07/27/2022
- Updated wording for 'Stats Prefix'
- Allow some HTML tags in descriptions in the PowerPress Network section
Download this release
Release Info
Developer | benbeecroft |
Plugin | PowerPress Podcasting plugin by Blubrry |
Version | 9.1.3 |
Comparing to | |
See all releases |
Code changes from version 9.1.2 to 9.1.3
- powerpress.php +2 -2
- powerpressadmin-basic.php +5 -5
- readme.txt +7 -2
- shortcodes/Program.php +7 -0
- shortcodes/views/program-result.php +9 -7
- views/settings_tab_other.php +2 -2
powerpress.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Blubrry PowerPress
|
4 |
Plugin URI: http://create.blubrry.com/resources/powerpress/
|
5 |
Description: <a href="https://create.blubrry.com/resources/powerpress/" target="_blank">Blubrry PowerPress</a> is the No. 1 Podcasting plugin for WordPress. Developed by podcasters for podcasters; features include Simple and Advanced modes, multiple audio/video player options, subscribe to podcast tools, podcast SEO features, and more! Fully supports Apple Podcasts (previously iTunes), Google Podcasts, Spotify, Stitcher, and Blubrry Podcasting directories, as well as all podcast applications and clients.
|
6 |
-
Version: 9.1.
|
7 |
Author: Blubrry
|
8 |
Author URI: https://blubrry.com/
|
9 |
Requires at least: 3.6
|
@@ -35,7 +35,7 @@ if( !function_exists('add_action') ) {
|
|
35 |
}
|
36 |
|
37 |
// WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
|
38 |
-
define('POWERPRESS_VERSION', '9.1.
|
39 |
|
40 |
// Translation support:
|
41 |
if ( !defined('POWERPRESS_ABSPATH') )
|
3 |
Plugin Name: Blubrry PowerPress
|
4 |
Plugin URI: http://create.blubrry.com/resources/powerpress/
|
5 |
Description: <a href="https://create.blubrry.com/resources/powerpress/" target="_blank">Blubrry PowerPress</a> is the No. 1 Podcasting plugin for WordPress. Developed by podcasters for podcasters; features include Simple and Advanced modes, multiple audio/video player options, subscribe to podcast tools, podcast SEO features, and more! Fully supports Apple Podcasts (previously iTunes), Google Podcasts, Spotify, Stitcher, and Blubrry Podcasting directories, as well as all podcast applications and clients.
|
6 |
+
Version: 9.1.3
|
7 |
Author: Blubrry
|
8 |
Author URI: https://blubrry.com/
|
9 |
Requires at least: 3.6
|
35 |
}
|
36 |
|
37 |
// WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
|
38 |
+
define('POWERPRESS_VERSION', '9.1.3' );
|
39 |
|
40 |
// Translation support:
|
41 |
if ( !defined('POWERPRESS_ABSPATH') )
|
powerpressadmin-basic.php
CHANGED
@@ -50,7 +50,7 @@ function CheckRedirect(obj)
|
|
50 |
if( obj.value.indexOf('rawvoice') == -1 && obj.value.indexOf('techpodcasts') == -1 &&
|
51 |
obj.value.indexOf('blubrry') == -1 && obj.value.indexOf('podtrac') == -1 )
|
52 |
{
|
53 |
-
if( !confirm('<?php echo __('The redirect entered is not recongized as a supported statistics redirect service.', 'powerpress'); ?>\n\n<?php echo __('Are you sure you wish to continue with this
|
54 |
{
|
55 |
obj.value = '';
|
56 |
return false;
|
@@ -734,7 +734,7 @@ function powerpressadmin_edit_media_statistics($General)
|
|
734 |
</div>
|
735 |
</div>
|
736 |
<div>
|
737 |
-
<h4><?php echo __('
|
738 |
<p class="pp-settings-text-no-margin">
|
739 |
<?php echo __('Enter your Redirect URL issued by your media statistics service provider below.', 'powerpress'); ?>
|
740 |
</p>
|
@@ -760,7 +760,7 @@ function powerpressadmin_edit_media_statistics($General)
|
|
760 |
<table class="form-table">
|
761 |
<tr valign="top">
|
762 |
<th scope="row">
|
763 |
-
<?php echo __('
|
764 |
</th>
|
765 |
<td>
|
766 |
<input type="text" class="pp-settings-text-input" name="<?php if( stripos($General['redirect1'], $StatsIntegrationURL) !== false ) echo 'NULL[redirect1]'; else echo 'General[redirect1]'; ?>" value="<?php echo esc_attr($General['redirect1']); ?>" onChange="return CheckRedirect(this);" maxlength="255" <?php if( stripos($General['redirect1'], $StatsIntegrationURL) !== false ) { echo ' readOnly="readOnly"'; $StatsIntegrationURL = false; } ?> />
|
@@ -779,7 +779,7 @@ function powerpressadmin_edit_media_statistics($General)
|
|
779 |
<table class="form-table">
|
780 |
<tr valign="top">
|
781 |
<th scope="row">
|
782 |
-
<?php echo __('
|
783 |
</th>
|
784 |
<td>
|
785 |
<input type="text" class="pp-settings-text-input" name="<?php if( stripos($General['redirect2'], $StatsIntegrationURL) !== false ) echo 'NULL[redirect2]'; else echo 'General[redirect2]'; ?>" value="<?php echo esc_attr($General['redirect2']); ?>" onblur="return CheckRedirect(this);" maxlength="255" <?php if( stripos($General['redirect2'], $StatsIntegrationURL) !== false ) { echo ' readOnly="readOnly"'; $StatsIntegrationURL = false; } ?> />
|
@@ -797,7 +797,7 @@ function powerpressadmin_edit_media_statistics($General)
|
|
797 |
<table class="form-table">
|
798 |
<tr valign="top">
|
799 |
<th scope="row">
|
800 |
-
<?php echo __('
|
801 |
</th>
|
802 |
<td>
|
803 |
<input type="text" class="pp-settings-text-input" name="<?php if( stripos($General['redirect3'], $StatsIntegrationURL) !== false ) echo 'NULL[redirect3]'; else echo 'General[redirect3]'; ?>" value="<?php echo esc_attr($General['redirect3']); ?>" onblur="return CheckRedirect(this);" maxlength="255" <?php if( stripos($General['redirect3'], $StatsIntegrationURL) !== false ) echo ' readOnly="readOnly"'; ?> />
|
50 |
if( obj.value.indexOf('rawvoice') == -1 && obj.value.indexOf('techpodcasts') == -1 &&
|
51 |
obj.value.indexOf('blubrry') == -1 && obj.value.indexOf('podtrac') == -1 )
|
52 |
{
|
53 |
+
if( !confirm('<?php echo __('The redirect entered is not recongized as a supported statistics redirect service.', 'powerpress'); ?>\n\n<?php echo __('Are you sure you wish to continue with this stats prefix?', 'powerpress'); ?>') )
|
54 |
{
|
55 |
obj.value = '';
|
56 |
return false;
|
734 |
</div>
|
735 |
</div>
|
736 |
<div>
|
737 |
+
<h4><?php echo __('STATS PREFIX', 'powerpress'); ?></h4>
|
738 |
<p class="pp-settings-text-no-margin">
|
739 |
<?php echo __('Enter your Redirect URL issued by your media statistics service provider below.', 'powerpress'); ?>
|
740 |
</p>
|
760 |
<table class="form-table">
|
761 |
<tr valign="top">
|
762 |
<th scope="row">
|
763 |
+
<?php echo __('Stats Prefix 1', 'powerpress'); ?>
|
764 |
</th>
|
765 |
<td>
|
766 |
<input type="text" class="pp-settings-text-input" name="<?php if( stripos($General['redirect1'], $StatsIntegrationURL) !== false ) echo 'NULL[redirect1]'; else echo 'General[redirect1]'; ?>" value="<?php echo esc_attr($General['redirect1']); ?>" onChange="return CheckRedirect(this);" maxlength="255" <?php if( stripos($General['redirect1'], $StatsIntegrationURL) !== false ) { echo ' readOnly="readOnly"'; $StatsIntegrationURL = false; } ?> />
|
779 |
<table class="form-table">
|
780 |
<tr valign="top">
|
781 |
<th scope="row">
|
782 |
+
<?php echo __('Stats Prefix 2', 'powerpress'); ?>
|
783 |
</th>
|
784 |
<td>
|
785 |
<input type="text" class="pp-settings-text-input" name="<?php if( stripos($General['redirect2'], $StatsIntegrationURL) !== false ) echo 'NULL[redirect2]'; else echo 'General[redirect2]'; ?>" value="<?php echo esc_attr($General['redirect2']); ?>" onblur="return CheckRedirect(this);" maxlength="255" <?php if( stripos($General['redirect2'], $StatsIntegrationURL) !== false ) { echo ' readOnly="readOnly"'; $StatsIntegrationURL = false; } ?> />
|
797 |
<table class="form-table">
|
798 |
<tr valign="top">
|
799 |
<th scope="row">
|
800 |
+
<?php echo __('Stats Prefix 3', 'powerpress'); ?>
|
801 |
</th>
|
802 |
<td>
|
803 |
<input type="text" class="pp-settings-text-input" name="<?php if( stripos($General['redirect3'], $StatsIntegrationURL) !== false ) echo 'NULL[redirect3]'; else echo 'General[redirect3]'; ?>" value="<?php echo esc_attr($General['redirect3']); ?>" onblur="return CheckRedirect(this);" maxlength="255" <?php if( stripos($General['redirect3'], $StatsIntegrationURL) !== false ) echo ' readOnly="readOnly"'; ?> />
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: podcasting, podcast, podcaster, powerpress, itunes, apple, apple podcasts,
|
|
4 |
Requires at least: 3.6
|
5 |
Requires PHP: 5.2
|
6 |
Tested up to: 6.0
|
7 |
-
Stable tag: 9.1.
|
8 |
Donate link: https://create.blubrry.com/resources/podcast-media-hosting/
|
9 |
License: GPLv2 or later
|
10 |
|
@@ -16,7 +16,7 @@ No. 1 Podcasting plugin for WordPress.
|
|
16 |
|
17 |
[youtube https://www.youtube.com/watch?v=xdoc0VaAZtU]
|
18 |
|
19 |
-
Publish and manage your podcast
|
20 |
|
21 |
= PowerPress Key Features =
|
22 |
- Integrated Players: PowerPress includes audio and video players with embed support from sites like YouTube.
|
@@ -186,6 +186,11 @@ If you are a fan of PowerPress, we would greatly appreciate it if you could take
|
|
186 |
|
187 |
== Changelog ==
|
188 |
|
|
|
|
|
|
|
|
|
|
|
189 |
= 9.1.2 =
|
190 |
* Released on 07/18/2022
|
191 |
* Small bugfixes for podcast publishing
|
4 |
Requires at least: 3.6
|
5 |
Requires PHP: 5.2
|
6 |
Tested up to: 6.0
|
7 |
+
Stable tag: 9.1.3
|
8 |
Donate link: https://create.blubrry.com/resources/podcast-media-hosting/
|
9 |
License: GPLv2 or later
|
10 |
|
16 |
|
17 |
[youtube https://www.youtube.com/watch?v=xdoc0VaAZtU]
|
18 |
|
19 |
+
PowerPress Podcasting Plugin is to Publish and manage your podcast directly from your WordPress website, building your brand on your website. Developed by podcasters for podcasters (Blubrry Podcasting), the PowerPress podcast plugin works with all podcasting apps and platforms, including Apple Podcasts, Google Podcasts, Spotify, Amazon Music, Etc. Best of all, it integrates with Blubrry’s podcast hosting and statistics, providing convenient features such as easy upload directly within your dashboard. The plugin works with any podcast host.
|
20 |
|
21 |
= PowerPress Key Features =
|
22 |
- Integrated Players: PowerPress includes audio and video players with embed support from sites like YouTube.
|
186 |
|
187 |
== Changelog ==
|
188 |
|
189 |
+
= 9.1.3 =
|
190 |
+
* Released on 07/27/2022
|
191 |
+
* Updated wording for 'Stats Prefix'
|
192 |
+
* Allow some HTML tags in descriptions in the PowerPress Network section
|
193 |
+
|
194 |
= 9.1.2 =
|
195 |
* Released on 07/18/2022
|
196 |
* Small bugfixes for podcast publishing
|
shortcodes/Program.php
CHANGED
@@ -84,6 +84,13 @@ class PowerPressNetworkProgram extends PowerPressNetworkShortCode
|
|
84 |
$props['subscribe_pandora'] = isset($results['program_info']['subscribe_pandora']) ? $results['program_info']['subscribe_pandora'] : false;
|
85 |
$props['subscribe_radio_com'] = isset($results['program_info']['subscribe_radio_com']) ? $results['program_info']['subscribe_radio_com'] : false;
|
86 |
$props['subscribe_spotify'] = isset($results['program_info']['subscribe_spotify']) ? $results['program_info']['subscribe_spotify'] : false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
return PowerPressNetwork::getHTML('program-result.php', $props, null, null);
|
88 |
} else {
|
89 |
return PowerPressNetwork::getHTML('invalid-network.php', $props, null, null);
|
84 |
$props['subscribe_pandora'] = isset($results['program_info']['subscribe_pandora']) ? $results['program_info']['subscribe_pandora'] : false;
|
85 |
$props['subscribe_radio_com'] = isset($results['program_info']['subscribe_radio_com']) ? $results['program_info']['subscribe_radio_com'] : false;
|
86 |
$props['subscribe_spotify'] = isset($results['program_info']['subscribe_spotify']) ? $results['program_info']['subscribe_spotify'] : false;
|
87 |
+
$props['subscribe_blubrry'] = isset($results['program_info']['subscribe_blubrry']) ? $results['program_info']['subscribe_blubrry'] : false;
|
88 |
+
$props['subscribe_podchaser'] = isset($results['program_info']['subscribe_podchaser']) ? $results['program_info']['subscribe_podchaser'] : false;
|
89 |
+
$props['subscribe_jiosaavn'] = isset($results['program_info']['subscribe_jiosaavn']) ? $results['program_info']['subscribe_jiosaavn'] : false;
|
90 |
+
$props['subscribe_gaana'] = isset($results['program_info']['subscribe_gaana']) ? $results['program_info']['subscribe_gaana'] : false;
|
91 |
+
$props['subscribe_pcindex'] = isset($results['program_info']['subscribe_pcindex']) ? $results['program_info']['subscribe_pcindex'] : false;
|
92 |
+
$props['subscribe_amazon_music'] = isset($results['program_info']['subscribe_amazon_music']) ? $results['program_info']['subscribe_amazon_music'] : false;
|
93 |
+
$props['subscribe_anghami'] = isset($results['program_info']['subscribe_anghami']) ? $results['program_info']['subscribe_anghami'] : false;
|
94 |
return PowerPressNetwork::getHTML('program-result.php', $props, null, null);
|
95 |
} else {
|
96 |
return PowerPressNetwork::getHTML('invalid-network.php', $props, null, null);
|
shortcodes/views/program-result.php
CHANGED
@@ -3,11 +3,13 @@
|
|
3 |
<link href="<?php echo powerpress_get_root_url(). "css/subscribe-widget.css";?>" rel="stylesheet">
|
4 |
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet">
|
5 |
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8"/>
|
6 |
-
<?php
|
|
|
|
|
7 |
<div class="ppn-container" id="ppn-program">
|
8 |
<div class="ppn-header" id="ppn-header">
|
9 |
<img alt="<?php echo esc_html(($props['program_title'])) ?>" src="<?php echo esc_url(($props['artwork_url']['300'])) ?>">
|
10 |
-
<p><?php echo
|
11 |
</div>
|
12 |
<br>
|
13 |
<?php for ($i = 0; ($i < $props['limit'] && $i < count($props['episodes'])); $i++) {
|
@@ -21,7 +23,7 @@
|
|
21 |
<h3><?php echo esc_html(($props['episodes'][$i]['podcast_title'])); ?></h3>
|
22 |
</div>
|
23 |
<div>
|
24 |
-
<p><?php echo
|
25 |
</div>
|
26 |
<div>
|
27 |
<i><?php echo date('F d, Y', $props['episodes'][$i]['podcast_post_date']); ?></i>
|
@@ -49,7 +51,7 @@
|
|
49 |
<p class="ppn-episode-date"><?php echo date('F d, Y', $episode['podcast_post_date']);?></p>
|
50 |
</div>
|
51 |
<?php echo $player;?>
|
52 |
-
<p class="ppn-episode-description"><?php echo
|
53 |
<a class="ppn-download-link" href="<?php echo esc_url(($episode['media_url'])); ?>">
|
54 |
<div>
|
55 |
<div class="ppn-download-arrow"></div>Download
|
@@ -64,7 +66,7 @@
|
|
64 |
<?php }elseif($props['style'] == 'description') { ?>
|
65 |
<div class="ppn-container" id="ppn-program">
|
66 |
<div class="ppn-header" id="ppn-header">
|
67 |
-
<p><?php echo
|
68 |
</div>
|
69 |
</div>
|
70 |
<?php } elseif($props['style'] == 'full') {
|
@@ -74,7 +76,7 @@
|
|
74 |
<span class="ppn-program-artwork-cell"><img class="ppn-program-artwork" src="<?php echo esc_url(($props['artwork_url']['300']));?>"></span>
|
75 |
</div>
|
76 |
<div class="ppn-program-info-cell" bp="8@lg 8@md 12@sm">
|
77 |
-
<p class="ppn-program-description"><?php echo
|
78 |
<br />
|
79 |
<b class="ppn-program-talent-name">By <?php echo esc_html(($props['talent_name'])); ?></b>
|
80 |
<p class="ppn-program-url word-break"><a href="<?php echo esc_url(($props['program_url']));?>"><?php echo esc_url(($props['program_url']));?></a></p>
|
@@ -133,7 +135,7 @@
|
|
133 |
<p class="ppn-episode-date"><?php echo date('F d, Y', $episode['podcast_post_date']);?></p>
|
134 |
</div>
|
135 |
<?php echo $player;?>
|
136 |
-
<p class="ppn-episode-description word-break"><?php echo
|
137 |
<a class="ppn-download-link word-break" href="<?php echo esc_url(($episode['media_url'])); ?>">
|
138 |
<div>
|
139 |
<div class="ppn-download-arrow"></div>Download
|
3 |
<link href="<?php echo powerpress_get_root_url(). "css/subscribe-widget.css";?>" rel="stylesheet">
|
4 |
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet">
|
5 |
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8"/>
|
6 |
+
<?php
|
7 |
+
$allowed_desc_tags = "<p><a><h1><h2><h3><h4><h5><h6>";
|
8 |
+
if($props['style'] == 'older-full') {?>
|
9 |
<div class="ppn-container" id="ppn-program">
|
10 |
<div class="ppn-header" id="ppn-header">
|
11 |
<img alt="<?php echo esc_html(($props['program_title'])) ?>" src="<?php echo esc_url(($props['artwork_url']['300'])) ?>">
|
12 |
+
<p><?php echo @strip_tags(($props['program_desc']), $allowed_desc_tags) ?></p>
|
13 |
</div>
|
14 |
<br>
|
15 |
<?php for ($i = 0; ($i < $props['limit'] && $i < count($props['episodes'])); $i++) {
|
23 |
<h3><?php echo esc_html(($props['episodes'][$i]['podcast_title'])); ?></h3>
|
24 |
</div>
|
25 |
<div>
|
26 |
+
<p><?php echo @strip_tags(($props['episodes'][$i]['podcast_desc']), $allowed_desc_tags); ?></p>
|
27 |
</div>
|
28 |
<div>
|
29 |
<i><?php echo date('F d, Y', $props['episodes'][$i]['podcast_post_date']); ?></i>
|
51 |
<p class="ppn-episode-date"><?php echo date('F d, Y', $episode['podcast_post_date']);?></p>
|
52 |
</div>
|
53 |
<?php echo $player;?>
|
54 |
+
<p class="ppn-episode-description"><?php echo @strip_tags(($episode['podcast_desc']), $allowed_desc_tags)?></p>
|
55 |
<a class="ppn-download-link" href="<?php echo esc_url(($episode['media_url'])); ?>">
|
56 |
<div>
|
57 |
<div class="ppn-download-arrow"></div>Download
|
66 |
<?php }elseif($props['style'] == 'description') { ?>
|
67 |
<div class="ppn-container" id="ppn-program">
|
68 |
<div class="ppn-header" id="ppn-header">
|
69 |
+
<p><?php echo @strip_tags(($props['program_desc']), $allowed_desc_tags) ?></p>
|
70 |
</div>
|
71 |
</div>
|
72 |
<?php } elseif($props['style'] == 'full') {
|
76 |
<span class="ppn-program-artwork-cell"><img class="ppn-program-artwork" src="<?php echo esc_url(($props['artwork_url']['300']));?>"></span>
|
77 |
</div>
|
78 |
<div class="ppn-program-info-cell" bp="8@lg 8@md 12@sm">
|
79 |
+
<p class="ppn-program-description"><?php echo @strip_tags(($props['program_desc']), $allowed_desc_tags);?></p>
|
80 |
<br />
|
81 |
<b class="ppn-program-talent-name">By <?php echo esc_html(($props['talent_name'])); ?></b>
|
82 |
<p class="ppn-program-url word-break"><a href="<?php echo esc_url(($props['program_url']));?>"><?php echo esc_url(($props['program_url']));?></a></p>
|
135 |
<p class="ppn-episode-date"><?php echo date('F d, Y', $episode['podcast_post_date']);?></p>
|
136 |
</div>
|
137 |
<?php echo $player;?>
|
138 |
+
<p class="ppn-episode-description word-break"><?php echo @strip_tags(($episode['podcast_desc']), $allowed_desc_tags)?></p>
|
139 |
<a class="ppn-download-link word-break" href="<?php echo esc_url(($episode['media_url'])); ?>">
|
140 |
<div>
|
141 |
<div class="ppn-download-arrow"></div>Download
|
views/settings_tab_other.php
CHANGED
@@ -19,14 +19,14 @@
|
|
19 |
|
20 |
|
21 |
|
22 |
-
<h4><?php echo __('
|
23 |
<p class="pp-settings-text-no-margin">
|
24 |
<?php echo __('Enter your Redirect URL issued by your media statistics service provider below.', 'powerpress'); ?>
|
25 |
|
26 |
<?php if( $FeedAttribs['type'] == 'category' ) { ?>
|
27 |
<?php echo __('When specified, this will be the only media statistics redirect applied to this category. Please enable Strict Category Podcasting to apply statistics redirect on non category pages.', 'powerpress'); ?>
|
28 |
<?php } else if( $FeedAttribs['type'] == 'ttid' ) { ?>
|
29 |
-
<?php echo __('Note:
|
30 |
<?php } else if( $FeedAttribs['type'] == 'channel' ) { ?>
|
31 |
<?php echo __('When specified, this will be the only media statistics redirect applied to this podcast channel.', 'powerpress'); ?>
|
32 |
<?php } else if( $FeedAttribs['type'] == 'post_type' ) { ?>
|
19 |
|
20 |
|
21 |
|
22 |
+
<h4><?php echo __('STATS PREFIX', 'powerpress'); ?></h4>
|
23 |
<p class="pp-settings-text-no-margin">
|
24 |
<?php echo __('Enter your Redirect URL issued by your media statistics service provider below.', 'powerpress'); ?>
|
25 |
|
26 |
<?php if( $FeedAttribs['type'] == 'category' ) { ?>
|
27 |
<?php echo __('When specified, this will be the only media statistics redirect applied to this category. Please enable Strict Category Podcasting to apply statistics redirect on non category pages.', 'powerpress'); ?>
|
28 |
<?php } else if( $FeedAttribs['type'] == 'ttid' ) { ?>
|
29 |
+
<?php echo __('Note: Stats prefix is applied to this podcast feed only. The redirect will NOT apply to pages.', 'powerpress'); ?>
|
30 |
<?php } else if( $FeedAttribs['type'] == 'channel' ) { ?>
|
31 |
<?php echo __('When specified, this will be the only media statistics redirect applied to this podcast channel.', 'powerpress'); ?>
|
32 |
<?php } else if( $FeedAttribs['type'] == 'post_type' ) { ?>
|