当前位置: 首页>>代码示例>>PHP>>正文


PHP ilMail::saveAttachments方法代码示例

本文整理汇总了PHP中ilMail::saveAttachments方法的典型用法代码示例。如果您正苦于以下问题:PHP ilMail::saveAttachments方法的具体用法?PHP ilMail::saveAttachments怎么用?PHP ilMail::saveAttachments使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ilMail的用法示例。


在下文中一共展示了ilMail::saveAttachments方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: distributeMails

 /**
  * mail via soap
  * @param object $sid
  * @param object $a_mail_xml
  * @return 
  */
 public function distributeMails($sid, $a_mail_xml)
 {
     $this->initAuth($sid);
     $this->initIlias();
     if (!$this->__checkSession($sid)) {
         return $this->__raiseError($this->__getMessage(), $this->__getMessageCode());
     }
     include_once 'Services/Mail/classes/class.ilMail.php';
     include_once 'webservice/soap/classes/class.ilSoapMailXmlParser.php';
     $parser = new ilSoapMailXmlParser($a_mail_xml);
     try {
         // Check if wellformed
         libxml_use_internal_errors(true);
         $ok = simplexml_load_string($a_mail_xml);
         if (!$ok) {
             foreach (libxml_get_errors() as $err) {
                 $error .= $err->message . ' ';
             }
             return $this->__raiseError($error, 'CLIENT');
         }
         $parser->start();
     } catch (InvalidArgumentException $e) {
         $GLOBALS['ilLog']->write(__METHOD__ . ' ' . $e->getMessage());
         return $this->__raiseError($e->getMessage(), 'CLIENT');
     } catch (ilSaxParserException $e) {
         $GLOBALS['ilLog']->write(__METHOD__ . ' ' . $e->getMessage());
         return $this->__raiseError($e->getMessage(), 'CLIENT');
     }
     $mails = $parser->getMails();
     global $ilUser;
     foreach ($mails as $mail) {
         // Prepare attachments
         include_once './Services/Mail/classes/class.ilFileDataMail.php';
         $file = new ilFileDataMail($ilUser->getId());
         foreach ((array) $mail['attachments'] as $attachment) {
             // TODO: Error handling
             $file->storeAsAttachment($attachment['name'], $attachment['content']);
             $attachments[] = ilUtil::_sanitizeFilemame($attachment['name']);
         }
         $mail_obj = new ilMail($ilUser->getId());
         $mail_obj->setSaveInSentbox(true);
         $mail_obj->saveAttachments((array) $attachments);
         $mail_obj->sendMail(implode(',', (array) $mail['to']), implode(',', (array) $mail['cc']), implode(',', (array) $mail['bcc']), $mail['subject'], implode("\n", $mail['body']), (array) $attachments, array($mail['type']), (bool) $mail['usePlaceholders']);
         // Finally unlink attachments
         foreach ((array) $attachments as $att) {
             $file->unlinkFile($att);
         }
         $mail_obj->savePostData($ilUser->getId(), array(), '', '', '', '', '', '', '', '');
     }
     return true;
 }
开发者ID:khanhnnvn,项目名称:ilias_E-learning,代码行数:57,代码来源:class.ilSoapUtils.php


注:本文中的ilMail::saveAttachments方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。