PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 3.3.1
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v3.3.1
3.3.1 V-3.3.0 3.2.2 3.2.1 3.2.0 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 V3.0.3 V3.0.2 -3.0.1 V_3.0.0 1.1.1 1.1.8 1.2 1.3 1.4 1.4.18 1.5.2 1.9 2.0 2.10.0 2.10.1 All 138 releases
← All changes | includes/Core/Integration/ZohoMail/FilesApiHelper.php +17 -0 3.1.13.3.1 View file →
@@ -28,8 +28,9 @@
28 28 }
29 29
30 30 public function uploadFiles($files, $accountId, $dataCenter)
31 31 {
32 + $files = self::normalizeFileNames($files);
32 33 $uploadFileEndpoint = "https://mail.zoho.{$dataCenter}/api/accounts/{$accountId}/messages/attachments";
33 34
34 35 $payload = '';
35 36
@@ -47,6 +48,22 @@
47 48 $uploadResponse = HttpHelper::post($uploadFileEndpoint, $payload, $this->_defaultHeader);
48 49
49 50 return $uploadResponse;
50 51 }
52 + }
53 +
54 + /**
55 + * Field values may arrive as public file URLs (see IntegrationHandler::handleFileUrl),
56 + * so reduce each to the stored file name before resolving against the entry directory.
57 + *
58 + * @param mixed $files file name(s) or URL(s)
59 + *
60 + * @return mixed
61 + */
62 + private static function normalizeFileNames($files)
63 + {
64 + if (is_array($files)) {
65 + return array_map([__CLASS__, 'normalizeFileNames'], $files);
66 + }
67 + return is_string($files) ? basename(wp_parse_url($files, PHP_URL_PATH) ?: $files) : $files;
51 68 }
52 69 }