本文整理汇总了PHP中Account::GetUserCharset方法的典型用法代码示例。如果您正苦于以下问题:PHP Account::GetUserCharset方法的具体用法?PHP Account::GetUserCharset怎么用?PHP Account::GetUserCharset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Account
的用法示例。
在下文中一共展示了Account::GetUserCharset方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: WebMailMessage
/**
* @param Account $_account
* @param XmlDocument $_xmlObj
* @return WebMailMessage
*/
function &CreateMessage(&$_account, &$_xmlObj, &$_xmlRes)
{
$_messageNode =& $_xmlObj->XmlRoot->GetChildNodeByTagName('message');
$_headersNode =& $_messageNode->GetChildNodeByTagName('headers');
$_message = new WebMailMessage();
$GLOBALS[MailDefaultCharset] = $_account->GetUserCharset();
$GLOBALS[MailInputCharset] = $_account->GetUserCharset();
$GLOBALS[MailOutputCharset] = $_account->GetDefaultOutCharset();
$_message->Headers->SetHeaderByName(MIMEConst_MimeVersion, '1.0');
$_message->Headers->SetHeaderByName(MIMEConst_XMailer, XMAILERHEADERVALUE);
$ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : null;
if (null !== $ip) {
$_message->Headers->SetHeaderByName(MIMEConst_XOriginatingIp, $ip);
}
$_fromAcctId = $_messageNode->GetAttribute('from_acct_id', -1);
$_message->IdMsg = $_messageNode->GetAttribute('id', -1);
$_message->SetPriority($_messageNode->GetAttribute('priority', 3));
$_message->SetSensivity($_messageNode->GetAttribute('sensivity', MIME_SENSIVITY_NOTHING));
$_message->Uid = $_messageNode->GetChildValueByTagName('uid');
$_serverAddr = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['SERVER_NAME'] : 'cantgetservername';
$_message->Headers->SetHeaderByName(MIMEConst_MessageID, '<' . substr(session_id(), 0, 7) . '.' . md5(time()) . '@' . $_serverAddr . '>');
if ($_fromAcctId > 0) {
$_fromAcct = null;
if ($_account->Id == $_fromAcctId) {
$_fromAcct = $_account;
} else {
CXmlProcessing::CheckAccountAccess($_fromAcctId, $_xmlRes);
$_fromAcct = CXmlProcessing::AccountCheckAndLoad($_xmlRes, $_fromAcctId, false, false);
}
if ($_fromAcct) {
$email = $_fromAcct->GetFriendlyEmail();
/* custom class */
wm_Custom::StaticUseMethod('ChangeAccountEmailToFake', array(&$email));
$_message->SetFromAsString(ConvertUtils::WMBackHtmlSpecialChars($email));
}
} else {
$_temp = $_headersNode->GetChildValueByTagName('from');
if ($_temp) {
/* custom class */
wm_Custom::StaticUseMethod('ChangeAccountEmailToFake', array(&$_temp));
$_message->SetFromAsString(ConvertUtils::WMBackHtmlSpecialChars($_temp));
}
}
$_temp = $_headersNode->GetChildValueByTagName('to');
if ($_temp) {
$_message->SetToAsString(ConvertUtils::WMBackHtmlSpecialChars($_temp));
}
$_temp = $_headersNode->GetChildValueByTagName('cc');
if ($_temp) {
$_message->SetCcAsString(ConvertUtils::WMBackHtmlSpecialChars($_temp));
}
$_temp = $_headersNode->GetChildValueByTagName('bcc');
if ($_temp) {
$_message->SetBccAsString(ConvertUtils::WMBackHtmlSpecialChars($_temp));
}
$_temp = $_headersNode->GetChildValueByTagName('mailconfirmation');
if ($_temp) {
/* custom class */
wm_Custom::StaticUseMethod('ChangeAccountEmailToFake', array(&$_temp));
$_message->SetReadMailConfirmationAsString(ConvertUtils::WMBackHtmlSpecialChars($_temp));
}
$_message->SetSubject(ConvertUtils::WMBackHtmlSpecialChars($_headersNode->GetChildValueByTagName('subject')));
$_message->SetDate(new CDateTime(time()));
$_bodyNode =& $_messageNode->GetChildNodeByTagName('body');
if (isset($_bodyNode->Attributes['is_html']) && $_bodyNode->Attributes['is_html']) {
$_message->TextBodies->HtmlTextBodyPart = ConvertUtils::AddHtmlTagToHtmlBody(str_replace("\n", CRLF, str_replace("\r", '', ConvertUtils::BackImagesToHtmlBody(ConvertUtils::WMBackHtmlNewCode($_bodyNode->Value)))));
$_message->TextBodies->PlainTextBodyPart = $_message->TextBodies->HtmlToPlain();
} else {
$_message->TextBodies->PlainTextBodyPart = str_replace("\n", CRLF, str_replace("\r", '', ConvertUtils::WMBackHtmlNewCode($_bodyNode->Value)));
}
$_attachmentsNode =& $_messageNode->GetChildNodeByTagName('attachments');
if ($_attachmentsNode != null) {
$tempFiles =& CTempFiles::CreateInstance($_account);
$_log =& CLog::CreateInstance();
$_attachmentsKeys = array_keys($_attachmentsNode->Children);
foreach ($_attachmentsKeys as $_key) {
$_attachNode =& $_attachmentsNode->Children[$_key];
$_tempName = $_attachNode->GetChildValueByTagName('temp_name');
$_fileName = $_attachNode->GetChildValueByTagName('name');
$_attachCid = 'attach.php?img&tn=' . $_tempName . '&filename=' . $_fileName;
$_replaceCid = md5(time() . $_fileName);
$_mime_type = $_attachNode->GetChildValueByTagName('mime_type');
if ($_mime_type === '') {
$_mime_type = ConvertUtils::GetContentTypeFromFileName($_fileName);
}
$_isInline = (bool) $_attachNode->GetAttribute('inline', false);
if (!$_message->Attachments->AddFromBinaryBody($tempFiles->LoadFile($_attachNode->GetChildValueByTagName('temp_name')), $_fileName, $_mime_type, $_isInline)) {
$_log->WriteLine('Error Add tempfile in message: ' . getGlobalError(), LOG_LEVEL_ERROR);
}
if (isset($_bodyNode->Attributes['is_html']) && $_bodyNode->Attributes['is_html']) {
if (strpos($_message->TextBodies->HtmlTextBodyPart, $_attachCid) !== false) {
$_attachment =& $_message->Attachments->GetLast();
if ($_attachment) {
$_attachment->MimePart->Headers->SetHeaderByName(MIMEConst_ContentID, '<' . $_replaceCid . '>');
$_message->TextBodies->HtmlTextBodyPart = str_replace($_attachCid, 'cid:' . $_replaceCid, $_message->TextBodies->HtmlTextBodyPart);
//.........这里部分代码省略.........
示例2: WebMailMessage
/**
* @param Account $account
* @param XmlDocument $xmlObj
* @return WebMailMessage
*/
function &CreateMessage(&$account, &$xmlObj)
{
global $log;
$messageNode =& $xmlObj->XmlRoot->GetChildNodeByTagName('message');
$headersNode =& $messageNode->GetChildNodeByTagName('headers');
$message =& new WebMailMessage();
$GLOBALS[MailDefaultCharset] = $account->GetUserCharset();
$GLOBALS[MailInputCharset] = $account->GetUserCharset();
$GLOBALS[MailOutputCharset] = $account->GetDefaultOutCharset();
$message->Headers->SetHeaderByName(MIMEConst_MimeVersion, '1.0');
$message->Headers->SetHeaderByName(MIMEConst_XMailer, 'MailBee WebMail Pro PHP');
$message->Headers->SetHeaderByName(MIMEConst_XOriginatingIp, isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '0.0.0.0');
$message->IdMsg = $messageNode->GetAttribute('id', -1);
$message->SetPriority($messageNode->GetAttribute('priority', 3));
$message->Uid = $messageNode->GetChildValueByTagName('uid');
$serverAddr = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['SERVER_NAME'] : 'cantgetservername';
$message->Headers->SetHeaderByName(MIMEConst_MessageID, '<' . substr(session_id(), 0, 7) . '.' . md5(time()) . '@' . $serverAddr . '>');
$temp = $headersNode->GetChildValueByTagName('from');
if ($temp) {
$message->SetFromAsString(ConvertUtils::WMBackHtmlSpecialChars($temp));
}
$temp = $headersNode->GetChildValueByTagName('to');
if ($temp) {
$message->SetToAsString(ConvertUtils::WMBackHtmlSpecialChars($temp));
}
$temp = $headersNode->GetChildValueByTagName('cc');
if ($temp) {
$message->SetCcAsString(ConvertUtils::WMBackHtmlSpecialChars($temp));
}
$temp = $headersNode->GetChildValueByTagName('bcc');
if ($temp) {
$message->SetBccAsString(ConvertUtils::WMBackHtmlSpecialChars($temp));
}
$message->SetSubject(ConvertUtils::WMBackHtmlSpecialChars($headersNode->GetChildValueByTagName('subject')));
$message->SetDate(new CDateTime(time()));
$bodyNode =& $messageNode->GetChildNodeByTagName('body');
if ($bodyNode->Attributes['is_html']) {
$message->TextBodies->HtmlTextBodyPart = str_replace("\n", CRLF, str_replace("\r", '', ConvertUtils::WMBackHtmlNewCode($bodyNode->Value)));
} else {
$message->TextBodies->PlainTextBodyPart = str_replace("\n", CRLF, str_replace("\r", '', ConvertUtils::WMBackHtmlNewCode($bodyNode->Value)));
}
$attachmentsNode =& $messageNode->GetChildNodeByTagName('attachments');
if ($attachmentsNode != null) {
$fs =& new FileSystem(INI_DIR . '/temp', $account->Email, $account->Id);
$attfolder =& new Folder($_SESSION[ACCOUNT_ID], -1, $_SESSION['attachtempdir']);
foreach (array_keys($attachmentsNode->Children) as $key) {
$attachNode =& $attachmentsNode->Children[$key];
$attachCid = 'attach.php?tn=' . $attachNode->GetChildValueByTagName('temp_name');
$replaceCid = md5(time() . $attachNode->GetChildValueByTagName('name'));
$mime_type = $attachNode->GetChildValueByTagName('mime_type');
if ($mime_type == '') {
$mime_type = ConvertUtils::GetContentTypeFromFileName($attachNode->GetChildValueByTagName('name'));
}
if (!$message->Attachments->AddFromFile($fs->GetFolderFullPath($attfolder) . '/' . $attachNode->GetChildValueByTagName('temp_name'), $attachNode->GetChildValueByTagName('name'), $mime_type, (bool) $attachNode->Attributes['inline'])) {
$log->WriteLine('Error Get tempfile for Attachment: ' . getGlobalError());
}
if ($bodyNode->Attributes['is_html']) {
if (strpos($message->TextBodies->HtmlTextBodyPart, $attachCid) !== false) {
$attachment =& $message->Attachments->GetLast();
$attachment->MimePart->Headers->SetHeaderByName(MIMEConst_ContentID, '<' . $replaceCid . '>');
$message->TextBodies->HtmlTextBodyPart = str_replace($attachCid, 'cid:' . $replaceCid, $message->TextBodies->HtmlTextBodyPart);
$attachname = ConvertUtils::EncodeHeaderString($attachNode->GetChildValueByTagName('name'), $account->GetUserCharset(), $GLOBALS[MailOutputCharset]);
$attachment->MimePart->Headers->SetHeaderByName(MIMEConst_ContentDisposition, MIMEConst_InlineLower . ';' . CRLF . "\t" . MIMEConst_FilenameLower . '="' . $attachname . '"', false);
}
}
}
}
return $message;
}
示例3: SaveMessage
/**
* @param WebMailMessage $message
* @param Folder $folder
* @return bool
*/
function SaveMessage(&$message, &$folder, $fromFolder = null)
{
if ($message == null || $folder == null) {
return false;
}
//Get size all messages in DB
$mailBoxesSize = $this->DbStorage->SelectMailboxesSize() + $message->GetMailSize();
$this->DbStorage->SelectMailboxesSize();
if ($this->MailStorage->_settings->EnableMailboxSizeLimit && $this->_account->MailboxLimit < $mailBoxesSize) {
setGlobalError(ErrorGetMailLimit);
return false;
}
switch ($this->_account->MailProtocol) {
case MAILPROTOCOL_POP3:
$result = true;
if ($this->DbStorage->Connect()) {
//if ($message->IdMsg != -1)
//{
//$messageIdSet = array($message->IdMsg);
//$result &= $this->DbStorage->DeleteMessages($messageIdSet, false, $folder);
//}
//else
//{
$message->IdMsg = $this->DbStorage->SelectLastIdMsg() + 1;
//}
return $result && $this->DbStorage->SaveMessage($message, $folder);
}
case MAILPROTOCOL_IMAP4:
$result = true;
if ($message->IdMsg != -1) {
$messageIdUidSet = array();
$messageIdUidSet[$message->IdMsg] = $message->Uid;
$nfolder = $fromFolder ? $fromFolder : $folder;
$result &= $this->DeleteMessages($messageIdUidSet, $nfolder);
}
if ($folder->SyncType != FOLDERSYNC_DontSync) {
if ($this->MailStorage->Connect()) {
$result &= $this->MailStorage->SaveMessage($message, $folder);
$GLOBALS[MailDefaultCharset] = $this->_account->GetDefaultIncCharset();
unset($GLOBALS[MailInputCharset]);
$GLOBALS[MailOutputCharset] = $this->_account->GetUserCharset();
$result &= $this->MailStorage->SynchronizeFolder($folder);
}
return $result;
} elseif ($this->DbStorage->Connect()) {
//if ($message->IdMsg == -1)
//{
$message->IdMsg = $this->DbStorage->SelectLastIdMsg() + 1;
//}
$result &= $this->DbStorage->SaveMessage($message, $folder);
return $result;
}
case MAILPROTOCOL_WMSERVER:
$result = true;
if ($this->DbStorage->Connect()) {
$message->IdMsg = $this->DbStorage->SelectLastIdMsg() + 1;
return $result && $this->DbStorage->SaveMessage($message, $folder);
}
}
return false;
}
示例4: WebMailMessage
/**
* @param Account $account
* @return WebMailMessage
*/
function &CreateMessageFromPost(&$account)
{
$message =& new WebMailMessage();
$GLOBALS[MailDefaultCharset] = $account->GetUserCharset();
$GLOBALS[MailInputCharset] = $account->GetUserCharset();
$GLOBALS[MailOutputCharset] = $account->GetDefaultOutCharset();
$message->Headers->SetHeaderByName(MIMEConst_MimeVersion, '1.0');
$message->Headers->SetHeaderByName(MIMEConst_XMailer, 'MailBee WebMail Pro PHP');
$message->Headers->SetHeaderByName(MIMEConst_XOriginatingIp, isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '0.0.0.0');
$message->IdMsg = Post::val('m_id', -1);
$message->SetPriority(Post::val('priority_input', 3));
$message->DbPriority = Post::val('priority_input', 3);
$message->Uid = Post::val('m_uid', '');
$message->Headers->SetHeaderByName(MIMEConst_MessageID, '<' . substr(session_id(), 0, 7) . '.' . md5(time()) . '@' . $_SERVER['SERVER_NAME'] . '>');
$temp = Post::val('from', '');
if ($temp) {
$message->SetFromAsString($temp);
}
$temp = Post::val('toemail', '');
if ($temp) {
$message->SetToAsString($temp);
}
$temp = Post::val('toCC', '');
if ($temp) {
$message->SetCcAsString($temp);
}
$temp = Post::val('toBCC', '');
if ($temp) {
$message->SetBccAsString($temp);
}
$temp = Post::val('subject', '');
if ($temp) {
$message->SetSubject($temp);
}
$message->SetDate(new CDateTime(time()));
if (Post::val('ishtml', 0)) {
$message->TextBodies->HtmlTextBodyPart = ConvertUtils::BackImagesToHtmlBody(Post::val('message', ''));
} else {
$message->TextBodies->PlainTextBodyPart = ConvertUtils::BackImagesToHtmlBody(Post::val('message', ''));
}
$attachments = Post::val('attachments');
if ($attachments && is_array($attachments)) {
$fs =& new FileSystem(INI_DIR . '/temp', $account->Email, $account->Id);
$attfolder =& new Folder($account->Id, -1, Session::val('attachtempdir'));
foreach ($attachments as $key => $value) {
if (Session::val('attachtempdir')) {
$attachCid = 'attach.php?tn=' . $key;
$replaceCid = md5(time() . $value);
$mime_type = ConvertUtils::GetContentTypeFromFileName($value);
$message->Attachments->AddFromFile($fs->GetFolderFullPath($attfolder) . '/' . $key, $value, $mime_type, false);
if (Post::val('ishtml', 0)) {
if (strpos($message->TextBodies->HtmlTextBodyPart, $attachCid) !== false) {
$attachment =& $message->Attachments->GetLast();
$attachment->MimePart->Headers->SetHeaderByName(MIMEConst_ContentID, '<' . $replaceCid . '>');
$message->TextBodies->HtmlTextBodyPart = str_replace($attachCid, 'cid:' . $replaceCid, $message->TextBodies->HtmlTextBodyPart);
$attachname = ConvertUtils::EncodeHeaderString($value, $account->GetUserCharset(), $GLOBALS[MailOutputCharset]);
$attachment->MimePart->Headers->SetHeaderByName(MIMEConst_ContentDisposition, MIMEConst_InlineLower . ';' . CRLF . "\t" . MIMEConst_FilenameLower . '="' . $attachname . '"', false);
}
}
}
}
}
return $message;
}
示例5: _SendMessage
/**
* @param Account $account
* @param array $to
* @param string $subject
* @param string $bodyText
* @param bool $isBodyHtml = false
* @param array $attachmentsFileName = array()
* @return bool
*/
protected function _SendMessage($account, $to, $subject, $bodyText, $isBodyHtml = false, $attachmentsFileName = array())
{
require_once WM_ROOTPATH . 'common/class_settings.php';
require_once WM_ROOTPATH . 'common/class_account.php';
require_once WM_ROOTPATH . 'common/class_webmailmessages.php';
require_once WM_ROOTPATH . 'common/class_smtp.php';
$settings =& Settings::CreateInstance();
if (!$settings || !$settings->isLoad) {
throw new WebMailModelException('settings error');
}
if (!$settings->IncludeLang()) {
throw new WebMailModelException('lang error');
}
$message = new WebMailMessage();
$GLOBALS[MailDefaultCharset] = $account->GetUserCharset();
$GLOBALS[MailInputCharset] = $account->GetUserCharset();
$GLOBALS[MailOutputCharset] = $account->GetDefaultOutCharset();
$message->Headers->SetHeaderByName(MIMEConst_MimeVersion, '1.0');
$message->Headers->SetHeaderByName(MIMEConst_XMailer, XMAILERHEADERVALUE);
$ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : null;
if (null !== $ip) {
$message->Headers->SetHeaderByName(MIMEConst_XOriginatingIp, $ip);
}
$message->IdMsg = -1;
$message->Uid = -1;
$_serverAddr = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['SERVER_NAME'] : 'cantgetservername';
$message->Headers->SetHeaderByName(MIMEConst_MessageID, '<' . substr(session_id(), 0, 7) . '.' . md5(time()) . '@' . $_serverAddr . '>');
$message->SetFromAsString($account->GetFriendlyEmail());
$message->SetToAsString(implode(', ', $to));
$message->SetSubject($subject);
$message->SetDate(new CDateTime(time()));
if ($isBodyHtml) {
$message->TextBodies->HtmlTextBodyPart = ConvertUtils::AddHtmlTagToHtmlBody(str_replace("\n", CRLF, str_replace("\r", '', ConvertUtils::WMBackHtmlNewCode($bodyText))));
} else {
$message->TextBodies->PlainTextBodyPart = str_replace("\n", CRLF, str_replace("\r", '', ConvertUtils::WMBackHtmlNewCode($bodyText)));
}
if (count($attachmentsFileName) > 0) {
foreach ($attachmentsFileName as $attachmentFileName) {
$message->Attachments->AddFromFile($attachmentFileName, basename($attachmentFileName), ConvertUtils::GetContentTypeFromFileName(basename($attachmentFileName)));
}
}
$message->OriginalMailMessage = $message->ToMailString(true);
$message->Flags |= MESSAGEFLAGS_Seen;
return CSmtp::SendMail($settings, $account, $message, $account->GetFriendlyEmail(), implode(', ', $to));
}
示例6: DecodePassword
/**
* @param string $password
* @param Account $account
* @return string
*/
function DecodePassword($password, $account)
{
$result = '';
$passwordLen = strlen($password);
if (strlen($password) > 0 && strlen($password) % 2 == 0) {
$decodeByte = chr(hexdec(substr($password, 0, 2)));
$plainBytes = $decodeByte;
$startIndex = 2;
$currentByte = 1;
do {
$hexByte = substr($password, $startIndex, 2);
$plainBytes .= chr(hexdec($hexByte)) ^ $decodeByte;
$startIndex += 2;
$currentByte++;
} while ($startIndex < $passwordLen);
//$result = $plainBytes;
$result = ConvertUtils::ConvertEncoding($plainBytes, CPAGE_UTF8, $account->GetUserCharset());
}
return $result;
}