WPCF7_Submission::unship_uploaded_files │ private │ CF7 1.0

Moves uploaded files to the tmp directory and validates them.

Метод класса: WPCF7_Submission{}

Хуки из метода

Возвращает

bool. True if no invalid file is found.

Использование

// private - только в коде основоного (родительского) класса
$result = $this->unship_uploaded_files();

Код WPCF7_Submission::unship_uploaded_files() CF7 6.2.4.1

private function unship_uploaded_files() {
	$result = new WPCF7_Validation();

	$tags = $this->contact_form->scan_form_tags( array(
		'feature' => 'file-uploading',
	) );

	foreach ( $tags as $tag ) {
		if (
			! $result->is_valid( $tag->name ) or
			empty( $_FILES[$tag->name] )
		) {
			continue;
		}

		$uploaded_files = array();

		$all_unshipped = wpcf7_unship_uploaded_file(
			$_FILES[$tag->name],
			array(
				'tag' => $tag,
				'name' => $tag->name,
				'required' => $tag->is_required(),
				'filetypes' => $tag->get_option( 'filetypes' ),
				'limit' => $tag->get_limit_option(),
			),
			$uploaded_files
		);

		if ( $uploaded_files ) {
			$this->add_uploaded_file( $tag->name, $uploaded_files );
		}

		if ( is_wp_error( $all_unshipped ) ) {
			$result->invalidate( $tag, $all_unshipped );
		}

		$result = apply_filters( "wpcf7_validate_{$tag->type}", $result,
			$tag,
			array(
				'uploaded_files' => $uploaded_files,
			)
		);
	}

	$this->invalid_fields = $result->get_invalid_fields();

	return $result->is_valid();
}