1: <?php
2: 3: 4: 5:
6:
7: if (!defined('XOOPS_ROOT_PATH')) exit();
8:
9: 10: 11: 12: 13:
14: class User_LostPassMailDirector
15: {
16: var $mBuilder;
17: var $mXoopsUser;
18: var $mXoopsConfig;
19: var $mExtraVars;
20:
21: function User_LostPassMailDirector(&$builder, &$user, &$xoopsConfig, $extraVars = array())
22: {
23: $this->mBuilder =& $builder;
24: $this->mXoopsUser =& $user;
25: $this->mXoopsConfig =& $xoopsConfig;
26: $this->mExtraVars = $extraVars;
27: }
28:
29: function contruct()
30: {
31: $this->mBuilder->setToUsers($this->mXoopsUser, $this->mXoopsConfig);
32: $this->mBuilder->setFromEmail($this->mXoopsUser, $this->mXoopsConfig);
33: $this->mBuilder->setSubject($this->mXoopsUser, $this->mXoopsConfig);
34: $this->mBuilder->setTemplate();
35: $this->mBuilder->setBody($this->mXoopsUser, $this->mXoopsConfig,$this->mExtraVars);
36: }
37: }
38:
39: 40: 41: 42: 43: 44: 45:
46: class User_LostPass1MailBuilder
47: {
48: var $mMailer;
49:
50: function User_LostPass1MailBuilder()
51: {
52: $this->mMailer =& getMailer();
53: $this->mMailer->useMail();
54: }
55:
56: function setToUsers($user, $xoopsConfig)
57: {
58: $this->mMailer->setToUsers($user);
59: }
60:
61: function setFromEmail($user, $xoopsConfig)
62: {
63: $this->mMailer->setFromEmail($xoopsConfig['adminmail']);
64: $this->mMailer->setFromName($xoopsConfig['sitename']);
65: }
66:
67: function setSubject($user, $xoopsConfig)
68: {
69: $this->mMailer->setSubject(sprintf(_MD_USER_LANG_NEWPWDREQ, $xoopsConfig['sitename']));
70: }
71:
72: 73: 74:
75: function setTemplate()
76: {
77: $root =& XCube_Root::getSingleton();
78: $language = $root->mContext->getXoopsConfig('language');
79: $this->mMailer->setTemplateDir(XOOPS_MODULE_PATH . '/user/language/' . $language . '/mail_template/');
80: $this->mMailer->setTemplate("lostpass1.tpl");
81: }
82:
83: function setBody($user,$xoopsConfig,$extraVars)
84: {
85: $this->mMailer->assign("SITENAME", $xoopsConfig['sitename']);
86: $this->mMailer->assign("ADMINMAIL", $xoopsConfig['adminmail']);
87: $this->mMailer->assign("SITEURL", XOOPS_URL . "/");
88: $this->mMailer->assign("IP", $_SERVER['REMOTE_ADDR']);
89: $this->mMailer->assign("NEWPWD_LINK", XOOPS_URL . "/lostpass.php?email=" . $user->getShow('email') . "&code=" . substr($user->get("pass"), 0, 5));
90: }
91:
92: function &getResult()
93: {
94: return $this->mMailer;
95: }
96: }
97:
98: 99: 100: 101: 102: 103:
104: class User_LostPass2MailBuilder extends User_LostPass1MailBuilder
105: {
106: function setTemplate()
107: {
108: $root=&XCube_Root::getSingleton();
109: $language = $root->mContext->getXoopsConfig('language');
110: $this->mMailer->setTemplateDir(XOOPS_MODULE_PATH . '/user/language/' . $language . '/mail_template/');
111: $this->mMailer->setTemplate("lostpass2.tpl");
112: }
113:
114: function setSubject($user, $xoopsConfig)
115: {
116: $this->mMailer->setSubject(sprintf(_MD_USER_LANG_NEWPWDREQ, $xoopsConfig['sitename']));
117: }
118:
119: function setBody($user, $xoopsConfig, $extraVars)
120: {
121: $this->mMailer->assign("SITENAME", $xoopsConfig['sitename']);
122: $this->mMailer->assign("ADMINMAIL", $xoopsConfig['adminmail']);
123: $this->mMailer->assign("SITEURL", XOOPS_URL . "/");
124: $this->mMailer->assign("IP", $_SERVER['REMOTE_ADDR']);
125: $this->mMailer->assign("NEWPWD", $extraVars['newpass']);
126: }
127: }
128: ?>
129: