Changeset 2555
- Timestamp:
- 02/23/2016 04:12:32 AM (9 years ago)
- Location:
- sites/trunk/wordpress.org/public_html/wp-content
- Files:
-
- 15 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-wporg-plugin-directory-template.php
r2554 r2555 135 135 return $sections; 136 136 } 137 138 /** 139 * Retrieve the Plugin Icon details for a plugin. 140 * 141 * @param WP_Post|string $plugin An instance of a Plugin post, or the plugin slug. 142 * @return mixed 143 */ 144 static function get_plugin_icon( $plugin, $output = 'raw' ) { 145 global $wporg_plugin_directory; 146 $plugin = $wporg_plugin_directory->get_or_create_plugin_post( $plugin ); 147 if ( is_wp_error( $plugin ) ) { 148 return false; 149 } 150 $plugin_slug = $plugin->post_name; 151 152 $raw_icons = get_post_meta( $plugin->ID, 'assets_icons', true ); 153 154 $icon = $icon_2x = $vector = $generated = false; 155 foreach ( $raw_icons as $file => $info ) { 156 switch ( $info['resolution'] ) { 157 case '256x256': 158 $icon_2x = self::get_asset_url( $plugin_slug, $info ); 159 break; 160 case '128x128': 161 $icon = self::get_asset_url( $plugin_slug, $info ); 162 break; 163 case false && 'icon.svg' == $file: 164 $icon = self::get_asset_url( $plugin_slug, $info ); 165 $vector = true; 166 break; 167 } 168 } 169 170 if ( ! $icon ) { 171 $generated = true; 172 if ( ! class_exists( 'WPorg_Plugin_Geopattern' ) ) { 173 include __DIR__ . '/class-wporg-plugin-geopattern.php'; 174 } 175 $icon = new WPorg_Plugin_Geopattern; 176 $icon->setString( $plugin->post_name ); 177 178 // Use the average color of the first known banner as the icon background color 179 if ( $color = get_post_meta( $plugin->ID, 'assets_banners_color', true ) ) { 180 if ( strlen( $color ) == 6 && strspn( $color, 'abcdef0123456789' ) == 6 ) { 181 $icon->setColor( '#' . $color ); 182 } 183 } 184 185 $icon = $icon->toDataURI(); 186 } 187 188 switch ( $output ) { 189 case 'html': 190 $id = "plugin-icon-{$plugin_slug}"; 191 $html = "<style type='text/css'>"; 192 $html .= "#{$id} { width:128px; height:128px; background-image: url('{$icon}'); background-size:128px 128px; }"; 193 if ( ! empty( $icon_2x ) && ! $generated ) { 194 $html .= "@media only screen and (-webkit-min-device-pixel-ratio: 1.5) { #{$id} { background-image: url('{$icon_2x}'); } }"; 195 } 196 $html .= "</style>"; 197 $html .= "<div class='plugin-icon' id='{$id}'></div>"; 198 199 return $html; 200 break; 201 case 'raw': 202 default: 203 return compact( 'icon', 'icon_2x', 'vector', 'generated' ); 204 } 205 } 206 207 /** 208 * Retrieve the Plugin Icon details for a plugin. 209 * 210 * @param WP_Post|string $plugin An instance of a Plugin post, or the plugin slug. 211 * @return mixed 212 */ 213 static function get_plugin_banner( $plugin, $output = 'raw' ) { 214 global $wporg_plugin_directory; 215 $plugin = $wporg_plugin_directory->get_or_create_plugin_post( $plugin ); 216 if ( is_wp_error( $plugin ) ) { 217 return false; 218 } 219 $plugin_slug = $plugin->post_name; 220 221 $raw_banners = get_post_meta( $plugin->ID, 'assets_banners', true ); 222 223 $banner = $banner_2x = false; 224 foreach ( $raw_banners as $file => $info ) { 225 switch ( $info['resolution'] ) { 226 case '1544x500': 227 $banner_2x = self::get_asset_url( $plugin_slug, $info ); 228 break; 229 case '772x250': 230 $banner = self::get_asset_url( $plugin_slug, $info ); 231 break; 232 } 233 } 234 235 if ( ! $banner ) { 236 return false; 237 } 238 239 switch ( $output ) { 240 case 'raw': 241 default: 242 return compact( 'banner', 'banner_2x' ); 243 } 244 } 245 246 static function get_asset_url( $plugin, $asset ) { 247 return esc_url( sprintf( 248 'https://ps.w.org/%s/assets/%s?rev=%s', 249 $plugin, 250 $asset['filename'], 251 $asset['revision'] 252 ) ); 253 } 137 254 } -
sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-wporg-plugin-directory-tools.php
r2501 r2555 24 24 25 25 // Sanitize contributors. 26 var_dump($data);27 26 foreach ( $data->contributors as $i => $name ) { 28 27 if ( get_user_by( 'login', $name ) ) { … … 38 37 return $data; 39 38 } 39 40 /** 41 * Retrieve the average color of a specified image. 42 * This currently relies upon the Jetpack libraries. 43 * 44 * @param $file_location string URL or filepath of image 45 * @return string|bool Average color as a hex value, False on failure 46 */ 47 static function get_image_average_color( $file_location ) { 48 if ( ! class_exists( 'Tonesque' ) && function_exists( 'jetpack_require_lib' ) ) { 49 jetpack_require_lib( 'tonesque' ); 50 } 51 if ( ! class_exists( 'Tonesque' ) ) { 52 return false; 53 } 54 55 $tonesque = new Tonesque( $file_location ); 56 if ( $tonesque ) { 57 return $tonesque->color(); 58 } 59 60 return false; 61 } 40 62 } -
sites/trunk/wordpress.org/public_html/wp-content/plugins/plugin-directory/class-wporg-plugin-directory.php
r2501 r2555 236 236 $_pages = preg_split( "#<!--section=(.+?)-->#", $content, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY ); 237 237 $content_pages = array( 238 'stats' => '[wporg-plugins-stats]', 239 'developers' => '[wporg-plugins-developer]', 238 'screenshots' => '[wporg-plugins-screenshots]', 239 'stats' => '[wporg-plugins-stats]', 240 'developers' => '[wporg-plugins-developer]', 240 241 ); 241 242 … … 250 251 return $content_pages; 251 252 } 253 254 /** 255 * Retrieve the WP_Post object representing a given plugin. 256 * 257 * @param $plugin_slug string|WP_Post The slug of the plugin to retrieve. 258 * @return WP_Post|WP_Error 259 */ 260 public function get_or_create_plugin_post( $plugin_slug ) { 261 if ( $plugin_slug instanceof WP_Post ) { 262 return $plugin_slug; 263 } 264 265 // get_post_by_slug(); 266 $posts = get_posts( array( 'post_type' => 'plugin', 'name' => $plugin_slug, 'post_status' => 'any', 'fields' => 'ids' ) ); 267 268 if ( $posts ) { 269 $id = reset( $posts ); 270 } else { 271 $id = wp_insert_post( array( 272 'post_type' => 'plugin', 273 'post_status' => 'pending', 274 'post_name' => $plugin_slug, 275 'post_title' => $plugin_slug, 276 'post_content' => '', 277 ), true ); 278 279 if ( is_wp_error( $id ) ) { 280 return $id; 281 } 282 } 283 284 $plugin = get_post( $id ); 285 return $plugin; 286 } 252 287 } -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/plugin-card.php
r2499 r2555 2 2 <div class="plugin-card-top"> 3 3 4 <a href="<?php the_permalink(); ?>" class="plugin-icon"><style>#plugin-icon-<?php echo esc_attr( $post->post_name ); ?> { width:128px; height:128px; background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMTEiIGhlaWdodD0iMTI5IiB2aWV3Ym94PSIwIDAgMTExIDEyOSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0icmdiKDI0MSwgMjQxLCAyNDEpIiAvPjxyZWN0IHg9Ii0xMS44MzMzMzMzMzMzMzMiIHk9Ii0xMS44MzMzMzMzMzMzMzMiIHdpZHRoPSIyMy42NjY2NjY2NjY2NjciIGhlaWdodD0iMjMuNjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDg5MzMzMzMzMzMzMzMzIiBzdHJva2Utd2lkdGg9IjEiIC8+PHJlY3QgeD0iMTAwLjE1ODUzNTc3OTEzIiB5PSItMTEuODMzMzMzMzMzMzMzIiB3aWR0aD0iMjMuNjY2NjY2NjY2NjY3IiBoZWlnaHQ9IjIzLjY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgZmlsbD0iI2RkZCIgZmlsbC1vcGFjaXR5PSIwLjA4OTMzMzMzMzMzMzMzMyIgc3Ryb2tlLXdpZHRoPSIxIiAvPjxyZWN0IHg9Ii0xMS44MzMzMzMzMzMzMzMiIHk9IjExNy40ODM3MzgyMjQ5MyIgd2lkdGg9IjIzLjY2NjY2NjY2NjY2NyIgaGVpZ2h0PSIyMy42NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wODkzMzMzMzMzMzMzMzMiIHN0cm9rZS13aWR0aD0iMSIgLz48cmVjdCB4PSIxMDAuMTU4NTM1Nzc5MTMiIHk9IjExNy40ODM3MzgyMjQ5MyIgd2lkdGg9IjIzLjY2NjY2NjY2NjY2NyIgaGVpZ2h0PSIyMy42NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wODkzMzMzMzMzMzMzMzMiIHN0cm9rZS13aWR0aD0iMSIgLz48cmVjdCB4PSI0NC4xNjI2MDEyMjI4OTgiIHk9IjIwLjQ5NTkzNDU1NjIzMiIgd2lkdGg9IjIzLjY2NjY2NjY2NjY2NyIgaGVpZ2h0PSIyMy42NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4xMDY2NjY2NjY2NjY2NyIgc3Ryb2tlLXdpZHRoPSIxIiAvPjxyZWN0IHg9Ii0xMS44MzMzMzMzMzMzMzMiIHk9IjUyLjgyNTIwMjQ0NTc5NyIgd2lkdGg9IjIzLjY2NjY2NjY2NjY2NyIgaGVpZ2h0PSIyMy42NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4xMDY2NjY2NjY2NjY2NyIgc3Ryb2tlLXdpZHRoPSIxIiAvPjxyZWN0IHg9IjEwMC4xNTg1MzU3NzkxMyIgeT0iNTIuODI1MjAyNDQ1Nzk3IiB3aWR0aD0iMjMuNjY2NjY2NjY2NjY3IiBoZWlnaHQ9IjIzLjY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgZmlsbD0iI2RkZCIgZmlsbC1vcGFjaXR5PSIwLjEwNjY2NjY2NjY2NjY3IiBzdHJva2Utd2lkdGg9IjEiIC8+PHJlY3QgeD0iNDQuMTYyNjAxMjIyODk4IiB5PSI4NS4xNTQ0NzAzMzUzNjIiIHdpZHRoPSIyMy42NjY2NjY2NjY2NjciIGhlaWdodD0iMjMuNjY2NjY2NjY2NjY3IiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMTE1MzMzMzMzMzMzMzMiIHN0cm9rZS13aWR0aD0iMSIgLz48cG9seWxpbmUgcG9pbnRzPSIwLCAwLCAyMC40OTU5MzQ1NTYyMzIsIDExLjgzMzMzMzMzMzMzMywgMCwgMjMuNjY2NjY2NjY2NjY3LCAwLCAwIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDcyIiBzdHJva2Utd2lkdGg9IjEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExLjgzMzMzMzMzMzMzMywgLTExLjgzMzMzMzMzMzMzMykgcm90YXRlKDAsIDExLjgzMzMzMzMzMzMzMywgMTAuMjQ3OTY3Mjc4MTE2KSIgLz48cG9seWxpbmUgcG9pbnRzPSIwLCAwLCAyMC40OTU5MzQ1NTYyMzIsIDExLjgzMzMzMzMzMzMzMywgMCwgMjMuNjY2NjY2NjY2NjY3LCAwLCAwIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDcyIiBzdHJva2Utd2lkdGg9IjEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExLjgzMzMzMzMzMzMzMywgMTQxLjE1MDQwNDg5MTU5KSByb3RhdGUoMCwgMTEuODMzMzMzMzMzMzMzLCAxMC4yNDc5NjcyNzgxMTYpIHNjYWxlKDEsIC0xKSIgLz48cG9seWxpbmUgcG9pbnRzPSIwLCAwLCAyMC40OTU5MzQ1NTYyMzIsIDExLjgzMzMzMzMzMzMzMywgMCwgMjMuNjY2NjY2NjY2NjY3LCAwLCAwIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDIiIHN0cm9rZS13aWR0aD0iMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAwLjE1ODUzNTc3OTEzLCAtMTEuODMzMzMzMzMzMzMzKSByb3RhdGUoMCwgMTEuODMzMzMzMzMzMzMzLCAxMC4yNDc5NjcyNzgxMTYpIHNjYWxlKC0xLCAxKSIgLz48cG9seWxpbmUgcG9pbnRzPSIwLCAwLCAyMC40OTU5MzQ1NTYyMzIsIDExLjgzMzMzMzMzMzMzMywgMCwgMjMuNjY2NjY2NjY2NjY3LCAwLCAwIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDIiIHN0cm9rZS13aWR0aD0iMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAwLjE1ODUzNTc3OTEzLCAxNDEuMTUwNDA0ODkxNTkpIHJvdGF0ZSgwLCAxMS44MzMzMzMzMzMzMzMsIDEwLjI0Nzk2NzI3ODExNikgc2NhbGUoLTEsIC0xKSIgLz48cG9seWxpbmUgcG9pbnRzPSIwLCAwLCAyMC40OTU5MzQ1NTYyMzIsIDExLjgzMzMzMzMzMzMzMywgMCwgMjMuNjY2NjY2NjY2NjY3LCAwLCAwIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiBmaWxsPSIjZGRkIiBmaWxsLW9wYWNpdHk9IjAuMDIiIHN0cm9rZS13aWR0aD0iMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjcuODI5MjY3ODg5NTY1LCAyMC40OTU5MzQ1NTYyMzIpIiAvPjxwb2x5bGluZSBwb2ludHM9IjAsIDAsIDIwLjQ5NTkzNDU1NjIzMiwgMTEuODMzMzMzMzMzMzMzLCAwLCAyMy42NjY2NjY2NjY2NjcsIDAsIDAiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4xMDY2NjY2NjY2NjY2NyIgc3Ryb2tlLXdpZHRoPSIxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NC4xNjI2MDEyMjI4OTgsIDIwLjQ5NTkzNDU1NjIzMikgc2NhbGUoLTEsIDEpIiAvPjxwb2x5bGluZSBwb2ludHM9IjAsIDAsIDIwLjQ5NTkzNDU1NjIzMiwgMTEuODMzMzMzMzMzMzMzLCAwLCAyMy42NjY2NjY2NjY2NjcsIDAsIDAiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4xMDY2NjY2NjY2NjY2NyIgc3Ryb2tlLXdpZHRoPSIxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2Ny44MjkyNjc4ODk1NjUsIDEwOC44MjExMzcwMDIwMykgc2NhbGUoMSwgLTEpIiAvPjxwb2x5bGluZSBwb2ludHM9IjAsIDAsIDIwLjQ5NTkzNDU1NjIzMiwgMTEuODMzMzMzMzMzMzMzLCAwLCAyMy42NjY2NjY2NjY2NjcsIDAsIDAiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4wNDYiIHN0cm9rZS13aWR0aD0iMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDQuMTYyNjAxMjIyODk4LCAxMDguODIxMTM3MDAyMDMpIHNjYWxlKC0xLCAtMSkiIC8+PHBvbHlsaW5lIHBvaW50cz0iMCwgMCwgMjAuNDk1OTM0NTU2MjMyLCAxMS44MzMzMzMzMzMzMzMsIDAsIDIzLjY2NjY2NjY2NjY2NywgMCwgMCIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgZmlsbD0iI2RkZCIgZmlsbC1vcGFjaXR5PSIwLjE0MTMzMzMzMzMzMzMzIiBzdHJva2Utd2lkdGg9IjEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDExLjgzMzMzMzMzMzMzMywgNTIuODI1MjAyNDQ1Nzk3KSIgLz48cG9seWxpbmUgcG9pbnRzPSIwLCAwLCAyMC40OTU5MzQ1NTYyMzIsIDExLjgzMzMzMzMzMzMzMywgMCwgMjMuNjY2NjY2NjY2NjY3LCAwLCAwIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1vcGFjaXR5PSIwLjAyIiBmaWxsPSIjMjIyIiBmaWxsLW9wYWNpdHk9IjAuMDQ2IiBzdHJva2Utd2lkdGg9IjEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwMC4xNTg1MzU3NzkxMywgNTIuODI1MjAyNDQ1Nzk3KSBzY2FsZSgtMSwgMSkiIC8+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjIzLjY2NjY2NjY2NjY2NyIgaGVpZ2h0PSIyMy42NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4xNDEzMzMzMzMzMzMzMyIgc3Ryb2tlLXdpZHRoPSIxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS44MzMzMzMzMzMzMzMsIDExLjgzMzMzMzMzMzMzMykgcm90YXRlKC0zMCwgMCwgMCkiIC8+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjIzLjY2NjY2NjY2NjY2NyIgaGVpZ2h0PSIyMy42NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4xNDEzMzMzMzMzMzMzMyIgc3Ryb2tlLXdpZHRoPSIxIiB0cmFuc2Zvcm09InNjYWxlKC0xLCAxKSB0cmFuc2xhdGUoLTEwMC4xNTg1MzU3NzkxMywgMTEuODMzMzMzMzMzMzMzKSByb3RhdGUoLTMwLCAwLCAwKSIgLz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMjMuNjY2NjY2NjY2NjY3IiBoZWlnaHQ9IjIzLjY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjAyODY2NjY2NjY2NjY2NyIgc3Ryb2tlLXdpZHRoPSIxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMS44MzMzMzMzMzMzMzMsIDI5LjE1ODUzNTc3OTEzKSByb3RhdGUoMzAsIDAsIDIzLjY2NjY2NjY2NjY2NykiIC8+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjIzLjY2NjY2NjY2NjY2NyIgaGVpZ2h0PSIyMy42NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wNTQ2NjY2NjY2NjY2NjciIHN0cm9rZS13aWR0aD0iMSIgdHJhbnNmb3JtPSJzY2FsZSgtMSwgMSkgdHJhbnNsYXRlKC0xMDAuMTU4NTM1Nzc5MTMsIDI5LjE1ODUzNTc3OTEzKSByb3RhdGUoMzAsIDAsIDIzLjY2NjY2NjY2NjY2NykiIC8+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjIzLjY2NjY2NjY2NjY2NyIgaGVpZ2h0PSIyMy42NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xMzI2NjY2NjY2NjY2NyIgc3Ryb2tlLXdpZHRoPSIxIiB0cmFuc2Zvcm09InNjYWxlKDEsIC0xKSB0cmFuc2xhdGUoMTEuODMzMzMzMzMzMzMzLCAtMTAwLjE1ODUzNTc3OTEzKSByb3RhdGUoMzAsIDAsIDIzLjY2NjY2NjY2NjY2NykiIC8+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjIzLjY2NjY2NjY2NjY2NyIgaGVpZ2h0PSIyMy42NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIGZpbGw9IiNkZGQiIGZpbGwtb3BhY2l0eT0iMC4wODkzMzMzMzMzMzMzMzMiIHN0cm9rZS13aWR0aD0iMSIgdHJhbnNmb3JtPSJzY2FsZSgtMSwgLTEpIHRyYW5zbGF0ZSgtMTAwLjE1ODUzNTc3OTEzLCAtMTAwLjE1ODUzNTc3OTEzKSByb3RhdGUoMzAsIDAsIDIzLjY2NjY2NjY2NjY2NykiIC8+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjIzLjY2NjY2NjY2NjY2NyIgaGVpZ2h0PSIyMy42NjY2NjY2NjY2NjciIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLW9wYWNpdHk9IjAuMDIiIGZpbGw9IiMyMjIiIGZpbGwtb3BhY2l0eT0iMC4xNSIgc3Ryb2tlLXdpZHRoPSIxIiB0cmFuc2Zvcm09InNjYWxlKDEsIC0xKSB0cmFuc2xhdGUoMTEuODMzMzMzMzMzMzMzLCAtMTE3LjQ4MzczODIyNDkzKSByb3RhdGUoLTMwLCAwLCAwKSIgLz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMjMuNjY2NjY2NjY2NjY3IiBoZWlnaHQ9IjIzLjY2NjY2NjY2NjY2NyIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utb3BhY2l0eT0iMC4wMiIgZmlsbD0iIzIyMiIgZmlsbC1vcGFjaXR5PSIwLjA0NiIgc3Ryb2tlLXdpZHRoPSIxIiB0cmFuc2Zvcm09InNjYWxlKC0xLCAtMSkgdHJhbnNsYXRlKC0xMDAuMTU4NTM1Nzc5MTMsIC0xMTcuNDgzNzM4MjI0OTMpIHJvdGF0ZSgtMzAsIDAsIDApIiAvPjwvc3ZnPg==); background-size:128px 128px; }</style><div class='plugin-icon' id='plugin-icon-<?php echo esc_attr( $post->post_name ); ?>' style='float:left; margin: 3px 6px 6px 0px;'></div></a> 4 <a href="<?php the_permalink(); ?>" class="plugin-icon"> 5 <?php echo WPorg_Plugin_Directory_Template::get_plugin_icon( $post->post_name, 'html' ); ?> 6 </a> 5 7 <div class="name column-name"> 6 8 <h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4> -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/single-plugin.php
r2502 r2555 1 <?php the_post(); ?> 2 <?php get_header(); ?> 1 <?php 2 the_post(); 3 get_header(); 4 $plugin_banners = WPorg_Plugin_Directory_Template::get_plugin_banner( $post ); 5 6 ?> 3 7 4 8 <div class="wrapper"> … … 6 10 <div style="width: 772px; margin: 0 auto;" itemscope itemtype="http://schema.org/SoftwareApplication"> 7 11 8 <div id="plugin-head" class=" plugin-head-with-banner">12 <div id="plugin-head" class="<?php echo $plugin_banners ? 'plugin-head-with-banner' : 'plugin-head-without-banner'; ?>"> 9 13 14 <?php if ( $plugin_banners ): ?> 10 15 <div id="plugin-title" class="with-banner"> 11 16 <div class="vignette"></div> 12 17 <style type="text/css"> 13 #plugin-title { width:772px; height:250px; background-size:772px 250px; background-image: url(//ps.w.org/debug-bar/assets/banner-772x250.png?rev=478338); } 18 #plugin-title { width:772px; height:250px; background-size:772px 250px; background-image: url('<?php echo esc_url( $plugin_banners['banner'] ); ?>'); } 19 <?php if ( ! empty( $plugin_banners['banner_2x'] ) ): ?> 20 @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 15/10), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) { 21 #plugin-title { background-image: url('<?php echo esc_url( $plugin_banners['banner_2x'] ); ?>'); } 22 } 23 <?php endif; ?> 14 24 </style> 15 25 16 26 <h2 itemprop="name"><?php the_title(); ?></h2> 17 27 </div> 28 <?php else: ?> 29 <div id="plugin-title"><h2 itemprop="name"><?php the_title(); ?></h2></div> 30 <?php endif; ?> 18 31 19 32 <div id="plugin-description"> -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-plugins/style.css
r2499 r2555 277 277 font-size: 24px; 278 278 font-weight: bold; 279 margin: 0.5em; 279 280 } 280 281 … … 287 288 bottom: 20px; 288 289 padding: 8px 15px; 290 margin: 0; 289 291 margin-bottom: 4px; 290 292 … … 1074 1076 top: 10px; 1075 1077 left: 10px; 1078 } 1079 .plugin-icon .plugin-icon { 1080 float:left; 1081 margin: 3px 6px 6px 0px; 1076 1082 } 1077 1083
Note: See TracChangeset
for help on using the changeset viewer.