Changeset 6705
- Timestamp:
- 02/02/2008 07:57:51 AM (17 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/includes/schema.php
r6385 r6705 252 252 populate_roles_210(); 253 253 populate_roles_230(); 254 populate_roles_250(); 254 255 } 255 256 … … 391 392 } 392 393 394 function populate_roles_250() { 395 $role = get_role( 'administrator' ); 396 397 if ( !empty( $role ) ) { 398 $role->add_cap( 'edit_dashboard' ); 399 } 400 } 401 393 402 ?> -
trunk/wp-admin/includes/upgrade.php
r6385 r6705 198 198 if ( $wp_current_db_version < 6124 ) 199 199 upgrade_230_old_tables(); 200 201 if ( $wp_current_db_version < 6689 ) 202 upgrade_250(); 200 203 201 204 maybe_disable_automattic_widgets(); … … 716 719 } 717 720 721 722 function upgrade_250() { 723 global $wp_current_db_version; 724 725 if ( $wp_current_db_version < 6689 ) { 726 populate_roles_250(); 727 } 728 } 718 729 719 730 // The functions we use to actually do stuff -
trunk/wp-admin/index-extra.php
r6431 r6705 5 5 @header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset')); 6 6 7 $widgets = get_option( 'dashboard_widget_options' ); 8 9 7 10 switch ( $_GET['jax'] ) { 8 11 9 12 case 'incominglinks' : 10 11 $rss_feed = apply_filters( 'dashboard_incoming_links_feed', 'http://blogsearch.google.com/blogsearch_feeds?hl=en&scoring=d&ie=utf-8&num=10&output=rss&partner=wordpress&q=link:' . trailingslashit( get_option('home') ) ); 12 13 14 $rss = @fetch_rss( $rss_feed ); 13 @extract( @$widgets['dashboard_incoming_links'], EXTR_SKIP ); 14 $rss = @fetch_rss( $url ); 15 15 if ( isset($rss->items) && 1 < count($rss->items) ) { // Technorati returns a 1-item feed when it has no results 16 16 ?> … … 18 18 <ul> 19 19 <?php 20 $rss->items = array_slice($rss->items, 0, 10);20 $rss->items = array_slice($rss->items, 0, $items); 21 21 foreach ($rss->items as $item ) { 22 $publisher = ''; 23 $site_link = ''; 24 $link = ''; 25 $content = ''; 26 $date = ''; 27 $link = clean_url( strip_tags( $item['link'] ) ); 28 29 if ( isset( $item['author_uri'] ) ) 30 $site_link = clean_url( strip_tags( $item['author_uri'] ) ); 31 32 if ( !$publisher = wp_specialchars( strip_tags( isset($item['dc']['publisher']) ? $item['dc']['publisher'] : $item['author_name'] ) ) ) 33 $publisher = __( 'Somebody' ); 34 if ( $site_link ) 35 $publisher = "<a href='$site_link'>$publisher</a>"; 36 else 37 $publisher = "<strong>$publisher</strong>"; 38 39 if ( isset($item['description']) ) 40 $content = $item['description']; 41 elseif ( isset($item['summary']) ) 42 $content = $item['summary']; 43 elseif ( isset($item['atom_content']) ) 44 $content = $item['atom_content']; 45 else 46 $content = __( 'something' ); 47 $content = strip_tags( $content ); 48 if ( 50 < strlen($content) ) 49 $content = substr($content, 0, 50) . ' ...'; 50 $content = wp_specialchars( $content ); 51 if ( $link ) 52 $text = _c( '%1$s linked here <a href="%2$s">saying</a>, "%3$s"|feed_display' ); 53 else 54 $text = _c( '%1$s linked here saying, "%3$s"|feed_display' ); 55 56 if ( $show_date ) { 57 if ( $show_author || $show_summary ) 58 $text .= _c( ' on %4$s|feed_display' ); 59 $date = wp_specialchars( strip_tags( isset($item['pubdate']) ? $item['pubdate'] : $item['published'] ) ); 60 $date = strtotime( $date ); 61 $date = gmdate( get_option( 'date_format' ), $date ); 62 } 63 22 64 ?> 23 <li>< a href="<?php echo wp_filter_kses($item['link']); ?>"><?php echo wptexturize(wp_specialchars($item['title'])); ?></a></li>65 <li><?php printf( _c( "$text|feed_display" ), $publisher, $link, $content, $date ); ?></li> 24 66 <?php } ?> 25 67 </ul> … … 33 75 34 76 case 'devnews' : 35 $rss = @fetch_rss(apply_filters( 'dashboard_primary_feed', 'http://wordpress.org/development/feed/' )); 36 if ( isset($rss->items) && 0 != count($rss->items) ) { 37 38 $rss->items = array_slice($rss->items, 0, 2); 39 foreach ($rss->items as $item ) { 40 ?> 41 <h4><a href='<?php echo wp_filter_kses($item['link']); ?>'><?php echo wp_specialchars($item['title']); ?></a> <?php gmdate( 'Y/m/d', strtotime( $item['pubdate'] ) ); ?></h4> 42 <p><?php echo $item['description']; ?></p> 43 <?php 44 } 45 } 46 ?> 47 48 <?php 77 wp_widget_rss_output( $widgets['dashboard_primary'] ); 49 78 break; 50 79 51 80 case 'planetnews' : 52 $rss = @fetch_rss(apply_filters( 'dashboard_secondary_feed', 'http://planet.wordpress.org/feed/' )); 81 extract( $widgets['dashboard_secondary'], EXTR_SKIP ); 82 $rss = @fetch_rss( $url ); 53 83 if ( isset($rss->items) && 0 != count($rss->items) ) { 54 84 ?> 55 <h3><?php echo apply_filters( 'dashboard_secondary_title', __('Other WordPress News') ); ?></h3>56 85 <ul> 57 86 <?php 58 $rss->items = array_slice($rss->items, 0, 20);87 $rss->items = array_slice($rss->items, 0, $items); 59 88 foreach ($rss->items as $item ) { 60 89 $title = wp_specialchars($item['title']); … … 67 96 ?> 68 97 </ul> 69 <p class="readmore"><a href="<?php echo apply_filters( 'dashboard_secondary_link', 'http://planet.wordpress.org/' ); ?>"><?php _e('Read more »'); ?></a></p>70 98 <?php 71 99 } -
trunk/wp-admin/index.php
r6484 r6705 1 1 <?php 2 2 3 require_once('admin.php'); 4 5 require( './includes/dashboard.php' ); 6 7 wp_dashboard_setup(); 3 8 4 9 function index_js() { … … 6 11 <script type="text/javascript"> 7 12 jQuery(function() { 8 jQuery('#incominglinks').load('index-extra.php?jax=incominglinks'); 9 jQuery('#devnews').load('index-extra.php?jax=devnews'); 10 // jQuery('#planetnews').load('index-extra.php?jax=planetnews'); 13 jQuery('#dashboard_incoming_links div.dashboard-widget-content').not( '.dashboard-widget-control' ).load('index-extra.php?jax=incominglinks'); 14 jQuery('#dashboard_primary div.dashboard-widget-content').not( '.dashboard-widget-control' ).load('index-extra.php?jax=devnews'); 15 jQuery('#dashboard_secondary div.dashboard-widget-content').not( '.dashboard-widget-control' ).load('index-extra.php?jax=planetnews'); 16 jQuery('#dashboard_plugins div.dashboard-widget-content').not( '.dashboard-widget-control' ).html( 'TODO' ); 11 17 }); 12 18 </script> … … 78 84 ?> 79 85 <p><?php printf( __( 'You are using %1$s theme with %2$s.' ), $ct->title, "<a href='widgets.php'>$widgets_text</a>" ); ?> <a href="themes.php" class="rbutton"><?php _e('Change Theme'); ?></a> You're using BetaPress TODO.</p> 80 <p>81 86 <?php do_action( 'rightnow_end' ); ?> 82 87 <?php do_action( 'activity_box_end' ); ?> 83 </div> 88 </div><!-- rightnow --> 84 89 85 < div id="dashboard-widgets">90 <?php wp_dashboard(); ?> 86 91 87 <div class="dashboard-widget"> 88 <div class="dashboard-widget-edit"><a href=""><?php _e('See All'); ?></a> | <a href=""><?php _e('Edit'); ?></a></div> 89 <h3>Recent Comments</h3> 92 </div><!-- wrap --> 90 93 91 <?php 92 $comments = $wpdb->get_results("SELECT comment_author, comment_author_url, comment_ID, comment_post_ID FROM $wpdb->comments WHERE comment_approved = '1' ORDER BY comment_date_gmt DESC LIMIT 5"); 93 $numcomments = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '0'"); 94 95 if ( $comments || $numcomments ) : 96 ?> 97 98 <?php if ( $numcomments ) : ?> 99 <p><strong><a href="moderation.php"><?php echo sprintf(__('Comments in moderation (%s) »'), number_format_i18n($numcomments) ); ?></a></strong></p> 100 <?php endif; ?> 101 102 <ul> 103 <?php 104 if ( $comments ) { 105 foreach ($comments as $comment) { 106 echo '<li>' . sprintf(__('%1$s on %2$s'), get_comment_author_link(), '<a href="'. get_permalink($comment->comment_post_ID) . '#comment-' . $comment->comment_ID . '">' . get_the_title($comment->comment_post_ID) . '</a>'); 107 edit_comment_link(__("Edit"), ' <small>(', ')</small>'); 108 echo '</li>'; 109 } 110 } 111 ?> 112 </ul> 113 <?php endif; ?> 114 </div> 115 116 117 <div class="dashboard-widget"> 118 <?php 119 $more_link = apply_filters( 'dashboard_incoming_links_link', 'http://blogsearch.google.com/blogsearch?hl=en&scoring=d&partner=wordpress&q=link:' . trailingslashit( get_option('home') ) ); 120 ?> 121 <div class="dashboard-widget-edit"><a href="<?php echo htmlspecialchars( $more_link ); ?>"><?php _e('See All'); ?></a> | <a href=""><?php _e('Edit'); ?></a></div> 122 <h3><?php _e('Incoming Links'); ?></h3> 123 124 <div id="incominglinks"></div> 125 </div> 126 127 <div class="dashboard-widget"> 128 <?php 129 $recentposts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_type = 'post' AND " . get_private_posts_cap_sql('post') . " AND post_date_gmt < '$today' ORDER BY post_date DESC LIMIT 5"); 130 ?> 131 <div class="dashboard-widget-edit"><a href="<?php echo htmlspecialchars( $more_link ); ?>"><?php _e('See All'); ?></a> | <a href=""><?php _e('Edit'); ?></a></div> 132 <h3>Recent Posts</h3> 133 134 <ul> 135 <?php 136 foreach ($recentposts as $post) { 137 if ($post->post_title == '') 138 $post->post_title = sprintf(__('Post #%s'), $post->ID); 139 echo "<li><a href='post.php?action=edit&post=$post->ID'>"; 140 the_title(); 141 echo '</a></li>'; 142 } 143 ?> 144 </ul> 145 </div> 146 147 <div class="dashboard-widget"> 148 <div class="dashboard-widget-edit"><a href="<?php echo htmlspecialchars( $more_link ); ?>"><?php _e('See All'); ?></a> | <a href=""><?php _e('Edit'); ?></a> | <a href=""><?php _e('RSS'); ?></a></div> 149 <h3><?php echo apply_filters( 'dashboard_primary_title', __('Blog') ); ?></h3> 150 151 <div id="devnews"></div> 152 </div> 153 154 <?php do_action( 'dashboard_widgets' ); ?> 155 156 <p><a href=""><?php _e('Customize this page'); ?></a>.</p> 157 158 </div> 159 160 161 <div id="planetnews"></div> 162 163 <div style="clear: both"> 164 <br clear="all" /> 165 </div> 166 </div> 167 168 <?php 169 require('./admin-footer.php'); 170 ?> 94 <?php require('./admin-footer.php'); ?> -
trunk/wp-admin/wp-admin.css
r6694 r6705 1018 1018 color: #999; 1019 1019 position: relative; 1020 margin-top: -75px;1020 // margin-top: -75px; 1021 1021 } 1022 1022 -
trunk/wp-includes/version.php
r6554 r6705 17 17 * @global int $wp_db_version 18 18 */ 19 $wp_db_version = 6 124;19 $wp_db_version = 6689; 20 20 21 21 ?> -
trunk/wp-includes/widgets.php
r6687 r6705 222 222 $did_one = false; 223 223 foreach ( $sidebars_widgets[$index] as $id ) { 224 $callback = $wp_registered_widgets[$id]['callback']; 225 226 $params = array_merge(array($sidebar), (array) $wp_registered_widgets[$id]['params']); 224 $params = array_merge( 225 array( array_merge( $sidebar, array('widget_id' => $id, 'widget_name' => $wp_registered_widgets[$id]['name']) ) ), 226 (array) $wp_registered_widgets[$id]['params'] 227 ); 227 228 228 229 // Substitute HTML id and class attributes into before_widget … … 236 237 $classname_ = ltrim($classname_, '_'); 237 238 $params[0]['before_widget'] = sprintf($params[0]['before_widget'], $id, $classname_); 239 240 $params = apply_filters( 'dynamic_sidebar_params', $params ); 241 242 $callback = $wp_registered_widgets[$id]['callback']; 238 243 239 244 if ( is_callable($callback) ) { … … 1004 1009 return; 1005 1010 1006 $num_items = (int) $options[$number]['items'];1007 $show_summary = $options[$number]['show_summary'];1008 if ( empty($num_items) || $num_items < 1 || $num_items > 10 ) $num_items = 10;1009 1011 $url = $options[$number]['url']; 1010 1012 while ( strstr($url, 'http') != $url ) … … 1033 1035 $icon = get_option('siteurl').'/wp-includes/images/rss.png'; 1034 1036 $title = "<a class='rsswidget' href='$url' title='" . attribute_escape(__('Syndicate this content')) ."'><img style='background:orange;color:white;border:none;' width='14' height='14' src='$icon' alt='RSS' /></a> <a class='rsswidget' href='$link' title='$desc'>$title</a>"; 1035 ?> 1036 <?php echo $before_widget; ?> 1037 <?php $title ? print($before_title . $title . $after_title) : null; ?> 1038 <?php 1037 1038 echo $before_widget; 1039 echo $before_title . $title . $after_title; 1040 1041 wp_widget_rss_output( $rss, $options[$number] ); 1042 1043 echo $after_widget; 1044 } 1045 1046 function wp_widget_rss_output( $rss, $args = null ) { 1047 if ( is_string( $rss ) ) { 1048 require_once(ABSPATH . WPINC . '/rss.php'); 1049 if ( !$rss = fetch_rss($rss) ) 1050 return; 1051 } elseif ( is_array($rss) && isset($rss['url']) ) { 1052 require_once(ABSPATH . WPINC . '/rss.php'); 1053 $args = $rss; 1054 if ( !$rss = fetch_rss($rss['url']) ) 1055 return; 1056 } elseif ( !is_object($rss) ) { 1057 return; 1058 } 1059 1060 extract( $args, EXTR_SKIP ); 1061 1062 $items = (int) $items; 1063 if ( $items < 1 || 20 < $items ) 1064 $items = 10; 1065 $show_summary = (int) $show_summary; 1066 $show_author = (int) $show_author; 1067 $show_date = (int) $show_date; 1068 1039 1069 if ( is_array( $rss->items ) && !empty( $rss->items ) ) { 1040 $rss->items = array_slice($rss->items, 0, $ num_items);1070 $rss->items = array_slice($rss->items, 0, $items); 1041 1071 echo '<ul>'; 1042 1072 foreach ($rss->items as $item ) { … … 1048 1078 $title = __('Untitled'); 1049 1079 $desc = ''; 1050 if ( $show_summary ) {1051 $summary = '<div class="rssSummary">' . $item['description'] . '</div>';1052 } else {1053 1080 if ( isset( $item['description'] ) && is_string( $item['description'] ) ) 1054 1081 $desc = str_replace(array("\n", "\r"), ' ', attribute_escape(strip_tags(html_entity_decode($item['description'], ENT_QUOTES)))); 1082 elseif ( isset( $item['summary'] ) && is_string( $item['summary'] ) ) 1083 $desc = str_replace(array("\n", "\r"), ' ', attribute_escape(strip_tags(html_entity_decode($item['summary'], ENT_QUOTES)))); 1084 1085 $summary = ''; 1086 if ( isset( $item['description'] ) && is_string( $item['description'] ) ) 1087 $summary = $item['description']; 1088 elseif ( isset( $item['summary'] ) && is_string( $item['summary'] ) ) 1089 $summary = $item['summary']; 1090 1091 $desc = str_replace(array("\n", "\r"), ' ', attribute_escape(strip_tags(html_entity_decode($summary, ENT_QUOTES)))); 1092 1093 if ( $show_summary ) { 1094 $desc = ''; 1095 $summary = wp_specialchars( $summary ); 1096 $summary = "<div class='rssSummary'>$summary</div>"; 1097 } else { 1055 1098 $summary = ''; 1056 1099 } 1057 echo "<li><a class='rsswidget' href='$link' title='$desc'>$title</a>$summary</li>"; 1100 1101 $date = ''; 1102 if ( $show_date ) { 1103 if ( isset($item['pubdate']) ) 1104 $date = $item['pubdate']; 1105 elseif ( isset($item['published']) ) 1106 $date = $item['published']; 1107 1108 if ( $date ) { 1109 if ( $date_stamp = strtotime( $date ) ) 1110 $date = '<span class="rss-date">' . gmdate( get_option( 'date_format' ), $date_stamp ) . '</span>'; 1111 else 1112 $date = ''; 1113 } 1114 } 1115 1116 $author = ''; 1117 if ( $show_author ) { 1118 if ( isset($item['dc']['creator']) ) 1119 $author = ' <cite>' . wp_specialchars( strip_tags( $item['dc']['creator'] ) ) . '</cite>'; 1120 elseif ( isset($item['author_name']) ) 1121 $author = ' <cite>' . wp_specialchars( strip_tags( $item['author_name'] ) ) . '</cite>'; 1122 } 1123 1124 echo "<li><a class='rsswidget' href='$link' title='$desc'>$title</a>{$date}{$summary}{$author}</li>"; 1058 1125 } 1059 1126 echo '</ul>'; … … 1061 1128 echo '<ul><li>' . __( 'An error has occurred; the feed is probably down. Try again later.' ) . '</li></ul>'; 1062 1129 } 1063 1064 echo $after_widget;1065 1130 } 1066 1131 … … 1083 1148 $urls[$option['url']] = true; 1084 1149 1085 if ( !$updated && !empty($_POST['sidebar']) ) {1150 if ( !$updated && 'POST' == $_SERVER['REQUEST_METHOD'] && !empty($_POST['sidebar']) ) { 1086 1151 $sidebar = (string) $_POST['sidebar']; 1087 1152 … … 1100 1165 1101 1166 foreach( (array) $_POST['widget-rss'] as $widget_number => $widget_rss ) { 1102 $items = (int) $widget_rss['items']; 1103 if ( $items < 1 ) 1104 $items = 10; 1105 $url = sanitize_url(strip_tags(stripslashes($widget_rss['url']))); 1106 $title = trim(strip_tags(stripslashes($widget_rss['title']))); 1107 1108 if ( !isset($urls[$url]) ) { 1109 require_once(ABSPATH . WPINC . '/rss.php'); 1110 $rss = fetch_rss($url); 1111 $error = false; 1112 if ( !is_object($rss) ) { 1113 $url = wp_specialchars(__('Error: could not find an RSS or ATOM feed at that URL.'), 1); 1114 $error = sprintf(__('Error in RSS %1$d'), $widget_number ); 1115 } 1116 } 1117 $options[$widget_number] = compact( 'title', 'url', 'items', 'error' ); 1167 $widget_rss = stripslashes_deep( $widget_rss ); 1168 $url = sanitize_url(strip_tags($widget_rss['url'])); 1169 $options[$widget_number] = wp_widget_rss_process( $widget_rss, !isset($urls[$url]) ); 1118 1170 } 1119 1171 … … 1128 1180 $error = false; 1129 1181 $number = '%i%'; 1182 $show_summary = 0; 1183 $show_author = 0; 1184 $show_date = 0; 1130 1185 } else { 1131 $title = attribute_escape($options[$number]['title']); 1132 $url = attribute_escape($options[$number]['url']); 1133 $items = (int) $options[$number]['items']; 1134 if ( $items < 1 ) 1135 $items = 10; 1136 $error = $options[$number]['error']; 1137 } 1138 1139 ?> 1140 <p> 1141 <label for="rss-url-<?php echo $number; ?>"><?php _e('Enter the RSS feed URL here:'); ?> 1142 <input class="widefat" id="rss-url-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][url]" type="text" value="<?php echo $url; ?>" /> 1143 </label> 1144 </p> 1145 <p> 1146 <label for="rss-title-<?php echo $number; ?>"><?php _e('Give the feed a title (optional):'); ?> 1147 <input class="widefat" id="rss-title-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][title]" type="text" value="<?php echo $title; ?>" /> 1148 </label> 1149 </p> 1150 <p> 1151 <label for="rss-items-<?php echo $number; ?>"><?php _e('How many items would you like to display?'); ?> 1152 <select id="rss-items-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][items]"> 1153 <?php 1154 for ( $i = 1; $i <= 10; ++$i ) 1155 echo "<option value='$i' " . ( $items == $i ? "selected='selected'" : '' ) . ">$i</option>"; 1156 ?> 1157 </select> 1158 </label> 1159 </p> 1160 <input type="hidden" id="rss-submit-<?php echo $number; ?>" name="rss-submit-<?php echo $number; ?>" value="1" /> 1161 <?php 1186 extract( $options[$number] ); 1187 } 1188 1189 wp_widget_rss_form( compact( 'number', 'title', 'url', 'items', 'error', 'show_summary', 'show_author', 'show_date' ) ); 1190 } 1191 1192 function wp_widget_rss_form( $args, $inputs = null ) { 1193 $default_inputs = array( 'url' => true, 'title' => true, 'items' => true, 'show_summary' => true, 'show_author' => true, 'show_date' => true ); 1194 $inputs = wp_parse_args( $inputs, $default_inputs ); 1195 extract( $args ); 1196 $number = attribute_escape( $number ); 1197 $title = attribute_escape( $title ); 1198 $url = attribute_escape( $url ); 1199 $items = (int) $items; 1200 if ( $items < 1 || 20 < $items ) 1201 $items = 10; 1202 $show_summary = (int) $show_summary; 1203 $show_author = (int) $show_author; 1204 $show_date = (int) $show_date; 1205 1206 if ( $inputs['url'] ) : 1207 ?> 1208 <p> 1209 <label for="rss-url-<?php echo $number; ?>"><?php _e('Enter the RSS feed URL here:'); ?> 1210 <input class="widefat" id="rss-url-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][url]" type="text" value="<?php echo $url; ?>" /> 1211 </label> 1212 </p> 1213 <?php endif; if ( $inputs['title'] ) : ?> 1214 <p> 1215 <label for="rss-title-<?php echo $number; ?>"><?php _e('Give the feed a title (optional):'); ?> 1216 <input class="widefat" id="rss-title-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][title]" type="text" value="<?php echo $title; ?>" /> 1217 </label> 1218 </p> 1219 <?php endif; if ( $inputs['items'] ) : ?> 1220 <p> 1221 <label for="rss-items-<?php echo $number; ?>"><?php _e('How many items would you like to display?'); ?> 1222 <select id="rss-items-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][items]"> 1223 <?php 1224 for ( $i = 1; $i <= 20; ++$i ) 1225 echo "<option value='$i' " . ( $items == $i ? "selected='selected'" : '' ) . ">$i</option>"; 1226 ?> 1227 </select> 1228 </label> 1229 </p> 1230 <?php endif; if ( $inputs['show_summary'] ) : ?> 1231 <p> 1232 <label for="rss-show-summary-<?php echo $number; ?>"> 1233 <input id="rss-show-summary-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][show_summary]" type="checkbox" value="1" <?php if ( $show_summary ) echo 'checked="checked"'; ?>/> 1234 <?php _e('Display item content?'); ?> 1235 </label> 1236 </p> 1237 <?php endif; if ( $inputs['show_author'] ) : ?> 1238 <p> 1239 <label for="rss-show-author-<?php echo $number; ?>"> 1240 <input id="rss-show-author-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][show_author]" type="checkbox" value="1" <?php if ( $show_author ) echo 'checked="checked"'; ?>/> 1241 <?php _e('Display item author if available?'); ?> 1242 </label> 1243 </p> 1244 <?php endif; if ( $inputs['show_date'] ) : ?> 1245 <p> 1246 <label for="rss-show-date-<?php echo $number; ?>"> 1247 <input id="rss-show-date-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][show_date]" type="checkbox" value="1" <?php if ( $show_date ) echo 'checked="checked"'; ?>/> 1248 <?php _e('Display item date?'); ?> 1249 </label> 1250 </p> 1251 <input type="hidden" id="rss-submit-<?php echo $number; ?>" name="rss-submit-<?php echo $number; ?>" value="1" /> 1252 <?php 1253 endif; 1254 foreach ( array_keys($default_inputs) as $input ) : 1255 if ( 'hidden' === $inputs[$input] ) : 1256 $id = str_replace( '_', '-', $input ); 1257 ?> 1258 <input type="hidden" id="rss-<?php echo $id; ?>-<?php echo $number; ?>" name="widget-rss[<?php echo $number; ?>][<?php echo $input; ?>]" value="<?php echo $$input; ?>" /> 1259 <?php 1260 endif; 1261 endforeach; 1262 } 1263 1264 // Expects unescaped data 1265 function wp_widget_rss_process( $widget_rss, $check_feed = true ) { 1266 $items = (int) $widget_rss['items']; 1267 if ( $items < 1 || 20 < $items ) 1268 $items = 10; 1269 $url = sanitize_url(strip_tags( $widget_rss['url'] )); 1270 $title = trim(strip_tags( $widget_rss['title'] )); 1271 $show_summary = (int) $widget_rss['show_summary']; 1272 $show_author = (int) $widget_rss['show_author']; 1273 $show_date = (int) $widget_rss['show_date']; 1274 1275 if ( $check_feed ) { 1276 require_once(ABSPATH . WPINC . '/rss.php'); 1277 $rss = fetch_rss($url); 1278 $error = false; 1279 $link = ''; 1280 if ( !is_object($rss) ) { 1281 $url = wp_specialchars(__('Error: could not find an RSS or ATOM feed at that URL.'), 1); 1282 $error = sprintf(__('Error in RSS %1$d'), $widget_number ); 1283 } else { 1284 $link = clean_url(strip_tags($rss->channel['link'])); 1285 while ( strstr($link, 'http') != $link ) 1286 $link = substr($link, 1); 1287 } 1288 } 1289 1290 return compact( 'title', 'url', 'link', 'items', 'error', 'show_summary', 'show_author', 'show_date' ); 1162 1291 } 1163 1292
Note: See TracChangeset
for help on using the changeset viewer.