Changeset 1322
- Timestamp:
- 02/25/2015 03:56:45 PM (10 years ago)
- Location:
- sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-themes
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-themes/functions.php
r1319 r1322 29 29 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption' 30 30 ) ); 31 32 $themes_allowedtags = array(33 'a' => array( 'href' => array(), 'title' => array(), 'target' => array() ),34 'abbr' => array( 'title' => array() ),35 'acronym' => array( 'title' => array() ),36 'code' => array(),37 'pre' => array(),38 'em' => array(),39 'strong' => array(),40 'div' => array(),41 'p' => array(),42 'ul' => array(),43 'ol' => array(),44 'li' => array(),45 'h1' => array(),46 'h2' => array(),47 'h3' => array(),48 'h4' => array(),49 'h5' => array(),50 'h6' => array(),51 'img' => array( 'src' => array(), 'class' => array(), 'alt' => array() ),52 );53 31 } 54 32 add_action( 'after_setup_theme', 'wporg_themes_setup' ); … … 164 142 */ 165 143 function wporg_themes_query_themes() { 166 global $theme s_allowedtags, $theme_field_defaults;144 global $theme_field_defaults, $themes_allowedtags; 167 145 168 146 $args = wp_parse_args( wp_unslash( $_REQUEST['request'] ), array( … … 171 149 ) ); 172 150 173 $old_filter = isset( $args['browse'] ) ? $args['browse'] : 'search'; 174 175 /** This filter is documented in wp-admin/includes/class-wp-theme-install-list-table.php */ 176 $args = apply_filters( 'install_themes_table_api_args_' . $old_filter, $args ); 177 178 $api = themes_api( 'query_themes', $args ); 151 include_once '/home/api/public_html/themes/info/1.0/class-themes-api.php'; 152 $api = new Themes_API( 'query_themes', $args ); 153 $api = $api->response; 179 154 180 155 if ( is_wp_error( $api ) ) { … … 182 157 } 183 158 184 foreach ( $api->themes as &$theme ) { 185 $theme->name = wp_kses( $theme->name, $themes_allowedtags ); 186 187 // add in the nicename for the url, and the displayname for the display 188 $user = get_user_by('login', $theme->author); 189 $theme->authorurl = $user->user_nicename; 190 $theme->authordispname = wp_kses( $user->display_name, $themes_allowedtags ); 191 192 $theme->author = wp_kses( $theme->author, $themes_allowedtags ); 193 $theme->version = wp_kses( $theme->version, $themes_allowedtags ); 194 $theme->description = wp_kses( $theme->description, $themes_allowedtags ); 195 $theme->downloaded = number_format_i18n( $theme->downloaded ); 196 $theme->num_ratings = number_format_i18n( $theme->num_ratings ); 197 $theme->preview_url = set_url_scheme( $theme->preview_url ); 198 wporg_themes_photon_screen_shot( $theme ); 159 foreach ( $api->themes as $key => $theme ) { 160 $api->themes[ $key ] = wporg_themes_ajax_prepare_theme( $theme ); 199 161 } 200 162 … … 205 167 206 168 function wporg_themes_theme_info() { 207 global $themes_allowedtags;208 209 169 $args = wp_unslash( $_REQUEST ); 210 $theme = themes_api( 'theme_information', array( 'slug' => $args['slug'] ) ); 211 212 if ( is_wp_error( $theme ) ) { 170 171 include_once '/home/api/public_html/themes/info/1.0/class-themes-api.php'; 172 $api = new Themes_API( 'query_themes', array( 'slug' => $args['slug'] ) ); 173 $api = $api->response; 174 175 if ( is_wp_error( $api ) ) { 213 176 wp_send_json_error(); 214 177 } 215 178 216 $theme->name = wp_kses( $theme->name, $themes_allowedtags ); 217 $theme->author = wp_kses( $theme->author, $themes_allowedtags ); 218 $theme->version = wp_kses( $theme->version, $themes_allowedtags ); 219 $theme->description = wp_kses( $theme->description, $themes_allowedtags ); 220 $theme->downloaded = number_format_i18n( $theme->downloaded ); 221 $theme->num_ratings = number_format_i18n( $theme->num_ratings ); 222 $theme->preview_url = set_url_scheme( $theme->preview_url ); 223 wporg_themes_photon_screen_shot( $theme ); 224 225 wp_send_json_success( $theme ); 179 $api = wporg_themes_ajax_prepare_theme( $api ); 180 181 wp_send_json_success( $api ); 226 182 } 227 183 add_action( 'wp_ajax_theme-info', 'wporg_themes_theme_info' ); 228 184 add_action( 'wp_ajax_nopriv_theme-info', 'wporg_themes_theme_info' ); 229 185 230 /** 231 * Photon-ifies the screen shot URL. 232 * 233 * @param object $theme 234 * @return object 235 */ 236 function wporg_themes_photon_screen_shot( $theme ) { 186 function wporg_themes_ajax_prepare_theme( $theme ) { 187 global $themes_allowedtags; 188 189 if ( empty( $themes_allowedtags ) ) { 190 $themes_allowedtags = array( 191 'a' => array( 'href' => array(), 'title' => array(), 'target' => array() ), 192 'abbr' => array( 'title' => array() ), 193 'acronym' => array( 'title' => array() ), 194 'code' => array(), 195 'pre' => array(), 196 'em' => array(), 197 'strong' => array(), 198 'div' => array(), 199 'p' => array(), 200 'ul' => array(), 201 'ol' => array(), 202 'li' => array(), 203 'h1' => array(), 204 'h2' => array(), 205 'h3' => array(), 206 'h4' => array(), 207 'h5' => array(), 208 'h6' => array(), 209 'img' => array( 'src' => array(), 'class' => array(), 'alt' => array() ), 210 ); 211 } 212 213 $author = get_user_by( 'login', $theme->author ); 214 $theme->author = new StdClass; 215 foreach ( array( 'user_nicename', 'display_name' ) as $property ) { 216 $theme->author->$property = $author->$property; 217 } 218 219 $theme->name = wp_kses( $theme->name, $themes_allowedtags ); 220 $theme->version = wp_kses( $theme->version, $themes_allowedtags ); 221 $theme->description = wp_kses( $theme->description, $themes_allowedtags ); 222 $theme->downloaded = number_format_i18n( $theme->downloaded ); 223 $theme->num_ratings = number_format_i18n( $theme->num_ratings ); 224 $theme->preview_url = set_url_scheme( $theme->preview_url ); 225 237 226 if ( preg_match( '/screenshot.(jpg|jpeg|png|gif)/', $theme->screenshot_url, $match ) ) { 238 227 $theme->screenshot_url = sprintf( 'https://i0.wp.com/themes.svn.wordpress.org/%1$s/%2$s/%3$s', … … 242 231 ); 243 232 } 233 244 234 return $theme; 245 235 } -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-themes/view-templates/theme-single.php
r1293 r1322 17 17 <div class="theme-head"> 18 18 <h3 class="theme-name entry-title">{{{ data.name }}}</h3> 19 <h4 class="theme-author"><?php printf( __( 'By %s' ), '<a href="https://profiles.wordpress.org/{{ data.author url }}"><span class="author">{{{ data.authordispname }}}</span></a>' ); ?></h4>19 <h4 class="theme-author"><?php printf( __( 'By %s' ), '<a href="https://profiles.wordpress.org/{{ data.author.user_nicename }}"><span class="author">{{{ data.author.display_name }}}</span></a>' ); ?></h4> 20 20 21 21 <div class="theme-actions">
Note: See TracChangeset
for help on using the changeset viewer.