本文整理汇总了PHP中EmailUI类的典型用法代码示例。如果您正苦于以下问题:PHP EmailUI类的具体用法?PHP EmailUI怎么用?PHP EmailUI使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了EmailUI类的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: display
/**
* @see ViewQuickcreate::display()
*/
public function display()
{
$userPref = $GLOBALS['current_user']->getPreference('email_link_type');
$defaultPref = $GLOBALS['sugar_config']['email_default_client'];
if ($userPref != '') {
$client = $userPref;
} else {
$client = $defaultPref;
}
if ($client == 'sugar') {
$eUi = new EmailUI();
if (!empty($this->bean->id) && !in_array($this->bean->object_name, array('EmailMan'))) {
$fullComposeUrl = "index.php?module=Emails&action=Compose&parent_id={$this->bean->id}&parent_type={$this->bean->module_dir}";
$composeData = array('parent_id' => $this->bean->id, 'parent_type' => $this->bean->module_dir);
} else {
$fullComposeUrl = "index.php?module=Emails&action=Compose";
$composeData = array('parent_id' => '', 'parent_type' => '');
}
$j_quickComposeOptions = $eUi->generateComposePackageForQuickCreate($composeData, $fullComposeUrl);
$json_obj = getJSONobj();
$opts = $json_obj->decode($j_quickComposeOptions);
$opts['menu_id'] = 'dccontent';
$ss = new Sugar_Smarty();
$ss->assign('json_output', $json_obj->encode($opts));
$ss->display('modules/Emails/templates/dceMenuQuickCreate.tpl');
} else {
$emailAddress = '';
if (!empty($this->bean->id) && !in_array($this->bean->object_name, array('EmailMan')) && !is_null($this->bean->emailAddress)) {
$emailAddress = $this->bean->emailAddress->getPrimaryAddress($this->bean);
}
echo "<script>document.location.href='mailto:{$emailAddress}';lastLoadedMenu=undefined;DCMenu.closeOverlay();</script>";
die;
}
}
开发者ID:delkyd,项目名称:sugarcrm_dev,代码行数:37,代码来源:view.quickcreate.php
示例2: display
function display($defines)
{
global $app_strings, $current_user, $sugar_config, $beanList, $beanFiles;
$title = $app_strings['LBL_COMPOSE_EMAIL_BUTTON_TITLE'];
//$accesskey = $app_strings['LBL_COMPOSE_EMAIL_BUTTON_KEY'];
$value = $app_strings['LBL_COMPOSE_EMAIL_BUTTON_LABEL'];
$parent_type = $defines['focus']->module_dir;
$parent_id = $defines['focus']->id;
//martin Bug 19660
$userPref = $current_user->getPreference('email_link_type');
$defaultPref = $sugar_config['email_default_client'];
if ($userPref != '') {
$client = $userPref;
} else {
$client = $defaultPref;
}
if ($client != 'sugar') {
$bean = $defines['focus'];
// awu: Not all beans have emailAddress property, we must account for this
if (isset($bean->emailAddress)) {
$to_addrs = $bean->emailAddress->getPrimaryAddress($bean);
$button = "<input class='button' type='button' value='{$value}' id='" . $this->getWidgetId() . "' name='" . preg_replace('[ ]', '', $value) . "' title='{$title}' onclick=\"location.href='mailto:{$to_addrs}';return false;\" />";
} else {
$button = "<input class='button' type='button' value='{$value}' id='" . $this->getWidgetId() . "' name='" . preg_replace('[ ]', '', $value) . "' title='{$title}' onclick=\"location.href='mailto:';return false;\" />";
}
} else {
//Generate the compose package for the quick create options.
$composeData = array("parent_id" => $parent_id, "parent_type" => $parent_type);
require_once 'modules/Emails/EmailUI.php';
$eUi = new EmailUI();
$j_quickComposeOptions = $eUi->generateComposePackageForQuickCreate($composeData, http_build_query($composeData), false, $defines['focus']);
$button = "<input title='{$title}' id='" . $this->getWidgetId() . "' onclick='SUGAR.quickCompose.init({$j_quickComposeOptions});' class='button' type='submit' name='" . preg_replace('[ ]', '', $value) . "_button' value='{$value}' />";
}
return $button;
}
开发者ID:jgera,项目名称:sugarcrm_dev,代码行数:35,代码来源:SugarWidgetSubPanelTopComposeEmailButton.php
示例3: display
function display($defines)
{
global $app_strings, $current_user, $sugar_config, $beanList, $beanFiles;
$title = $app_strings['LBL_COMPOSE_EMAIL_BUTTON_TITLE'];
$accesskey = $app_strings['LBL_COMPOSE_EMAIL_BUTTON_KEY'];
$value = $app_strings['LBL_COMPOSE_EMAIL_BUTTON_LABEL'];
$parent_type = $defines['focus']->module_dir;
$parent_id = $defines['focus']->id;
//martin Bug 19660
$userPref = $current_user->getPreference('email_link_type');
$defaultPref = $sugar_config['email_default_client'];
if ($userPref != '') {
$client = $userPref;
} else {
$client = $defaultPref;
}
if ($client != 'sugar') {
$class = $beanList[$parent_type];
require_once $beanFiles[$class];
$bean = new $class();
$bean->retrieve($parent_id);
// awu: Not all beans have emailAddress property, we must account for this
if (isset($bean->emailAddress)) {
$to_addrs = $bean->emailAddress->getPrimaryAddress($bean);
$button = "<input class='button' type='button' value='{$value}' name='{$title}' accesskey='{$accesskey}' title='{$title}' onclick=\"location.href='mailto:{$to_addrs}';return false;\" />";
} else {
$button = "<input class='button' type='button' value='{$value}' name='{$title}' accesskey='{$accesskey}' title='{$title}' onclick=\"location.href='mailto:';return false;\" />";
}
} else {
//Generate the compose package for the quick create options.
$composeData = "parent_id={$parent_id}&parent_type={$parent_type}";
require_once 'modules/Emails/EmailUI.php';
$eUi = new EmailUI();
$j_quickComposeOptions = $eUi->generateComposePackageForQuickCreateFromComposeUrl($composeData);
$button = "<input title='{$title}' accesskey='{$accesskey}' onclick='SUGAR.quickCompose.init({$j_quickComposeOptions});' class='button' type='submit' name='button' value='{$value}'";
}
return $button;
}
开发者ID:aldridged,项目名称:gtg-sugar,代码行数:38,代码来源:SugarWidgetSubPanelTopComposeEmailButton.php
示例4: getQuotesRelatedData
function getQuotesRelatedData($bean)
{
$return = array();
$emailId = $_REQUEST['recordId'];
require_once "modules/Emails/EmailUI.php";
$email = new Email();
$email->retrieve($emailId);
$return['subject'] = $email->name;
$return['body'] = from_html($email->description_html);
$return['toAddress'] = $email->to_addrs;
$ret = array();
$ret['uid'] = $emailId;
$ret = EmailUI::getDraftAttachments($ret);
$return['attachments'] = $ret['attachments'];
$return['email_id'] = $emailId;
return $return;
}
开发者ID:nerdystudmuffin,项目名称:dashlet-subpanels,代码行数:17,代码来源:Compose.php
示例5: getQuotesRelatedData
function getQuotesRelatedData($data)
{
$return = array();
$emailId = $data['recordId'];
require_once "modules/Emails/EmailUI.php";
$email = new Email();
$email->retrieve($emailId);
$return['subject'] = $email->name;
$return['body'] = from_html($email->description_html);
$return['toAddress'] = $email->to_addrs;
$ret = array();
$ret['uid'] = $emailId;
$ret = EmailUI::getDraftAttachments($ret);
$return['attachments'] = $ret['attachments'];
$return['email_id'] = $emailId;
$return['parent_type'] = $email->parent_type;
$return['parent_id'] = $email->parent_id;
$return['parent_name'] = '';
if (isset($return['parent_type']) && !empty($return['parent_type']) && isset($return['parent_id']) && !empty($return['parent_id'])) {
global $beanList;
global $beanFiles;
$class = $beanList[$return['parent_type']];
require_once $beanFiles[$class];
$bean = new $class();
$bean->retrieve($return['parent_id']);
if (isset($bean->full_name)) {
$parentName = $bean->full_name;
} elseif (isset($bean->name)) {
$parentName = $bean->name;
} else {
$parentName = '';
}
$parentName = from_html($parentName);
$return['parent_name'] = $parentName;
$return['toAddress'] = from_html($bean->full_name) . " <" . from_html($bean->emailAddress->getPrimaryAddress($bean)) . ">";
}
return $return;
}
开发者ID:MexinaD,项目名称:SuiteCRM,代码行数:38,代码来源:Compose.php
示例6: displayList
function displayList(&$layout_def)
{
global $current_user;
global $beanList;
global $focus;
global $sugar_config;
global $locale;
if (isset($layout_def['varname'])) {
$key = strtoupper($layout_def['varname']);
} else {
$key = $this->_get_column_alias($layout_def);
$key = strtoupper($key);
}
$value = $layout_def['fields'][$key];
if (isset($_REQUEST['action'])) {
$action = $_REQUEST['action'];
} else {
$action = '';
}
if (isset($_REQUEST['module'])) {
$module = $_REQUEST['module'];
} else {
$module = '';
}
if (isset($_REQUEST['record'])) {
$record = $_REQUEST['record'];
} else {
$record = '';
}
if (!empty($focus->name)) {
$name = $focus->name;
} else {
if (!empty($focus->first_name) && !empty($focus->last_name)) {
$name = $locale->getLocaleFormattedName($focus->first_name, $focus->last_name);
}
if (empty($name)) {
$name = '*';
}
}
$userPref = $current_user->getPreference('email_link_type');
$defaultPref = $sugar_config['email_default_client'];
if ($userPref != '') {
$client = $userPref;
} else {
$client = $defaultPref;
}
if ($client == 'sugar') {
$fullComposeUrl = 'load_id=' . $layout_def['fields']['ID'] . '&load_module=' . $this->layout_manager->defs['module_name'] . '&parent_type=' . $this->layout_manager->defs['module_name'] . '&parent_id=' . $layout_def['fields']['ID'];
if (isset($layout_def['fields']['FULL_NAME'])) {
$fullComposeUrl .= '&parent_name=' . urlencode($layout_def['fields']['FULL_NAME']);
}
$fullComposeUrl .= '&return_module=' . $module . '&return_action=' . $action . '&return_id=' . $record;
require_once 'modules/Emails/EmailUI.php';
$eUi = new EmailUI();
$j_quickComposeOptions = $eUi->generateComposePackageForQuickCreateFromComposeUrl($fullComposeUrl);
$link = "<a href='javascript:void(0);' onclick='SUGAR.quickCompose.init({$j_quickComposeOptions});'>";
} else {
$link = '<a href="mailto:' . $value . '" >';
}
return $link . $value . '</a>';
}
开发者ID:aldridged,项目名称:gtg-sugar,代码行数:61,代码来源:SugarWidgetSubPanelEmailLink.php
示例7: testCreationOnDeletedInboundFolder
/**
* Test to ensure that whenever the inboud folder is deleted, it will be created for a user
* and the parent_id for the other folders will be updated accordingly.
*
*/
public function testCreationOnDeletedInboundFolder()
{
$this->createNewSugarFolder();
// Call preflightUser() to re-create all folders
$emailUI = new EmailUI();
$emailUI->preflightUser($GLOBALS['current_user']);
$error_message = "Unable to get user folders";
$rootNode = new ExtNode('', '');
// Delete one folder type
$GLOBALS['db']->query("DELETE FROM folders WHERE folder_type = 'inbound' AND created_by='{$GLOBALS['current_user']->id}'");
// Retrieve folders
$ret = $this->folder->getUserFolders($rootNode, "", $GLOBALS['current_user'], true);
$this->assertEquals(0, count($ret), $error_message);
// Call preflightUser() to re-create missing folder
$emailUI->preflightUser($GLOBALS['current_user']);
// Retrieve folders
$ret = $this->folder->getUserFolders($rootNode, "", $GLOBALS['current_user'], true);
$this->assertEquals(1, count($ret));
// Should contain all folders after preflightUser
$folderTypes = array();
foreach ($ret[0]['children'] as $p) {
$folderTypes[] = $p['folder_type'];
}
$this->assertContains("draft", $folderTypes);
}
开发者ID:thsonvt,项目名称:sugarcrm_dev,代码行数:30,代码来源:Bug62883Test.php
示例8: displayList
function displayList(&$layout_def)
{
global $current_user;
global $beanList;
global $focus;
global $sugar_config;
global $locale;
if (isset($layout_def['varname'])) {
$key = strtoupper($layout_def['varname']);
} else {
$key = $this->_get_column_alias($layout_def);
$key = strtoupper($key);
}
$value = $layout_def['fields'][$key];
if (isset($_REQUEST['action'])) {
$action = $_REQUEST['action'];
} else {
$action = '';
}
if (isset($_REQUEST['module'])) {
$module = $_REQUEST['module'];
} else {
$module = '';
}
if (isset($_REQUEST['record'])) {
$record = $_REQUEST['record'];
} else {
$record = '';
}
if (!empty($focus->name)) {
$name = $focus->name;
} else {
if (!empty($focus->first_name) && !empty($focus->last_name)) {
$name = $locale->formatName($focus);
}
if (empty($name)) {
$name = '*';
}
}
$userPref = $current_user->getPreference('email_link_type');
$defaultPref = $sugar_config['email_default_client'];
if ($userPref != '') {
$client = $userPref;
} else {
$client = $defaultPref;
}
if ($client == 'sugar') {
$composeData = array('load_id' => $layout_def['fields']['ID'], 'load_module' => $this->layout_manager->defs['module_name'], 'parent_type' => $this->layout_manager->defs['module_name'], 'parent_id' => $layout_def['fields']['ID'], 'return_module' => $module, 'return_action' => $action, 'return_id' => $record);
if (isset($layout_def['fields']['FULL_NAME'])) {
$composeData['parent_name'] = $layout_def['fields']['FULL_NAME'];
$composeData['to_email_addrs'] = sprintf("%s <%s>", $layout_def['fields']['FULL_NAME'], $layout_def['fields']['EMAIL1']);
} else {
$composeData['to_email_addrs'] = $layout_def['fields']['EMAIL1'];
}
require_once 'modules/Emails/EmailUI.php';
$eUi = new EmailUI();
$j_quickComposeOptions = $eUi->generateComposePackageForQuickCreate($composeData, http_build_query($composeData), true);
$link = "<a href='javascript:void(0);' onclick='SUGAR.quickCompose.init({$j_quickComposeOptions});'>";
} else {
$link = '<a href="mailto:' . $value . '" >';
}
return $link . $value . '</a>';
}
开发者ID:jglaine,项目名称:sugar761-ent,代码行数:63,代码来源:SugarWidgetSubPanelEmailLink.php
示例9: array
$_REQUEST['record'] = $_REQUEST['folderId'];
$ret = array();
$ret['folderId'] = $email->et->folder->id;
$ret['folderName'] = $email->et->folder->name;
$ret['parentFolderId'] = $email->et->folder->parent_folder;
require_once 'include/SugarFields/Fields/Teamset/EmailSugarFieldTeamsetCollection.php';
$teamSetField = new EmailSugarFieldTeamsetCollection($email->et->folder, $ie->field_defs, "get_non_private_teams_array", 'EditViewGroupFolder');
$sqs_objects = $teamSetField->createQuickSearchCode(true);
//$quicksearch_js = '<script type="text/javascript" language="javascript">sqs_objects = ' . $json->encode($sqs_objects) . '</script>';
$code = $teamSetField->get_code();
$ret['team_id'] = $code . $sqs_objects;
$out = $json->encode($ret);
echo $out;
break;
case "retrieveTeamsInfoForSettings":
$emailUI = new EmailUI();
$returnArray = $emailUI->retrieveTeamInfoForSettingsUI();
$out = $json->encode($returnArray);
echo $out;
break;
case "rebuildFolders":
$GLOBALS['log']->debug("********** EMAIL 2.0 - Asynchronous - at: rebuildFolders");
$tree = $email->et->getMailboxNodes(false);
$return = $tree->generateNodesRaw();
$out = $json->encode($return);
echo $out;
break;
case "setFolderOpenState":
$GLOBALS['log']->debug("********** EMAIL 2.0 - Asynchronous - at: setFolderOpenState");
$email->et->saveFolderOpenState($_REQUEST['focusFolder'], $_REQUEST['focusFolderOpen']);
break;
开发者ID:jglaine,项目名称:sugar761-ent,代码行数:31,代码来源:EmailUIAjax.php
示例10: pop3_checkPartialEmail
/**
* Special handler for POP3 boxes. Standard IMAP commands are useless.
* This will fetch only partial emails for POP3 and hence needs to be call again and again based on status it returns
*/
function pop3_checkPartialEmail($synch = false)
{
require_once 'include/utils/array_utils.php';
global $current_user;
global $sugar_config;
$cacheDataExists = false;
$diff = array();
$results = array();
$cacheFilePath = clean_path("{$this->EmailCachePath}/{$this->id}/folders/MsgNOToUIDLData.php");
if (file_exists($cacheFilePath)) {
$cacheDataExists = true;
if ($fh = @fopen($cacheFilePath, "rb")) {
$data = "";
$chunksize = 1 * (1024 * 1024);
// how many bytes per chunk
while (!feof($fh)) {
$buf = fgets($fh, $chunksize);
// 8kb max buffer - shouldn't be more than 80 chars via pop3...
$data = $data . $buf;
flush();
}
// while
fclose($fh);
$diff = unserialize($data);
if (!empty($diff)) {
if (count($diff) > 50) {
$newDiff = array_slice($diff, 50, count($diff), true);
} else {
$newDiff = array();
}
$results = array_slice(array_keys($diff), 0, 50);
$data = serialize($newDiff);
if ($fh = @fopen($cacheFilePath, "w")) {
fputs($fh, $data);
fclose($fh);
}
// if
}
}
// if
}
// if
if (!$cacheDataExists) {
if ($synch) {
$this->deletePop3Cache();
}
$UIDLs = $this->pop3_getUIDL();
if (count($UIDLs) > 0) {
// get cached UIDLs
$cacheUIDLs = $this->pop3_getCacheUidls();
// new email cache values we should deal with
$diff = array_diff_assoc($UIDLs, $cacheUIDLs);
$diff = $this->pop3_shiftCache($diff, $cacheUIDLs);
require_once 'modules/Emails/EmailUI.php';
EmailUI::preflightEmailCache("{$this->EmailCachePath}/{$this->id}");
if (count($diff) > 50) {
$newDiff = array_slice($diff, 50, count($diff), true);
} else {
$newDiff = array();
}
$results = array_slice(array_keys($diff), 0, 50);
$data = serialize($newDiff);
if ($fh = @fopen($cacheFilePath, "w")) {
fputs($fh, $data);
fclose($fh);
}
// if
} else {
$GLOBALS['log']->debug("*** INBOUNDEMAIL: could not open socket connection to POP3 server");
return "could not open socket connection to POP3 server";
}
// else
}
// if
// build up msgNo request
if (count($diff) > 0) {
// remove dirty cache entries
$startingNo = 0;
if (isset($_REQUEST['currentCount']) && $_REQUEST['currentCount'] > -1) {
$startingNo = $_REQUEST['currentCount'];
}
$this->mailbox = 'INBOX';
$this->connectMailserver();
//$searchResults = array_keys($diff);
//$fetchedOverviews = array();
//$chunkArraySerachResults = array_chunk($searchResults, 50);
$concatResults = implode(",", $results);
$GLOBALS['log']->info('$$$$ ' . $concatResults);
$GLOBALS['log']->info("[EMAIL] Start POP3 fetch overview on mailbox [{$this->mailbox}] for user [{$current_user->user_name}] on 50 data");
$fetchedOverviews = imap_fetch_overview($this->conn, $concatResults);
$GLOBALS['log']->info("[EMAIL] End POP3 fetch overview on mailbox [{$this->mailbox}] for user [{$current_user->user_name}] on " . sizeof($fetchedOverviews) . " data");
// clean up cache entry
foreach ($fetchedOverviews as $k => $overview) {
$overview->message_id = trim($diff[$overview->msgno]);
$fetchedOverviews[$k] = $overview;
}
//.........这里部分代码省略.........
开发者ID:netconstructor,项目名称:sugarcrm_dev,代码行数:101,代码来源:InboundEmail.php
示例11: display
function display()
{
global $mod_strings, $app_strings, $app_list_strings, $sugar_config, $current_user;
$this->ss->assign("MOD", $mod_strings);
$this->ss->assign("APP_LIST", $app_list_strings);
// Sync info from tilkee server
$this->bean->sync_from_API('update_connexions');
$button_array = $this->dv->defs['templateMeta']['form']['buttons'];
$new_button_array = array();
if ($this->bean->archived === 'true') {
$new_button_array[] = $button_array[0];
// DELETED
}
$new_button_array[] = $button_array[1];
// SEND EMAIL
$new_button_array[] = $button_array[2];
// COPY URL
$new_button_array[] = $button_array[3];
// ARCHIVED/WON
$new_button_array[] = $button_array[4];
// ARCHIVED/LOST
$new_button_array[] = $button_array[5];
// ARCHIVED
$this->dv->defs['templateMeta']['form']['buttons'] = $new_button_array;
// BUILD SEND MAIL BUTTON
$userPref = $current_user->getPreference('email_link_type');
$defaultPref = $sugar_config['email_default_client'];
if ($userPref != '') {
$client = $userPref;
} else {
$client = $defaultPref;
}
$title_button = $mod_strings['LBL_SEND_MAIL_TITLE'];
$value_button = $mod_strings['LBL_SEND_MAIL_VALUE'];
$parent_id = '';
$parent_type = '';
$parent_name = '';
$button = '';
// Links to a Contact
if ($this->bean->contacts_id != '') {
$parent_id = $this->bean->contacts_id;
$parent_name = $this->bean->contacts_name;
$parent_type = 'Contacts';
}
// Links to a Lead
if ($this->bean->leads_id != '') {
$parent_id = $this->bean->leads_id;
$parent_name = $this->bean->leads_name;
$parent_type = 'Leads';
}
// Build Send mail action depends on user prefs
if ($parent_type != '') {
if ($client != 'sugar') {
if (isset($this->bean->contact_email)) {
$to_addrs = $this->bean->contact_email;
$button = "<input class='button' type='button' value='{$value_button}' id='' name='' title='{$title_button}' onclick=\"location.href='mailto:{$to_addrs}';return false;\" />";
} else {
$button = "<input class='button' type='button' value='{$value_button}' id='' name='' title='{$title_button}' onclick=\"location.href='mailto:';return false;\" />";
}
} else {
//Generate the compose package for the quick create options.
$composeData = array("to_email_addrs" => $this->bean->contact_email, "parent_id" => $parent_id, "parent_type" => $parent_type, "parent_name" => $parent_name);
if (!empty($this->bean->tilk_url)) {
$composeData['body'] = "<a href='" . $this->bean->tilk_url . "'>" . $this->bean->tilk_url . "</a>";
}
require_once 'modules/Emails/EmailUI.php';
$eUi = new EmailUI();
$j_quickComposeOptions = $eUi->generateComposePackageForQuickCreate($composeData, http_build_query($composeData), false);
$button = "<input title='{$title_button}' id='' onclick='SUGAR.quickCompose.init({$j_quickComposeOptions});' class='button' type='submit' name='_button' value='{$value_button}' />";
}
}
$this->ss->assign("SEND_EMAIL_BUTTON", $button);
// BUILD COPY TO CLIPBOARD BUTTON
$button_copy = "<button id='copy-button' data-clipboard-text='" . $this->bean->tilk_url . "' title='Click to copy me.'>" . $mod_strings['LBL_COPY_VALUE'] . "</button>";
$this->ss->assign("COPY_TILK_URL", $button_copy);
parent::display();
}
开发者ID:NeoArno,项目名称:tilkee-sugarcrm,代码行数:77,代码来源:view.detail.php
示例12: clearUserCache
/**
* Clears the user's attachment cache directory
*
* @param ServiceBase $api The service base
* @param array $args The request args
* @return bool
* @throws SugarApiExceptionRequestMethodFailure
*/
public function clearUserCache($api, $args)
{
$em = new EmailUI();
$em->preflightUserCache();
return true;
}
开发者ID:jglaine,项目名称:sugar761-ent,代码行数:14,代码来源:MailApi.php
示例13: getQuotesRelatedData
function getQuotesRelatedData($bean, $data)
{
$return = array();
$emailId = $data['recordId'];
require_once "modules/Emails/EmailUI.php";
$email = BeanFactory::getBean('Emails', $emailId);
$return['subject'] = $email->name;
$return['body'] = from_html($email->description_html);
$return['toAddress'] = $email->to_addrs;
$ret = array();
$ret['uid'] = $emailId;
$ret = EmailUI::getDraftAttachments($ret);
$return['attachments'] = $ret['attachments'];
$return['email_id'] = $emailId;
return $return;
}
开发者ID:jglaine,项目名称:sugar761-ent,代码行数:16,代码来源:Compose.php
示例14: displayList
function displayList(&$layout_def)
{
global $current_user;
global $beanList;
global $focus;
global $sugar_config;
global $locale;
global $mod_strings;
if (isset($layout_def['varname'])) {
$key = strtoupper($layout_def['varname']);
} else {
$key = $this->_get_column_alias($layout_def);
$key = strtoupper($key);
}
$value = $layout_def['fields'][$key];
if (isset($_REQUEST['action'])) {
$action = $_REQUEST['action'];
} else {
$action = '';
}
if (isset($_REQUEST['module'])) {
$module = $_REQUEST['module'];
} else {
$module = '';
}
if (isset($_REQUEST['record'])) {
$record = $_REQUEST['record'];
} else {
$record = '';
}
if (!empty($focus->name)) {
$name = $focus->name;
}
$userPref = $current_user->getPreference('email_link_type');
$defaultPref = $sugar_config['email_default_client'];
if ($userPref != '') {
$client = $userPref;
} else {
$client = $defaultPref;
}
if ($client == 'sugar') {
$composeData = array('load_id' => $layout_def['fields']['ID'], 'load_module' => $this->layout_manager->defs['module_name'], 'return_module' => $module, 'return_action' => $action, 'return_id' => $record);
if (!empty($layout_def['fields']['CONTACTS_NAME'])) {
$composeData['parent_name'] = $layout_def['fields']['CONTACTS_NAME'];
$composeData['parent_id'] = $layout_def['fields']['CONTACTS_ID'];
$composeData['parent_type'] = 'Contacts';
}
if (!empty($layout_def['fields']['LEADS_NAME'])) {
$composeData['parent_name'] = $layout_def['fields']['LEADS_NAME'];
$composeData['parent_id'] = $layout_def['fields']['LEADS_ID'];
$composeData['parent_type'] = 'Leads';
}
$composeData['to_email_addrs'] = $layout_def['fields']['CONTACT_EMAIL'];
if (!empty($layout_def['fields']['TILK_URL'])) {
$composeData['body'] = "<a href='" . $layout_def['fields']['TILK_URL'] . "'>" . $layout_def['fields']['TILK_URL'] . "</a>";
}
require_once 'modules/Emails/EmailUI.php';
$eUi = new EmailUI();
$j_quickComposeOptions = $eUi->generateComposePackageForQuickCreate($composeData, http_build_query($composeData), true);
$link = "<a onclick='SUGAR.quickCompose.init({$j_quickComposeOptions});'>";
} else {
$link = '<a href="mailto:' . $value . '" >';
}
return $link . $mod_strings['LBL_SEND_MAIL_TITLE'] . '</a>';
}
开发者ID:NeoArno,项目名称:tilkee-sugarcrm,代码行数:65,代码来源:SugarWidgetSubPanelSendEmailButton.php
示例15: pollMonitoredInboxes
/**
* Job 1
*/
function pollMonitoredInboxes()
{
$_bck_up = array('team_id' => $GLOBALS['current_user']->team_id, 'team_set_id' => $GLOBALS['current_user']->team_set_id);
Log::info('----->Scheduler fired job of type pollMonitoredInboxes()');
global $dictionary;
global $app_strings;
require_once 'modules/Emails/EmailUI.php';
$ie = new InboundEmail();
$emailUI = new EmailUI();
$r = $ie->db->query('SELECT id, name FROM inbound_email WHERE is_personal = 0 AND deleted=0 AND status=\'Active\' AND mailbox_type != \'bounce\'');
Log::debug('Just got Result from get all Inbounds of Inbound Emails');
while ($a = $ie->db->fetchByAssoc($r)) {
Log::debug('In while loop of Inbound Emails');
$ieX = new InboundEmail();
$ieX->retrieve($a['id']);
$GLOBALS['current_user']->team_id = $ieX->team_id;
$GLOBALS['current_user']->team_set_id = $ieX->team_set_id;
$mailboxes = $ieX->mailboxarray;
foreach ($mailboxes as $mbox) {
$ieX->mailbox = $mbox;
$newMsgs = array();
$msgNoToUIDL = array();
$connectToMailServer = false;
if ($ieX->isPop3Protocol()) {
$msgNoToUIDL = $ieX->getPop3NewMessagesToDownloadForCron();
// get all the keys which are msgnos;
$newMsgs = array_keys($msgNoToUIDL);
}
if ($ieX->connectMailserver() == 'true') {
$connectToMailServer = true;
}
// if
Log::debug('Trying to connect to mailserver for [ ' . $a['name'] . ' ]');
if ($connectToMailServer) {
Log::debug('Connected to mailserver');
if (!$ieX->isPop3Protocol()) {
$newMsgs = $ieX->getNewMessageIds();
}
if (is_array($newMsgs)) {
$current = 1;
$total = count($newMsgs);
require_once "include/SugarFolders/SugarFolders.php";
$sugarFolder = new SugarFolder();
$groupFolderId = $ieX->groupfolder_id;
$isGroupFolderExists = false;
$users = array();
if ($groupFolderId != null && $groupFolderId != "") {
$sugarFolder->retrieve($groupFolderId);
$isGroupFolderExists = true;
}
// if
$messagesToDelete = array();
if ($ieX->isMailBoxTypeCreateCase()) {
$users[] = $sugarFolder->assign_to_id;
$distributionMethod = $ieX->get_stored_options("distrib_method", "");
if ($distributionMethod != 'roundRobin') {
$counts = $emailUI->getAssignedEmailsCountForUsers($users);
} else {
$lastRobin = $emailUI->getLastRobin($ieX);
}
Log::debug('distribution method id [ ' . $distributionMethod . ' ]');
}
foreach ($newMsgs as $k => $msgNo) {
$uid = $msgNo;
if ($ieX->isPop3Protocol()) {
$uid = $msgNoToUIDL[$msgNo];
} else {
$uid = imap_uid($ieX->conn, $msgNo);
}
// else
if ($isGroupFolderExists) {
if ($ieX->importOneEmail($msgNo, $uid)) {
// add to folder
$sugarFolder->addBean($ieX->email);
if ($ieX->isPop3Protocol()) {
$messagesToDelete[] = $msgNo;
} else {
$messagesToDelete[] = $uid;
}
if ($ieX->isMailBoxTypeCreateCase()) {
$userId = "";
if ($distributionMethod == 'roundRobin') {
if (sizeof($users) == 1) {
$userId = $users[0];
$lastRobin = $users[0];
} else {
$userIdsKeys = array_flip($users);
// now keys are values
$thisRobinKey = $userIdsKeys[$lastRobin] + 1;
if (!empty($users[$thisRobinKey])) {
$userId = $users[$thisRobinKey];
$lastRobin = $users[$thisRobinKey];
} else {
$userId = $users[0];
$lastRobin = $users[0];
}
}
//.........这里部分代码省略.........
开发者ID:butschster,项目名称:sugarcrm_dev,代码行数:101,代码来源:_AddJobsHere.php
示例16: EmailUI
* details.
*
* You should have received a copy of the GNU Affero General Public License along with
* this program; if not, see http://www.gnu.org/licenses or write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA.
*
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
* SW2-130, Cupertino, CA 95014, USA. or at email address [email protected].
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU Affero General Public License version 3.
*
* In accordance with Section 7(b) of the GNU Affero General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "Powered by
* SugarCRM" logo and "Supercharged by SuiteCRM" logo. If the display of the logos is not
* reasonably feasible for technical reasons, the Appropriate Legal Notices must
* display the words "Powered by SugarCRM" and "Supercharged by SuiteCRM".
********************************************************************************/
/**
* Render the quick compose frame needed by the UI. The data is returned as a JSOn
* object and consumed by the client in an ajax call.
*/
require_once 'modules/Emails/EmailUI.php';
$em = new EmailUI();
$out = $em->displayQuickComposeEmailFrame();
@ob_end_clean();
ob_start();
echo $out;
ob_end_flush();
开发者ID:MexinaD,项目名称:SuiteCRM,代码行数:31,代码来源:GenerateQuickComposeFrame.php
示例17: testGetListItemsForEmailXML
/**
* Test retreiving a list of emails for a particular folder.
*
*/
function testGetListItemsForEmailXML()
{
//Create the my Emails Folder
$GLOBALS['mod_strings'] = return_module_language($GLOBALS['current_language'], "Emails");
require_once 'modules/Emails/EmailUI.php';
$emailUI = new EmailUI();
$emailUI->preflightUser($GLOBALS['current_user']);
$error_message = "Unable to get list items for email.";
$rootNode = new ExtNode('', '');
$folderOpenState = "";
$ret = $this->folder->getUserFolders($rootNode, $folderOpenState, $GLOBALS['current_user'], true);
$this->assertEquals(1, count($ret), $error_message);
$folderID = $ret[0]['id'];
//Create the Email Object
$emailParams = array('status' => 'unread', 'assigned_user_id' => $GLOBALS['current_user']->id);
$email = $this->_createEmailObject($emailParams);
$this->emails[] = $email->id;
//Add Email Object to My Email Folder
$my_email = new SugarFolder();
$my_email->retrieve($folderID);
$my_email->addBean($email, $GLOBALS['current_user']);
//Make sure the email was added to the folder.
$emailExists = $my_email->checkEmailExistForFolder($email->id);
$this->assertTrue($emailExists, $error_message);
//Get the list of emails.
$emailList = $my_email->getListItemsForEmailXML($folderID);
$this->assertEquals($email->id, $emailList['out'][0]['uid'], $error_message);
}
开发者ID:jgera,项目名称:sugarcrm_dev,代码行数:32,代码来源:SugarFoldersTest.php
示例18: getEmailLink
/**
* returns opening <a href=xxxx for a contact, account, etc
* cascades from User set preference to System-wide default
* @return string link
* @param attribute the email addy
* @param focus the parent bean
* @param contact_id
* @param return_module
* @param return_action
* @param return_id
* @param class
*/
function getEmailLink($attribute, &$focus, $contact_id = '', $ret_module = '', $ret_action = 'DetailView', $ret_id = '', $class = '')
{
$emailLink = '';
global $sugar_config;
if (!isset($sugar_config['email_default_client'])) {
$this->setDefaultsInConfig();
}
$userPref = $this->getPreference('email_link_type');
$defaultPref = $sugar_config['email_default_client'];
if ($userPref != '') {
$client = $userPref;
} else {
$client = $defaultPref;
}
if ($client == 'sugar') {
$email = '';
$to_addrs_ids = '';
$to_addrs_names = '';
$to_addrs_emails = '';
$fullName = !empty($focus->name) ? $focus->name : '';
if (!empty($focus->{$attribute})) {
$email = $focus->{$attribute};
}
if (empty($ret_module)) {
$ret_module = $focus->module_dir;
}
if (empty($ret_id)) {
$ret_id = $focus->id;
}
if ($focus->object_name == 'Contact') {
// Bug #48555 Not User Name Format of User's locale.
$focus->_create_proper_name_field();
$fullName = $focus->name;
$contact_id = $focus->id;
$to_addrs_ids = $focus->id;
$to_addrs_names = $fullName;
$to_addrs_emails = $focus->email1;
}
$emailLinkUrl = 'contact_id=' . $contact_id . '&parent_type=' . $focus->module_dir . '&parent_id=' . $focus->id . '&parent_name=' . urlencode($fullName) . '&to_addrs_ids=' . $to_addrs_ids . '&to_addrs_names=' .
|
请发表评论