Skip to content

Commit

Permalink
Merge remote-tracking branch 'refs/remotes/origin/master' into latest
Browse files Browse the repository at this point in the history
  • Loading branch information
patrickebates committed Jan 26, 2017
2 parents 169e64b + b1438fe commit d7babec
Show file tree
Hide file tree
Showing 19 changed files with 439 additions and 196 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Project Nami
===============

###Version: `1.5.3`###
###Version: `1.5.4`###

###Description:###
[![Deploy to Azure](http://azuredeploy.net/deploybutton.png)](https://deploy.azure.com/?repository=https://github.com/ProjectNami/projectnami/tree/latest)
Expand Down Expand Up @@ -35,4 +35,4 @@ We needed a version of WordPress powered by SQL Server in the cloud on Microsoft

* Project Nami requires ***SQL Server 2012 or later*** in order to function properly. Until this version was released, there wasn't really a SQL Server native method of handling the MySQL `LIMIT` when using an offset. However, `OFFSET FETCH` can now be used in conjunction with `ORDER BY` to achieve the equivalent of a MySQL `LIMIT` with an offset.

* Due to the use of the `sqlsrv` PHP extension, Project Nami will only run on Windows, at the moment, but Linux support is coming very soon.
* Compatible with SQL Server vNext on Linux platforms
5 changes: 4 additions & 1 deletion wp-admin/about.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,10 @@
</h2>

<div class="changelog point-releases">
<h3><?php _e( 'Maintenance and Security Release' ); ?></h3>
<h3><?php _e( 'Maintenance and Security Releases' ); ?></h3>
<p><?php printf( __( '<strong>Version %s</strong> addressed some security issues.' ), '4.7.2' ); ?>
<?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'https://codex.wordpress.org/Version_4.7.2' ); ?>
</p>
<p><?php printf( _n( '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.', 62 ), '4.7.1', number_format_i18n( 62 ) ); ?>
<?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'https://codex.wordpress.org/Version_4.7.1' ); ?>
Expand Down
2 changes: 1 addition & 1 deletion wp-admin/includes/class-wp-posts-list-table.php
Original file line number Diff line number Diff line change
Expand Up @@ -955,7 +955,7 @@ public function column_title( $post ) {
echo "</strong>\n";

if ( ! is_post_type_hierarchical( $this->screen->post_type ) && 'excerpt' === $mode && current_user_can( 'read_post', $post->ID ) ) {
the_excerpt();
echo esc_html( get_the_excerpt() );
}

get_inline_data( $post );
Expand Down
98 changes: 68 additions & 30 deletions wp-admin/includes/class-wp-press-this.php
Original file line number Diff line number Diff line change
Expand Up @@ -119,10 +119,28 @@ public function save_post() {
'post_type' => 'post',
'post_status' => 'draft',
'post_format' => ( ! empty( $_POST['post_format'] ) ) ? sanitize_text_field( $_POST['post_format'] ) : '',
'tax_input' => ( ! empty( $_POST['tax_input'] ) ) ? $_POST['tax_input'] : array(),
'post_category' => ( ! empty( $_POST['post_category'] ) ) ? $_POST['post_category'] : array(),
);

// Only accept categories if the user actually can assign
$category_tax = get_taxonomy( 'category' );
if ( current_user_can( $category_tax->cap->assign_terms ) ) {
$post_data['post_category'] = ( ! empty( $_POST['post_category'] ) ) ? $_POST['post_category'] : array();
}

// Only accept taxonomies if the user can actually assign
if ( ! empty( $_POST['tax_input'] ) ) {
$tax_input = $_POST['tax_input'];
foreach ( $tax_input as $tax => $_ti ) {
$tax_object = get_taxonomy( $tax );
if ( ! $tax_object || ! current_user_can( $tax_object->cap->assign_terms ) ) {
unset( $tax_input[ $tax ] );
}
}

$post_data['tax_input'] = $tax_input;
}

// Toggle status to pending if user cannot actually publish
if ( ! empty( $_POST['post_status'] ) && 'publish' === $_POST['post_status'] ) {
if ( current_user_can( 'publish_posts' ) ) {
$post_data['post_status'] = 'publish';
Expand Down Expand Up @@ -453,7 +471,7 @@ private function _limit_img( $src ) {
* @since 4.2.0
*
* @param string $src Embed source URL.
* @return string If not from a supported provider, an empty string. Otherwise, a reformattd embed URL.
* @return string If not from a supported provider, an empty string. Otherwise, a reformatted embed URL.
*/
private function _limit_embed( $src ) {
$src = $this->_limit_url( $src );
Expand Down Expand Up @@ -853,6 +871,12 @@ public function post_formats_html( $post ) {
public function categories_html( $post ) {
$taxonomy = get_taxonomy( 'category' );

// Bail if user cannot assign terms
if ( ! current_user_can( $taxonomy->cap->assign_terms ) ) {
return;
}

// Only show "add" if user can edit terms
if ( current_user_can( $taxonomy->cap->edit_terms ) ) {
?>
<button type="button" class="add-cat-toggle button-link" aria-expanded="false">
Expand Down Expand Up @@ -1272,6 +1296,12 @@ public function html() {
wp_enqueue_script( 'json2' );
wp_enqueue_script( 'editor' );

$categories_tax = get_taxonomy( 'category' );
$show_categories = current_user_can( $categories_tax->cap->assign_terms ) || current_user_can( $categories_tax->cap->edit_terms );

$tag_tax = get_taxonomy( 'post_tag' );
$show_tags = current_user_can( $tag_tax->cap->assign_terms );

$supports_formats = false;
$post_format = 0;

Expand Down Expand Up @@ -1423,17 +1453,21 @@ public function html() {
</button>
<?php endif; ?>

<button type="button" class="button-link post-option">
<span class="dashicons dashicons-category"></span>
<span class="post-option-title"><?php _e( 'Categories' ); ?></span>
<span class="dashicons post-option-forward"></span>
</button>

<button type="button" class="button-link post-option">
<span class="dashicons dashicons-tag"></span>
<span class="post-option-title"><?php _e( 'Tags' ); ?></span>
<span class="dashicons post-option-forward"></span>
</button>
<?php if ( $show_categories ) : ?>
<button type="button" class="button-link post-option">
<span class="dashicons dashicons-category"></span>
<span class="post-option-title"><?php _e( 'Categories' ); ?></span>
<span class="dashicons post-option-forward"></span>
</button>
<?php endif; ?>

<?php if ( $show_tags ) : ?>
<button type="button" class="button-link post-option">
<span class="dashicons dashicons-tag"></span>
<span class="post-option-title"><?php _e( 'Tags' ); ?></span>
<span class="dashicons post-option-forward"></span>
</button>
<?php endif; ?>
</div>

<?php if ( $supports_formats ) : ?>
Expand All @@ -1447,23 +1481,27 @@ public function html() {
</div>
<?php endif; ?>

<div class="setting-modal is-off-screen is-hidden">
<button type="button" class="button-link modal-close">
<span class="dashicons post-option-back"></span>
<span class="setting-title" aria-hidden="true"><?php _e( 'Categories' ); ?></span>
<span class="screen-reader-text"><?php _e( 'Back to post options' ) ?></span>
</button>
<?php $this->categories_html( $post ); ?>
</div>
<?php if ( $show_categories ) : ?>
<div class="setting-modal is-off-screen is-hidden">
<button type="button" class="button-link modal-close">
<span class="dashicons post-option-back"></span>
<span class="setting-title" aria-hidden="true"><?php _e( 'Categories' ); ?></span>
<span class="screen-reader-text"><?php _e( 'Back to post options' ) ?></span>
</button>
<?php $this->categories_html( $post ); ?>
</div>
<?php endif; ?>

<div class="setting-modal tags is-off-screen is-hidden">
<button type="button" class="button-link modal-close">
<span class="dashicons post-option-back"></span>
<span class="setting-title" aria-hidden="true"><?php _e( 'Tags' ); ?></span>
<span class="screen-reader-text"><?php _e( 'Back to post options' ) ?></span>
</button>
<?php $this->tags_html( $post ); ?>
</div>
<?php if ( $show_tags ) : ?>
<div class="setting-modal tags is-off-screen is-hidden">
<button type="button" class="button-link modal-close">
<span class="dashicons post-option-back"></span>
<span class="setting-title" aria-hidden="true"><?php _e( 'Tags' ); ?></span>
<span class="screen-reader-text"><?php _e( 'Back to post options' ) ?></span>
</button>
<?php $this->tags_html( $post ); ?>
</div>
<?php endif; ?>
</div><!-- .options-panel -->
</div><!-- .wrapper -->

Expand Down
5 changes: 2 additions & 3 deletions wp-includes/class-wp-comment.php
Original file line number Diff line number Diff line change
Expand Up @@ -191,12 +191,11 @@ final class WP_Comment {
public static function get_instance( $id ) {
global $wpdb;

if ( ! is_numeric( $id ) || $id != floor( $id ) || ! $id ) {
$comment_id = (int) $id;
if ( ! $comment_id ) {
return false;
}

$comment_id = (int) $id;

$_comment = wp_cache_get( $comment_id, 'comment' );

if ( ! $_comment ) {
Expand Down
5 changes: 2 additions & 3 deletions wp-includes/class-wp-post.php
Original file line number Diff line number Diff line change
Expand Up @@ -210,12 +210,11 @@ final class WP_Post {
public static function get_instance( $post_id ) {
global $wpdb;

if ( ! is_numeric( $post_id ) || $post_id != floor( $post_id ) || ! $post_id ) {
$post_id = (int) $post_id;
if ( ! $post_id ) {
return false;
}

$post_id = (int) $post_id;

$_post = wp_cache_get( $post_id, 'posts' );

if ( ! $_post ) {
Expand Down
6 changes: 3 additions & 3 deletions wp-includes/class-wp-query.php
Original file line number Diff line number Diff line change
Expand Up @@ -2264,12 +2264,12 @@ public function get_posts() {
if ( empty( $in_search_post_types ) ) {
$where .= ' AND 1=0 ';
} else {
$where .= " AND {$wpdb->posts}.post_type IN ('" . join("', '", $in_search_post_types ) . "')";
$where .= " AND {$wpdb->posts}.post_type IN ('" . join( "', '", array_map( 'esc_sql', $in_search_post_types ) ) . "')";
}
} elseif ( !empty( $post_type ) && is_array( $post_type ) ) {
$where .= " AND {$wpdb->posts}.post_type IN ('" . join("', '", $post_type) . "')";
$where .= " AND {$wpdb->posts}.post_type IN ('" . join("', '", esc_sql( $post_type ) ) . "')";
} elseif ( ! empty( $post_type ) ) {
$where .= " AND {$wpdb->posts}.post_type = '$post_type'";
$where .= $wpdb->prepare( " AND {$wpdb->posts}.post_type = %s", $post_type );
$post_type_object = get_post_type_object ( $post_type );
} elseif ( $this->is_attachment ) {
$where .= " AND {$wpdb->posts}.post_type = 'attachment'";
Expand Down
5 changes: 2 additions & 3 deletions wp-includes/class-wp-term.php
Original file line number Diff line number Diff line change
Expand Up @@ -125,12 +125,11 @@ final class WP_Term {
public static function get_instance( $term_id, $taxonomy = null ) {
global $wpdb;

if ( ! is_numeric( $term_id ) || $term_id != floor( $term_id ) || ! $term_id ) {
$term_id = (int) $term_id;
if ( ! $term_id ) {
return false;
}

$term_id = (int) $term_id;

$_term = wp_cache_get( $term_id, 'terms' );

// If there isn't a cached version, hit the database.
Expand Down
2 changes: 1 addition & 1 deletion wp-includes/pn-version.php
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<?php

$pn_version = '1.5.3';
$pn_version = '1.5.4';
10 changes: 9 additions & 1 deletion wp-includes/rest-api.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,13 @@ function register_rest_route( $namespace, $route, $args = array(), $override = f
return false;
}

if ( isset( $args['args'] ) ) {
$common_args = $args['args'];
unset( $args['args'] );
} else {
$common_args = array();
}

if ( isset( $args['callback'] ) ) {
// Upgrade a single set to multiple.
$args = array( $args );
Expand All @@ -57,12 +64,13 @@ function register_rest_route( $namespace, $route, $args = array(), $override = f
'args' => array(),
);
foreach ( $args as $key => &$arg_group ) {
if ( ! is_numeric( $arg_group ) ) {
if ( ! is_numeric( $key ) ) {
// Route option, skip here.
continue;
}

$arg_group = array_merge( $defaults, $arg_group );
$arg_group['args'] = array_merge( $common_args, $arg_group['args'] );
}

$full_route = '/' . trim( $namespace, '/' ) . '/' . trim( $route, '/' );
Expand Down
Loading

0 comments on commit d7babec

Please sign in to comment.