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; }
/** * 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=' . urlencode($to_addrs_names) . '&to_addrs_emails=' . urlencode($to_addrs_emails) . '&to_email_addrs=' . urlencode($fullName . ' <' . $email . '>') . '&return_module=' . $ret_module . '&return_action=' . $ret_action . '&return_id=' . $ret_id; //Generate the compose package for the quick create options. require_once 'modules/Emails/EmailUI.php'; $eUi = new EmailUI(); $j_quickComposeOptions = $eUi->generateComposePackageForQuickCreateFromComposeUrl($emailLinkUrl, true); $emailLink = "<a href='javascript:void(0);' onclick='SUGAR.quickCompose.init({$j_quickComposeOptions});' class='{$class}'>"; } else { // straight mailto: $emailLink = '<a href="mailto:' . $focus->{$attribute} . '" class="' . $class . '">'; } return $emailLink; }
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>'; }