Archived
Updates
This commit is contained in:
1 parent
70d2335bba
commit
7428b67da5
1086 files changed
+94145
-59082
No files matched your search
@@ -6,6 +6,13 @@
|
||||
* @subpackage Administration
|
||||
*/
|
||||
|
||||
/**
|
||||
* Loads the WP image-editing interface.
|
||||
*
|
||||
* @param int $post_id Post ID.
|
||||
* @param bool|object $msg Optional. Message to display for image editor updates or errors.
|
||||
* Default false.
|
||||
*/
|
||||
function wp_image_editor($post_id, $msg = false) {
|
||||
$nonce = wp_create_nonce("image_editor-$post_id");
|
||||
$meta = wp_get_attachment_metadata($post_id);
|
||||
@@ -326,12 +333,31 @@ function wp_save_image_file( $filename, $image, $mime_type, $post_id ) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Image preview ratio. Internal use only.
|
||||
*
|
||||
* @since 2.9.0
|
||||
*
|
||||
* @ignore
|
||||
* @param int $w Image width in pixels.
|
||||
* @param int $h Image height in pixels.
|
||||
* @return float|int Image preview ratio.
|
||||
*/
|
||||
function _image_get_preview_ratio($w, $h) {
|
||||
$max = max($w, $h);
|
||||
return $max > 400 ? (400 / $max) : 1;
|
||||
}
|
||||
|
||||
// @TODO: Returns GD resource, but is NOT public
|
||||
/**
|
||||
* Returns an image resource. Internal use only.
|
||||
*
|
||||
* @since 2.9.0
|
||||
*
|
||||
* @ignore
|
||||
* @param resource $img Image resource.
|
||||
* @param float|int $angle Image rotation angle, in degrees.
|
||||
* @return resource|false GD image resource, false otherwise.
|
||||
*/
|
||||
function _rotate_image_resource($img, $angle) {
|
||||
_deprecated_function( __FUNCTION__, '3.5', __( 'Use WP_Image_Editor::rotate' ) );
|
||||
if ( function_exists('imagerotate') ) {
|
||||
@@ -345,14 +371,15 @@ function _rotate_image_resource($img, $angle) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @TODO: Only used within image_edit_apply_changes
|
||||
* and receives/returns GD Resource.
|
||||
* Consider removal.
|
||||
* Flips an image resource. Internal use only.
|
||||
*
|
||||
* @param GD_Resource $img
|
||||
* @param boolean $horz
|
||||
* @param boolean $vert
|
||||
* @return GD_Resource
|
||||
* @since 2.9.0
|
||||
*
|
||||
* @ignore
|
||||
* @param resource $img Image resource.
|
||||
* @param bool $horz Whether to flip horizontally.
|
||||
* @param bool $vert Whether to flip vertically.
|
||||
* @return resource (maybe) flipped image resource.
|
||||
*/
|
||||
function _flip_image_resource($img, $horz, $vert) {
|
||||
_deprecated_function( __FUNCTION__, '3.5', __( 'Use WP_Image_Editor::flip' ) );
|
||||
@@ -374,16 +401,17 @@ function _flip_image_resource($img, $horz, $vert) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @TODO: Only used within image_edit_apply_changes
|
||||
* and receives/returns GD Resource.
|
||||
* Consider removal.
|
||||
* Crops an image resource. Internal use only.
|
||||
*
|
||||
* @param GD_Resource $img
|
||||
* @param float $x
|
||||
* @param float $y
|
||||
* @param float $w
|
||||
* @param float $h
|
||||
* @return GD_Resource
|
||||
* @since 2.9.0
|
||||
*
|
||||
* @ignore
|
||||
* @param resource $img Image resource.
|
||||
* @param float $x Source point x-coordinate.
|
||||
* @param float $y Source point y-cooredinate.
|
||||
* @param float $w Source width.
|
||||
* @param float $h Source height.
|
||||
* @return resource (maybe) cropped image resource.
|
||||
*/
|
||||
function _crop_image_resource($img, $x, $y, $w, $h) {
|
||||
$dst = wp_imagecreatetruecolor($w, $h);
|
||||
@@ -399,9 +427,11 @@ function _crop_image_resource($img, $x, $y, $w, $h) {
|
||||
/**
|
||||
* Performs group of changes on Editor specified.
|
||||
*
|
||||
* @param WP_Image_Editor $image
|
||||
* @param type $changes
|
||||
* @return WP_Image_Editor
|
||||
* @since 2.9.0
|
||||
*
|
||||
* @param WP_Image_Editor $image {@see WP_Image_Editor} instance.
|
||||
* @param array $changes Array of change operations.
|
||||
* @return WP_Image_Editor {@see WP_Image_Editor} instance with changes applied.
|
||||
*/
|
||||
function image_edit_apply_changes( $image, $changes ) {
|
||||
if ( is_resource( $image ) )
|
||||
@@ -431,7 +461,7 @@ function image_edit_apply_changes( $image, $changes ) {
|
||||
// Combine operations.
|
||||
if ( count($changes) > 1 ) {
|
||||
$filtered = array($changes[0]);
|
||||
for ( $i = 0, $j = 1; $j < count($changes); $j++ ) {
|
||||
for ( $i = 0, $j = 1, $c = count( $changes ); $j < $c; $j++ ) {
|
||||
$combined = false;
|
||||
if ( $filtered[$i]->type == $changes[$j]->type ) {
|
||||
switch ( $filtered[$i]->type ) {
|
||||
@@ -554,10 +584,18 @@ function stream_preview_image( $post_id ) {
|
||||
return wp_stream_image( $img, $post->post_mime_type, $post_id );
|
||||
}
|
||||
|
||||
/**
|
||||
* Restores the metadata for a given attachment.
|
||||
*
|
||||
* @since 2.9.0
|
||||
*
|
||||
* @param int $post_id Attachment post ID.
|
||||
* @return stdClass Image restoration message object.
|
||||
*/
|
||||
function wp_restore_image($post_id) {
|
||||
$meta = wp_get_attachment_metadata($post_id);
|
||||
$file = get_attached_file($post_id);
|
||||
$backup_sizes = get_post_meta( $post_id, '_wp_attachment_backup_sizes', true );
|
||||
$backup_sizes = $old_backup_sizes = get_post_meta( $post_id, '_wp_attachment_backup_sizes', true );
|
||||
$restored = false;
|
||||
$msg = new stdClass;
|
||||
|
||||
@@ -578,10 +616,7 @@ function wp_restore_image($post_id) {
|
||||
|
||||
// Delete only if it's edited image.
|
||||
if ( preg_match('/-e[0-9]{13}\./', $parts['basename']) ) {
|
||||
|
||||
/** This filter is documented in wp-admin/custom-header.php */
|
||||
$delpath = apply_filters( 'wp_delete_file', $file );
|
||||
@unlink($delpath);
|
||||
wp_delete_file( $file );
|
||||
}
|
||||
} elseif ( isset( $meta['width'], $meta['height'] ) ) {
|
||||
$backup_sizes["full-$suffix"] = array('width' => $meta['width'], 'height' => $meta['height'], 'file' => $parts['basename']);
|
||||
@@ -604,9 +639,8 @@ function wp_restore_image($post_id) {
|
||||
|
||||
// Delete only if it's edited image
|
||||
if ( preg_match('/-e[0-9]{13}-/', $meta['sizes'][$default_size]['file']) ) {
|
||||
/** This filter is documented in wp-admin/custom-header.php */
|
||||
$delpath = apply_filters( 'wp_delete_file', path_join($parts['dirname'], $meta['sizes'][$default_size]['file']) );
|
||||
@unlink($delpath);
|
||||
$delete_file = path_join( $parts['dirname'], $meta['sizes'][$default_size]['file'] );
|
||||
wp_delete_file( $delete_file );
|
||||
}
|
||||
} else {
|
||||
$backup_sizes["$default_size-{$suffix}"] = $meta['sizes'][$default_size];
|
||||
@@ -619,7 +653,9 @@ function wp_restore_image($post_id) {
|
||||
}
|
||||
}
|
||||
|
||||
if ( !wp_update_attachment_metadata($post_id, $meta) || !update_post_meta( $post_id, '_wp_attachment_backup_sizes', $backup_sizes) ) {
|
||||
if ( ! wp_update_attachment_metadata( $post_id, $meta ) ||
|
||||
( $old_backup_sizes !== $backup_sizes && ! update_post_meta( $post_id, '_wp_attachment_backup_sizes', $backup_sizes ) ) ) {
|
||||
|
||||
$msg->error = __('Cannot save image metadata.');
|
||||
return $msg;
|
||||
}
|
||||
@@ -738,7 +774,7 @@ function wp_save_image( $post_id ) {
|
||||
if ( $tag )
|
||||
$backup_sizes[$tag] = array('width' => $meta['width'], 'height' => $meta['height'], 'file' => $path_parts['basename']);
|
||||
|
||||
$success = update_attached_file( $post_id, $new_path );
|
||||
$success = ( $path === $new_path ) || update_attached_file( $post_id, $new_path );
|
||||
|
||||
$meta['file'] = _wp_relative_upload_path( $new_path );
|
||||
|
||||
@@ -817,10 +853,7 @@ function wp_save_image( $post_id ) {
|
||||
}
|
||||
|
||||
if ( $delete ) {
|
||||
|
||||
/** This filter is documented in wp-admin/custom-header.php */
|
||||
$delpath = apply_filters( 'wp_delete_file', $new_path );
|
||||
@unlink( $delpath );
|
||||
wp_delete_file( $new_path );
|
||||
}
|
||||
|
||||
$return->msg = esc_js( __('Image saved') );
|
||||
|
||||
Reference in new issue
Block a user