grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026currentUser = $currentUser; $this->collector = $collector; } /** * * @param Email $email * @param InboundEmail $ie * @return string JSON */ public function handleActionGetFromFields(Email $email, InboundEmail $ie) { $email->email2init(); $ie->email = $email; $ieAccounts = $ie->retrieveAllByGroupIdWithGroupAccounts($this->currentUser->id); $accountSignatures = $this->currentUser->getPreference('account_signatures', 'Emails'); $showFolders = unserialize(base64_decode($this->currentUser->getPreference('showFolders', 'Emails'))); $emailSignatures = $this->getEmailSignatures($accountSignatures); $defaultEmailSignature = $this->getDefaultSignatures(); $prependSignature = $this->currentUser->getPreference('signature_prepend'); $dataAddresses = $this->collector->collectDataAddressesFromIEAccounts( $ieAccounts, $showFolders, $prependSignature, $emailSignatures, $defaultEmailSignature ); $dataEncoded = json_encode(array('data' => $dataAddresses), JSON_UNESCAPED_UNICODE); $results = utf8_decode($dataEncoded); return $results; } /** * * @param string|null $accountSignatures * @return array|null */ protected function getEmailSignatures($accountSignatures = null) { if ($accountSignatures != null) { $emailSignatures = unserialize(base64_decode($accountSignatures)); } else { $GLOBALS['log']->warn('User ' . $this->currentUser->name . ' does not have a signature'); $emailSignatures = null; } return $emailSignatures; } /** * * @return array */ protected function getDefaultSignatures() { $defaultEmailSignature = $this->currentUser->getDefaultSignature(); if (empty($defaultEmailSignature)) { $defaultEmailSignature = array( 'html' => '
', 'plain' => '\r\n', ); $defaultEmailSignature['no_default_available'] = true; } else { $defaultEmailSignature['no_default_available'] = false; } return $defaultEmailSignature; } }