Changeset 7350
- Timestamp:
- 06/29/2018 08:57:02 PM (7 years ago)
- Location:
- sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main
- Files:
-
- 25 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/functions.php
r7348 r7350 74 74 if ( is_page( 'stats' ) ) { 75 75 wp_enqueue_script( 'google-charts', 'https://www.gstatic.com/charts/loader.js', [], null, true ); 76 wp_enqueue_script( 'wporg-page-stats', get_theme_file_uri( '/js/page-stats.js' ), [ 'jquery', 'google-charts' ], 1, true );76 wp_enqueue_script( 'wporg-page-stats', get_theme_file_uri( '/js/page-stats.js' ), [ 'jquery', 'google-charts' ], 1, true ); 77 77 wp_localize_script( 'wporg-page-stats', 'wporgPageStats', [ 78 78 'trunk' => number_format( WP_CORE_STABLE_BRANCH + 0.1, 1 ), /* trunk */ … … 159 159 160 160 // We want it before page-{page_name}.php but after {Page Template}.php. 161 $page_name_index = array_search( "page-{$page->post_name}.php", $templates );161 $page_name_index = array_search( "page-{$page->post_name}.php", $templates, true ); 162 162 $top = array_slice( $templates, 0, $page_name_index ); 163 163 $bottom = array_slice( $templates, $page_name_index ); 164 164 165 $templates = array_merge( $top, [ "page-{$parent->post_name}-{$page->post_name}.php"], $bottom );165 $templates = array_merge( $top, [ "page-{$parent->post_name}-{$page->post_name}.php" ], $bottom ); 166 166 } 167 167 … … 187 187 add_filter( 'theme_page_templates', __NAMESPACE__ . '\rosetta_page_templates' ); 188 188 189 /** 190 * Passes SEO-optimized title and description to embeds. 191 */ 189 192 function use_opengraph_data_for_embed_template() { 190 193 global $post; 191 if ( 'page' != $post->post_type || ! $post->page_template || 'default' == $post->page_template ) { 194 195 if ( 'page' !== $post->post_type || ! $post->page_template || 'default' === $post->page_template ) { 192 196 return; 193 197 } … … 195 199 $meta = custom_open_graph_tags(); 196 200 if ( $meta ) { 197 add_filter( 'the_title', function( $title ) use ( $meta ) {201 add_filter( 'the_title', function( $title ) use ( $meta ) { 198 202 return $meta['og:title'] ?? $title; 199 203 } ); 200 add_filter( 'the_content', function( $content ) use ( $meta ) {204 add_filter( 'the_content', function( $content ) use ( $meta ) { 201 205 return $meta['og:description'] ?? $content; 202 206 } ); … … 208 212 * Custom template tags. 209 213 */ 210 require_once get_stylesheet_directory(). '/inc/template-tags.php';214 require_once __DIR__ . '/inc/template-tags.php'; 211 215 212 216 /** 213 217 * Custom meta descriptions for page templates. 214 218 */ 215 require_once get_stylesheet_directory(). '/inc/page-meta-descriptions.php';219 require_once __DIR__ . '/inc/page-meta-descriptions.php'; 216 220 217 221 /** 218 222 * Include reCAPTCHA functions for privacy requests. 219 223 */ 220 include __DIR__ . '/inc/recaptcha.php';224 require_once __DIR__ . '/inc/recaptcha.php'; 221 225 222 226 /** 223 227 * Include the Privacy request functions. 224 228 */ 225 include __DIR__ . '/inc/privacy-functions.php';229 require_once __DIR__ . '/inc/privacy-functions.php'; -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/header-child-page.php
r7218 r7350 32 32 // The last found menu item that patches is the one that's shown as active. 33 33 foreach ( $menu_items as $path => $text ) { 34 // phpcs:ignore WordPress.VIP 34 35 if ( false !== strpos( $_SERVER['REQUEST_URI'], $path ) ) { 35 36 $active_item = $path; -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/inc/page-meta-descriptions.php
r7298 r7350 25 25 default: 26 26 return $tags; 27 break;28 27 29 28 case 'page-about-domains.php': … … 45 44 $title = esc_html__( 'WordPress Features', 'wporg' ); 46 45 /* translators: 1: WordPress market share: 30 - Note: The following percent sign is '%%' for escaping purposes; 2: Number of WordPress.org hosted plugins; */ 47 $desc 46 $desc = sprintf( esc_html__( 'Discover why WordPress powers more than %1$s%% of the web. WordPress is a simple, flexible, user-friendly platform, with key features that include media management, SEO, and endless options for customization. More than %2$s plugins extend the core functionality of WordPress even more. Build your site today.', 'wporg' ), number_format_i18n( WP_MARKET_SHARE ), number_format_i18n( 50000 ) ); 48 47 break; 49 48 … … 51 50 $title = esc_html__( 'The History of WordPress', 'wporg' ); 52 51 /* translators: WordPress market share: 30 - Note: The following percent sign is '%%' for escaping purposes; */ 53 $desc 52 $desc = sprintf( esc_html__( 'WordPress currently powers more than %s%% of the web. How did it grow to become the world’s leading web publishing platform? Learn about the history of WordPress: an open source software project built by an active community of contributors who are passionate about collaboration, empowerment, and the open web.', 'wporg' ), number_format_i18n( WP_MARKET_SHARE ) ); 54 53 break; 55 54 … … 61 60 case 'page-about-logos.php': 62 61 $title = esc_html__( 'Graphics & Logos', 'wporg' ); 63 $desc = sprintf( __( 'When you need the official WordPress logo for a web site or publication, please use one of the following. Please only use logos in accordance with the <a href="%s">WordPress trademark policy</a>.', 'wporg' ), esc_url( 'http://wordpressfoundation.org/trademark-policy/' ) ); 62 /* translators: Link to foundation trademark policy ; */ 63 $desc = sprintf( __( 'When you need the official WordPress logo for a web site or publication, please use one of the following. Please only use logos in accordance with the <a href="%s">WordPress trademark policy</a>.', 'wporg' ), esc_url( 'http://wordpressfoundation.org/trademark-policy/' ) ); 64 64 break; 65 65 … … 87 87 $title = esc_html__( 'WordPress is Secure', 'wporg' ); 88 88 /* translators: WordPress market share: 30 - Note: The following percent sign is '%%' for escaping purposes; */ 89 $desc 89 $desc = sprintf( esc_html__( 'Why is WordPress recommended as a secure website-building solution? With a passionate open source community and an extensible, easy-to-use platform, WordPress provides flexible and secure options for all levels of users, from beginners to pros. Learn how WordPress guarantees the security of %s%% of the web.', 'wporg' ), number_format_i18n( WP_MARKET_SHARE ) ); 90 90 break; 91 91 -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/inc/privacy-functions.php
r7251 r7350 2 2 /** 3 3 * Functions for the Privacy Tools - Exports and Erasures. 4 * 5 * @package WordPressdotorg\MainTheme 4 6 */ 7 8 // phpcs:disable WordPress.VIP.SuperGlobalInputUsage.AccessDetected, WordPress.VIP.ValidatedSanitizedInput 9 5 10 namespace WordPressdotorg\MainTheme; 11 6 12 use WordPressdotorg\GDPR\Main as GDPR_Main; 7 13 14 /** 15 * Processes privacy requests. 16 * 17 * @param string $type Type of request. 18 * 19 * @return array 20 */ 8 21 function privacy_process_request( $type ) { 9 $email = $error_message = $success = false; 10 $nonce_action = 'request_' . $type; 22 $email = false; 23 $error_message = false; 24 $success = false; 25 $nonce_action = 'request_' . $type; 11 26 12 if ( empty( $_POST['email'] ) || ! $type || ! in_array( $type, [ 'erase', 'export' ] ) ) {27 if ( empty( $_POST['email'] ) || ! $type || ! in_array( $type, [ 'erase', 'export' ], true ) ) { 13 28 return compact( 'email', 'error_message', 'success', 'nonce_action' ); 14 29 } 15 30 16 $email = trim( wp_unslash( $_POST['email'] ) ); 17 18 $requesting_user = false; 19 if ( is_user_logged_in() ) { 20 $requesting_user = wp_get_current_user()->user_login; 21 } 31 // phpcs:ignore WordPress.CSRF.NonceVerification.NoNonceVerification 32 $email = trim( wp_unslash( $_POST['email'] ) ); 33 $requesting_user = is_user_logged_in() ? wp_get_current_user()->user_login : false; 34 $email_user = get_user_by( 'email', $email ); 22 35 23 36 // Currently only enabled for special accounts. 24 if ( 'export' === $type && ( ! is_user_logged_in() || ! wporg_user_has_restricted_password() ) ) {37 if ( 'export' === $type && ( ! is_user_logged_in() || ! function_exists( 'wporg_user_has_restricted_password' ) || ! wporg_user_has_restricted_password() ) ) { 25 38 $error_message = 'This form is currently unavailable.'; 26 } else 27 28 if ( ! reCAPTCHA\check_status() ) { 39 } elseif ( ! reCAPTCHA\check_status() ) { 29 40 $error_message = esc_html__( 'Your form session has expired. Please try again.', 'wporg' ); 30 41 } elseif ( 31 42 is_user_logged_in() && 32 ! wp_verify_nonce( $_POST['_wpnonce'], $nonce_action )43 ! wp_verify_nonce( wp_unslash( $_POST['_wpnonce'] ), $nonce_action ) 33 44 ) { 34 45 $error_message = esc_html__( 'Your form session has expired. Please try again.', 'wporg' ); 35 36 46 } elseif ( 37 47 // Check if a user account exists for this email before processing. 38 false != ( $email_user = get_user_by( 'email', $email ) ) && 39 $email_user->user_login !== $requesting_user 48 false !== $email_user && $email_user->user_login !== $requesting_user 40 49 ) { 41 50 if ( is_user_logged_in() ) { … … 52 61 ); 53 62 } 54 55 63 } else { 56 if ( 'export' == $type ) {64 if ( 'export' === $type ) { 57 65 $api_method = 'create-data-export-request'; 58 } elseif ( 'erase' == $type ) {66 } elseif ( 'erase' === $type ) { 59 67 $api_method = 'create-account-erasure-request'; 60 68 } … … 73 81 $error_message = $api_request->get_error_message(); 74 82 75 if ( 'duplicate_request' == $api_request->get_error_code() ) {83 if ( 'duplicate_request' === $api_request->get_error_code() ) { 76 84 // TODO This should never have to be displayed to an end user. See API for details. 77 85 $error_message = esc_html__( 'A request for this email address already exists. Please check your spam folder for your confirmation email.', 'wporg' ); 78 86 79 } elseif ( 'invalid_identifier' == $api_request->get_error_code() ) {87 } elseif ( 'invalid_identifier' === $api_request->get_error_code() ) { 80 88 $error_message = esc_html__( 'The provided email was invalid. Please check the address and try again.', 'wporg' ); 81 89 82 90 } 83 } elseif ( ! empty( $api_request['created'] ) ) {91 } elseif ( ! empty( $api_request['created'] ) ) { 84 92 $success = true; 85 93 } -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/inc/recaptcha.php
r7218 r7350 2 2 /** 3 3 * Functions for reCAPTCHA. 4 * 5 * @package WordPressdotorg\MainTheme 4 6 */ 7 5 8 namespace WordPressdotorg\MainTheme\reCAPTCHA; 6 9 10 /** 11 * Enqueues reCAPTCHA scripts. 12 * 13 * @param mixed $form_id Form ID. 14 */ 7 15 function enqueue_script( $form_id ) { 8 16 if ( ! defined( 'RECAPTCHA_INVIS_PUBKEY' ) ) { … … 11 19 12 20 wp_enqueue_script( 'recaptcha-api', 'https://www.google.com/recaptcha/api.js', array(), '2' ); 13 wp_add_inline_script( 'recaptcha-api', 'function reCAPTCHAPostSubmit(token) { document.getElementById(' . json_encode( (string)$form_id ) . ').submit(); }' );21 wp_add_inline_script( 'recaptcha-api', 'function reCAPTCHAPostSubmit(token) { document.getElementById(' . wp_json_encode( (string) $form_id ) . ').submit(); }' ); 14 22 } 15 23 24 /** 25 * Displays a submit button. 26 * 27 * @param string $submit_text Button text. 28 * @param string $classes CSS classes. 29 */ 16 30 function display_submit_button( $submit_text = 'Submit', $classes = 'button' ) { 17 31 echo '<input' . … … 25 39 } 26 40 41 // phpcs:disable WordPress.VIP, WordPress.CSRF.NonceVerification.NoNonceVerification 42 43 /** 44 * Response status. 45 * 46 * @return bool 47 */ 27 48 function check_status() { 28 49 // If reCAPTCHA is not setup, skip it. … … 37 58 $verify = array( 38 59 'secret' => RECAPTCHA_INVIS_PRIVKEY, 39 'remoteip' => $_SERVER['REMOTE_ADDR'],40 'response' => $_POST['g-recaptcha-response'],60 'remoteip' => wp_unslash( $_SERVER['REMOTE_ADDR'] ), 61 'response' => wp_unslash( $_POST['g-recaptcha-response'] ), 41 62 ); 42 63 43 64 $resp = wp_remote_post( 'https://www.google.com/recaptcha/api/siteverify', array( 'body' => $verify ) ); 44 65 45 if ( is_wp_error( $resp ) || 200 != wp_remote_retrieve_response_code( $resp ) ) {66 if ( is_wp_error( $resp ) || 200 !== wp_remote_retrieve_response_code( $resp ) ) { 46 67 return false; 47 68 } -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-accessibility.php
r7294 r7350 23 23 } ); 24 24 25 / / See inc/page-meta-descriptions.php for the meta description for this page.25 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 26 26 27 27 get_header( 'child-page' ); … … 39 39 <section class="col-8"> 40 40 41 <p><?php _e( 'The WordPress community and the open source WordPress project is committed to being as inclusive and accessible as possible. We want users, regardless of device or ability, to be able to publish content and maintain a website or application built with WordPress.', 'wporg' ); ?></p>41 <p><?php esc_html_e( 'The WordPress community and the open source WordPress project is committed to being as inclusive and accessible as possible. We want users, regardless of device or ability, to be able to publish content and maintain a website or application built with WordPress.', 'wporg' ); ?></p> 42 42 43 <p><?php _e( 'WordPress aims to make the WordPress Admin and bundled themes fully WCAG 2.0 AA compliant where possible.', 'wporg' ); ?></p>44 <p> <?php45 /* translators: 1: Link to the Core Handbook Accessibility Standards; 2: Link to Core Trac Accessibility focus. */43 <p><?php esc_html_e( 'WordPress aims to make the WordPress Admin and bundled themes fully WCAG 2.0 AA compliant where possible.', 'wporg' ); ?></p> 44 <p> 45 <?php 46 46 printf( 47 __( 'All new and updated code released in WordPress must conform with these guidelines as per the <a href="%1$s">WordPress Accessibility Coding Standards</a>. Some current features and functionality in development may not yet fully comply, and known issues are listed in the <a href="%2$s">WordPress Trac “accessibility” focus</a>.', 'wporg' ), 47 /* translators: 1: Link to the Core Handbook Accessibility Standards; 2: Link to Core Trac Accessibility focus. */ 48 wp_kses_post( __( 'All new and updated code released in WordPress must conform with these guidelines as per the <a href="%1$s">WordPress Accessibility Coding Standards</a>. Some current features and functionality in development may not yet fully comply, and known issues are listed in the <a href="%2$s">WordPress Trac “accessibility” focus</a>.', 'wporg' ) ), 48 49 'https://make.wordpress.org/core/handbook/best-practices/coding-standards/accessibility-coding-standards/', 49 50 'https://core.trac.wordpress.org/focus/accessibility' 50 51 ); 51 ?></p> 52 ?> 53 </p> 52 54 53 <p> <?php54 /* translators: 1: Link to the Theme Directory Accessible Themes; 2: Link to Accessibility Handbook requirements. */55 <p> 56 <?php 55 57 printf( 56 __( 'While the WordPress project cannot guarantee that all Themes are compliant, the <a href="%1$s">accessibility-ready themes</a> have been checked by the Theme Review Team to ensure that these themes pass their <a href="%2$s">basic accessibility requirements</a>.', 'wporg' ), 57 site_url( '/themes/tags/accessibility-ready/' ), 58 /* translators: 1: Link to the Theme Directory Accessible Themes; 2: Link to Accessibility Handbook requirements. */ 59 wp_kses_post( __( 'While the WordPress project cannot guarantee that all Themes are compliant, the <a href="%1$s">accessibility-ready themes</a> have been checked by the Theme Review Team to ensure that these themes pass their <a href="%2$s">basic accessibility requirements</a>.', 'wporg' ) ), 60 esc_url( site_url( '/themes/tags/accessibility-ready/' ) ), 58 61 'https://make.wordpress.org/themes/handbook/review/accessibility/required/' 59 62 ); 60 ?></p> 63 ?> 64 </p> 61 65 62 <h3><?php _e( 'The Accessibility Team', 'wporg' ); ?></h3>63 <p> <?php64 /* translators: %s: Link to the Accessibility team P2 */66 <h3><?php esc_html_e( 'The Accessibility Team', 'wporg' ); ?></h3> 67 <p> 68 <?php 65 69 printf( 66 __( 'The <a href="%s">WordPress Accessibility Team</a> provides accessibility expertise across the project to improve the accessibility of WordPress core and resources.', 'wporg' ), 70 /* translators: %s: Link to the Accessibility team P2 */ 71 wp_kses_post( __( 'The <a href="%s">WordPress Accessibility Team</a> provides accessibility expertise across the project to improve the accessibility of WordPress core and resources.', 'wporg' ) ), 67 72 'https://make.wordpress.org/accessibility/' 68 73 ); 69 ?></p> 74 ?> 75 </p> 70 76 71 <p> <?php72 /* translators: 1: Link to the Accessibility handbook; 2: Link to the Accessibility handbook's Best Practices; 3: Link to the Accessibility handbook's Useful Tools; 4: Link to the Accessibility handbook's Audits & Testing; 5: Link to the Accessibility handbook's Get Involved */77 <p> 78 <?php 73 79 printf( 74 __( 'The <a href="%1$s">Accessibility Handbook</a> shares the <a href="%2$s">best practices</a> for web accessibility, a list of <a href="%3$s">accessibility tools</a>, the <a href="%4$s">testing we do</a> to improve WordPress, themes, and plugins, and <a href="%5$s">how to get involved</a> in WordPress accessibility.', 'wporg' ), 80 /* translators: 1: Link to the Accessibility handbook; 2: Link to the Accessibility handbook's Best Practices; 3: Link to the Accessibility handbook's Useful Tools; 4: Link to the Accessibility handbook's Audits & Testing; 5: Link to the Accessibility handbook's Get Involved */ 81 wp_kses_post( __( 'The <a href="%1$s">Accessibility Handbook</a> shares the <a href="%2$s">best practices</a> for web accessibility, a list of <a href="%3$s">accessibility tools</a>, the <a href="%4$s">testing we do</a> to improve WordPress, themes, and plugins, and <a href="%5$s">how to get involved</a> in WordPress accessibility.', 'wporg' ) ), 75 82 'https://make.wordpress.org/accessibility/handbook/', 76 83 'https://make.wordpress.org/accessibility/handbook/best-practices/', … … 79 86 'https://make.wordpress.org/accessibility/handbook/get-involved/' 80 87 ); 81 ?></p> 88 ?> 89 </p> 82 90 83 <p> <?php84 /* translators: %s: Link to the Accessibility handbook's Reporting Issues */91 <p> 92 <?php 85 93 printf( 86 __( 'To report an Accessibility issue you’ve encountered in WordPress or on WordPress.org, please see the Accessibility Handbook on <a href="%s">Reporting Accessibility Issues</a>.', 'wporg' ), 94 /* translators: %s: Link to the Accessibility handbook's Reporting Issues */ 95 wp_kses_post( __( 'To report an Accessibility issue you’ve encountered in WordPress or on WordPress.org, please see the Accessibility Handbook on <a href="%s">Reporting Accessibility Issues</a>.', 'wporg' ) ), 87 96 'https://make.wordpress.org/accessibility/handbook/reporting-issues/' 88 97 ); 89 ?></p> 98 ?> 99 </p> 90 100 91 101 </section> 92 102 </div><!-- .entry-content --> 93 94 103 </article><!-- #post-## --> 95 104 -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-domains.php
r6972 r7350 23 23 } ); 24 24 25 / / See inc/page-meta-descriptions.php for the meta description for this page.25 /* See inc/page-meta-descriptions.php for the meta description for this page.*/ 26 26 27 27 get_header( 'child-page' ); … … 54 54 </section> 55 55 </div><!-- .entry-content --> 56 57 56 </article><!-- #post-## --> 58 57 -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-etiquette.php
r6972 r7350 23 23 } ); 24 24 25 / / See inc/page-meta-descriptions.php for the meta description for this page.25 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 26 26 27 27 get_header( 'child-page' ); … … 68 68 </section> 69 69 </div><!-- .entry-content --> 70 71 70 </article><!-- #post-## --> 72 71 -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-features.php
r7073 r7350 23 23 } ); 24 24 25 / / See inc/page-meta-descriptions.php for the meta description for this page.25 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 26 26 27 27 get_header( 'child-page' ); … … 40 40 <p> 41 41 <?php 42 /* translators: WordPress market share: 30 - Note: The following percent sign is '%%' for escaping purposes; */ 43 printf( esc_html__( 'WordPress powers more than %s%% of the web — a figure that rises every day. Everything from simple websites, to blogs, to complex portals and enterprise websites, and even applications, are built with WordPress.', 'wporg' ), number_format_i18n( WP_MARKET_SHARE ) ); 42 printf( 43 /* translators: WordPress market share: 30 - Note: The following percent sign is '%%' for escaping purposes; */ 44 esc_html__( 'WordPress powers more than %s%% of the web — a figure that rises every day. Everything from simple websites, to blogs, to complex portals and enterprise websites, and even applications, are built with WordPress.', 'wporg' ), 45 esc_html( number_format_i18n( WP_MARKET_SHARE ) ) 46 ); 44 47 ?> 45 48 </p> 46 47 49 <p><?php esc_html_e( 'WordPress combines simplicity for users and publishers with under-the-hood complexity for developers. This makes it flexible while still being easy-to-use.', 'wporg' ); ?></p> 48 49 50 <p><?php esc_html_e( 'The following is a list of some of the features that come as standard with WordPress; however, there are literally thousands of plugins that extend what WordPress does, so the actual functionality is nearly limitless. You are also free to do whatever you like with the WordPress code, extend it or modify in any way or use it for commercial projects without any licensing fees. That is the beauty of free software, free refers not only to price but also the freedom to have complete control over it.', 'wporg' ); ?></p> 50 51 51 <p><?php esc_html_e( 'Here are some of the features that we think that you’ll love.', 'wporg' ); ?></p> 52 52 53 53 <ul> 54 <li><strong><?php _ex( 'Simplicity', 'Features page: Section Header', 'wporg' ); ?></strong><br>54 <li><strong><?php echo esc_html_x( 'Simplicity', 'Features page: Section Header', 'wporg' ); ?></strong><br> 55 55 <?php esc_html_e( 'Simplicity makes it possible for you to get online and get publishing, quickly. Nothing should get in the way of you getting your website up and your content out there. WordPress is built to make that happen.', 'wporg' ); ?> 56 56 </li> 57 <li><strong><?php _ex( 'Flexibility', 'Features page: Section Header', 'wporg' ); ?></strong><br>57 <li><strong><?php echo esc_html_x( 'Flexibility', 'Features page: Section Header', 'wporg' ); ?></strong><br> 58 58 <?php esc_html_e( 'With WordPress, you can create any type of website you want: a personal blog or website, a photoblog, a business website, a professional portfolio, a government website, a magazine or news website, an online community, even a network of websites. You can make your website beautiful with themes, and extend it with plugins. You can even build your very own application.', 'wporg' ); ?> 59 59 </li> 60 <li><strong><?php _ex( 'Publish with Ease', 'Features page: Section Header', 'wporg' ); ?></strong><br>60 <li><strong><?php echo esc_html_x( 'Publish with Ease', 'Features page: Section Header', 'wporg' ); ?></strong><br> 61 61 <?php esc_html_e( 'If you’ve ever created a document, you’re already a whizz at creating content with WordPress. You can create Posts and Pages, format them easily, insert media, and with the click of a button your content is live and on the web.', 'wporg' ); ?> 62 62 </li> 63 <li><strong><?php _ex( 'Publishing Tools', 'Features page: Section Header', 'wporg' ); ?></strong><br>63 <li><strong><?php echo esc_html_x( 'Publishing Tools', 'Features page: Section Header', 'wporg' ); ?></strong><br> 64 64 <?php esc_html_e( 'WordPress makes it easy for you to manage your content. Create drafts, schedule publication, and look at your post revisions. Make your content public or private, and secure posts and pages with a password.', 'wporg' ); ?> 65 65 </li> 66 <li><strong><?php _ex( 'User Management', 'Features page: Section Header', 'wporg' ); ?></strong><br>66 <li><strong><?php echo esc_html_x( 'User Management', 'Features page: Section Header', 'wporg' ); ?></strong><br> 67 67 <?php esc_html_e( 'Not everyone requires the same access to your website. Administrators manage the site, editors work with content, authors and contributors write that content, and subscribers have a profile that they can manage. This lets you have a variety of contributors to your website, and let others simply be part of your community.', 'wporg' ); ?> 68 68 </li> 69 <li><strong><?php _ex( 'Media Management', 'Features page: Section Header', 'wporg' ); ?></strong><br>69 <li><strong><?php echo esc_html_x( 'Media Management', 'Features page: Section Header', 'wporg' ); ?></strong><br> 70 70 <?php esc_html_e( 'They say a picture says a thousand words, which is why it’s important for you to be able to quickly and easily upload images and media to WordPress. Drag and drop your media into the uploader to add it to your website. Add alt text, captions, and titles, and insert images and galleries into your content. We’ve even added a few image editing tools you can have fun with.', 'wporg' ); ?> 71 71 </li> 72 <li><strong><?php _ex( 'Full Standards Compliance', 'Features page: Section Header', 'wporg' ); ?></strong><br>72 <li><strong><?php echo esc_html_x( 'Full Standards Compliance', 'Features page: Section Header', 'wporg' ); ?></strong><br> 73 73 <?php esc_html_e( 'Every piece of WordPress generated code is in full compliance with the standards set by the W3C. This means that your website will work in today’s browser, while maintaining forward compatibility with the next generation of browser. Your website is a beautiful thing, now and in the future.', 'wporg' ); ?> 74 74 </li> 75 <li><strong><?php _ex( 'Easy Theme System', 'Features page: Section Header', 'wporg' ); ?></strong><br>75 <li><strong><?php echo esc_html_x( 'Easy Theme System', 'Features page: Section Header', 'wporg' ); ?></strong><br> 76 76 <?php esc_html_e( 'WordPress comes bundled with two default themes, but if they aren’t for you there’s a theme directory with thousands of themes for you to create a beautiful website. None of those to your taste? Upload your own theme with the click of a button. It only takes a few seconds for you to give your website a complete makeover.', 'wporg' ); ?> 77 77 </li> 78 <li><strong><?php _ex( 'Extend with Plugins', 'Features page: Section Header', 'wporg' ); ?></strong><br>78 <li><strong><?php echo esc_html_x( 'Extend with Plugins', 'Features page: Section Header', 'wporg' ); ?></strong><br> 79 79 <?php esc_html_e( 'WordPress comes packed full of features for every user, for every other feature there’s a plugin directory with thousands of plugins. Add complex galleries, social networking, forums, social media widgets, spam protection, calendars, fine-tune controls for search engine optimization, and forms.', 'wporg' ); ?> 80 80 </li> 81 <li><strong><?php _ex( 'Built-in Comments', 'Features page: Section Header', 'wporg' ); ?></strong><br>81 <li><strong><?php echo esc_html_x( 'Built-in Comments', 'Features page: Section Header', 'wporg' ); ?></strong><br> 82 82 <?php esc_html_e( 'Your blog is your home, and comments provide a space for your friends and followers to engage with your content. WordPress’s comment tools give you everything you need to be a forum for discussion and to moderate that discussion.', 'wporg' ); ?> 83 83 </li> 84 <li><strong><?php _ex( 'Search Engine Optimized', 'Features page: Section Header', 'wporg' ); ?></strong><br>84 <li><strong><?php echo esc_html_x( 'Search Engine Optimized', 'Features page: Section Header', 'wporg' ); ?></strong><br> 85 85 <?php 86 86 /* translators: Link to Plugin Directory search for SEO */ … … 88 88 ?> 89 89 </li> 90 <li><strong><?php _ex( 'Multilingual', 'Features page: Section Header', 'wporg' ); ?></strong><br>90 <li><strong><?php echo esc_html_x( 'Multilingual', 'Features page: Section Header', 'wporg' ); ?></strong><br> 91 91 <?php 92 92 /* translators: Link to polyglots teams */ … … 94 94 ?> 95 95 </li> 96 <li><strong><?php _ex( 'Easy Installation and Upgrades', 'Features page: Section Header', 'wporg' ); ?></strong><br>96 <li><strong><?php echo esc_html_x( 'Easy Installation and Upgrades', 'Features page: Section Header', 'wporg' ); ?></strong><br> 97 97 <?php esc_html_e( 'WordPress has always been easy to install and upgrade. If you’re happy using an FTP program, you can create a database, upload WordPress using FTP, and run the installer. Not familiar with FTP? Plenty of web hosts offer one-click WordPress installers that let you install WordPress with, well, just one click!', 'wporg' ); ?> 98 98 </li> 99 <li><strong><?php _ex( 'Importers', 'Features page: Section Header', 'wporg' ); ?></strong><br>99 <li><strong><?php echo esc_html_x( 'Importers', 'Features page: Section Header', 'wporg' ); ?></strong><br> 100 100 <?php esc_html_e( 'Using blog or website software that you aren’t happy with? Running your blog on a hosted service that’s about to shut down? WordPress comes with importers for blogger, LiveJournal, Movable Type, TypePad, Tumblr, and WordPress. If you’re ready to make the move, we’ve made it easy for you.', 'wporg' ); ?> 101 101 </li> 102 <li><strong><?php _ex( 'Own Your Data', 'Features page: Section Header', 'wporg' ); ?></strong><br>102 <li><strong><?php echo esc_html_x( 'Own Your Data', 'Features page: Section Header', 'wporg' ); ?></strong><br> 103 103 <?php esc_html_e( 'Hosted services come and go. If you’ve ever used a service that disappeared, you know how traumatic that can be. If you’ve ever seen adverts appear on your website, you’ve probably been pretty annoyed. Using WordPress means no one has access to your content. Own your data, all of it — your website, your content, your data.', 'wporg' ); ?> 104 104 </li> 105 <li><strong><?php _ex( 'Freedom', 'Features page: Section Header', 'wporg' ); ?></strong><br>105 <li><strong><?php echo esc_html_x( 'Freedom', 'Features page: Section Header', 'wporg' ); ?></strong><br> 106 106 <?php esc_html_e( 'WordPress is licensed under the GPL which was created to protect your freedoms. You are free to use WordPress in any way you choose: install it, use it, modify it, distribute it. Software freedom is the foundation that WordPress is built on.', 'wporg' ); ?> 107 107 </li> 108 <li><strong><?php _ex( 'Community', 'Features page: Section Header', 'wporg' ); ?></strong><br>108 <li><strong><?php echo esc_html_x( 'Community', 'Features page: Section Header', 'wporg' ); ?></strong><br> 109 109 <?php esc_html_e( 'As the most popular open source CMS on the web, WordPress has a vibrant and supportive community. Ask a question on the support forums and get help from a volunteer, attend a WordCamp or Meetup to learn more about WordPress, read blogs posts and tutorials about WordPress. Community is at the heart of WordPress, making it what it is today.', 'wporg' ); ?> 110 110 </li> 111 <li><strong><?php _ex( 'Contribute', 'Features page: Section Header', 'wporg' ); ?></strong><br>111 <li><strong><?php echo esc_html_x( 'Contribute', 'Features page: Section Header', 'wporg' ); ?></strong><br> 112 112 <?php esc_html_e( 'You can be WordPress too! Help to build WordPress, answer questions on the support forums, write documentation, translate WordPress into your language, speak at a WordCamp, write about WordPress on your blog. Whatever your skill, we’d love to have you!', 'wporg' ); ?> 113 113 </li> 114 114 </ul> 115 <h3><?php _ex( 'Developer Features', 'Features page: Section Header', 'wporg' ); ?></h3>115 <h3><?php echo esc_html_x( 'Developer Features', 'Features page: Section Header', 'wporg' ); ?></h3> 116 116 <p><?php esc_html_e( 'For developers, we’ve got lots of goodies packed under the hood that you can use to extend WordPress in whatever direction takes your fancy.', 'wporg' ); ?></p> 117 117 118 118 <ul> 119 <li><strong><?php _ex( 'Plugin System', 'Features page: Section Header', 'wporg' ); ?></strong><br>119 <li><strong><?php echo esc_html_x( 'Plugin System', 'Features page: Section Header', 'wporg' ); ?></strong><br> 120 120 <?php 121 121 /* translators: 1: Link to Codex page about APIs; 2: Link to Plugin Directory */ … … 123 123 ?> 124 124 </li> 125 <li><strong><?php _ex( 'Theme System', 'Features page: Section Header', 'wporg' ); ?></strong><br>125 <li><strong><?php echo esc_html_x( 'Theme System', 'Features page: Section Header', 'wporg' ); ?></strong><br> 126 126 <?php 127 127 /* translators: 1: Link to Codex page about APIs; 2: Link to Theme Directory */ … … 129 129 ?> 130 130 </li> 131 <li><strong><?php _ex( 'Application Framework', 'Features page: Section Header', 'wporg' ); ?></strong><br>131 <li><strong><?php echo esc_html_x( 'Application Framework', 'Features page: Section Header', 'wporg' ); ?></strong><br> 132 132 <?php esc_html_e( 'If you want to build an application, WordPress can help with that too. Under the hood WordPress provides a lot of the features that your app will need, things like translations, user management, HTTP requests, databases, URL routing and much, much more.', 'wporg' ); ?> 133 133 </li> 134 <li><strong><?php _ex( 'Custom Content Types', 'Features page: Section Header', 'wporg' ); ?></strong><br>134 <li><strong><?php echo esc_html_x( 'Custom Content Types', 'Features page: Section Header', 'wporg' ); ?></strong><br> 135 135 <?php 136 136 /* translators: 1: Link to Codex page about Custom Post Types; 2: Link to Codex page about Custom Taxonomies; 3: Link to Codex page about Custom Fields */ … … 138 138 ?> 139 139 </li> 140 <li><strong><?php _ex( 'The Latest Libraries', 'Features page: Section Header', 'wporg' ); ?></strong><br>140 <li><strong><?php echo esc_html_x( 'The Latest Libraries', 'Features page: Section Header', 'wporg' ); ?></strong><br> 141 141 <?php 142 142 /* translators: 1: Link to Developer Handbook page about default scripts */ … … 147 147 </section> 148 148 </div><!-- .entry-content --> 149 150 149 </article><!-- #post-## --> 151 150 -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-history.php
r6972 r7350 23 23 } ); 24 24 25 / / See inc/page-meta-descriptions.php for the meta description for this page.25 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 26 26 27 27 get_header( 'child-page' ); -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-license.php
r6972 r7350 23 23 } ); 24 24 25 / / See inc/page-meta-descriptions.php for the meta description for this page.25 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 26 26 27 27 get_header( 'child-page' ); -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-logos.php
r7018 r7350 23 23 } ); 24 24 25 / / See inc/page-meta-descriptions.php for the meta description for this page.25 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 26 26 27 27 get_header( 'child-page' ); -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-philosophy.php
r7346 r7350 23 23 } ); 24 24 25 / / See inc/page-meta-descriptions.php for the meta description for this page.25 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 26 26 27 27 get_header( 'child-page' ); -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-privacy-cookies.php
r7277 r7350 11 11 12 12 $GLOBALS['menu_items'] = [ 13 'about/privacy' => _x( 'Privacy Policy','Page title', 'wporg' ),13 'about/privacy' => _x( 'Privacy Policy', 'Page title', 'wporg' ), 14 14 ]; 15 15 … … 27 27 28 28 29 / / See inc/page-meta-descriptions.php for the meta description for this page.29 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 30 30 31 31 get_header( 'child-page' ); … … 41 41 <div class="entry-content row"> 42 42 <section class="col-8"> 43 <h3><?php esc_html_e( '', 'wporg' ); ?></h3>44 <p><?php esc_html_e( '', 'wporg' ); ?></p>45 <p><?php echo wp_kses_post( __( '', 'wporg' ) ); ?></p>46 47 43 <h3><?php esc_html_e( 'Cookies', 'wporg' ); ?></h3> 48 44 <p><?php esc_html_e( 'Our Privacy Policy explains our principles when it comes to the collection, processing, and storage of your information. This policy specifically explains how we, our partners, and users of our services deploy cookies, as well as the options you have to control them.', 'wporg' ); ?></p> … … 174 170 <th>trac_form_token</th> 175 171 <td><?php esc_html_e( 'Session', 'wporg' ); ?></td> 176 <td>< ?php esc_html_e( '', 'wporg' ); ?></td>172 <td></td> 177 173 <td><?php esc_html_e( 'Used to check whether the current visitor is a logged in WordPress.org user.', 'wporg' ); ?></td> 178 174 </tr> -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-privacy-data-erasure-request.php
r7277 r7350 11 11 12 12 $GLOBALS['menu_items'] = [ 13 'about/privacy' => _x( 'Privacy Policy','Page title', 'wporg' ),14 #'about/privacy/data-export-request' => _x( 'Data Export Request','Page title', 'wporg' ),15 'about/privacy/data-erasure-request' => _x( 'Data Erasure Request', 'Page title', 'wporg' ),13 'about/privacy' => esc_html_x( 'Privacy Policy', 'Page title', 'wporg' ), 14 // 'about/privacy/data-export-request' => esc_html_x( 'Data Export Request', 'Page title', 'wporg' ), 15 'about/privacy/data-erasure-request' => esc_html_x( 'Data Erasure Request', 'Page title', 'wporg' ), 16 16 ]; 17 17 … … 43 43 } 44 44 45 / / See inc/page-meta-descriptions.php for the meta description for this page.45 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 46 46 47 47 add_action( 'wp_head', function() { 48 48 // TODO: Move to Theme once styled. 49 49 echo '<style> 50 p.error {51 border: 1px solid red;52 border-left: 4px solid red;53 padding: 6px;54 }55 p.success {56 border: 1px solid green;57 border-left: 4px solid green;58 padding: 6px;59 }60 div.alert {61 border: 1px solid red;62 border-left: 4px solid red;63 padding: 6px;64 margin-bottom: 2rem;65 }66 50 form.request-form label { 67 51 display: block; … … 97 81 <p><?php esc_html_e( 'The following form will allow you to request deletion of your account and relevant personal and private data. You will be required to authenticate ownership of that address, and may be asked to provide additional identification or information necessary to verify the request.', 'wporg' ); ?></p> 98 82 99 <div class=" alert">83 <div class="notice notice-info notice-alt"> 100 84 <h5><?php esc_html_e( 'Important!', 'wporg' ); ?></h5> 101 85 102 <p><?php printf( wp_kses_post( __( 'This will request permanent deletion of your <strong>WordPress.org</strong> account, and relevant personal or private data stored on <strong>%s</strong>, and other related domains and sites.', 'wporg') ), 'WordPress.org, WordPress.net, WordCamp.org, BuddyPress.org, bbPress.org' ); ?></p> 103 86 <p> 87 <?php 88 printf( 89 /* translators: List of sites that use WordPress.org account. */ 90 wp_kses_post( __( 'This will request permanent deletion of your <strong>WordPress.org</strong> account, and relevant personal or private data stored on <strong>%s</strong>, and other related domains and sites.', 'wporg' ) ), 91 'WordPress.org, WordPress.net, WordCamp.org, BuddyPress.org, bbPress.org' 92 ); 93 ?> 94 </p> 104 95 <p><?php esc_html_e( 'Please note that we cannot remove or provide access to data stored on WordPress sites hosted or administered by third parties.', 'wporg' ); ?></p> 105 106 <p><?php96 <p> 97 <?php 107 98 printf( 108 99 /* translators: link to privacy policy. */ 109 wp_kses_post( __( 'Not all data can be erased, please review the <a href="%s">Privacy Policy</a> for details.', 'wporg' ) ),110 'https://wordpress.org/about/privacy/'100 wp_kses_post( __( 'Not all data can be erased, please review the <a href="%s">Privacy Policy</a> for details.', 'wporg' ) ), 101 esc_url( home_url( '/about/privacy/' ) ) 111 102 ); 112 ?></p> 103 ?> 104 </p> 113 105 </div> 114 106 115 107 <?php if ( $error_message ) : ?> 116 <p class="error"> 117 <strong><?php esc_html_e( 'An error occurred with your request:', 'wporg' ); ?></strong><br> 118 <?php echo $error_message; ?> 119 </p> 108 <div class="notice notice-error notice-alt"> 109 <p><?php echo esc_html( $error_message ); ?></p> 110 </div> 120 111 <?php elseif ( $success ) : ?> 121 <p class="success"><strong><?php esc_html_e( 'Please check your email for a confirmation link, and follow the instructions to authenticate your request.', 'wporg' ); ?></strong></p> 112 <div class="notice notice-success notice-alt"> 113 <p><?php esc_html_e( 'Please check your email for a confirmation link, and follow the instructions to authenticate your request.', 'wporg' ); ?></p> 114 </div> 122 115 <?php endif; ?> 123 116 124 <?php if ( !$success ) : ?> 125 <form id="erase-request-form" class="request-form" method="POST" action="#"> 126 <label for="email"> 127 <?php esc_html_e( 'Email Address', 'wporg' ); ?> 128 </label> 129 <input 130 type="email" 131 name="email" id="email" 132 placeholder="<?php 117 <?php if ( ! $success ) : ?> 118 <form id="erase-request-form" class="request-form" method="POST" action="#"> 119 <label for="email"><?php esc_html_e( 'Email Address', 'wporg' ); ?></label> 120 <?php 121 printf( '<input type="email" name="email" id="email" placeholder="%1$s" required value="%2$s" />', 133 122 /* translators: Example placeholder email address */ 134 esc_attr_e( 'you@example.com', 'wporg' ) 135 ?>" 136 required 137 value="<?php echo esc_attr( $email ); ?>" 138 > 139 <p><?php esc_html_e( 'By submitting this form, you declare that you are the individual owner of the specified email address and its associated accounts; and that all submitted information including any supplemental details necessary to verify your identity are true. You also declare that it is your intention for accounts associated with that email address to be permanently deleted.', 'wporg' ); ?></p> 140 <?php reCAPTCHA\display_submit_button( __( 'Accept Declaration and Request Permanent Account Deletion', 'wporg' ) ); ?> 141 <?php if ( is_user_logged_in() ) wp_nonce_field( $nonce_action ); ?> 142 </form> 143 123 esc_attr__( 'you@example.com', 'wporg' ), 124 esc_attr( $email ) 125 ); 126 ?> 127 <p><?php esc_html_e( 'By submitting this form, you declare that you are the individual owner of the specified email address and its associated accounts; and that all submitted information including any supplemental details necessary to verify your identity are true. You also declare that it is your intention for accounts associated with that email address to be permanently deleted.', 'wporg' ); ?></p> 128 <?php 129 reCAPTCHA\display_submit_button( __( 'Accept Declaration and Request Permanent Account Deletion', 'wporg' ) ); 130 if ( is_user_logged_in() ) : 131 wp_nonce_field( $nonce_action ); 132 endif; 133 ?> 134 </form> 144 135 <p><?php esc_html_e( 'Please Note: Before we can begin processing your request, we’ll require that you verify ownership of the email address. If the email address is associated with an account, we’ll also require you to log in to that account first.', 'wporg' ); ?></p> 145 146 136 <?php endif; ?> 147 137 148 138 </section> 149 139 </div><!-- .entry-content --> 150 151 140 </article><!-- #post-## --> 152 141 -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-privacy-data-export-request.php
r7225 r7350 11 11 12 12 $GLOBALS['menu_items'] = [ 13 'about/privacy' => _x( 'Privacy Policy','Page title', 'wporg' ),14 'about/privacy/data-export-request' => _x( 'Data Export Request','Page title', 'wporg' ),15 'about/privacy/data-erasure-request' => _x( 'Data Erasure Request', 'Page title', 'wporg' ),13 'about/privacy' => esc_html_x( 'Privacy Policy', 'Page title', 'wporg' ), 14 'about/privacy/data-export-request' => esc_html_x( 'Data Export Request', 'Page title', 'wporg' ), 15 'about/privacy/data-erasure-request' => esc_html_x( 'Data Erasure Request', 'Page title', 'wporg' ), 16 16 ]; 17 17 … … 43 43 } 44 44 45 / / See inc/page-meta-descriptions.php for the meta description for this page.45 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 46 46 47 47 add_action( 'wp_head', function() { 48 48 // TODO: Move to Theme once styled. 49 49 echo '<style> 50 p.error {51 border: 1px solid red;52 border-left: 4px solid red;53 padding: 6px;54 }55 p.success {56 border: 1px solid green;57 border-left: 4px solid green;58 padding: 6px;59 }60 61 50 form.request-form label { 62 51 display: block; … … 88 77 <p><?php esc_html_e( 'The following form will allow you to request an export of any data linked to your email address. You will be required to authenticate ownership of that address, and may be asked to provide additional identification or information necessary to verify the request and search our records.', 'wporg' ); ?></p> 89 78 90 <p><?php esc_html_e( 'This export will contain relevant personal or private data stored on WordPress.org, WordPress.net, WordCamp.org, BuddyPress.org, bbPress.org, and other related domains and sites.', 'wporg' ); ?></p>79 <p><?php esc_html_e( 'This export will contain relevant personal or private data stored on WordPress.org, WordPress.net, WordCamp.org, BuddyPress.org, bbPress.org, and other related domains and sites.', 'wporg' ); ?></p> 91 80 92 81 <?php if ( $error_message ) : ?> 93 <p class="error"> 94 <strong><?php esc_html_e( 'An error occured with your request:', 'wporg' ); ?></strong><br> 95 <?php echo $error_message; ?> 96 </p> 82 <div class="notice notice-error notice-alt"> 83 <p><?php echo esc_html( $error_message ); ?></p> 84 </div> 97 85 <?php elseif ( $success ) : ?> 98 <p class="success"><strong><?php esc_html_e( 'Please check your email for a confirmation link, and follow the instructions to authenticate your request.', 'wporg' ); ?></strong></p> 86 <div class="notice notice-success notice-alt"> 87 <p><?php esc_html_e( 'Please check your email for a confirmation link, and follow the instructions to authenticate your request.', 'wporg' ); ?></p> 88 </div> 99 89 <?php endif; ?> 100 90 101 <p class="error"><strong>This is currently disabled unless you have a 'special' WordPress.org account.</strong></p> 102 <?php if ( is_user_logged_in() && wporg_user_has_restricted_password() ) : ?> 103 <p class="success">PS: You have a special account.</p> 91 <div class="notice notice-error notice-alt"> 92 <p>This is currently disabled unless you have a 'special' WordPress.org account.</p> 93 </div> 94 <?php if ( is_user_logged_in() && function_exists( 'wporg_user_has_restricted_password' ) && wporg_user_has_restricted_password() ) : ?> 95 <div class="notice notice-info notice-alt"><p>PS: You have a special account.</p></div> 104 96 <?php endif; ?> 105 97 106 98 <form id="export-request-form" class="request-form" method="POST" action="#"> 107 <label for="email"> 108 <?php esc_html_e( 'Email Address', 'wporg' ); ?> 109 </label> 110 <input 111 type="email" 112 name="email" id="email" 113 placeholder="<?php 114 /* translators: Example placeholder email address */ 115 esc_attr_e( 'you@example.com', 'wporg' ) 116 ?>" 117 required 118 value="<?php echo esc_attr( $email ); ?>" 119 > 99 <label for="email"><?php esc_html_e( 'Email Address', 'wporg' ); ?></label> 100 <?php 101 printf( '<input type="email" name="email" id="email" placeholder="%1$s" required value="%2$s" />', 102 /* translators: Example placeholder email address */ 103 esc_attr__( 'you@example.com', 'wporg' ), 104 esc_attr( $email ) 105 ); 106 ?> 120 107 <p><?php esc_html_e( 'By submitting this form, you declare that you are the individual owner of the specified email address and its associated accounts; and that all submitted information including any supplemental details necessary to verify your identity are true.', 'wporg' ); ?></p> 121 <?php reCAPTCHA\display_submit_button( __( 'Accept Declaration and Request Export', 'wporg' ) ); ?> 122 <?php if ( is_user_logged_in() ) wp_nonce_field( $nonce_action ); ?> 108 <?php 109 reCAPTCHA\display_submit_button( __( 'Accept Declaration and Request Export', 'wporg' ) ); 110 if ( is_user_logged_in() ) : 111 wp_nonce_field( $nonce_action ); 112 endif; 113 ?> 123 114 </form> 124 125 <p><?php esc_html_e( "Please Note: Before we can begin processing your request, we'll require that you verify ownership of the email address. If the email address is associated with an account, we'll also require you to log in to that account first.", 'wporg' ); ?></p> 126 115 <p><?php esc_html_e( 'Please Note: Before we can begin processing your request, we’ll require that you verify ownership of the email address. If the email address is associated with an account, we’ll also require you to log in to that account first.', 'wporg' ); ?></p> 127 116 </section> 128 117 </div><!-- .entry-content --> 129 130 118 </article><!-- #post-## --> 131 119 -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-privacy.php
r7277 r7350 23 23 } ); 24 24 25 / / See inc/page-meta-descriptions.php for the meta description for this page.25 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 26 26 27 27 get_header( 'child-page' ); … … 73 73 <p><?php esc_html_e( 'You have the right to request a copy of the information we hold about you. If you would like a copy of some or all your personal information, please follow the instructions at the end of this policy.', 'wporg' ); ?></p> 74 74 <p><?php esc_html_e( 'All WordCamp attendee-provided data can be viewed and changed by the attendee via the Access Token URL that is emailed to confirm a successful ticket purchase.', 'wporg' ); ?></p> 75 <p><?php echo wp_kses_post( __( 'WordPress.org user accounts can be edited by following these steps:<br/> 76 1) Visit <a href="https://login.wordpress.org/">https://login.wordpress.org</a>, and then enter your username and password.<br/> 77 2) You will be redirected to https://profiles.wordpress.org/your_username.<br/> 78 3) Click the “Edit” link next to your username.', 'wporg' ) ); ?></p> 75 <p><?php esc_html_e( 'WordPress.org user accounts can be edited by following these steps:', 'wporg' ); ?></p> 76 <ol> 77 <li> 78 <?php 79 printf( 80 /* translators: Login URL */ 81 wp_kses_post( __( 'Visit <a href="%s">https://login.wordpress.org</a>, and enter your username and password.', 'wporg' ) ), 82 esc_url( 'https://login.wordpress.org/' ) 83 ); 84 ?> 85 </li> 86 <li><?php esc_html_e( 'You will be redirected to https://profiles.wordpress.org/your_username.', 'wporg' ); ?></li> 87 <li><?php esc_html_e( 'Click the “Edit” link next to your username.', 'wporg' ); ?></li> 88 </ol> 79 89 80 90 <h3><?php esc_html_e( 'Retention of personal information', 'wporg' ); ?></h3> -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-requirements.php
r6972 r7350 23 23 } ); 24 24 25 / / See inc/page-meta-descriptions.php for the meta description for this page.25 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 26 26 27 27 get_header( 'child-page' ); … … 68 68 </p> 69 69 70 <p><?php 70 <p> 71 <?php 71 72 printf( 72 73 /* translators: 1: PHP Version including; 2: MySQL Version */ … … 75 76 '5.0' 76 77 ); 77 ?></p> 78 ?> 79 </p> 78 80 79 81 <h3><?php esc_html_e( 'Ask for it', 'wporg' ); ?></h3> … … 85 87 86 88 <ul> 87 <li><?php 89 <li> 90 <?php 88 91 /* translators: PHP Version */ 89 92 printf( esc_html__( 'PHP %s or greater', 'wporg' ), '7.2' ); 90 ?></li> 91 <li><?php 93 ?> 94 </li> 95 <li> 96 <?php 92 97 /* translators: 1: MySQL version; 2: MariaDB Version */ 93 98 printf( esc_html__( 'MySQL %1$s or greater OR MariaDB %2$s or greater', 'wporg' ), '5.6', '10.0' ); 94 ?></li> 99 ?> 100 </li> 95 101 <li><?php esc_html_e( 'Nginx or Apache with mod_rewrite module', 'wporg' ); ?></li> 96 102 <li><?php esc_html_e( 'HTTPS support', 'wporg' ); ?></li> -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-roadmap.php
r6972 r7350 23 23 } ); 24 24 25 / / See inc/page-meta-descriptions.php for the meta description for this page.25 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 26 26 27 27 get_header( 'child-page' ); -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-security.php
r7279 r7350 23 23 } ); 24 24 25 / / See inc/page-meta-descriptions.php for the meta description for this page.25 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 26 26 27 27 /* … … 43 43 <div class="entry-content row"> 44 44 <section class="col-8"> 45 <p><?php 45 <p> 46 <?php 46 47 printf( 47 48 /* translators: %s: URL to English PDF */ … … 49 50 'https://github.com/WordPress/Security-White-Paper/blob/master/WordPressSecurityWhitePaper.pdf?raw=true' 50 51 ); 51 ?></p> 52 ?> 53 </p> 52 54 53 55 <img src="//s.w.org/about/images/logos/wordpress-logo-stacked-rgb.png" class="aligncenter" /> … … 59 61 <p><?php esc_html_e( 'The information in this document is up-to-date for the latest stable release of the software, WordPress 4.7 at time of publication, but should be considered relevant also to the most recent versions of the software as backwards compatibility is a strong focus for the WordPress development team. Specific security measures and changes will be noted as they have been added to the core software in specific releases. It is strongly encouraged to always be running the latest stable version of WordPress to ensure the most secure experience possible.', 'wporg' ); ?></p> 60 62 <h2><?php esc_html_e( 'Executive Summary', 'wporg' ); ?></h2> 61 <p><?php 63 <p> 64 <?php 62 65 printf( 63 66 /* translators: %s: WordPress Market share - 30. Note the following % sign is escaped as %%. */ 64 67 esc_html__( 'WordPress is a dynamic open-source content management system which is used to power millions of websites, web applications, and blogs. It currently powers more than %s%% of the top 10 million websites on the Internet. WordPress’ usability, extensibility, and mature development community make it a popular and secure choice for websites of all sizes.', 'wporg' ), 65 WP_MARKET_SHARE 66 ); 67 ?></p> 68 esc_html( WP_MARKET_SHARE ) 69 ); 70 ?> 71 </p> 68 72 69 73 <p><?php esc_html_e( 'Since its inception in 2003, WordPress has undergone continual hardening so its core software can address and mitigate common security threats, including the Top 10 list identified by The Open Web Application Security Project (OWASP) as common security vulnerabilities, which are discussed in this document.', 'wporg' ); ?></p> … … 73 77 <p><?php esc_html_e( 'Site developers and administrators should pay particular attention to the correct use of core APIs and underlying server configuration which have been the source of common vulnerabilities, as well as ensuring all users employ strong passwords to access WordPress.', 'wporg' ); ?></p> 74 78 <h2><?php esc_html_e( 'An Overview of WordPress', 'wporg' ); ?></h2> 75 <p><?php 79 <p> 80 <?php 76 81 printf( 77 82 /* translators: 1: WordPress Market share - 30. Note the following % sign is escaped as %%. 2: Footnote 3: Market Penetration - 60. Note the following % sign is escaped as %%. */ 78 esc_html__( 'WordPress is a free and open source content management system (CMS). It is the most widely-used CMS software in the world and it powers more than %1$s%% of the top 10 million websites%2$s, giving it an estimated %3$s%% market share of all sites 79 using a CMS.', 'wporg' ), 80 WP_MARKET_SHARE, 83 esc_html__( 'WordPress is a free and open source content management system (CMS). It is the most widely-used CMS software in the world and it powers more than %1$s%% of the top 10 million websites%2$s, giving it an estimated %3$s%% market share of all sites using a CMS.', 'wporg' ), 84 esc_html( WP_MARKET_SHARE ), 81 85 '<sup id="ref1"><a href="#footnote1">1</a></a></sup>', 82 86 60 83 87 ); 84 ?></p> 88 ?> 89 </p> 85 90 86 91 <p><?php esc_html_e( 'WordPress is licensed under the General Public License (GPLv2 or later) which provides four core freedoms, and can be considered as the WordPress “bill of rights”:', 'wporg' ); ?></p> … … 102 107 <p><?php esc_html_e( 'Each WordPress release cycle is led by one or more of the core WordPress developers. A release cycle usually lasts around 4 months from the initial scoping meeting to launch of the version.', 'wporg' ); ?></p> 103 108 104 <p><?php 109 <p> 110 <?php 105 111 printf( 106 112 /* translators: %s: Footnote*/ … … 108 114 '<sup id="ref2"><a href="#footnote2">2</a></sup>' 109 115 ); 110 ?></p> 116 ?> 117 </p> 111 118 <ul> 112 119 <li><?php esc_html_e( 'Phase 1: Planning and securing team leads. This is done in the #core chat room on Slack. The release lead discusses features for the next release of WordPress. WordPress contributors get involved with that discussion. The release lead will identify team leads for each of the features.', 'wporg' ); ?></li> … … 121 128 <p><?php esc_html_e( 'Major releases may add new user features and developer APIs. Though typically in the software world, a “major” version means you can break backwards compatibility, WordPress strives to never break backwards compatibility. Backwards compatibility is one of the project’s most important philosophies, with the aim of making updates much easier on users and developers alike.', 'wporg' ); ?></p> 122 129 123 <p><?php 130 <p> 131 <?php 124 132 printf( 125 133 /* translators: %s: Footnote */ … … 127 135 '<sup id="ref3"><a href="#footnote3">3</a></sup>' 128 136 ); 129 ?></p> 137 ?> 138 </p> 130 139 131 140 <h3><?php esc_html_e( 'Version Backwards Compatibility', 'wporg' ); ?></h3> … … 133 142 <h2><?php esc_html_e( 'WordPress and Security', 'wporg' ); ?></h2> 134 143 <h3><?php esc_html_e( 'The WordPress Security Team', 'wporg' ); ?></h3> 135 <p><?php 144 <p> 145 <?php 136 146 printf( 137 147 /* translators: 1: Number - 50; 2: Footnote*/ … … 140 150 '<sup><a href="#footnote3">3</a></sup>' 141 151 ); 142 ?></p> 143 144 <p><?php 152 ?> 153 </p> 154 155 <p> 156 <?php 145 157 printf( 146 158 /* translators: %s: Footnote */ … … 148 160 '<sup id="ref4"><a href="#footnote4">4</a></sup>' 149 161 ); 150 ?></p> 162 ?> 163 </p> 151 164 <h3><?php esc_html_e( 'WordPress Security Risks, Process, and History', 'wporg' ); ?></h3> 152 <p><?php 165 <p> 166 <?php 153 167 printf( 154 168 /* translators: 1: HackerOne URL 2: Footnote */ … … 157 171 '<sup id="ref5"><a href="#footnote5">5</a></sup>' 158 172 ); 159 ?></p> 173 ?> 174 </p> 160 175 161 176 <p><?php esc_html_e( 'Each security report is acknowledged upon receipt, and the team works to verify the vulnerability and determine its severity. If confirmed, the security team then plans for a patch to fix the problem which can be committed to an upcoming release of the WordPress software or it can be pushed as an immediate security release, depending on the severity of the issue.', 'wporg' ); ?></p> 162 177 163 <p><?php 178 <p> 179 <?php 164 180 printf( 165 181 /* translators: %s: Footnote */ … … 167 183 '<sup id="ref6"><a href="#footnote6">6</a></sup>' 168 184 ); 169 ?></p> 185 ?> 186 </p> 170 187 171 188 <p><?php esc_html_e( 'Administrators of the WordPress software see a notification on their site dashboard to upgrade when a new release is available, and following the manual upgrade users are redirected to the About WordPress screen which details the changes. If administrators have automatic background updates enabled, they will receive an email after an upgrade has been completed.', 'wporg' ); ?></p> 172 189 173 190 <h3><?php esc_html_e( 'Automatic Background Updates for Security Releases', 'wporg' ); ?></h3> 174 <p><?php 191 <p> 192 <?php 175 193 printf( 176 194 /* translators: %s: Footnote */ … … 178 196 '<sup id="ref7"><a href="#footnote7">7</a></sup>' 179 197 ); 180 ?></p> 198 ?> 199 </p> 181 200 182 201 <p><?php esc_html_e( 'When a security update is pushed for the current stable release of WordPress, the core team will also push security updates for all the releases that are capable of background updates (since WordPress 3.7), so these older but still recent versions of WordPress will receive security enhancements.', 'wporg' ); ?></p> … … 184 203 <p><?php esc_html_e( 'Individual site owners can opt to remove automatic background updates through a simple change in their configuration file, but keeping the functionality is strongly recommended by the core team, as well as running the latest stable release of WordPress.', 'wporg' ); ?></p> 185 204 <h3><?php esc_html_e( '2013 OWASP Top 10', 'wporg' ); ?></h3> 186 <p><?php 205 <p> 206 <?php 187 207 printf( 188 208 /* translators: %s: Footnote */ … … 190 210 '<sup id="ref8"><a href="#footnote8">8</a></sup>' 191 211 ); 192 ?></p> 212 ?> 213 </p> 193 214 194 215 <p><?php esc_html_e( 'The following sections discuss the APIs, resources, and policies that WordPress uses to strengthen the core software and 3rd party plugins and themes against these potential risks.', 'wporg' ); ?></p> 195 216 <h4><?php esc_html_e( 'A1 - Injection', 'wporg' ); ?></h4> 196 <p><?php 217 <p> 218 <?php 197 219 printf( 198 220 /* translators: %s: Footnote */ … … 200 222 '<sup id="ref9"><a href="#footnote9">9</a></sup>' 201 223 ); 202 ?></p> 224 ?> 225 </p> 203 226 <h4><?php esc_html_e( 'A2 - Broken Authentication and Session Management', 'wporg' ); ?></h4> 204 227 <p><?php esc_html_e( 'WordPress core software manages user accounts and authentication and details such as the user ID, name, and password are managed on the server-side, as well as the authentication cookies. Passwords are protected in the database using standard salting and stretching techniques. Existing sessions are destroyed upon logout for versions of WordPress after 4.0.', 'wporg' ); ?></p> 205 228 <h4><?php esc_html_e( 'A3 - Cross Site Scripting (XSS)', 'wporg' ); ?></h4> 206 <p><?php 229 <p> 230 <?php 207 231 printf( 208 232 /* translators: 1: Footnote, 2: wp_kses() */ … … 211 235 '<code>wp_kses</code>' 212 236 ); 213 ?></p> 214 215 <p><?php 237 ?> 238 </p> 239 240 <p> 241 <?php 216 242 printf( 217 243 /* translators: %s: the_search_query() */ … … 219 245 '<code>the_search_query()</code>' 220 246 ); 221 ?></p> 247 ?> 248 </p> 222 249 <h4><?php esc_html_e( 'A4 - Insecure Direct Object Reference', 'wporg' ); ?></h4> 223 250 <p><?php esc_html_e( 'WordPress often provides direct object reference, such as unique numeric identifiers of user accounts or content available in the URL or form fields. While these identifiers disclose direct system information, WordPress’ rich permissions and access control system prevent unauthorized requests.', 'wporg' ); ?></p> 224 251 <h4><?php esc_html_e( 'A5 - Security Misconfiguration', 'wporg' ); ?></h4> 225 <p><?php 252 <p> 253 <?php 226 254 printf( 227 255 /* translators: %s: Footnote */ … … 229 257 '<sup id="ref11"><a href="#footnote11">11</a></sup>' 230 258 ); 231 ?></p> 259 ?> 260 </p> 232 261 <h4><?php esc_html_e( 'A6 - Sensitive Data Exposure', 'wporg' ); ?></h4> 233 <p><?php 262 <p> 263 <?php 234 264 printf( 235 265 /* translators: %s: Footnote */ … … 237 267 '<sup id="ref12"><a href="#footnote12">12</a></sup>' 238 268 ); 239 ?></p> 269 ?> 270 </p> 240 271 241 272 <h4><?php esc_html_e( 'A7 - Missing Function Level Access Control', 'wporg' ); ?></h4> … … 243 274 244 275 <h4><?php esc_html_e( 'A8 - Cross Site Request Forgery (CSRF)', 'wporg' ); ?></h4> 245 <p><?php 276 <p> 277 <?php 246 278 printf( 247 279 /* translators: %s: Footnote */ … … 249 281 '<sup id="ref13"><a href="#footnote13">13</a></sup>' 250 282 ); 251 ?></p> 283 ?> 284 </p> 252 285 253 286 <h4><?php esc_html_e( 'A9 - Using Components with Known Vulnerabilities', 'wporg' ); ?></h4> 254 <p><?php 287 <p> 288 <?php 255 289 printf( 256 290 /* translators: %s: Footnote */ … … 258 292 '<sup id="ref14"><a href="#footnote14">14</a></sup>' 259 293 ); 260 ?></p> 261 262 <p><?php 294 ?> 295 </p> 296 297 <p> 298 <?php 263 299 printf( 264 300 /* translators: %s: Footnote */ … … 266 302 '<sup id="ref15"><a href="#footnote15">15</a></sup>' 267 303 ); 268 ?></p> 304 ?> 305 </p> 269 306 270 307 <h4><?php esc_html_e( 'A10 - Unvalidated Redirects and Forwards', 'wporg' ); ?></h4> 271 <p><?php 308 <p> 309 <?php 272 310 printf( 273 311 /* translators: %s: Footnote */ … … 275 313 '<sup id="ref16"><a href="#footnote16">16</a></sup>' 276 314 ); 277 ?></p> 315 ?> 316 </p> 278 317 <h3><?php esc_html_e( 'Further Security Risks and Concerns', 'wporg' ); ?></h3> 279 318 <h4><?php esc_html_e( 'XXE (XML eXternal Entity) processing attacks', 'wporg' ); ?></h4> … … 283 322 <h2><?php esc_html_e( 'WordPress Plugin and Theme Security', 'wporg' ); ?></h2> 284 323 <h3><?php esc_html_e( 'The Default Theme', 'wporg' ); ?></h3> 285 <p><?php 324 <p> 325 <?php 286 326 printf( 287 327 /* translators: %s: The latest Core Theme release - Currently Twenty Seventeen */ 288 328 esc_html__( 'WordPress requires a theme to be enabled to render content visible on the frontend. The default theme which ships with core WordPress (currently "%s") has been vigorously reviewed and tested for security reasons by both the team of theme developers plus the core development team.', 'wporg' ), 289 wp_get_theme( 'core/' . WP_CORE_DEFAULT_THEME )->display( 'Name' ) 290 ); 291 ?></p> 329 esc_html( wp_get_theme( 'core/' . WP_CORE_DEFAULT_THEME )->display( 'Name' ) ) 330 ); 331 ?> 332 </p> 292 333 293 334 <p><?php esc_html_e( 'The default theme can serve as a starting point for custom theme development, and site developers can create a child theme which includes some customization but falls back on the default theme for most functionality and security. The default theme can be easily removed by an administrator if not needed.', 'wporg' ); ?></p> … … 295 336 <h3><?php esc_html_e( 'WordPress.org Theme and Plugin Repositories', 'wporg' ); ?></h3> 296 337 297 <p><?php 338 <p> 339 <?php 298 340 printf( 299 341 /* translators: 1: Number of plugins - 50,000; 2: Number of themes - 5,000 */ 300 esc_html__( 'There are approximately %1$s+ plugins and %2$s+ themes listed on the WordPress.org site. These themes and plugins are submitted for inclusion and are manually reviewed by volunteers before making them available on the repository.', 'wporg' 301 ), 302 number_format_i18n( 50000 ), 303 number_format_i18n( 5000 ) 304 ); 305 ?></p> 306 307 <p><?php 342 esc_html__( 343 'There are approximately %1$s+ plugins and %2$s+ themes listed on the WordPress.org site. These themes and plugins are submitted for inclusion and are manually reviewed by volunteers before making them available on the repository.', 'wporg' 344 ), 345 esc_html( number_format_i18n( 50000 ) ), 346 esc_html( number_format_i18n( 5000 ) ) 347 ); 348 ?> 349 </p> 350 351 <p> 352 <?php 308 353 printf( 309 354 /* translators: 1: Footnote; 2: Footnote */ … … 312 357 '<sup id="ref18"><a href="#footnote18">18</a></sup>' 313 358 ); 314 ?></p> 359 ?> 360 </p> 315 361 316 362 <p><?php esc_html_e( 'Each plugin and theme has the ability to be continually developed by the plugin or theme owner, and any subsequent fixes or feature development can be uploaded to the repository and made available to users with that plugin or theme installed with a description of that change. Site administrators are notified of plugins which need to be updated via their administration dashboard.', 'wporg' ); ?></p> … … 318 364 <p><?php esc_html_e( 'When a plugin vulnerability is discovered by the WordPress Security Team, they contact the plugin author and work together to fix and release a secure version of the plugin. If there is a lack of response from the plugin author or if the vulnerability is severe, the plugin/theme is pulled from the public directory, and in some cases, fixed and updated directly by the Security Team.', 'wporg' ); ?></p> 319 365 <h3><?php esc_html_e( 'The Theme Review Team', 'wporg' ); ?></h3> 320 <p><?php 366 <p> 367 <?php 321 368 printf( 322 369 /* translators: 1: Footnote; 2: Footnote; 3: Footnote */ … … 326 373 '<sup id="ref21"><a href="#footnote21">21</a></sup>' 327 374 ); 328 ?></p> 375 ?> 376 </p> 329 377 <h2><?php esc_html_e( 'The Role of the Hosting Provider in WordPress Security', 'wporg' ); ?></h2> 330 378 <p><?php esc_html_e( 'WordPress can be installed on a multitude of platforms. Though WordPress core software provides many provisions for operating a secure web application, which were covered in this document, the configuration of the operating system and the underlying web server hosting the software is equally important to keep the WordPress applications secure.', 'wporg' ); ?></p> 331 379 <h3><?php esc_html_e( 'A Note about WordPress.com and WordPress security', 'wporg' ); ?></h3> 332 <p><?php 380 <p> 381 <?php 333 382 printf( 334 383 /* translators: %s: Footnote */ … … 336 385 '<sup id="ref22"><a href="#footnote22">22</a></sup>' 337 386 ); 338 ?></p> 387 ?> 388 </p> 339 389 <h2><?php esc_html_e( 'Appendix', 'wporg' ); ?></h2> 340 390 <h3><?php esc_html_e( 'Core WordPress APIs', 'wporg' ); ?></h3> 341 <p><?php 391 <p> 392 <?php 342 393 printf( 343 394 /* translators: %s: Footnote */ … … 345 396 '<sup id="ref23"><a href="#footnote23">23</a></sup>' 346 397 ); 347 ?></p> 398 ?> 399 </p> 348 400 349 401 <p><?php esc_html_e( 'While each WordPress API provides best practices and standardized ways to interact with and extend WordPress core software, the following WordPress APIs are the most pertinent to enforcing and hardening WordPress security:', 'wporg' ); ?></p> … … 351 403 <h3><?php esc_html_e( 'Database API', 'wporg' ); ?></h3> 352 404 353 <p><?php 405 <p> 406 <?php 354 407 printf( 355 408 /* translators: %s: Footnote */ … … 357 410 '<sup id="ref24"><a href="#footnote24">24</a></sup>' 358 411 ); 359 ?></p> 412 ?> 413 </p> 360 414 361 415 <h3><?php esc_html_e( 'Filesystem API', 'wporg' ); ?></h3> 362 416 363 <p><?php 417 <p> 418 <?php 364 419 printf( 365 420 /* translators: 1: Footnote; 2: Footnote */ … … 368 423 '<sup id="ref26"><a href="#footnote26">26</a></sup>' 369 424 ); 370 ?></p> 425 ?> 426 </p> 371 427 372 428 <p><?php echo wp_kses_post( __( 'It does this through the <code>WP_Filesystem_Base</code> class, and several subclasses which implement different ways of connecting to the local filesystem, depending on individual host support. Any theme or plugin that needs to write files locally should do so using the WP_Filesystem family of classes.', 'wporg' ) ); ?></p> … … 374 430 <h3><?php esc_html_e( 'HTTP API', 'wporg' ); ?></h3> 375 431 376 <p><?php 432 <p> 433 <?php 377 434 printf( 378 435 /* translators: 1: Footnote; 2: Footnote */ … … 381 438 '<sup id="ref28"><a href="#footnote28">28</a></sup>' 382 439 ); 383 ?></p> 440 ?> 441 </p> 384 442 385 443 <h3><?php esc_html_e( 'Permissions and current user API', 'wporg' ); ?></h3> 386 444 387 <p><?php 445 <p> 446 <?php 388 447 printf( 389 448 /* translators: %s: Footnote */ … … 391 450 '<sup id="ref29"><a href="#footnote29">29</a></sup>' 392 451 ); 393 ?></p> 452 ?> 453 </p> 394 454 <h3><?php esc_html_e( 'White paper content License', 'wporg' ); ?></h3> 395 <p><?php 455 <p> 456 <?php 396 457 printf( 397 458 /* translators: 1: Link to WordPress Foundation Trademark Polocy (English); 2: Link to Creative Commons CC0 license (English) */ … … 400 461 'https://creativecommons.org/publicdomain/zero/1.0/' 401 462 ); 402 ?></p> 403 404 <p><?php 463 ?> 464 </p> 465 466 <p> 467 <?php 405 468 printf( 406 469 /* translators: %s: Link to the Drupal Security Whitepaper (english). */ … … 408 471 'http://drupalsecurityreport.org/' 409 472 ); 410 ?></p> 473 ?> 474 </p> 411 475 <h3><?php esc_html_e( 'Additional Reading', 'wporg' ); ?></h3> 412 476 <ul> 413 <li><?php 477 <li> 478 <?php 414 479 printf( 415 480 /* translators: %s: Link to News Blog including the <a> tags. */ … … 417 482 '<a href="https://wordpress.org/news/">https://wordpress.org/news/</a>' 418 483 ); 419 ?></li> 420 <li><?php 484 ?> 485 </li> 486 <li> 487 <?php 421 488 printf( 422 489 /* translators: %s: Link to News Blog Security Release Archive including the <a> tags. */ … … 424 491 '<a href="https://wordpress.org/news/category/security/">https://wordpress.org/news/category/security/</a>' 425 492 ); 426 ?></li> 427 <li><?php 493 ?> 494 </li> 495 <li> 496 <?php 428 497 printf( 429 498 /* translators: %s: Link to Developer.WordPress.org including the <a> tags. */ … … 431 500 '<a href="https://developer.wordpress.org/">https://developer.wordpress.org/</a>' 432 501 ); 433 ?></li> 502 ?> 503 </li> 434 504 </ul> 435 505 -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-stats.php
r6972 r7350 23 23 } ); 24 24 25 / / See inc/page-meta-descriptions.php for the meta description for this page.25 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 26 26 27 27 get_header( 'child-page' ); … … 45 45 </section> 46 46 </div><!-- .entry-content --> 47 48 47 </article><!-- #post-## --> 49 48 -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-swag.php
r6972 r7350 23 23 } ); 24 24 25 / / See inc/page-meta-descriptions.php for the meta description for this page.25 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 26 26 27 27 get_header( 'child-page' ); … … 55 55 ?> 56 56 </p> 57 58 57 </section> 59 60 58 </div><!-- .entry-content --> 61 62 59 </article><!-- #post-## --> 63 60 -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about-testimonials.php
r6972 r7350 7 7 * @package WordPressdotorg\MainTheme 8 8 */ 9 10 // phpcs:disable WordPress.VIP.RestrictedFunctions 9 11 10 12 namespace WordPressdotorg\MainTheme; … … 23 25 } ); 24 26 25 / / See inc/page-meta-descriptions.php for the meta description for this page.27 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 26 28 27 // Pull list of testimonial URLs from the news page holding them 29 // Pull list of testimonial URLs from the news page holding them. 28 30 switch_to_blog( 8 ); 29 $test page= get_page_by_path( 'testimonials' );31 $testimonials_post = get_page_by_path( 'testimonials' ); 30 32 restore_current_blog(); 31 33 32 // we only need the URLs in the post_content 33 preg_match_all( '|https://\S+|', $testpage->post_content, $testimonials ); 34 $testimonials = $testimonials[0]; 34 if ( $testimonials_post instanceof \WP_Post ) { 35 // We only need the URLs in the post_content. 36 preg_match_all( '|https://\S+|', $testimonials_post->post_content, $testimonials ); 37 $testimonials = $testimonials[0]; 38 } else { 39 $testimonials = []; 40 } 35 41 36 // separate out the twiiter from the WPs 37 $embed_tweets = array_values( array_filter( $testimonials, function ($t) { return strpos( $t, 'https://twitter.com' ) === 0; } ) ); 38 $embed_wps = array_values( array_filter( $testimonials, function ($t) { return strpos( $t, 'https://twitter.com' ) !== 0; } ) ); 42 // Separate out the twitter from the WPs. 43 $embed_tweets = array_values( array_filter( $testimonials, function( $t ) { 44 return strpos( $t, 'https://twitter.com' ) === 0; 45 } ) ); 46 $embed_wps = array_values( array_filter( $testimonials, function( $t ) { 47 return strpos( $t, 'https://twitter.com' ) !== 0; 48 } ) ); 39 49 40 // Randomize the tweet order 50 // Randomize the tweet order. 41 51 shuffle( $embed_tweets ); 42 52 43 // Strip out everything but the Tweet ID 53 // Strip out everything but the Tweet ID. 44 54 array_walk( $embed_tweets, function ( &$tweet ) { 45 55 $tweet = preg_replace( '|https?://twitter.com/.*/status/([0-9]+)|', '$1', $tweet ); … … 70 80 conversation: 'none', 71 81 cards: 'hidden', 72 margin: 0, width: 372 82 margin: 0, 83 width: 372 73 84 } 74 85 ).then( function() { … … 92 103 wp_add_inline_script( 'twitter-widgets', $custom_js ); 93 104 wp_localize_script( 'twitter-widgets', 'embeds', array( 94 'tweets' => $embed_tweets,105 'tweets' => $embed_tweets, 95 106 'wpembeds' => $embed_wps, 96 107 ) ); … … 107 118 108 119 <div class="entry-content row"> 109 110 120 <section class="col-8"> 111 <h3><?php _e( 'Share your WordPress story', 'wporg' ); ?></h3> 112 113 <p><?php _e( 'Want to have your story featured on this page?', 'wporg' ); ?></p> 114 115 <p><?php 121 <h3><?php esc_html_e( 'Share your WordPress story', 'wporg' ); ?></h3> 122 <p><?php esc_html_e( 'Want to have your story featured on this page?', 'wporg' ); ?></p> 123 <p> 124 <?php 116 125 /* translators: Link to the twitter #ilovewp feed */ 117 printf( __( "Make a blog post with your story and tweet a link to it using the <a href='%s'>#ilovewp</a> hashtag. We'll select the best ones and feature them here!", 'wporg' ), 'https://twitter.com/search?q=%23ilovewp' ); 118 ?></p> 126 printf( wp_kses_post( __( 'Make a blog post with your story and tweet a link to it using the <a href="%s">#ilovewp</a> hashtag. We’ll select the best ones and feature them here!', 'wporg' ) ), 'https://twitter.com/search?q=%23ilovewp' ); 127 ?> 128 </p> 119 129 120 130 <p> … … 126 136 </a> 127 137 </p> 128 129 138 </section> 130 139 131 <section class="col-10" id="embeds"> 132 </section> 140 <section class="col-10" id="embeds"></section> 133 141 </div><!-- .entry-content --> 134 135 142 </article><!-- #post-## --> 136 143 -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-about.php
r7332 r7350 15 15 } ); 16 16 17 / / See inc/page-meta-descriptions.php for the meta description for this page.17 /* See inc/page-meta-descriptions.php for the meta description for this page. */ 18 18 19 19 get_header(); … … 101 101 <?php 102 102 /* translators: 1: Link to b2/cafelog; 2: WordPress market share: 30 - Note: The following percent sign is '%%' for escaping purposes; */ 103 printf( wp_kses_post( __( 'WordPress started in 2003 when Mike Little and Matt Mullenweg created a <a href="%1$s">fork of b2/cafelog</a>. The need for an elegant, well-architected personal publishing system was clear even then. Today, WordPress is built on PHP and MySQL, and licensed under the GPLv2. It is also the platform of choice for over %2$s%% of all sites across the web.', 'wporg' ) ), esc_url( 'https://www.whoishostingthis.com/resources/b2-cafelog/' ), number_format_i18n( WP_MARKET_SHARE) );103 printf( wp_kses_post( __( 'WordPress started in 2003 when Mike Little and Matt Mullenweg created a <a href="%1$s">fork of b2/cafelog</a>. The need for an elegant, well-architected personal publishing system was clear even then. Today, WordPress is built on PHP and MySQL, and licensed under the GPLv2. It is also the platform of choice for over %2$s%% of all sites across the web.', 'wporg' ) ), esc_url( 'https://www.whoishostingthis.com/resources/b2-cafelog/' ), esc_html( number_format_i18n( WP_MARKET_SHARE ) ) ); 104 104 ?> 105 105 </p> -
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-main/page-get.php
r7335 r7350 46 46 <span class="dashicons-before dashicons-download"> 47 47 <?php 48 echo apply_filters( 'no_orphans', sprintf(48 echo esc_html( apply_filters( 'no_orphans', sprintf( 49 49 /* translators: WordPress version. */ 50 esc_html__( 'Download WordPress %s', 'wporg' ),51 esc_html( WP_CORE_LATEST_RELEASE )52 ) ) ;50 __( 'Download WordPress %s', 'wporg' ), 51 WP_CORE_LATEST_RELEASE 52 ) ) ); 53 53 ?> 54 54 </span>
Note: See TracChangeset
for help on using the changeset viewer.