當前位置: 首頁>>代碼示例>>PHP>>正文


PHP InboundEmail::retrieve_by_string_fields方法代碼示例

本文整理匯總了PHP中InboundEmail::retrieve_by_string_fields方法的典型用法代碼示例。如果您正苦於以下問題:PHP InboundEmail::retrieve_by_string_fields方法的具體用法?PHP InboundEmail::retrieve_by_string_fields怎麽用?PHP InboundEmail::retrieve_by_string_fields使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在InboundEmail的用法示例。


在下文中一共展示了InboundEmail::retrieve_by_string_fields方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: hasPersonalEmail

 /**
  * performs a rudimentary check to verify if a given user has setup personal
  * InboundEmail
  *
  * @return bool
  */
 public function hasPersonalEmail()
 {
     $focus = new InboundEmail();
     $focus->retrieve_by_string_fields(array('group_id' => $this->id));
     return !empty($focus->id);
 }
開發者ID:netconstructor,項目名稱:sugarcrm_dev,代碼行數:12,代碼來源:User.php

示例2: markEmails

 /**
  * Marks emails with the passed flag type.  This will be applied to local
  * cache files as well as remote emails.
  * @param string $type Flag type
  * @param string $ieId
  * @param string $folder IMAP folder structure or SugarFolder GUID
  * @param string $uids Comma sep list of UIDs or GUIDs
  */
 function markEmails($type, $ieId, $folder, $uids)
 {
     global $app_strings;
     $uids = $this->_cleanUIDList($uids);
     $exUids = explode($app_strings['LBL_EMAIL_DELIMITER'], $uids);
     if (strpos($folder, 'sugar::') !== false) {
         // Collect message IDs for deleting mails from server
         $messageUIDs = array();
         // dealing with a sugar email object, uids are GUIDs
         foreach ($exUids as $id) {
             $email = BeanFactory::getBean('Emails', $id);
             // BUG FIX BEGIN
             // Bug 50973 - marking unread in group inbox removes message
             if (empty($email->assigned_user_id)) {
                 $email->setFieldNullable('assigned_user_id');
             }
             // BUG FIX END
             switch ($type) {
                 case "unread":
                     $email->status = 'unread';
                     $email->save();
                     break;
                 case "read":
                     $email->status = 'read';
                     $email->save();
                     break;
                 case "deleted":
                     if (!empty($email->message_uid)) {
                         $messageUIDs[] = $email->message_uid;
                     }
                     $email->delete();
                     break;
                 case "flagged":
                     $email->flagged = 1;
                     $email->save();
                     break;
                 case "unflagged":
                     $email->flagged = 0;
                     $email->save();
                     break;
             }
             // BUG FIX BEGIN
             // Bug 50973 - reset assigned_user_id field defs
             if (empty($email->assigned_user_id)) {
                 $email->revertFieldNullable('assigned_user_id');
             }
             // BUG FIX END
         }
         // Do only Mail server call, since we have an array of UIDs
         switch ($type) {
             case "deleted":
                 $ieX = new InboundEmail();
                 $ieX->retrieve_by_string_fields(array('groupfolder_id' => $ieId, 'deleted' => 0));
                 if (!empty($ieX->id) && !$ieX->is_personal) {
                     // function retrieve_by_string_fields doesn't decrypt email_password -> call retrieve to do it
                     $ieX->retrieve($ieX->id);
                     $ieX->deleteMessageOnMailServer(implode($app_strings['LBL_EMAIL_DELIMITER'], $messageUIDs));
                 }
                 break;
             default:
                 break;
         }
     } else {
         /* dealing with IMAP email, uids are IMAP uids */
         global $ie;
         // provided by EmailUIAjax.php
         if (empty($ie)) {
             $ie = BeanFactory::getBean('InboundEmail');
             $ie->disable_row_level_security = true;
         }
         $ie->retrieve($ieId);
         $ie->mailbox = $folder;
         $ie->connectMailserver();
         // mark cache files
         if ($type == 'deleted') {
             $ie->deleteMessageOnMailServer($uids);
             $ie->deleteMessageFromCache($uids);
         } else {
             $overviews = $ie->getCacheValueForUIDs($ie->mailbox, $exUids);
             $manipulated = array();
             foreach ($overviews['retArr'] as $k => $overview) {
                 if (in_array($overview->uid, $exUids)) {
                     switch ($type) {
                         case "unread":
                             $overview->seen = 0;
                             break;
                         case "read":
                             $overview->seen = 1;
                             break;
                         case "flagged":
                             $overview->flagged = 1;
                             break;
//.........這裏部分代碼省略.........
開發者ID:jglaine,項目名稱:sugar761-ent,代碼行數:101,代碼來源:EmailUI.php


注:本文中的InboundEmail::retrieve_by_string_fields方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。