本文整理匯總了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);
}
示例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;
//.........這裏部分代碼省略.........