Changeset 618431
- Timestamp:
- 10/28/2012 11:08:28 PM (13 years ago)
- Location:
- subscription-options/trunk
- Files:
-
- 6 edited
-
images/facebook_transparent.png (modified) (previous)
-
images/twitter_transparent.png (modified) (previous)
-
readme.txt (modified) (3 diffs)
-
screenshot-1.png (modified) (previous)
-
screenshot-3.png (modified) (previous)
-
suboptions.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
subscription-options/trunk/readme.txt
r418677 r618431 2 2 Contributors: Tom Saunter 3 3 Donate link: http://bit.ly/donate_to_me 4 Tags: subscription, subscribe, option, options, color, colour, colors, colours, feedburner, rss, feed, mail, email, service, twitter, stream, follow, facebook, page, delivery, linkedin, flickr, google, google plus, google+, podcast, podcasting, itunes, icon, icons, widget, sidebar, settings4 Tags: subscription, subscribe, option, options, color, colour, colors, colours, feedburner, rss, feed, mail, email, service, twitter, stream, follow, facebook, page, delivery, linkedin, flickr, google, google plus, google+, podcast, podcasting, itunes, youtube, channel, pinterest, pin, spotify, tumblr, icon, icons, widget, sidebar, settings 5 5 Requires at least: 2.8 6 Tested up to: 3. 2.17 Stable tag: 0. 8.96 Tested up to: 3.4.2 7 Stable tag: 0.9 8 8 Adds subscription option icons for your RSS Feed; your FeedBurner Email Service; your Twitter Stream and your Facebook page. Totally user-defined. 9 9 == Description == 10 The most common ways for people to subscribe to a blog and its content are through RSS, Email and Twitter. Facebook pages are increasing in usagetoo. This plugin places related subscription icons in a widget area and lets users enter their own feed or page URLs and select the colour of their icons. Its really simple but theres lots of power under the hood.10 The most common ways for people to subscribe to a blog and its content are through RSS, Email and Twitter. Some people syndicate to Facebook too. This plugin places related subscription icons in a widget area and lets users enter their own feed or page URLs and select the colour of their icons. Its really simple but theres lots of power under the hood. 11 11 = Features: = 12 12 * Offers an attractive range of subscription options for your readers using familiar-looking icons. 13 13 * Intuitive interface for editing options, including your feed or page URLs, widget title and icon sizes. 14 14 * Independent handling across multiple widget instances, using WordPress 2.8's widget_class coolness. 15 * NEW in Version 0.8 - the ability to select any colour, via HEX code or [HTML Color Name](http://www.w3schools.com/html/html_colornames.asp).16 * NEW in Version 0.8 - integration with the brand new[Subscription Options Add-on Pack](http://digitalcortex.net/plugins/subscription-options/addon-pack).15 * Ability to select any colour, via HEX code or [HTML Color Name](http://www.w3schools.com/html/html_colornames.asp). 16 * Integration with the [Subscription Options Add-on Pack](http://digitalcortex.net/plugins/subscription-options/addon-pack). 17 17 == Installation == 18 1. Download the plugin by hitting th at big red button to the right.18 1. Download the plugin by hitting the big red 'download' button. 19 19 2. Extract the files and place the entire 'subscription-options' folder into your wp_content/plugins directory. 20 20 3. Go to your 'Installed Plugins' panel and activate 'Subscription Options'. … … 33 33 * Please also note that you can use any HTML colour code, be it HEX code or [HTML Color Name](http://www.w3schools.com/html/html_colornames.asp). 34 34 * Hit 'Done' then 'Save Changes'. Test the appearance and perhaps change the size of the icons as necessary. 35 * If you would like additional icons for LinkedIn, Flickr, Google+ or Podcasting,consider installing the [Subscription Options Add-on Pack](http://digitalcortex.net/plugins/subscription-options/addon-pack) and a new set of subscription options will automatically appear in the widget options panel.35 * If you would like additional icons for LinkedIn, Flickr, Google+, Podcasting, YouTube, Pinterest, Spotify or Tumblr please consider installing the [Subscription Options Add-on Pack](http://digitalcortex.net/plugins/subscription-options/addon-pack) and a new set of subscription options will automatically appear in the widget options panel. 36 36 == Screenshots == 37 37 1. This is how the plugin could look on your blog. … … 48 48 * 0.7 - upgraded to pass XHTML 1.0 Transitional validation 49 49 * 0.8 - full colour options & additional subscription icons based on user feedback 50 * 0.9 - modified icon designs plus four new icons in the [Add-on Pack](http://digitalcortex.net/plugins/subscription-options/addon-pack) 50 51 = Future Versions: = 51 * 0.9- farbtastic or other java-based colour picker integration52 * 1.0 - farbtastic or other java-based colour picker integration 52 53 == Upgrade Notice == 53 = 0. 8.9 =54 You should re-enter your colour codes after this update, and check that all your URLs are present. This new version give youthousands of new colour options, using transparent icons and CSS3 rounded corners. As such, the widget looks best in modern CSS3-compatible web browsers, so please upgrade only if you are entirely comfortable with this.54 = 0.9 = 55 If you're upgrading from version 0.7 or earlier, then you will need to re-enter your colour codes and check that all your URLs are present. Version 0.8 brought in thousands of new colour options, using transparent icons and CSS3 rounded corners. As such, the widget looks best in modern CSS3-compatible web browsers, so please upgrade only if you are entirely comfortable with this. 55 56 == Frequently Asked Questions == 56 57 = Where do I put the widget? = -
subscription-options/trunk/suboptions.php
r418677 r618431 2 2 3 3 /** 4 5 4 * Plugin Name: Subscription Options 6 7 5 * Plugin URI: http://digitalcortex.net/plugins/subscription-options 8 9 6 * Description: Adds subscription option icons for your RSS Feed; your FeedBurner Email Service; your Twitter Stream and even your Facebook page. Thousands of colour options. Totally user-defined. Also available: <a title="Upgrade for only $1.50" target="_blank" href="http://digitalcortex.net/plugins/subscription-options/addon-pack">The Subscription Options Add-on Pack</a>! 10 11 * Version: 0.8.9 12 7 * Version: 0.9 13 8 * Author: Tom Saunter 14 15 9 * Author URI: http://digitalcortex.net 16 17 10 * 18 19 11 * This program is free software: you can redistribute it and/or modify 20 21 12 * it under the terms of the GNU General Public License as published by 22 23 13 * the Free Software Foundation, either version 3 of the License, or 24 25 14 * (at your option) any later version. 26 27 15 * 28 29 16 * This program is distributed in the hope that it will be useful, 30 31 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 32 33 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 34 35 19 * GNU General Public License for more details. 36 37 20 * 38 39 21 * You should have received a copy of the GNU General Public License 40 41 22 * along with this program. If not, see <http://www.gnu.org/licenses/>. 42 43 23 */ 44 45 24 46 47 25 /** 48 49 26 * Add functions that will load the widget. 50 51 27 */ 52 53 28 add_action( 'widgets_init', 'suboptions_load_widgets' ); 54 29 55 56 57 30 /** 58 59 31 * Register the widget. 60 61 32 * 'suboptions_widget' is the widget class used below. 62 63 33 */ 64 65 34 function suboptions_load_widgets() { 66 67 35 register_widget( 'suboptions_widget' ); 68 69 36 } 70 37 71 72 73 38 /** 74 75 39 * Extends the widget class. 76 77 40 * This class handles everything that needs to be handled with the widget: 78 79 41 * the settings, form, display, and update. Nice! 80 81 42 */ 82 83 43 class suboptions_widget extends WP_Widget { 84 44 85 86 87 45 /** 88 89 46 * Widget setup. 90 91 47 */ 92 93 48 function suboptions_widget() { 94 49 95 50 /* Widget settings. */ 96 97 51 $widget_ops = array( 'classname' => 'suboptions', 'description' => __('Add subscription options for your readers with related feed icons', 'suboptions') ); 98 99 100 101 52 /* Widget control settings. */ 102 103 53 $control_ops = array( 'width' => 300, 'height' => 350, 'id_base' => 'suboptions-widget' ); 104 105 106 107 54 /* Create the widget. */ 108 109 55 $this->WP_Widget( 'suboptions-widget', __('Subscription Options', 'suboptions'), $widget_ops, $control_ops ); 110 111 56 } 112 113 57 114 115 58 /** 116 117 59 * Display the widget on the screen. 118 119 60 */ 120 121 61 function widget( $args, $instance ) { 122 123 62 extract( $args ); 124 125 126 63 127 64 /* Variables for the standard widget. */ 128 129 65 $title = apply_filters('widget_title', $instance['title'] ); 130 131 66 $size = $instance['size']; 132 133 67 $rss_url = $instance['rss_url']; 134 135 68 $rss_col = $instance['rss_col']; 136 137 69 $email_url = $instance['email_url']; 138 139 70 $email_col = $instance['email_col']; 140 141 71 $twitter_url = $instance['twitter_url']; 142 143 72 $twitter_col = $instance['twitter_col']; 144 145 73 $facebook_url = $instance['facebook_url']; 146 147 74 $facebook_col = $instance['facebook_col']; 148 149 150 151 75 152 76 /* Variables for the add-on pack. */ 153 154 77 $linkedin_url = $instance['linkedin_url']; 155 156 78 $linkedin_col = $instance['linkedin_col']; 157 158 79 $flickr_url = $instance['flickr_url']; 159 160 80 $flickr_col = $instance['flickr_col']; 161 162 81 $google_url = $instance['google_url']; 163 164 82 $google_col = $instance['google_col']; 165 166 83 $podcast_url = $instance['podcast_url']; 167 168 84 $podcast_col = $instance['podcast_col']; 169 170 171 172 85 $youtube_url = $instance['youtube_url']; 86 $youtube_col = $instance['youtube_col']; 87 $pinterest_url = $instance['pinterest_url']; 88 $pinterest_col = $instance['pinterest_col']; 89 $spotify_url = $instance['spotify_url']; 90 $spotify_col = $instance['spotify_col']; 91 $tumblr_url = $instance['tumblr_url']; 92 $tumblr_col = $instance['tumblr_col']; 93 173 94 /* Before widget (defined by themes). */ 174 175 95 echo $before_widget; 176 177 178 96 179 97 /* Display the widget title if one was input (before and after defined by themes). */ 180 181 98 if ( $title ) 182 183 99 echo $before_title . $title . $after_title; 184 185 186 100 187 101 /* If an RSS Feed URL was entered, display the RSS icon. */ 188 189 102 if ( $rss_url ) 190 191 echo '<a target="_blank" title="Subscribe via RSS" href="'.$rss_url.'"><img class="suboptions-icon rounded-corners rss-icon" alt="Subscribe via RSS" style="background: '.$rss_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options/images/rss_transparent.png"/> </a>'; 192 193 194 103 echo '<a target="_blank" title="Subscribe via RSS" href="'.$rss_url.'"><img class="suboptions-icon rounded-corners rss-icon" alt="Subscribe via RSS" style="background: '.$rss_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options/images/rss_transparent.png"/></a>'; 104 195 105 /* If a FeedBurner Email Service URL was entered, display the email icon. */ 196 197 106 if ( $email_url ) 198 199 echo '<a target="_blank" title="Subscribe via Email" href="'.$email_url.'"><img class="suboptions-icon rounded-corners email-icon" alt="Subscribe via Email" style="background: '.$email_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options/images/email_transparent.png"/> </a>'; 200 107 echo '<a target="_blank" title="Subscribe via Email" href="'.$email_url.'"><img class="suboptions-icon rounded-corners email-icon" alt="Subscribe via Email" style="background: '.$email_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options/images/email_transparent.png"/></a>'; 108 109 /* If a Twitter Stream URL was entered, display the Twitter icon. */ 110 if ( $twitter_url ) 111 echo '<a target="_blank" title="Subscribe via Twitter" href="'.$twitter_url.'"><img class="suboptions-icon rounded-corners twitter-icon" alt="Subscribe via Twitter" style="background: '.$twitter_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options/images/twitter_transparent.png"/></a>'; 112 113 /* If a Facebook Page URL was entered, display the Facebook icon. */ 114 if ( $facebook_url ) 115 echo '<a target="_blank" title="Subscribe via Facebook" href="'.$facebook_url.'"><img class="suboptions-icon rounded-corners facebook-icon" alt="Subscribe via Facebook" style="background: '.$facebook_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options/images/facebook_transparent.png"/></a>'; 116 117 /* If a LinkedIn Profile URL was entered, display the LinkedIn icon. */ 118 if ( $linkedin_url ) 119 echo '<a target="_blank" title="Subscribe via LinkedIn" href="'.$linkedin_url.'"><img class="suboptions-icon rounded-corners linkedin_icon" alt="Subscribe via LinkedIn" style="background: '.$linkedin_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options-addon/linkedin_transparent.png"/></a>'; 120 121 /* If a Flickr Page URL was entered, display the Flickr icon. */ 122 if ( $flickr_url ) 123 echo '<a target="_blank" title="Subscribe via Flickr" href="'.$flickr_url.'"><img class="suboptions-icon rounded-corners flickr_icon" alt="Subscribe via Flickr" style="background: '.$flickr_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options-addon/flickr_transparent.png"/></a>'; 124 125 /* If a Google+ URL was entered, display the Google+ icon. */ 126 if ( $google_url ) 127 echo '<a target="_blank" title="Subscribe via Google+" href="'.$google_url.'"><img class="suboptions-icon rounded-corners google_icon" alt="Subscribe via Google+" style="background: '.$google_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options-addon/google_transparent.png"/></a>'; 128 129 /* If a Podcasting Service URL was entered, display the Podcast icon. */ 130 if ( $podcast_url ) 131 echo '<a target="_blank" title="Subscribe via Podcast" href="'.$podcast_url.'"><img class="suboptions-icon rounded-corners podcast_icon" alt="Subscribe via Podcast" style="background: '.$podcast_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options-addon/podcast_transparent.png"/></a>'; 201 132 202 203 /* If a Twitter Stream URL was entered, display the Twitter icon. */ 204 205 if ( $twitter_url ) 206 207 echo '<a target="_blank" title="Subscribe via Twitter" href="'.$twitter_url.'"><img class="suboptions-icon rounded-corners twitter-icon" alt="Subscribe via Twitter" style="background: '.$twitter_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options/images/twitter_transparent.png"/> </a>'; 208 133 /* If a YouTube Channel URL was entered, display the YouTube icon. */ 134 if ( $youtube_url ) 135 echo '<a target="_blank" title="Subscribe via YouTube" href="'.$youtube_url.'"><img class="suboptions-icon rounded-corners youtube_icon" alt="Subscribe via YouTube" style="background: '.$youtube_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options-addon/youtube_transparent.png"/></a>'; 136 137 /* If a Pinterest Page URL was entered, display the Pinterest icon. */ 138 if ( $pinterest_url ) 139 echo '<a target="_blank" title="Subscribe via Pinterest" href="'.$pinterest_url.'"><img class="suboptions-icon rounded-corners pinterest_icon" alt="Subscribe via Pinterest" style="background: '.$pinterest_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options-addon/pinterest_transparent.png"/></a>'; 140 141 /* If a Spotify URL was entered, display the Spotify icon. */ 142 if ( $spotify_url ) 143 echo '<a target="_blank" title="Subscribe via Spotify" href="'.$spotify_url.'"><img class="suboptions-icon rounded-corners spotify_icon" alt="Subscribe via Spotify" style="background: '.$spotify_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options-addon/spotify_transparent.png"/></a>'; 144 145 /* If a Tumblr Service URL was entered, display the Tumblr icon. */ 146 if ( $tumblr_url ) 147 echo '<a target="_blank" title="Subscribe via Tumblr" href="'.$tumblr_url.'"><img class="suboptions-icon rounded-corners tumblr_icon" alt="Subscribe via Tumblr" style="background: '.$tumblr_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options-addon/tumblr_transparent.png"/></a>'; 148 149 /* After widget (defined by themes). */ 150 echo $after_widget; 151 } 152 153 /** 154 * Update the widget settings. 155 */ 156 function update( $new_instance, $old_instance ) { 157 $instance = $old_instance; 158 159 /* Strip HTML tags for the standard widget: */ 160 $instance['title'] = strip_tags( $new_instance['title'] ); 161 $instance['size'] = strip_tags( $new_instance['size'] ); 162 $instance['rss_url'] = strip_tags( $new_instance['rss_url'] ); 163 $instance['rss_col'] = strip_tags( $new_instance['rss_col'] ); 164 $instance['email_url'] = strip_tags( $new_instance['email_url'] ); 165 $instance['email_col'] = strip_tags( $new_instance['email_col'] ); 166 $instance['twitter_url'] = strip_tags( $new_instance['twitter_url'] ); 167 $instance['twitter_col'] = strip_tags( $new_instance['twitter_col'] ); 168 $instance['facebook_url'] = strip_tags( $new_instance['facebook_url'] ); 169 $instance['facebook_col'] = strip_tags( $new_instance['facebook_col'] ); 170 171 /* Strip HTML tags for the add-on pack: */ 172 $instance['linkedin_url'] = strip_tags( $new_instance['linkedin_url'] ); 173 $instance['linkedin_col'] = strip_tags( $new_instance['linkedin_col'] ); 174 $instance['flickr_url'] = strip_tags( $new_instance['flickr_url'] ); 175 $instance['flickr_col'] = strip_tags( $new_instance['flickr_col'] ); 176 $instance['google_url'] = strip_tags( $new_instance['google_url'] ); 177 $instance['google_col'] = strip_tags( $new_instance['google_col'] ); 178 $instance['podcast_url'] = strip_tags( $new_instance['podcast_url'] ); 179 $instance['podcast_col'] = strip_tags( $new_instance['podcast_col'] ); 180 $instance['youtube_url'] = strip_tags( $new_instance['youtube_url'] ); 181 $instance['youtube_col'] = strip_tags( $new_instance['youtube_col'] ); 182 $instance['pinterest_url'] = strip_tags( $new_instance['pinterest_url'] ); 183 $instance['pinterest_col'] = strip_tags( $new_instance['pinterest_col'] ); 184 $instance['spotify_url'] = strip_tags( $new_instance['spotify_url'] ); 185 $instance['spotify_col'] = strip_tags( $new_instance['spotify_col'] ); 186 $instance['tumblr_url'] = strip_tags( $new_instance['tumblr_url'] ); 187 $instance['tumblr_col'] = strip_tags( $new_instance['tumblr_col'] ); 188 189 return $instance; 190 } 191 192 /** 193 * Displays the widget settings controls on the widget panel. 194 * Makes use of the get_field_id() and get_field_name() function 195 * when creating your form elements. This handles the confusing stuff. 196 */ 197 function form( $instance ) { 198 $defaults = array( 209 199 210 211 /* If a Facebook Page URL was entered, display the Facebook icon. */ 212 213 if ( $facebook_url ) 214 215 echo '<a target="_blank" title="Subscribe via Facebook" href="'.$facebook_url.'"><img class="suboptions-icon rounded-corners facebook-icon" alt="Subscribe via Facebook" style="background: '.$facebook_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options/images/facebook_transparent.png"/> </a>'; 216 217 218 219 /* If a LinkedIn Profile URL was entered, display the LinkedIn icon. */ 220 221 if ( $linkedin_url ) 222 223 echo '<a target="_blank" title="Subscribe via LinkedIn" href="'.$linkedin_url.'"><img class="suboptions-icon rounded-corners linkedin_icon" alt="Subscribe via LinkedIn" style="background: '.$linkedin_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options-addon/linkedin_transparent.png"/> </a>'; 224 225 226 227 228 /* If a Flickr Page URL was entered, display the Flickr icon. */ 229 230 if ( $flickr_url ) 231 232 echo '<a target="_blank" title="Subscribe via Flickr" href="'.$flickr_url.'"><img class="suboptions-icon rounded-corners flickr_icon" alt="Subscribe via Flickr" style="background: '.$flickr_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options-addon/flickr_transparent.png"/> </a>'; 233 234 235 236 /* If a Google+ URL was entered, display the Google+ icon. */ 237 238 if ( $google_url ) 239 240 echo '<a target="_blank" title="Subscribe via Google+" href="'.$google_url.'"><img class="suboptions-icon rounded-corners google_icon" alt="Subscribe via Google+" style="background: '.$google_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options-addon/google_transparent.png"/> </a>'; 241 242 243 244 245 /* If a Podcasting Service URL was entered, display the Podcast icon. */ 246 247 if ( $podcast_url ) 248 249 echo '<a target="_blank" title="Subscribe via Podcast" href="'.$podcast_url.'"><img class="suboptions-icon rounded-corners podcast_icon" alt="Subscribe via Podcast" style="background: '.$podcast_col.'; width: '.$size.'px; height: '.$size.'px; " src="'.get_bloginfo('wpurl').'/'.PLUGINDIR.'/subscription-options-addon/podcast_transparent.png"/> </a>'; 250 251 252 253 254 /* After widget (defined by themes). */ 255 256 echo $after_widget; 257 200 /* Set up some default standard widget settings. */ 201 'title' => 'Subscription Options:', 202 'size' => '70', 203 'rss_url' => '', 204 'rss_col' => '#FF9831', 205 'email_url' => '', 206 'email_col' => '#7AFD32', 207 'twitter_url' => '', 208 'twitter_col' => '#00ACEE', 209 'facebook_url' => '', 210 'facebook_col' => '#3B5998', 211 212 /* Set up some default add-on pack settings. */ 213 'linkedin_url' => '', 214 'linkedin_col' => '#007FB1', 215 'flickr_url' => '', 216 'flickr_col' => '#FE0883', 217 'google_url' => '', 218 'google_col' => '#C63D2D', 219 'podcast_url' => '', 220 'podcast_col' => '#B474E6', 221 'youtube_url' => '', 222 'youtube_col' => '#FF3333', 223 'pinterest_url' => '', 224 'pinterest_col' => '#C92228', 225 'spotify_url' => '', 226 'spotify_col' => '#7FB718', 227 'tunblr_url' => '', 228 'tumblr_col' => '#2B4964', 229 ); 230 $instance = wp_parse_args( (array) $instance, $defaults ); ?> 231 232 <!-- Widget Title: Text Input --> 233 <p class="suboptions-item"> 234 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'title' ); ?>">Title:</label> 235 <input class="suboptions-title" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" /> 236 </p> 237 238 <!-- RSS Feed URL & Colour: Text Input --> 239 <p class="suboptions-item"> 240 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'rss_url' ); ?>"><?php _e('RSS Feed URL & Colour:', 'suboptions'); ?></label> 241 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'rss_url' ); ?>" name="<?php echo $this->get_field_name( 'rss_url' ); ?>" value="<?php echo $instance['rss_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'rss_col' ); ?>" name="<?php echo $this->get_field_name( 'rss_col' ); ?>" value="<?php echo $instance['rss_col']; ?>" /> 242 </p> 243 244 <!-- FeedBurner Email Service URL & Colour Text Input --> 245 <p class="suboptions-item"> 246 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'email_url' ); ?>"><?php _e('FeedBurner Email Service URL & Colour:', 'suboptions'); ?></label> 247 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'email_url' ); ?>" name="<?php echo $this->get_field_name( 'email_url' ); ?>" value="<?php echo $instance['email_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'email_col' ); ?>" name="<?php echo $this->get_field_name( 'email_col' ); ?>" value="<?php echo $instance['email_col']; ?>" /> 248 </p> 249 250 <!-- Twitter Stream URL & Colour: Text Input --> 251 <p class="suboptions-item"> 252 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'twitter_url' ); ?>"><?php _e('Twitter Stream URL & Colour:', 'suboptions'); ?></label> 253 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'twitter_url' ); ?>" name="<?php echo $this->get_field_name( 'twitter_url' ); ?>" value="<?php echo $instance['twitter_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'twitter_col' ); ?>" name="<?php echo $this->get_field_name( 'twitter_col' ); ?>" value="<?php echo $instance['twitter_col']; ?>" /> 254 </p> 255 256 <!-- Facebook Page URL & Colour: Text Input --> 257 <p class="suboptions-item"> 258 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'facebook_url' ); ?>"><?php _e('Facebook Page URL & Colour:', 'suboptions'); ?></label> 259 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'facebook_url' ); ?>" name="<?php echo $this->get_field_name( 'facebook_url' ); ?>" value="<?php echo $instance['facebook_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'facebook_col' ); ?>" name="<?php echo $this->get_field_name( 'facebook_col' ); ?>" value="<?php echo $instance['facebook_col']; ?>" /> 260 </p> 261 262 <!-- Decides to render Add-on Pack settings, if Add-on Pack is installed --> 263 <?php 264 if (function_exists('suboptions_addon')) { 265 echo '<div id="suboptions-addon" class="suboptions-installed">'; 266 } else { 267 echo '<p>Need more icons? Install the <a title="Install the Subscription Options Add-on Pack for $1.50" target="_blank" href="http://digitalcortex.net/plugins/subscription-options/addon-pack">Add-on Pack</a>!</p>'; 268 echo '<div id="suboptions-addon" class="suboptions-not-installed">'; 269 } 270 ?> 271 272 <!-- Add-on Pack: LinkedIn Profile URL & Colour: Text Input --> 273 <p class="suboptions-item"> 274 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'linkedin_url' ); ?>"><?php _e('LinkedIn Profile URL & Colour:', 'suboptions'); ?></label> 275 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'linkedin_url' ); ?>" name="<?php echo $this->get_field_name( 'linkedin_url' ); ?>" value="<?php echo $instance['linkedin_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'linkedin_col' ); ?>" name="<?php echo $this->get_field_name( 'linkedin_col' ); ?>" value="<?php echo $instance['linkedin_col']; ?>" /> 276 </p> 277 278 <!-- Add-on Pack: Flickr Page URL & Colour Text Input --> 279 <p class="suboptions-item"> 280 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'flickr_url' ); ?>"><?php _e('Flickr Page URL & Colour:', 'suboptions'); ?></label> 281 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'flickr_url' ); ?>" name="<?php echo $this->get_field_name( 'flickr_url' ); ?>" value="<?php echo $instance['flickr_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'flickr_col' ); ?>" name="<?php echo $this->get_field_name( 'flickr_col' ); ?>" value="<?php echo $instance['flickr_col']; ?>" /> 282 </p> 283 284 <!-- Add-on Pack: Google+ URL & Colour: Text Input --> 285 <p class="suboptions-item"> 286 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'google_url' ); ?>"><?php _e('Google Plus URL & Colour:', 'suboptions'); ?></label> 287 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'google_url' ); ?>" name="<?php echo $this->get_field_name( 'google_url' ); ?>" value="<?php echo $instance['google_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'google_col' ); ?>" name="<?php echo $this->get_field_name( 'google_col' ); ?>" value="<?php echo $instance['google_col']; ?>" /> 288 </p> 289 290 <!-- Add-on Pack: Podcasting Service URL & Colour: Text Input --> 291 <p class="suboptions-item"> 292 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'podcast_url' ); ?>"><?php _e('Podcasting Service URL & Colour:', 'suboptions'); ?></label> 293 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'podcast_url' ); ?>" name="<?php echo $this->get_field_name( 'podcast_url' ); ?>" value="<?php echo $instance['podcast_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'podcast_col' ); ?>" name="<?php echo $this->get_field_name( 'podcast_col' ); ?>" value="<?php echo $instance['podcast_col']; ?>" /> 294 </p> 295 296 <!-- Add-on Pack: YouTube Channel URL & Colour: Text Input --> 297 <p class="suboptions-item"> 298 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'youtube_url' ); ?>"><?php _e('YouTube Channel URL & Colour:', 'suboptions'); ?></label> 299 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'youtube_url' ); ?>" name="<?php echo $this->get_field_name( 'youtube_url' ); ?>" value="<?php echo $instance['youtube_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'youtube_col' ); ?>" name="<?php echo $this->get_field_name( 'youtube_col' ); ?>" value="<?php echo $instance['youtube_col']; ?>" /> 300 </p> 301 302 <!-- Add-on Pack: Pinterest Page URL & Colour Text Input --> 303 <p class="suboptions-item"> 304 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'pinterest_url' ); ?>"><?php _e('Pinterest Page URL & Colour:', 'suboptions'); ?></label> 305 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'pinterest_url' ); ?>" name="<?php echo $this->get_field_name( 'pinterest_url' ); ?>" value="<?php echo $instance['pinterest_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'pinterest_col' ); ?>" name="<?php echo $this->get_field_name( 'pinterest_col' ); ?>" value="<?php echo $instance['pinterest_col']; ?>" /> 306 </p> 307 308 <!-- Add-on Pack: Spotify Playlist URL & Colour: Text Input --> 309 <p class="suboptions-item"> 310 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'spotify_url' ); ?>"><?php _e('Spotify Playlist URL & Colour:', 'suboptions'); ?></label> 311 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'spotify_url' ); ?>" name="<?php echo $this->get_field_name( 'spotify_url' ); ?>" value="<?php echo $instance['spotify_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'spotify_col' ); ?>" name="<?php echo $this->get_field_name( 'spotify_col' ); ?>" value="<?php echo $instance['spotify_col']; ?>" /> 312 </p> 313 314 <!-- Add-on Pack: Tumblr Site URL & Colour: Text Input --> 315 <p class="suboptions-item"> 316 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'tumblr_url' ); ?>"><?php _e('Tumblr Site URL & Colour:', 'suboptions'); ?></label> 317 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'tumblr_url' ); ?>" name="<?php echo $this->get_field_name( 'tumblr_url' ); ?>" value="<?php echo $instance['tumblr_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'tumblr_col' ); ?>" name="<?php echo $this->get_field_name( 'tumblr_col' ); ?>" value="<?php echo $instance['tumblr_col']; ?>" /> 318 </p> 319 320 </div> 321 322 <!-- Icon Size: Text Input --> 323 <p class="suboptions-item"> 324 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'size' ); ?>"><?php _e('Icon Size:', 'suboptions'); ?></label><input class="suboptions-size" id="<?php echo $this->get_field_id( 'size' ); ?>" name="<?php echo $this->get_field_name( 'size' ); ?>" value="<?php echo $instance['size']; ?>" style="width:30px; " /><?php _e(' pixels', 'suboptions'); ?> 325 </p> 326 <?php 258 327 } 259 260 261 262 /**263 264 * Update the widget settings.265 266 */267 268 function update( $new_instance, $old_instance ) {269 270 $instance = $old_instance;271 272 273 274 /* Strip HTML tags for the standard widget: */275 276 $instance['title'] = strip_tags( $new_instance['title'] );277 278 $instance['size'] = strip_tags( $new_instance['size'] );279 280 $instance['rss_url'] = strip_tags( $new_instance['rss_url'] );281 282 $instance['rss_col'] = strip_tags( $new_instance['rss_col'] );283 284 $instance['email_url'] = strip_tags( $new_instance['email_url'] );285 286 $instance['email_col'] = strip_tags( $new_instance['email_col'] );287 288 $instance['twitter_url'] = strip_tags( $new_instance['twitter_url'] );289 290 $instance['twitter_col'] = strip_tags( $new_instance['twitter_col'] );291 292 $instance['facebook_url'] = strip_tags( $new_instance['facebook_url'] );293 294 $instance['facebook_col'] = strip_tags( $new_instance['facebook_col'] );295 296 297 298 /* Strip HTML tags for the add-on pack: */299 300 $instance['linkedin_url'] = strip_tags( $new_instance['linkedin_url'] );301 302 $instance['linkedin_col'] = strip_tags( $new_instance['linkedin_col'] );303 304 $instance['flickr_url'] = strip_tags( $new_instance['flickr_url'] );305 306 $instance['flickr_col'] = strip_tags( $new_instance['flickr_col'] );307 308 $instance['google_url'] = strip_tags( $new_instance['google_url'] );309 310 $instance['google_col'] = strip_tags( $new_instance['google_col'] );311 312 $instance['podcast_url'] = strip_tags( $new_instance['podcast_url'] );313 314 $instance['podcast_col'] = strip_tags( $new_instance['podcast_col'] );315 316 317 318 319 return $instance;320 321 }322 323 324 325 /**326 327 * Displays the widget settings controls on the widget panel.328 329 * Makes use of the get_field_id() and get_field_name() function330 331 * when creating your form elements. This handles the confusing stuff.332 333 */334 335 function form( $instance ) {336 337 $defaults = array(338 339 340 341 /* Set up some default standard widget settings. */342 343 'title' => 'Subscription Options:',344 345 'size' => '70',346 347 'rss_url' => '',348 349 'rss_col' => '#FF9831',350 351 'email_url' => '',352 353 'email_col' => '#7AFD32',354 355 'twitter_url' => '',356 357 'twitter_col' => '#309AFE',358 359 'facebook_url' => '',360 361 'facebook_col' => '#FF005D',362 363 364 365 /* Set up some default add-on pack settings. */366 367 'linkedin_url' => '',368 369 'linkedin_col' => '#2680AA',370 371 'flickr_url' => '',372 373 'flickr_col' => '#FF0084',374 375 'google_url' => '',376 377 'google_col' => '#555555',378 379 'podcast_url' => '',380 381 'podcast_col' => '#B474E6',382 383 384 385 386 );387 388 $instance = wp_parse_args( (array) $instance, $defaults ); ?>389 390 391 392 <!-- Widget Title: Text Input -->393 394 <p class="suboptions-item">395 396 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'title' ); ?>">Title:</label>397 398 <input class="suboptions-title" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" />399 400 </p>401 402 403 404 <!-- RSS Feed URL & Colour: Text Input -->405 406 <p class="suboptions-item">407 408 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'rss_url' ); ?>"><?php _e('RSS Feed URL & Colour:', 'suboptions'); ?></label>409 410 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'rss_url' ); ?>" name="<?php echo $this->get_field_name( 'rss_url' ); ?>" value="<?php echo $instance['rss_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'rss_col' ); ?>" name="<?php echo $this->get_field_name( 'rss_col' ); ?>" value="<?php echo $instance['rss_col']; ?>" />411 412 </p>413 414 415 416 <!-- FeedBurner Email Service URL & Colour Text Input -->417 418 <p class="suboptions-item">419 420 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'email_url' ); ?>"><?php _e('FeedBurner Email Service URL & Colour:', 'suboptions'); ?></label>421 422 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'email_url' ); ?>" name="<?php echo $this->get_field_name( 'email_url' ); ?>" value="<?php echo $instance['email_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'email_col' ); ?>" name="<?php echo $this->get_field_name( 'email_col' ); ?>" value="<?php echo $instance['email_col']; ?>" />423 424 </p>425 426 427 428 <!-- Twitter Stream URL & Colour: Text Input -->429 430 <p class="suboptions-item">431 432 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'twitter_url' ); ?>"><?php _e('Twitter Stream URL & Colour:', 'suboptions'); ?></label>433 434 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'twitter_url' ); ?>" name="<?php echo $this->get_field_name( 'twitter_url' ); ?>" value="<?php echo $instance['twitter_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'twitter_col' ); ?>" name="<?php echo $this->get_field_name( 'twitter_col' ); ?>" value="<?php echo $instance['twitter_col']; ?>" />435 436 </p>437 438 439 440 <!-- Facebook Page URL & Colour: Text Input -->441 442 <p class="suboptions-item">443 444 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'facebook_url' ); ?>"><?php _e('Facebook Page URL & Colour:', 'suboptions'); ?></label>445 446 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'facebook_url' ); ?>" name="<?php echo $this->get_field_name( 'facebook_url' ); ?>" value="<?php echo $instance['facebook_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'facebook_col' ); ?>" name="<?php echo $this->get_field_name( 'facebook_col' ); ?>" value="<?php echo $instance['facebook_col']; ?>" />447 448 </p>449 450 451 452 <!-- Decides to render Add-on Pack settings, if Add-on Pack is installed -->453 454 <?php455 456 if (function_exists('suboptions_addon')) {457 458 echo '<div id="suboptions-addon" class="suboptions-installed">';459 460 } else {461 462 echo '<p>Need more icons? Install the <a title="Install the Subscription Options Add-on Pack for $1.50" target="_blank" href="http://digitalcortex.net/plugins/subscription-options/addon-pack">Add-on Pack</a>!</p>';463 464 echo '<div id="suboptions-addon" class="suboptions-not-installed">';465 466 }467 468 ?>469 470 471 472 <!-- Add-on Pack: LinkedIn Profile URL & Colour: Text Input -->473 474 <p class="suboptions-item">475 476 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'linkedin_url' ); ?>"><?php _e('LinkedIn Profile URL & Colour:', 'suboptions'); ?></label>477 478 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'linkedin_url' ); ?>" name="<?php echo $this->get_field_name( 'linkedin_url' ); ?>" value="<?php echo $instance['linkedin_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'linkedin_col' ); ?>" name="<?php echo $this->get_field_name( 'linkedin_col' ); ?>" value="<?php echo $instance['linkedin_col']; ?>" />479 480 </p>481 482 483 484 <!-- Add-on Pack: Flickr Page URL & Colour Text Input -->485 486 <p class="suboptions-item">487 488 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'flickr_url' ); ?>"><?php _e('Flickr Page URL & Colour:', 'suboptions'); ?></label>489 490 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'flickr_url' ); ?>" name="<?php echo $this->get_field_name( 'flickr_url' ); ?>" value="<?php echo $instance['flickr_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'flickr_col' ); ?>" name="<?php echo $this->get_field_name( 'flickr_col' ); ?>" value="<?php echo $instance['flickr_col']; ?>" />491 492 </p>493 494 495 496 <!-- Add-on Pack: Google+ URL & Colour: Text Input -->497 498 <p class="suboptions-item">499 500 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'google_url' ); ?>"><?php _e('Google Plus URL & Colour:', 'suboptions'); ?></label>501 502 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'google_url' ); ?>" name="<?php echo $this->get_field_name( 'google_url' ); ?>" value="<?php echo $instance['google_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'google_col' ); ?>" name="<?php echo $this->get_field_name( 'google_col' ); ?>" value="<?php echo $instance['google_col']; ?>" />503 504 </p>505 506 507 508 <!-- Add-on Pack: Podcasting Service URL & Colour: Text Input -->509 510 <p class="suboptions-item">511 512 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'podcast_url' ); ?>"><?php _e('Podcasting Service URL & Colour:', 'suboptions'); ?></label>513 514 <input class="suboptions-url" id="<?php echo $this->get_field_id( 'podcast_url' ); ?>" name="<?php echo $this->get_field_name( 'podcast_url' ); ?>" value="<?php echo $instance['podcast_url']; ?>" /><input class="suboptions-colour" id="<?php echo $this->get_field_id( 'podcast_col' ); ?>" name="<?php echo $this->get_field_name( 'podcast_col' ); ?>" value="<?php echo $instance['podcast_col']; ?>" />515 516 </p>517 518 </div>519 520 521 522 <!-- Icon Size: Text Input -->523 524 <p class="suboptions-item">525 526 <label class="suboptions-label" for="<?php echo $this->get_field_id( 'size' ); ?>"><?php _e('Icon Size:', 'suboptions'); ?></label><input class="suboptions-size" id="<?php echo $this->get_field_id( 'size' ); ?>" name="<?php echo $this->get_field_name( 'size' ); ?>" value="<?php echo $instance['size']; ?>" style="width:30px; " /><?php _e(' pixels', 'suboptions'); ?>527 528 </p>529 530 531 532 <?php533 534 535 536 }537 538 328 } 539 329 540 541 542 330 /* 543 544 331 * Add a bit of style. 545 546 332 */ 547 548 333 function suboptions_style() { 549 550 334 $siteurl = get_bloginfo('wpurl'); 551 552 335 $url = $siteurl . '/wp-content/plugins/' . basename(dirname(__FILE__)) . '/suboptions.css'; 553 554 336 echo "<link rel='stylesheet' type='text/css' href='$url' />\n"; 555 556 337 } 557 558 338 add_action( 'wp_head', 'suboptions_style' ); 559 560 339 add_action( 'admin_head', 'suboptions_style' ); 561 562 340 ?>
Note: See TracChangeset
for help on using the changeset viewer.