| @@ -1,6 +1,10 @@ | ||
| 1 | 1 | <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName |
| 2 | 2 | |
| 3 | +if ( ! defined( 'ABSPATH' ) ) { | |
| 4 | + exit( 0 ); | |
| 5 | +} | |
| 6 | + | |
| 3 | 7 | require_once JETPACK__PLUGIN_DIR . 'sal/class.json-api-date.php'; |
| 4 | 8 | |
| 5 | 9 | /** |
| 6 | 10 | * Class to handle different actions related to media. |
| @@ -36,9 +40,9 @@ | ||
| 36 | 40 | * The returned name has the `{basename}-{hash}-{random-number}.{ext}` shape. |
| 37 | 41 | * The hash is built according to the filename trying to avoid name collisions |
| 38 | 42 | * with other media files. |
| 39 | 43 | * |
| 40 | - * @param number $media_id - media post ID. | |
| 44 | + * @param int $media_id - media post ID. | |
| 41 | 45 | * @param string $new_filename - the new filename. |
| 42 | 46 | * @return string A random filename. |
| 43 | 47 | */ |
| 44 | 48 | public static function generate_new_filename( $media_id, $new_filename ) { |
| @@ -221,11 +225,11 @@ | ||
| 221 | 225 | |
| 222 | 226 | /** |
| 223 | 227 | * Add a new item into revision_history array. |
| 224 | 228 | * |
| 225 | - * @param object $media_item - media post object. | |
| 226 | - * @param file $file - file recently added. | |
| 227 | - * @param bool $has_original_media - condition is the original media has been already added. | |
| 229 | + * @param object $media_item - media post object. | |
| 230 | + * @param array|WP_Error $file - File data, or WP_Error on error. | |
| 231 | + * @param bool $has_original_media - condition is the original media has been already added. | |
| 228 | 232 | * @return bool `true` if the item has been added. Otherwise `false`. |
| 229 | 233 | */ |
| 230 | 234 | public static function register_revision( $media_item, $file, $has_original_media ) { |
| 231 | 235 | if ( is_wp_error( $file ) || ! $has_original_media ) { |
| @@ -236,13 +240,13 @@ | ||
| 236 | 240 | } |
| 237 | 241 | /** |
| 238 | 242 | * Return the `revision_history` of the given media. |
| 239 | 243 | * |
| 240 | - * @param number $media_id - media post ID. | |
| 244 | + * @param int $media_id - media post ID. | |
| 241 | 245 | * @return array `revision_history` array |
| 242 | 246 | */ |
| 243 | 247 | public static function get_revision_history( $media_id ) { |
| 244 | - return array_reverse( get_post_meta( $media_id, self::WP_REVISION_HISTORY ) ); | |
| 248 | + return array_reverse( get_post_meta( $media_id, self::WP_REVISION_HISTORY, false ) ); | |
| 245 | 249 | } |
| 246 | 250 | |
| 247 | 251 | /** |
| 248 | 252 | * Return the original media data. |
| @@ -261,10 +265,13 @@ | ||
| 261 | 265 | * @param string $pathname Path name. |
| 262 | 266 | */ |
| 263 | 267 | public static function delete_file( $pathname ) { |
| 264 | 268 | if ( ! file_exists( $pathname ) || ! is_file( $pathname ) ) { |
| 265 | - // let's touch a fake file to try to `really` remove the media file. | |
| 266 | - touch( $pathname ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_operations_touch | |
| 269 | + $dir = dirname( $pathname ); | |
| 270 | + if ( is_dir( $dir ) ) { | |
| 271 | + // let's touch a fake file to try to `really` remove the media file. | |
| 272 | + touch( $pathname ); // phpcs:ignore WordPress.WP.AlternativeFunctions.file_system_operations_touch | |
| 273 | + } | |
| 267 | 274 | } |
| 268 | 275 | |
| 269 | 276 | return wp_delete_file( $pathname ); |
| 270 | 277 | } |
| @@ -345,9 +352,9 @@ | ||
| 345 | 352 | * Limit the number of items of the `revision_history` array. |
| 346 | 353 | * When the stack is overflowing the oldest item is remove from there (FIFO). |
| 347 | 354 | * |
| 348 | 355 | * @param int $media_id - media post ID. |
| 349 | - * @param null|int $limit - maximun amount of items. 20 as default. | |
| 356 | + * @param null|int $limit - maximum amount of items. 20 as default. | |
| 350 | 357 | * |
| 351 | 358 | * @return array items removed from `revision_history` |
| 352 | 359 | */ |
| 353 | 360 | public static function limit_revision_history( $media_id, $limit = null ) { |
| @@ -432,11 +439,11 @@ | ||
| 432 | 439 | * - trace revision history |
| 433 | 440 | * |
| 434 | 441 | * Note this does not support sideloads, only uploads. |
| 435 | 442 | * |
| 436 | - * @param number $media_id - media post ID. | |
| 437 | - * @param array $file_array - Data derived from `$_FILES` for an uploaded file. | |
| 438 | - * @return {Post|WP_Error} Updated media item or a WP_Error is something went wrong. | |
| 443 | + * @param int $media_id - media post ID. | |
| 444 | + * @param array $file_array - Data derived from `$_FILES` for an uploaded file. | |
| 445 | + * @return WP_Post|WP_Error Updated media item or a WP_Error is something went wrong. | |
| 439 | 446 | */ |
| 440 | 447 | public static function edit_media_file( $media_id, $file_array ) { |
| 441 | 448 | $media_item = get_post( $media_id ); |
| 442 | 449 | $has_original_media = self::get_original_media( $media_id ); |