/** * @access public * @param User $user required * @param Localization $locale * @param string $charset * @return array MailConfigurations * @throws MailerException */ public static function listOutboundMailConfigurations(User $user, Localization $locale = null, $charset = null) { global $app_strings; $outboundEmailConfigurations = array(); $ret = $user->getUsersNameAndEmail(); $systemDefaultOutbound = null; if (empty($ret['email'])) { $systemReturn = $user->getSystemDefaultNameAndEmail(); $ret['email'] = $systemReturn['email']; $ret['name'] = $systemReturn['name']; $system_replyToAddress = $ret['email']; } else { $system_replyToAddress = ''; } $system_replyToName = $ret['name']; $replyTo = $user->emailAddress->getReplyToAddress($user, true); if (!empty($replyTo)) { $system_replyToAddress = $replyTo; } $systemUser = BeanFactory::getBean("Users"); $systemUser->getSystemUser(); $oe = static::loadOutboundEmail(); $systemMailerConfiguration = $oe->getSystemMailerSettings(); if ($oe->isAllowUserAccessToSystemDefaultOutbound()) { $system = $systemMailerConfiguration; $personal = false; } else { $system = $oe->getUsersMailerForSystemOverride($user->id); $personal = true; if (empty($system)) { // Create a User System-Override Configuration if ($user->id == $systemUser->id) { $oe = $oe->createUserSystemOverrideAccount($user->id, $systemMailerConfiguration->mail_smtpuser, $systemMailerConfiguration->mail_smtppass); } else { $oe = $oe->createUserSystemOverrideAccount($user->id); } $system = $oe->getUsersMailerForSystemOverride($user->id); } } if (empty($system->id)) { throw new MailerException("No Valid Mail Configurations Found", MailerException::InvalidConfiguration); } // turn the OutboundEmail object into a useable set of mail configurations $oe = static::loadOutboundEmail(); $oe->retrieve($system->id); $configurations = array(); $configurations["config_id"] = $system->id; $configurations["config_type"] = "system"; $configurations["inbox_id"] = null; $configurations["from_email"] = $ret["email"]; $configurations["from_name"] = $ret["name"]; $configurations["display_name"] = "{$ret['name']} ({$ret['email']}) - [" . ($personal ? $app_strings['LBL_USER_DEFAULT_OUTBOUND_EMAIL_CONFIGURATION'] : $app_strings['LBL_SYSTEM_DEFAULT_OUTBOUND_EMAIL_CONFIGURATION']) . "]"; $configurations["personal"] = $personal; $configurations["replyto_email"] = $system_replyToAddress; $configurations["replyto_name"] = $system_replyToName; $configurations["inbound_ids"] = array(); $outboundEmailConfiguration = self::buildOutboundEmailConfiguration($user, $configurations, $oe, $locale, $charset); $outboundEmailConfigurations[] = $outboundEmailConfiguration; return $outboundEmailConfigurations; }
public function getUsersNameAndEmail($id) { $user = new User(); $user->retrieve($id); $expected = array("name" => "firstn lastn", "email" => "*****@*****.**"); $actual = $user->getUsersNameAndEmail(); $this->assertEquals($actual, $expected); }