私は Joomla Easy Flash Uploader を使用しています。アップロードが行われると、管理者 (または私が選択した人) に送信される自動電子メールがあります。ログインしたユーザーの名前を電子メールに表示するように設計されていますが、ログインしているユーザーのみがフォームにアクセスしているにもかかわらず、単に「Guest」と表示され続けます。ユーザー名を適切にプルするには、これがどうしても必要です。メッセージの内容は次のとおりです: (ファイル名と場所は、Web サイトを保護するために単に削除されました。
ゲスト (Guest) が、2013 年 3 月 12 日火曜日 14:56:07 -0500 に、FILE NAME を LOCATION に正常にアップロードしました。
- コードをチェックしてください:
//メール通知 if ($_POST['notify'] != false && JMailHelper::isEmailAddress($_POST['recipient'])) { //メールオブジェクトを取得 $mailer =& JFactory::getMailer();
//set up the sender
$config =& JFactory::getConfig();
$sender = array(
$config->getValue( 'config.mailfrom' ),
$config->getValue( 'config.fromname' )
);
$mailer->setSender($sender);
//set up recipient
$mailer->addRecipient($_POST['recipient']);
//get user info
$user_info = array();
$user =& JFactory::getUser();
if ($user->guest == true)
{
$user_info['name'] = 'A guest';
$user_info['username'] = 'Guest';
}
else
{
$user_info['name'] = $user->name;
$user_info['username'] = $user->username;
}
//set up message
$body = $user_info['name']." (".$user_info['username'].") has successfully uploaded ".$fileName;
$body.= "(".sizeToText($fileSize).") to ".JPATH_SITE.DS.$cleanedSubPath;
$body.= " at ".date("r", time()).".\n";
$mailer->setSubject('New File Uploaded - PC Scribe');
$mailer->setBody($body);
//send email
$send =& $mailer->Send();
if ($send !== true)
{
//error: DO NOTHING!!!
/****DEBUGGING****/
//$replaceText.= ' * Email error *';
/**** CODE ****/
}
else
{
//success: DO NOTHING!!!
/****DEBUGGING****/
//$replaceText.= ' (Email sent)';
/**** CODE ****/
}
}