public function transmitAction() { $efax = new eFaxOutbound(); $data = array(); $efax->setTransmissionId('10001'); //$efax->setDispositionMethod('POST'); //$efax->setDispositionUrl('https://ec2-67-202-27-183.compute-1.amazonaws.com/efax.raw/inbound'); $efax->setDispositionMethod('EMAIL'); $efax->addDispositionEmail('Arthur Layese', '*****@*****.**'); $efax->addRecipient('6022976632', 'Jay Walker', 'ClearHealth Inc.'); $fileTypes = array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'html', 'htm', 'tif', 'tiff', 'jpg', 'jpeg', 'txt', 'pdf', 'rtf', 'snp', 'png', 'gif'); $basePath = Zend_Registry::get('basePath'); $filename = $basePath . 'Sample.tif'; $fileType = pathinfo($filename, PATHINFO_EXTENSION); if (!in_array($fileType, $fileTypes)) { return false; } $contents = file_get_contents($filename); $efax->addFile(base64_encode($contents), $fileType); $ret = $efax->transmit(); print_r($ret); die; }
public static function handlereFaxAct(Audit $audit, array $sourceData) { if ($audit->objectClass != 'ESignature') { return false; } $eSignature = new ESignature(); $eSignature->eSignatureId = $audit->objectId; $eSignature->populate(); if ($eSignature->objectClass != 'Medication') { return false; } $medication = new Medication(); $medication->medicationId = $eSignature->objectId; $medication->populate(); $audit = $sourceData['_audit']; $messaging = new Messaging(Messaging::TYPE_OUTBOUND_FAX); $messaging->messagingId = (int) $sourceData['transmissionId']; $messaging->transmissionId = $messaging->messagingId; $messaging->populate(); $messaging->objectId = $messaging->messagingId; $messaging->objectClass = $audit->objectClass; $messaging->status = 'Faxed'; $messaging->dateStatus = date('Y-m-d H:i:s'); $messaging->auditId = $audit->auditId; // this must be required for retransmission in case of error $messaging->persist(); $efax = new eFaxOutbound(); $url = Zend_Registry::get('config')->healthcloud->eFax->outboundUrl; $url .= '?apiKey=' . Zend_Registry::get('config')->healthcloud->apiKey; $efax->setUrl($url); $efax->setTransmissionId($sourceData['transmissionId']); $efax->setNoDuplicate(eFaxOutbound::NO_DUPLICATE_ENABLE); $efax->setDispositionMethod('POST'); // use the default disposition URL $dispositionUrl = Zend_Registry::get('config')->healthcloud->eFax->dispositionUrl; $efax->setDispositionUrl($dispositionUrl); //$efax->setDispositionMethod('EMAIL'); //$efax->addDispositionEmail('Arthur Layese','*****@*****.**'); foreach ($sourceData['recipients'] as $recipient) { if ($messaging->resend && strlen($messaging->faxNumber) > 9) { // supersedes fax number from messaging $recipient['fax'] = $messaging->faxNumber; } $efax->addRecipient($recipient['fax'], $recipient['name'], $recipient['company']); } foreach ($sourceData['files'] as $file) { $efax->addFile($file['contents'], $file['type']); } $ret = $efax->send(); if (!$ret) { $messaging->status = 'Fax Error'; $messaging->note = implode(PHP_EOL, $efax->getErrors()); } else { $messaging->docid = $efax->getDocId(); $messaging->status = 'Fax Sent'; $messaging->note = ''; } if ($messaging->resend) { $messaging->resend = 0; } $messaging->retries++; $messaging->dateStatus = date('Y-m-d H:i:s'); $messaging->persist(); return true; }