1: <?php
2: 3: 4: 5:
6:
7: if (!defined('XOOPS_ROOT_PATH')) exit();
8:
9: 10: 11: 12: 13:
14: class User_UserRegistMailDirector
15: {
16: 17: 18:
19: var $mBuilder;
20:
21: 22: 23:
24: var $mUser;
25:
26: var $mXoopsConfig;
27:
28: var $mUserConfig;
29:
30: function User_UserRegistMailDirector(&$builder, &$user, $xoopsConfig, $userConfig)
31: {
32: $this->mBuilder =& $builder;
33:
34: $this->mUser =& $user;
35: $this->mXoopsConfig =$xoopsConfig;
36: $this->mUserConfig = $userConfig;
37: }
38:
39: 40: 41: 42:
43: function contruct()
44: {
45: $this->mBuilder->setTemplate();
46: $this->mBuilder->setToUsers($this->mUser, $this->mUserConfig);
47: $this->mBuilder->setFromEmail($this->mXoopsConfig);
48: $this->mBuilder->setSubject($this->mUser, $this->mXoopsConfig);
49: $this->mBuilder->setBody($this->mUser, $this->mXoopsConfig);
50: }
51: }
52:
53: 54: 55: 56: 57: 58: 59:
60: class User_RegistUserActivateMailBuilder
61: {
62: var $mMailer;
63:
64: function User_RegistUserActivateMailBuilder()
65: {
66: $this->mMailer =& getMailer();
67: $this->mMailer->useMail();
68: }
69:
70: 71: 72:
73: function setTemplate()
74: {
75: $root=&XCube_Root::getSingleton();
76: $language = $root->mContext->getXoopsConfig('language');
77: $this->mMailer->setTemplateDir(XOOPS_ROOT_PATH . '/modules/user/language/' . $language . '/mail_template/');
78: $this->mMailer->setTemplate('register.tpl');
79: }
80:
81: function setToUsers($user, $userConfig)
82: {
83: $this->mMailer->setToUsers($user);
84: }
85:
86: function setFromEmail($xoopsConfig)
87: {
88: $this->mMailer->setFromEmail($xoopsConfig['adminmail']);
89: $this->mMailer->setFromName($xoopsConfig['sitename']);
90: }
91:
92: function setSubject($user, $xoopsConfig)
93: {
94: $this->mMailer->setSubject(@sprintf(_MD_USER_LANG_USERKEYFOR, $user->getShow('uname')));
95: }
96:
97: function setBody($user,$xoopsConfig)
98: {
99: $this->mMailer->assign('SITENAME', $xoopsConfig['sitename']);
100: $this->mMailer->assign('ADMINMAIL', $xoopsConfig['adminmail']);
101: $this->mMailer->assign('SITEURL', XOOPS_URL . '/');
102: $this->mMailer->assign('USERACTLINK', XOOPS_URL . '/user.php?op=actv&uid=' . $user->getVar('uid') . '&actkey=' . $user->getShow('actkey'));
103: }
104:
105: function &getResult()
106: {
107: return $this->mMailer;
108: }
109: }
110:
111: 112: 113: 114: 115: 116:
117: class User_RegistUserAdminActivateMailBuilder extends User_RegistUserActivateMailBuilder
118: {
119: function setTemplate()
120: {
121: $root=&XCube_Root::getSingleton();
122: $language = $root->mContext->getXoopsConfig('language');
123: $this->mMailer->setTemplateDir(XOOPS_ROOT_PATH . '/modules/user/language/' . $language . '/mail_template/');
124: $this->mMailer->setTemplate('adminactivate.tpl');
125: }
126:
127: function setToUsers($user, $userConfig)
128: {
129: $memberHandler=&xoops_gethandler('member');
130: $this->mMailer->setToGroups($memberHandler->getGroup($userConfig['activation_group']));
131: }
132:
133: function setFromUser($xoopsConfig)
134: {
135: $this->mMailer->setFromEmail($xoopsConfig['adminmail']);
136: $this->mMailer->setFromName($xoopsConfig['sitename']);
137: }
138:
139: function setSubject($user, $xoopsConfig)
140: {
141: $this->mMailer->setSubject(@sprintf(_MD_USER_LANG_USERKEYFOR,$user->getVar('uname')));
142: }
143:
144: function setBody($user, $xoopsConfig)
145: {
146: parent::setBody($user,$xoopsConfig);
147: $this->mMailer->assign('USERNAME', $user->getVar('uname'));
148: $this->mMailer->assign('USEREMAIL', $user->getVar('email'));
149: $this->mMailer->assign('USERACTLINK', XOOPS_URL . '/user.php?op=actv&uid=' . $user->getVar('uid') . '&actkey=' . $user->getVar('actkey'));
150: }
151: }
152:
153: 154: 155: 156: 157: 158: 159:
160: class User_RegistUserNotifyMailBuilder extends User_RegistUserActivateMailBuilder
161: {
162: function setTemplate()
163: {
164: }
165:
166: function setToUsers($user, $userConfig)
167: {
168: $memberHandler=&xoops_gethandler('member');
169: $this->mMailer->setToGroups($memberHandler->getGroup($userConfig['new_user_notify_group']));
170: }
171:
172: function setSubject($user, $xoopsConfig)
173: {
174: $this->mMailer->setSubject(@sprintf(_MD_USER_LANG_NEWUSERREGAT, $xoopsConfig['sitename']));
175: }
176:
177: function setBody($user, $xoopsConfig)
178: {
179: $this->mMailer->setBody(@sprintf(_MD_USER_LANG_HASJUSTREG, $user->getVar('uname')));
180: }
181: }
182:
183: 184: 185: 186: 187:
188: class User_RegistAdminCommitMailBuilder extends User_RegistUserActivateMailBuilder
189: {
190: function setTemplate()
191: {
192: $root=&XCube_Root::getSingleton();
193: $language = $root->mContext->getXoopsConfig('language');
194: $this->mMailer->setTemplateDir(XOOPS_ROOT_PATH . '/modules/user/language/' . $language . '/mail_template/');
195: $this->mMailer->setTemplate('activated.tpl');
196: }
197:
198: function setSubject($user, $xoopsConfig)
199: {
200: $this->mMailer->setSubject(@sprintf(_MD_USER_LANG_YOURACCOUNT, $xoopsConfig['sitename']));
201: }
202: }
203:
204: ?>