diff --git a/docs/upgrades/upgrade_3.9.0-3.10.0.sql b/docs/upgrades/upgrade_3.9.0-3.10.0.sql index f85c278a8..e373a627c 100644 --- a/docs/upgrades/upgrade_3.9.0-3.10.0.sql +++ b/docs/upgrades/upgrade_3.9.0-3.10.0.sql @@ -10,6 +10,15 @@ INSERT INTO international VALUES (530,'WebGUI','English','with all the wo INSERT INTO international VALUES (531,'WebGUI','English','with the exact phrase'); INSERT INTO international VALUES (532,'WebGUI','English','with at least one of the words'); INSERT INTO international VALUES (533,'WebGUI','English','without the words'); +INSERT INTO settings VALUES ('onNewUserAlertGroup','3'); +INSERT INTO settings VALUES ('alertOnNewUser','0'); +update international set message='Edit User Settings' where internationalId=117 and namespace='WebGUI' and language='English'; +INSERT INTO international VALUES (535,'WebGUI','English','Group To Alert On New User'); +INSERT INTO international VALUES (534,'WebGUI','English','Alert on new user?'); +INSERT INTO international VALUES (536,'WebGUI','English','A new user named ^@; has joined the site.'); + + + diff --git a/lib/WebGUI/MessageLog.pm b/lib/WebGUI/MessageLog.pm index 489128e44..d5ffe5c45 100644 --- a/lib/WebGUI/MessageLog.pm +++ b/lib/WebGUI/MessageLog.pm @@ -12,6 +12,7 @@ package WebGUI::MessageLog; use strict; use Tie::CPHash; +use WebGUI::Macro; use WebGUI::Mail; use WebGUI::Session; use WebGUI::SQL; @@ -44,9 +45,10 @@ sub _getUserInfo { #------------------------------------------------------------------- sub addEntry { - my (@users, $messageLogId,$sth, $user, %message, %subject, $message, $subject); + my (@users, $messageLogId,$sth, $user, %message, %subject, $message, $subject, $namespace); $messageLogId = getNextId("messageLogId"); - %message = WebGUI::SQL->buildHash("select language,message from international where internationalId=$_[3] and namespace='$_[4]'"); + $namespace = $_[4] || "WebGUI"; + %message = WebGUI::SQL->buildHash("select language,message from international where internationalId=$_[3] and namespace='$namespace'"); %subject = WebGUI::SQL->buildHash("select language,message from international where internationalId=523 and namespace='WebGUI'"); if ($_[1] ne "") { @users = WebGUI::SQL->quickArray("select userId from groupings where groupId=$_[1]"); @@ -57,8 +59,13 @@ sub addEntry { if (${$user}{userId} ne "") { WebGUI::SQL->write("insert into messageLog values ($messageLogId,".${$user}{userId}.", ".quote($message{${$user}{language}}).",".quote($_[2]).",".time().")"); + $subject{${$user}{language}} = $subject{'English'} if ($subject{${$user}{language}} eq ""); $subject = $subject{${$user}{language}}; - $message = $message{${$user}{language}}."\n".WebGUI::URL::append('http://'.$session{env}{HTTP_HOST}.$_[2],'mlog='.$messageLogId); + $message{${$user}{language}} = $message{'English'} if ($message{${$user}{language}} eq ""); + $message = WebGUI::Macro::process($message{${$user}{language}}); + if ($_[2] ne "") { + $message .= "\n".WebGUI::URL::append('http://'.$session{env}{HTTP_HOST}.$_[2],'mlog='.$messageLogId); + } if (${$user}{INBOXNotifications} = "email") { if (${$user}{email} ne "") { WebGUI::Mail::send(${$user}{email},$subject,$message); diff --git a/lib/WebGUI/Operation/Account.pm b/lib/WebGUI/Operation/Account.pm index 36d01c829..d8c9cd2f4 100644 --- a/lib/WebGUI/Operation/Account.pm +++ b/lib/WebGUI/Operation/Account.pm @@ -20,6 +20,7 @@ use WebGUI::ErrorHandler; use WebGUI::HTMLForm; use WebGUI::International; use WebGUI::Mail; +use WebGUI::MessageLog; use WebGUI::Paginator; use WebGUI::Privilege; use WebGUI::Session; @@ -252,6 +253,7 @@ sub www_createAccountSave { $u->addToGroups([2]); WebGUI::Session::start($u->userId); _logLogin($u->userId,"success"); + WebGUI::MessageLog::addEntry('',$session{setting}{onNewUserAlertGroup},'',536) if ($session{setting}{alertOnNewUser}); } else { $output = "