示例#1
0
 public function OXreq($requestOBJ, $returnResponseObject)
 {
     $requestOBJ->setCookieJar($this->cookiejar);
     $requestOBJ->setHeader('User-Agent: z-push-ox (Version ' . BackendOX::getBackendVersion() . ')');
     $response = $requestOBJ->send();
     $this->cookiejar = $requestOBJ->getCookieJar();
     if ($returnResponseObject) {
         return $response;
     }
     if (200 != $response->getStatus()) {
         ZLog::Write(LOGLEVEL_WARN, 'BackendOX::OXreq(error: ' . $response->getBody() . ')');
         return false;
     }
     try {
         $data = json_decode($response->getBody(), true);
         if (is_array($data) && array_key_exists("error", $data)) {
             ZLog::Write(LOGLEVEL_WARN, 'BackendOX::OXreq(error: ' . $response->getBody() . ')');
             return false;
         } else {
             return $data;
         }
     } catch (Exception $e) {
         return false;
     }
 }
示例#2
0
 /**
  * Sends an e-mail
  * Not implemented here
  *
  * @param SyncSendMail  $sm     SyncSendMail object
  *
  * @access public
  * @return boolean
  * @throws StatusException
  */
 public function SendMail($sm)
 {
     ZLog::Write(LOGLEVEL_DEBUG, 'OXEmailSync::SendMail()');
     ZLog::Write(LOGLEVEL_DEBUG, 'OXEmailSync::SendMail() Request: ' . print_r($sm, true));
     $message = $sm->mime;
     $flags = "";
     if (!empty($sm->source)) {
         $sourceFolder = $sm->source->folderid;
         $sourceId = $sm->source->itemid;
         if ($sm->replyflag == "1") {
             // Mail was answered
             $flag = 1;
         } else {
             if ($sm->forwardflag == "1") {
                 // Mail was forwarded
                 $flag = 256;
             }
         }
         // Set the flag:
         $response = $this->OXConnector->OXreqPUT('/ajax/mail', array('action' => 'update', 'session' => $this->OXConnector->getSession(), 'folder' => $sourceFolder, 'id' => $sourceId), array('set_flags' => "{$flag}", 'value' => 'true'));
     }
     if (!empty($this->defaultSenderAddress)) {
         // Setting "From"-Header to the defaultSenderAddress incl. the displayName.
         $message = preg_replace("/From:.*\n/i", 'From: ' . $this->displayName . ' <' . $this->defaultSenderAddress . ">\n", $message);
     }
     // Adding the X-Mailer-Header:
     $message = "X-Mailer: z-push-ox (Version " . BackendOX::getBackendVersion() . ")\n" . $message;
     // The easiest way is to Send the complete MIME-Message directly to OX.
     $response = $this->OXConnector->OXreqPUTforSendMail('/ajax/mail', array('action' => 'new', 'session' => $this->OXConnector->getSession()), $message);
     ZLog::Write(LOGLEVEL_DEBUG, 'OXEmailSync::SendMail() PUT-Respone: ' . print_r($response, true));
     return true;
 }