From 757fbce46c0e27b938fd2e295206029fa27dc565 Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Thu, 25 Oct 2018 15:17:17 -0400 Subject: [PATCH] #2766 respect caldera_forms_upload_directory when uploading cf2 file field file --- cf2/Fields/Handlers/Cf1FileUploader.php | 9 ++ cf2/Fields/Handlers/FileUpload.php | 25 +++--- cf2/Fields/Handlers/UploaderContract.php | 14 +++ cf2/RestApi/File/CreateFile.php | 2 +- classes/files.php | 7 +- tests/Integration/FileUploadTest.php | 54 +++++++++++- .../Handlers/Cf1FileUploaderTest.php | 80 ++++++++++++++++++ tests/Integration/Handlers/screenshot.jpeg | Bin 0 -> 39392 bytes tests/includes/forms/cf2-file-include.php | 21 +++++ 9 files changed, 197 insertions(+), 15 deletions(-) create mode 100644 tests/Integration/Handlers/Cf1FileUploaderTest.php create mode 100644 tests/Integration/Handlers/screenshot.jpeg diff --git a/cf2/Fields/Handlers/Cf1FileUploader.php b/cf2/Fields/Handlers/Cf1FileUploader.php index b7a3464d9..f5d317877 100644 --- a/cf2/Fields/Handlers/Cf1FileUploader.php +++ b/cf2/Fields/Handlers/Cf1FileUploader.php @@ -14,4 +14,13 @@ public function upload($file, array $args = array()) return \Caldera_Forms_Files::upload($file,$args); } + public function addFilter($fieldId, $formId, $private) + { + \Caldera_Forms_Files::add_upload_filter($fieldId,$formId,$private); + } + + public function removeFilter() + { + \Caldera_Forms_Files::remove_upload_filter(); + } } \ No newline at end of file diff --git a/cf2/Fields/Handlers/FileUpload.php b/cf2/Fields/Handlers/FileUpload.php index 4bcf85e8f..9a9dc450d 100644 --- a/cf2/Fields/Handlers/FileUpload.php +++ b/cf2/Fields/Handlers/FileUpload.php @@ -33,27 +33,23 @@ public function __construct(array $field, array $form, UploaderContract $uploade /** * @param array $files * @param array $hashes - * @param $controlCode * @return array * @throws \Exception */ - public function processFiles(array $files,array $hashes, $controlCode ){ + public function processFiles(array $files,array $hashes ){ $i = 0; foreach ($files as $file) { - if (!\Caldera_Forms_Files::is_private($this->field)) { - $uploadArgs = array( - 'private' => false, - 'field_id' => $this->field['ID'], - 'form_id' => $this->form['ID'] - ); - } else { + $isPrivate = \Caldera_Forms_Files::is_private($this->field); + + $uploadArgs = array( 'private' => true, 'field_id' => $this->field['ID'], 'form_id' => $this->form['ID'] ); - } + + $expected = $hashes[$i]; $actual = md5_file( $file['tmp_name'] ); @@ -63,7 +59,16 @@ public function processFiles(array $files,array $hashes, $controlCode ){ } + $this->uploader + ->addFilter( + $this->field[ 'ID' ], + $this->form[ 'ID' ], + $isPrivate + ); + + $upload = wp_handle_upload($file, array( 'test_form' => false, 'action' => 'foo' ) ); + $this->uploader->removeFilter(); if( !empty( $field['config']['media_lib'] ) ){ \Caldera_Forms_Files::add_to_media_library( $upload, $field ); } diff --git a/cf2/Fields/Handlers/UploaderContract.php b/cf2/Fields/Handlers/UploaderContract.php index 1baf45c9c..2763c6a4a 100644 --- a/cf2/Fields/Handlers/UploaderContract.php +++ b/cf2/Fields/Handlers/UploaderContract.php @@ -9,4 +9,18 @@ interface UploaderContract public function upload($file, array $args = array()); + /** + * @since 1.8.0 + * + * @param string $fieldId The field ID for file field + * @param string $formId The form ID + * @param boolean $private + * @return void + */ + public function addFilter($fieldId, $formId, $private ); + /** + * @since 1.8.0 + * @return void + */ + public function removeFilter(); } \ No newline at end of file diff --git a/cf2/RestApi/File/CreateFile.php b/cf2/RestApi/File/CreateFile.php index 6766be9cd..483b68f38 100644 --- a/cf2/RestApi/File/CreateFile.php +++ b/cf2/RestApi/File/CreateFile.php @@ -100,7 +100,7 @@ public function createItem(\WP_REST_Request $request) new Cf1FileUploader() ); try{ - $uploads = $handler->processFiles($files,$hashes,$controlCode); + $uploads = $handler->processFiles($files,$hashes); $transdata = is_array( $transientApi->getTransient( $controlCode ) ) ? $transientApi->getTransient( $controlCode ) : []; diff --git a/classes/files.php b/classes/files.php index 50019ff0c..cec8cf678 100755 --- a/classes/files.php +++ b/classes/files.php @@ -337,7 +337,12 @@ public static function should_attach( array $field, array $form ){ * @return array */ public static function types(){ - return array( 'advanced_file', 'file' ); + return array( + 'advanced_file', + 'file', + \calderawp\calderaforms\cf2\Fields\FieldTypes\FileFieldType::getCf1Identifier(), + \calderawp\calderaforms\cf2\Fields\FieldTypes\FileFieldType::getType() + ); } } \ No newline at end of file diff --git a/tests/Integration/FileUploadTest.php b/tests/Integration/FileUploadTest.php index fb69b68d4..3bbff6865 100644 --- a/tests/Integration/FileUploadTest.php +++ b/tests/Integration/FileUploadTest.php @@ -22,7 +22,15 @@ public function setUp() /** * @throws \Exception - * @group now + * + * @since 1.8.0 + * + * @covers \calderawp\calderaforms\cf2\Fields\Handlers\FileUpload::processFiles() + * + * @group cf2 + * @group file + * @group field + * @group cf2_file */ public function testProcessFile() { @@ -50,16 +58,56 @@ public function testProcessFile() $field, new Cf1FileUploader() ); - $uploads = $handler->processFiles($files, [md5_file($this->test_file)], 'f1' ); + $uploads = $handler->processFiles($files, [md5_file($this->test_file)] ); $this->assertTrue( is_array( $uploads )); $this->assertEquals( 1, count($uploads ) ); } + protected $filterWasCalled; + /** + * Test that caldera_forms_upload_directory filter is respected + * + * @since 1.8.0 + * + * @covers \calderawp\calderaforms\cf2\Fields\Handlers\FileUpload::processFiles() + * + * @group cf2 + * @group file + * @group field + * @group cf2_file + * + * @throws \Exception + */ public function testFilterDirectoryForUpload(){ - add_filter( 'caldera_forms_upload_directory', function(){ + add_filter( 'caldera_forms_upload_directory', function() { return 'form-uploads'; }); + $formId = 'cf2_file'; + $fieldId = 'cf2_file_2'; + $form = \Caldera_Forms_Forms::get_form( $formId ); + $field = \Caldera_Forms_Field_Util::get_field($fieldId,$form); + $this->assertFalse( \Caldera_Forms_Files::is_private($field) ); + + $files = [ + [ + 'file' => file_get_contents($this->test_file), + 'name' => 'screenshot.jpeg', + 'size' => filesize($this->test_file), + 'tmp_name' => $this->test_file, + ] + ]; + + $handler = new FileUpload( + $field, + $field, + new Cf1FileUploader() + ); + + $uploads = $handler->processFiles($files, [md5_file($this->test_file)] ); + $this->assertTrue( is_array($uploads)); + $this->assertNotFalse( strpos($uploads[0], 'form-uploads'), $uploads[0]); + } } diff --git a/tests/Integration/Handlers/Cf1FileUploaderTest.php b/tests/Integration/Handlers/Cf1FileUploaderTest.php new file mode 100644 index 000000000..439844a5e --- /dev/null +++ b/tests/Integration/Handlers/Cf1FileUploaderTest.php @@ -0,0 +1,80 @@ +test_file = '/tmp/screenshot.jpg'; + copy($orig_file, $this->test_file); + parent::setUp(); + } + + + /** + * + * @since 1.8.0 + * + * @covers \calderawp\calderaforms\cf2\Fields\Handlers\Cf1FileUploader::upload() + * + * @group file + */ + public function testUpload() + { + $file = [ + 'file' => file_get_contents($this->test_file), + 'name' => 'screenshot.jpeg', + 'size' => filesize($this->test_file), + 'tmp_name' => $this->test_file, + ]; + $uploadArgs = [ + 'private' => true, + 'field_id' => 'fld1', + 'form_id' => 'cf1' + ]; + + $uploader = new Cf1FileUploader(); + $uploads = $uploader->upload($file, $uploadArgs); + $this->assertTrue( is_array( $uploads ) ); + $this->assertFalse( is_wp_error( $uploads ) ); + + } + /** + * + * @since 1.8.0 + * + * @covers \calderawp\calderaforms\cf2\Fields\Handlers\Cf1FileUploader::addFilter() + * + * @group file + */ + public function testAddFilter() + { + $uploader = new Cf1FileUploader(); + $uploader->addFilter('f', 'c', true ); + $this->assertTrue( has_filter( 'upload_dir'), array( \Caldera_Forms_Files::class, 'uploads_filter' )); + } + /** + * + * @since 1.8.0 + * + * @covers \calderawp\calderaforms\cf2\Fields\Handlers\Cf1FileUploader::addFilter() + * @covers \calderawp\calderaforms\cf2\Fields\Handlers\Cf1FileUploader::removeFilter() + * + * @group file + */ + public function testRemoveFilter() + { + $uploader = new Cf1FileUploader(); + $uploader->addFilter('f', 'c', true ); + $uploader->removeFilter(); + $this->assertFalse( has_filter( 'upload_dir'), array( \Caldera_Forms_Files::class, 'uploads_filter' )); + } +} diff --git a/tests/Integration/Handlers/screenshot.jpeg b/tests/Integration/Handlers/screenshot.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..bcf2ea58813a06869f3a35c91218b903a0141cf1 GIT binary patch literal 39392 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 0, ), ), + 'cf2_file_2' => + array( + 'ID' => 'cf2_file_2', + 'type' => 'cf2_file', + 'label' => 'CF2_File_2', + 'slug' => 'cf2_file_2', + 'conditions' => + array( + 'type' => '', + ), + 'caption' => '', + 'config' => + array( + 'custom_class' => '', + 'multi_upload_text' => '', + 'allowed' => '', + 'email_identifier' => 0, + 'personally_identifying' => 0, + 'media_lib' => true + ), + ), 'test_field_1' => array( 'ID' => 'test_field_1',