Loading inc/class-s3-uploads-wp-cli-command.php +8 −3 Original line number Diff line number Diff line Loading @@ -71,9 +71,12 @@ class S3_Uploads_WP_CLI_Command extends WP_CLI_Command { WP_CLI::success( 'Moved all attachment to S3. If you wish to update references in your database run: ' ); WP_CLI::line( '' ); // Esnure things are active // Ensure things are active $instance = S3_Uploads::get_instance(); $instance->register_stream_wrapper(); if ( ! s3_uploads_enabled() ) { $instance->setup(); } $old_upload_dir = $instance->get_original_upload_dir(); $upload_dir = wp_upload_dir(); Loading @@ -91,7 +94,9 @@ class S3_Uploads_WP_CLI_Command extends WP_CLI_Command { // Ensure things are active $instance = S3_Uploads::get_instance(); $instance->register_stream_wrapper(); if ( ! s3_uploads_enabled() ) { $instance->setup(); } $old_upload_dir = $instance->get_original_upload_dir(); $upload_dir = wp_upload_dir(); Loading inc/class-s3-uploads.php +25 −1 Original line number Diff line number Diff line Loading @@ -32,6 +32,30 @@ class S3_Uploads { $this->region = $region; } /** * Setup the hooks, urls filtering etc for S3 Uploads */ public function setup() { $this->register_stream_wrapper(); add_filter( 'upload_dir', array( $this, 'filter_upload_dir' ) ); add_filter( 'wp_image_editors', array( $this, 'filter_editors' ), 9 ); remove_filter( 'admin_notices', 'wpthumb_errors' ); add_action( 'wp_handle_sideload_prefilter', array( $this, 'filter_sideload_move_temp_file_to_s3' ) ); } /** * Tear down the hooks, url filtering etc for S3 Uploads */ public function tear_down() { stream_wrapper_unregister( 's3' ); remove_filter( 'upload_dir', array( $this, 'filter_upload_dir' ) ); remove_filter( 'wp_image_editors', array( $this, 'filter_editors' ), 9 ); remove_filter( 'wp_handle_sideload_prefilter', array( $this, 'filter_sideload_move_temp_file_to_s3' ) ); } /** * Register the stream wrapper for s3 */ Loading s3-uploads.php +20 −9 Original line number Diff line number Diff line Loading @@ -21,18 +21,29 @@ function s3_uploads_init() { return; } // Make sure the plugin is enabled when autoenable is on if ( ( defined( 'S3_UPLOADS_AUTOENABLE' ) && false === S3_UPLOADS_AUTOENABLE ) && // If the constant is used and set to false, skip 'enabled' !== get_option( 's3_uploads_enabled' ) ) { // If the plugin is not enabled, skip if ( ! s3_uploads_enabled() ) { return; } $instance = S3_Uploads::get_instance(); $instance->register_stream_wrapper(); $instance->setup(); } /** * Check if URL rewriting is enabled. * * Define S3_UPLOADS_AUTOENABLE to false in your wp-config to disable, or use the * s3_uploads_enabled option. * * @return bool */ function s3_uploads_enabled() { // Make sure the plugin is enabled when autoenable is on $constant_autoenable_off = ( defined( 'S3_UPLOADS_AUTOENABLE' ) && false === S3_UPLOADS_AUTOENABLE ); add_filter( 'upload_dir', array( $instance, 'filter_upload_dir' ) ); add_filter( 'wp_image_editors', array( $instance, 'filter_editors' ), 9 ); remove_filter( 'admin_notices', 'wpthumb_errors' ); if ( $constant_autoenable_off && 'enabled' !== get_option( 's3_uploads_enabled' ) ) { // If the plugin is not enabled, skip return false; } add_action( 'wp_handle_sideload_prefilter', array( $instance, 'filter_sideload_move_temp_file_to_s3' ) ); return true; } tests/test-s3-uplaods.php 0 → 100644 +47 −0 Original line number Diff line number Diff line <?php class Test_S3_Uploads extends WP_UnitTestCase { protected $s3 = null; public function setUp() { // start the tests with nothing added S3_Uploads::get_instance()->tear_down(); } public function tearDown() { // reenable for other tests S3_Uploads::get_instance()->setup(); } /** * Test s3 uploads sets up all the necessary hooks */ public function test_setup() { S3_Uploads::get_instance()->setup(); $this->assertEquals( 10, has_action( 'upload_dir', array( S3_Uploads::get_instance(), 'filter_upload_dir' ) ) ); $this->assertEquals( 9, has_action( 'wp_image_editors', array( S3_Uploads::get_instance(), 'filter_editors' ) ) ); $this->assertEquals( 10, has_action( 'wp_handle_sideload_prefilter', array( S3_Uploads::get_instance(), 'filter_sideload_move_temp_file_to_s3' ) ) ); $this->assertTrue( in_array( 's3', stream_get_wrappers() ) ); S3_Uploads::get_instance()->tear_down(); } /** * Test s3 uploads sets up all the necessary hooks */ public function test_tear_down() { S3_Uploads::get_instance()->setup(); S3_Uploads::get_instance()->tear_down(); $this->assertFalse( has_action( 'upload_dir', array( S3_Uploads::get_instance(), 'filter_upload_dir' ) ) ); $this->assertFalse( has_action( 'wp_image_editors', array( S3_Uploads::get_instance(), 'filter_editors' ) ) ); $this->assertFalse( has_action( 'wp_handle_sideload_prefilter', array( S3_Uploads::get_instance(), 'filter_sideload_move_temp_file_to_s3' ) ) ); $this->assertFalse( in_array( 's3', stream_get_wrappers() ) ); } } Loading
inc/class-s3-uploads-wp-cli-command.php +8 −3 Original line number Diff line number Diff line Loading @@ -71,9 +71,12 @@ class S3_Uploads_WP_CLI_Command extends WP_CLI_Command { WP_CLI::success( 'Moved all attachment to S3. If you wish to update references in your database run: ' ); WP_CLI::line( '' ); // Esnure things are active // Ensure things are active $instance = S3_Uploads::get_instance(); $instance->register_stream_wrapper(); if ( ! s3_uploads_enabled() ) { $instance->setup(); } $old_upload_dir = $instance->get_original_upload_dir(); $upload_dir = wp_upload_dir(); Loading @@ -91,7 +94,9 @@ class S3_Uploads_WP_CLI_Command extends WP_CLI_Command { // Ensure things are active $instance = S3_Uploads::get_instance(); $instance->register_stream_wrapper(); if ( ! s3_uploads_enabled() ) { $instance->setup(); } $old_upload_dir = $instance->get_original_upload_dir(); $upload_dir = wp_upload_dir(); Loading
inc/class-s3-uploads.php +25 −1 Original line number Diff line number Diff line Loading @@ -32,6 +32,30 @@ class S3_Uploads { $this->region = $region; } /** * Setup the hooks, urls filtering etc for S3 Uploads */ public function setup() { $this->register_stream_wrapper(); add_filter( 'upload_dir', array( $this, 'filter_upload_dir' ) ); add_filter( 'wp_image_editors', array( $this, 'filter_editors' ), 9 ); remove_filter( 'admin_notices', 'wpthumb_errors' ); add_action( 'wp_handle_sideload_prefilter', array( $this, 'filter_sideload_move_temp_file_to_s3' ) ); } /** * Tear down the hooks, url filtering etc for S3 Uploads */ public function tear_down() { stream_wrapper_unregister( 's3' ); remove_filter( 'upload_dir', array( $this, 'filter_upload_dir' ) ); remove_filter( 'wp_image_editors', array( $this, 'filter_editors' ), 9 ); remove_filter( 'wp_handle_sideload_prefilter', array( $this, 'filter_sideload_move_temp_file_to_s3' ) ); } /** * Register the stream wrapper for s3 */ Loading
s3-uploads.php +20 −9 Original line number Diff line number Diff line Loading @@ -21,18 +21,29 @@ function s3_uploads_init() { return; } // Make sure the plugin is enabled when autoenable is on if ( ( defined( 'S3_UPLOADS_AUTOENABLE' ) && false === S3_UPLOADS_AUTOENABLE ) && // If the constant is used and set to false, skip 'enabled' !== get_option( 's3_uploads_enabled' ) ) { // If the plugin is not enabled, skip if ( ! s3_uploads_enabled() ) { return; } $instance = S3_Uploads::get_instance(); $instance->register_stream_wrapper(); $instance->setup(); } /** * Check if URL rewriting is enabled. * * Define S3_UPLOADS_AUTOENABLE to false in your wp-config to disable, or use the * s3_uploads_enabled option. * * @return bool */ function s3_uploads_enabled() { // Make sure the plugin is enabled when autoenable is on $constant_autoenable_off = ( defined( 'S3_UPLOADS_AUTOENABLE' ) && false === S3_UPLOADS_AUTOENABLE ); add_filter( 'upload_dir', array( $instance, 'filter_upload_dir' ) ); add_filter( 'wp_image_editors', array( $instance, 'filter_editors' ), 9 ); remove_filter( 'admin_notices', 'wpthumb_errors' ); if ( $constant_autoenable_off && 'enabled' !== get_option( 's3_uploads_enabled' ) ) { // If the plugin is not enabled, skip return false; } add_action( 'wp_handle_sideload_prefilter', array( $instance, 'filter_sideload_move_temp_file_to_s3' ) ); return true; }
tests/test-s3-uplaods.php 0 → 100644 +47 −0 Original line number Diff line number Diff line <?php class Test_S3_Uploads extends WP_UnitTestCase { protected $s3 = null; public function setUp() { // start the tests with nothing added S3_Uploads::get_instance()->tear_down(); } public function tearDown() { // reenable for other tests S3_Uploads::get_instance()->setup(); } /** * Test s3 uploads sets up all the necessary hooks */ public function test_setup() { S3_Uploads::get_instance()->setup(); $this->assertEquals( 10, has_action( 'upload_dir', array( S3_Uploads::get_instance(), 'filter_upload_dir' ) ) ); $this->assertEquals( 9, has_action( 'wp_image_editors', array( S3_Uploads::get_instance(), 'filter_editors' ) ) ); $this->assertEquals( 10, has_action( 'wp_handle_sideload_prefilter', array( S3_Uploads::get_instance(), 'filter_sideload_move_temp_file_to_s3' ) ) ); $this->assertTrue( in_array( 's3', stream_get_wrappers() ) ); S3_Uploads::get_instance()->tear_down(); } /** * Test s3 uploads sets up all the necessary hooks */ public function test_tear_down() { S3_Uploads::get_instance()->setup(); S3_Uploads::get_instance()->tear_down(); $this->assertFalse( has_action( 'upload_dir', array( S3_Uploads::get_instance(), 'filter_upload_dir' ) ) ); $this->assertFalse( has_action( 'wp_image_editors', array( S3_Uploads::get_instance(), 'filter_editors' ) ) ); $this->assertFalse( has_action( 'wp_handle_sideload_prefilter', array( S3_Uploads::get_instance(), 'filter_sideload_move_temp_file_to_s3' ) ) ); $this->assertFalse( in_array( 's3', stream_get_wrappers() ) ); } }