@@ -25,7 +25,7 @@ public function execute($integrationDetails, $fieldValues)
2525 {
2626 $ messages = $ this ->buildMessages ($ integrationDetails , $ fieldValues );
2727
28- if (empty ($ messages )) {
28+ if (! isset ($ messages ) || \count ( $ messages ) === 0 ) {
2929 return ['error ' => 'No valid message generated. ' ];
3030 }
3131
@@ -66,7 +66,7 @@ private function buildMessages($details, $values)
6666 $ messages [] = $ text ;
6767 }
6868
69- if (! empty ($ details ->sendSticker ) && ! empty ( $ details ->sticker_field_map )) {
69+ if (isset ($ details ->sendSticker , $ details ->sticker_field_map )) {
7070 $ stickerRequiredFields = ['sticker_id ' , 'package_id ' ];
7171 $ stickers = $ this ->processGrouped (
7272 $ values ,
@@ -77,7 +77,7 @@ private function buildMessages($details, $values)
7777 $ messages = array_merge ($ messages , $ stickers );
7878 }
7979
80- if (! empty ($ details ->sendImage ) && ! empty ( $ details ->image_field_map )) {
80+ if (isset ($ details ->sendImage , $ details ->image_field_map )) {
8181 $ imageRequiredFields = ['originalContentUrl ' ];
8282 $ images = $ this ->processGrouped (
8383 $ values ,
@@ -88,7 +88,7 @@ private function buildMessages($details, $values)
8888 $ messages = array_merge ($ messages , $ images );
8989 }
9090
91- if (! empty ($ details ->sendAudio ) && ! empty ( $ details ->audio_field_map )) {
91+ if (isset ($ details ->sendAudio , $ details ->audio_field_map )) {
9292 $ audioFields = array_filter ($ details ->audio_field_map , function ($ field ) {
9393 return $ field ->fieldType === 'audio ' ;
9494 });
@@ -105,7 +105,7 @@ private function buildMessages($details, $values)
105105 }
106106 }
107107
108- if (! empty ($ details ->sendVideo ) && ! empty ( $ details ->video_field_map )) {
108+ if (isset ($ details ->sendVideo , $ details ->video_field_map )) {
109109 $ videoRequiredFields = ['originalContentUrl ' ];
110110 $ videos = $ this ->processGrouped (
111111 $ values ,
@@ -116,7 +116,7 @@ private function buildMessages($details, $values)
116116 $ messages = array_merge ($ messages , $ videos );
117117 }
118118
119- if (! empty ($ details ->sendLocation ) && ! empty ( $ details ->location_field_map )) {
119+ if (isset ($ details ->sendLocation , $ details ->location_field_map )) {
120120 $ locationRequiredFields = ['title ' , 'address ' , 'latitude ' , 'longitude ' ];
121121 $ locations = $ this ->processGrouped (
122122 $ values ,
@@ -134,37 +134,37 @@ private function buildTextMessage($details, $values): ?array
134134 {
135135 $ messageText = '' ;
136136
137- if (! empty ($ details ->message_field_map )) {
137+ if (isset ($ details ->message_field_map )) {
138138 $ mappedMessage = $ this ->mapFields ($ values , $ details ->message_field_map );
139- if (! empty ($ mappedMessage ['message ' ])) {
139+ if (isset ($ mappedMessage ['message ' ])) {
140140 $ messageText = $ mappedMessage ['message ' ];
141141 }
142142 }
143143
144- if (empty ($ messageText ) && ! empty ($ details ->message )) {
144+ if (! isset ($ messageText ) && isset ($ details ->message )) {
145145 $ messageText = $ details ->message ;
146146 }
147147
148- if (empty ($ messageText )) {
148+ if (! isset ($ messageText )) {
149149 return null ;
150150 }
151151
152152 $ message = ['type ' => 'text ' , 'text ' => $ messageText ];
153153
154- if (! empty ($ details ->sendEmojis ) && ! empty ( $ details ->emojis_field_map )) {
154+ if (isset ($ details ->sendEmojis , $ details ->emojis_field_map )) {
155155 $ emojis = [];
156156 $ groups = $ this ->organizeFieldsByGroup ($ details ->emojis_field_map );
157157 foreach ($ groups as $ groupId => $ groupFields ) {
158158 $ emoji = $ this ->mapFields ($ values , $ groupFields );
159- if (isset ($ emoji ['emojis_id ' ], $ emoji ['product_id ' ]) && ! empty ( $ emoji ['index ' ])) {
159+ if (isset ($ emoji ['emojis_id ' ], $ emoji ['product_id ' ], $ emoji ['index ' ])) {
160160 $ emojis [] = [
161161 'index ' => (int ) $ emoji ['index ' ],
162162 'productId ' => $ emoji ['product_id ' ],
163163 'emojiId ' => $ emoji ['emojis_id ' ],
164164 ];
165165 }
166166 }
167- if (! empty ($ emojis )) {
167+ if (isset ($ emojis ) && \count ( $ emojis ) > 0 ) {
168168 $ message ['emojis ' ] = $ emojis ;
169169 }
170170 }
@@ -195,7 +195,7 @@ private function processGrouped(array $values, array $fieldMap, array $requiredK
195195
196196 $ allPresent = true ;
197197 foreach ($ requiredKeys as $ key ) {
198- if (empty ($ data [$ key ])) {
198+ if (! isset ($ data [$ key ])) {
199199 $ allPresent = false ;
200200
201201 break ;
@@ -229,7 +229,7 @@ private function mapFields(array $data, array $fieldMap): array
229229
230230 private function handleFilterResponse ($ response )
231231 {
232- if (empty ($ response )) {
232+ if (! isset ($ response )) {
233233 return (object ) ['error ' => \wp_sprintf (\__ ('%s plugin is not installed or activated ' , 'bit-integrations ' ), 'Bit Integrations Pro ' )];
234234 }
235235
@@ -283,7 +283,7 @@ private function transformImage(array $data): array
283283
284284 private function transformAudio (array $ data ): ?array
285285 {
286- if (empty ($ data ['duration ' ])) {
286+ if (! isset ($ data ['duration ' ])) {
287287 return null ;
288288 }
289289
0 commit comments