/** * Send a notification message to the user * * @param string $template_dir Template directory * @param string $template Template name * @param string $subject Subject line for notification message * @param array $tags Array of substitutions for template variables * * @return bool true if success, false if error **/ public function notifyUser($template_dir, $template, $subject, $tags) { global $icmsConfigMailer; // Check the user's notification preference. $member_handler = icms::handler('icms_member'); $user =& $member_handler->getUser($this->getVar('not_uid')); if (!is_object($user)) { return true; } $method = $user->getVar('notify_method'); $xoopsMailer = new icms_messaging_Handler(); include_once ICMS_ROOT_PATH . '/include/notification_constants.php'; switch ($method) { case XOOPS_NOTIFICATION_METHOD_PM: $xoopsMailer->usePM(); $xoopsMailer->setFromUser($member_handler->getUser($icmsConfigMailer['fromuid'])); foreach ($tags as $k => $v) { $xoopsMailer->assign($k, $v); } break; case XOOPS_NOTIFICATION_METHOD_EMAIL: $xoopsMailer->useMail(); foreach ($tags as $k => $v) { $xoopsMailer->assign($k, preg_replace("/&/i", '&', $v)); } break; default: return true; // report error in user's profile?? break; } // Set up the mailer $xoopsMailer->setTemplateDir($template_dir); $xoopsMailer->setTemplate($template); $xoopsMailer->setToUsers($user); //global $icmsConfig; //$xoopsMailer->setFromEmail($icmsConfig['adminmail']); //$xoopsMailer->setFromName($icmsConfig['sitename']); $xoopsMailer->setSubject($subject); $success = $xoopsMailer->send(); // If send-once-then-delete, delete notification // If send-once-then-wait, disable notification include_once ICMS_ROOT_PATH . '/include/notification_constants.php'; $notification_handler = icms::handler('icms_data_notification'); if ($this->getVar('not_mode') == XOOPS_NOTIFICATION_MODE_SENDONCETHENDELETE) { $notification_handler->delete($this); return $success; } if ($this->getVar('not_mode') == XOOPS_NOTIFICATION_MODE_SENDONCETHENWAIT) { $this->setVar('not_mode', XOOPS_NOTIFICATION_MODE_WAITFORLOGIN); $notification_handler->insert($this); } return $success; }
/** * sends a notification to admins to inform them that a new user registered * * This method first checks in the preferences if we need to send a notification to admins upon new user * registration. If so, it sends the mail. * * return TRUE if success, FALSE if not */ public function newUserNotifyAdmin() { global $icmsConfigUser, $icmsConfig; if ($icmsConfigUser['new_user_notify'] == 1 && !empty($icmsConfigUser['new_user_notify_group'])) { $member_handler = icms::handler('icms_member'); $xoopsMailer = new icms_messaging_Handler(); $xoopsMailer->useMail(); $xoopsMailer->setTemplate('newuser_notify.tpl'); $xoopsMailer->assign('UNAME', $this->getVar('uname')); $xoopsMailer->assign('EMAIL', $this->getVar('email')); $xoopsMailer->setToGroups($member_handler->getGroup($icmsConfigUser['new_user_notify_group'])); $xoopsMailer->setFromEmail($icmsConfig['adminmail']); $xoopsMailer->setFromName($icmsConfig['sitename']); $xoopsMailer->setSubject(sprintf(_US_NEWUSERREGAT, $icmsConfig['sitename'])); if (!$xoopsMailer->send(true)) { $this->setErrors(_US_NEWUSERNOTIFYADMINFAIL); return false; } else { return true; } } else { return true; } }
$thisuser =& $member_handler->getUser($id); if (!is_object($thisuser)) { exit(); } if ($thisuser->getVar('actkey') != $actkey) { redirect_header('index.php',5,_US_ACTKEYNOT); } else { if ($thisuser->getVar('level') > 0) { redirect_header('user.php', 5, _US_ACONTACT, FALSE); } else { if (FALSE !== $member_handler->activateUser($thisuser)) { if ($icmsConfigUser['activation_type'] == 2) { $icmsMailer = new icms_messaging_Handler(); $icmsMailer->useMail(); $icmsMailer->setTemplate('activated.tpl'); $icmsMailer->assign('SITENAME', $icmsConfig['sitename']); $icmsMailer->assign('ADMINMAIL', $icmsConfig['adminmail']); $icmsMailer->assign('SITEURL', ICMS_URL . '/'); $icmsMailer->setToUsers($thisuser); $icmsMailer->setFromEmail($icmsConfig['adminmail']); $icmsMailer->setFromName($icmsConfig['sitename']); $icmsMailer->setSubject(sprintf(_US_YOURACCOUNT, $icmsConfig['sitename'])); include 'header.php'; if (!$icmsMailer->send()) { printf(_US_ACTVMAILNG, $thisuser->getVar('uname')); } else { printf(_US_ACTVMAILOK, $thisuser->getVar('uname')); } include 'footer.php'; } else { $thisuser->sendWelcomeMessage();
} if (!checkEmail($email)) { $stop .= _US_INVALIDMAIL . '<br />'; } if (empty($stop)) { $invite_code = substr(md5(uniqid(mt_rand(), 1)), 0, 8); $sql = sprintf('INSERT INTO ' . icms::$xoopsDB->prefix('invites') . ' (invite_code, from_id, invite_to, invite_date, extra_info) VALUES (%s, %d, %s, %d, %s)', icms::$xoopsDB->quoteString(addslashes($invite_code)), is_object(icms::$user) ? icms::$user->getVar('uid') : 0, icms::$xoopsDB->quoteString(addslashes($email)), time(), icms::$xoopsDB->quoteString(addslashes(serialize(array())))); icms::$xoopsDB->query($sql); // if query executed successful if (icms::$xoopsDB->getAffectedRows() == 1) { $xoopsMailer = new icms_messaging_Handler(); $xoopsMailer->useMail(); $xoopsMailer->setTemplate('invite.tpl'); $xoopsMailer->assign('SITENAME', $icmsConfig['sitename']); $xoopsMailer->assign('ADMINMAIL', $icmsConfig['adminmail']); $xoopsMailer->assign('SITEURL', ICMS_URL . "/"); $xoopsMailer->assign('USEREMAIL', $email); $xoopsMailer->assign('REGISTERLINK', ICMS_URL . '/register.php?code=' . $invite_code); $xoopsMailer->setToEmails($email); $xoopsMailer->setFromEmail($icmsConfig['adminmail']); $xoopsMailer->setFromName($icmsConfig['sitename']); $xoopsMailer->setSubject(sprintf(_US_INVITEREGLINK, ICMS_URL)); if (!$xoopsMailer->send()) { $stop .= _US_INVITEMAILERR; } else { echo _US_INVITESENT; } } else { $stop .= _US_INVITEDBERR;
$userHandler = icms::handler('icms_member_user'); $toUser =& $userHandler->get((int) $_POST['to_userid']); // Only send email notif if notification method is mail if ($toUser->getVar('notify_method') == 2) { $xoopsMailer = new icms_messaging_Handler(); $xoopsMailer->useMail(); $xoopsMailer->setToEmails($toUser->getVar('email')); if (icms::$user->getVar('user_viewemail')) { $xoopsMailer->setFromEmail(icms::$user->getVar('email')); $xoopsMailer->setFromName(icms::$user->getVar('uname')); } else { $xoopsMailer->setFromEmail($icmsConfig['adminmail']); $xoopsMailer->setFromName($icmsConfig['sitename']); } $xoopsMailer->setTemplate('new_pm.tpl'); $xoopsMailer->assign('X_SITENAME', $icmsConfig['sitename']); $xoopsMailer->assign('X_SITEURL', ICMS_URL . "/"); $xoopsMailer->assign('X_ADMINMAIL', $icmsConfig['adminmail']); $xoopsMailer->assign('X_UNAME', $toUser->getVar('uname')); $xoopsMailer->assign('X_FROMUNAME', icms::$user->getVar('uname')); $xoopsMailer->assign('X_SUBJECT', icms_core_DataFilter::stripSlashesGPC($_POST['subject'])); $xoopsMailer->assign('X_MESSAGE', icms_core_DataFilter::stripSlashesGPC($_POST['message'])); $xoopsMailer->assign('X_ITEM_URL', ICMS_URL . "/viewpmsg.php"); $xoopsMailer->setSubject(sprintf(_PM_MESSAGEPOSTED_EMAILSUBJ, $icmsConfig['sitename'])); $xoopsMailer->send(); } echo "<br /><br /><div style='text-align:center;'><h4>" . _PM_MESSAGEPOSTED . "</h4><br />\r\n\t\t\t\t\t<a href=\"javascript:window.opener.location='" . ICMS_URL . "/viewpmsg.php';window.close();\">" . _PM_CLICKHERE . "</a><br /><br />\r\n\t\t\t\t\t<a href=\"javascript:window.close();\">" . _PM_ORCLOSEWINDOW . "</a></div>"; } } } elseif ($reply == 1 || $send == 1 || $send2 == 1) { if ($reply == 1) {
function postSaveProcess($newuser) { global $icmsConfigUser, $icmsConfig, $template_dir, $member_handler; $newid = (int) $newuser->getVar('uid'); if (!$member_handler->addUserToGroup(ICMS_GROUP_USERS, $newid)) { return _MD_PROFILE_REGISTERNG; } if ($icmsConfigUser['new_user_notify'] == 1 && !empty($icmsConfigUser['new_user_notify_group'])) { $icmsMailer = new icms_messaging_Handler(); $icmsMailer->useMail(); $icmsMailer->setToGroups($member_handler->getGroup($icmsConfigUser['new_user_notify_group'])); $icmsMailer->setFromEmail($icmsConfig['adminmail']); $icmsMailer->setFromName($icmsConfig['sitename']); $icmsMailer->setSubject(sprintf(_MD_PROFILE_NEWUSERREGAT, $icmsConfig['sitename'])); $icmsMailer->setBody(sprintf(_MD_PROFILE_HASJUSTREG, $newuser->getVar('uname'))); $icmsMailer->send(true); } if ($icmsConfigUser['activation_type'] == 1) { return ''; } if ($icmsConfigUser['activation_type'] == 0) { $icmsMailer = new icms_messaging_Handler(); $icmsMailer->useMail(); $icmsMailer->setTemplate('register.tpl'); $icmsMailer->setTemplateDir($template_dir); $icmsMailer->assign('X_SITENAME', $icmsConfig['sitename']); $icmsMailer->assign('X_ADMINMAIL', $icmsConfig['adminmail']); $icmsMailer->assign('X_SITEURL', ICMS_URL . '/'); $icmsMailer->assign('X_USERPASSWORD', $_POST['vpass']); $icmsMailer->assign('X_USERLOGINNAME', $_POST['login_name']); $icmsMailer->setToUsers(new icms_member_user_Object($newid)); $icmsMailer->setFromEmail($icmsConfig['adminmail']); $icmsMailer->setFromName($icmsConfig['sitename']); $icmsMailer->setSubject(sprintf(_MD_PROFILE_USERKEYFOR, $newuser->getVar('uname'))); if (!$icmsMailer->send(true)) { return _MD_PROFILE_YOURREGMAILNG; } else { return _MD_PROFILE_YOURREGISTERED; } } elseif ($icmsConfigUser['activation_type'] == 2) { $icmsMailer = new icms_messaging_Handler(); $icmsMailer->useMail(); $icmsMailer->setTemplate('adminactivate.tpl'); $icmsMailer->setTemplateDir($template_dir); $icmsMailer->assign('USERNAME', $newuser->getVar('uname')); $icmsMailer->assign('USERLOGINNAME', $newuser->getVar('login_name')); $icmsMailer->assign('USEREMAIL', $newuser->getVar('email')); $icmsMailer->assign('USERACTLINK', ICMS_URL . '/user.php?op=actv&id=' . $newid . '&actkey=' . $newuser->getVar('actkey')); $icmsMailer->assign('SITENAME', $icmsConfig['sitename']); $icmsMailer->assign('ADMINMAIL', $icmsConfig['adminmail']); $icmsMailer->assign('SITEURL', ICMS_URL); $icmsMailer->setToGroups($member_handler->getGroup($icmsConfigUser['activation_group'])); $icmsMailer->setFromEmail($icmsConfig['adminmail']); $icmsMailer->setFromName($icmsConfig['sitename']); $icmsMailer->setSubject(sprintf(_MD_PROFILE_USERKEYFOR, $newuser->getVar('uname'))); if (!$icmsMailer->send(true)) { return _MD_PROFILE_YOURREGMAILNG; } else { return _MD_PROFILE_YOURREGISTERED2; } } return ''; }
$xoopsMailer->setTemplate('register.tpl'); $xoopsMailer->setToUsers(new icms_member_user_Object($newid)); $xoopsMailer->setFromEmail($icmsConfig['adminmail']); $xoopsMailer->setFromName($icmsConfig['sitename']); $xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $uname)); if (!$xoopsMailer->send()) { echo "<div id='yourregmailng'>" . _US_YOURREGMAILNG . "</div>"; } else { echo "<div id='yourregistered'>" . _US_YOURREGISTERED . "</div>"; } // activation by admin } elseif ($icmsConfigUser['activation_type'] == 2) { $xoopsMailer = new icms_messaging_Handler(); $xoopsMailer->useMail(); $xoopsMailer->setTemplate('adminactivate.tpl'); $xoopsMailer->assign('USERNAME', $uname); $xoopsMailer->assign('USERLOGINNAME', $login_name); $xoopsMailer->assign('USEREMAIL', $email); $xoopsMailer->assign('USERACTLINK', ICMS_URL . '/user.php?op=actv&id=' . $newid . '&actkey=' . $newuser->getVar('actkey')); $member_handler = icms::handler('icms_member'); $xoopsMailer->setToGroups($member_handler->getGroup($icmsConfigUser['activation_group'])); $xoopsMailer->setFromEmail($icmsConfig['adminmail']); $xoopsMailer->setFromName($icmsConfig['sitename']); $xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $uname)); if (!$xoopsMailer->send()) { echo "<div id='yourregmailng'>" . _US_YOURREGMAILNG . "</div>"; } else { echo "<div id='yourregistered2'>" . _US_YOURREGISTERED2 . "</div>"; } } } else {
redirect_header('user.php', 2, _US_SORRYUNAMENOTMATCHEMAIL); } else { $current_pass = $getuser[0]->getVar('pass'); $current_salt = $getuser[0]->getVar('salt'); $enc_type = $getuser[0]->getVar('enc_type'); $icmspass = new icms_core_Password(); $c_pass = $icmspass->encryptPass($c_password, $current_salt, $enc_type, 1); if ($c_pass !== $current_pass) { redirect_header('user.php', 2, _US_SORRYINCORRECTPASS); } $salt = $icmspass->createSalt(); $pass = $icmspass->encryptPass($password, $salt, $icmsConfigUser['enc_type']); $xoopsMailer = new icms_messaging_Handler(); $xoopsMailer->useMail(); $xoopsMailer->setTemplate('resetpass2.tpl'); $xoopsMailer->assign('SITENAME', $icmsConfig['sitename']); $xoopsMailer->assign('ADMINMAIL', $icmsConfig['adminmail']); $xoopsMailer->assign('SITEURL', ICMS_URL . '/'); $xoopsMailer->assign('IP', $_SERVER['REMOTE_ADDR']); $xoopsMailer->setToUsers($getuser[0]); $xoopsMailer->setFromEmail($icmsConfig['adminmail']); $xoopsMailer->setFromName($icmsConfig['sitename']); $xoopsMailer->setSubject(sprintf(_US_PWDRESET, ICMS_URL)); if (!$xoopsMailer->send()) { echo $xoopsMailer->getErrors(); } $sql = sprintf("UPDATE %s SET pass = '******', salt = '%s', pass_expired = '%u', enc_type = '%u' WHERE uid = '%u'", icms::$xoopsDB->prefix('users'), $pass, $salt, 0, (int) $icmsConfigUser['enc_type'], (int) $getuser[0]->getVar('uid')); if (!icms::$xoopsDB->queryF($sql)) { include 'header.php'; echo _US_RESETPWDNG; include 'footer.php';
} else { $ymail = isset($_POST['ymail']) ? icms_core_DataFilter::stripSlashesGPC(trim($_POST['ymail'])) : ''; } if (!isset($_POST['yname']) || trim($_POST['yname']) == '' || $ymail == '' || !isset($_POST['fname']) || trim($_POST['fname']) == '' || !isset($_POST['fmail']) || trim($_POST['fmail']) == '') { redirect_header(ICMS_URL . '/misc.php?action=showpopups&type=friend&op=sendform', 2, _MSC_NEEDINFO); } $yname = icms_core_DataFilter::stripSlashesGPC(trim($_POST['yname'])); $fname = icms_core_DataFilter::stripSlashesGPC(trim($_POST['fname'])); $fmail = icms_core_DataFilter::stripSlashesGPC(trim($_POST['fmail'])); if (!checkEmail($fmail) || !checkEmail($ymail) || preg_match('/[\\0-\\31]/', $yname)) { $errormessage = _MSC_INVALIDEMAIL1 . '<br />' . _MSC_INVALIDEMAIL2 . ''; redirect_header(ICMS_URL . '/misc.php?action=showpopups&type=friend&op=sendform', 2, $errormessage); } $xoopsMailer = new icms_messaging_Handler(); $xoopsMailer->setTemplate('tellfriend.tpl'); $xoopsMailer->assign('SITENAME', $icmsConfig['sitename']); $xoopsMailer->assign('ADMINMAIL', $icmsConfig['adminmail']); $xoopsMailer->assign('SITEURL', ICMS_URL . '/'); $xoopsMailer->assign('YOUR_NAME', $yname); $xoopsMailer->assign('FRIEND_NAME', $fname); $xoopsMailer->setToEmails($fmail); $xoopsMailer->setFromEmail($ymail); $xoopsMailer->setFromName($yname); $xoopsMailer->setSubject(sprintf(_MSC_INTSITE, $icmsConfig['sitename'])); //OpenTable(); if (!$xoopsMailer->send()) { echo $xoopsMailer->getErrors(); } else { echo '<div><h4>' . _MSC_REFERENCESENT . '</h4></div>'; } //CloseTable();
$form->addElement(new icms_form_elements_Text(_MD_PROFILE_NEWMAIL, 'newmail', 15, 50), true); $form->addElement(new icms_form_elements_Button('', 'submit', _SUBMIT, 'submit')); $form->assign($icmsTpl); } else { //compute unique key $key = md5(substr(icms::$user->getVar('pass'), 0, 5)); if (!isset($_REQUEST['oldmail'])) { if (!icms_core_DataFilter::checkVar($_POST['newmail'], 'email', 0, 1)) { redirect_header(ICMS_URL . '/modules/' . basename(dirname(__FILE__)) . 'changemail.php', 2, _MD_PROFILE_INVALIDMAIL); } //send email to new email address with key $icmsMailer = new icms_messaging_Handler(); $icmsMailer->useMail(); $icmsMailer->setTemplateDir(ICMS_ROOT_PATH . '/modules/' . basename(dirname(__FILE__)) . '/language/' . $icmsConfig['language'] . '/mail_template'); $icmsMailer->setTemplate('changemail.tpl'); $icmsMailer->assign('SITENAME', $icmsConfig['sitename']); $icmsMailer->assign('X_UNAME', icms::$user->getVar('uname')); $icmsMailer->assign('ADMINMAIL', $icmsConfig['adminmail']); $icmsMailer->assign('SITEURL', ICMS_URL); $icmsMailer->assign('IP', $_SERVER['REMOTE_ADDR']); $icmsMailer->assign('NEWEMAIL_LINK', ICMS_URL . '/modules/' . basename(dirname(__FILE__)) . '/changemail.php?code=' . $key . '&oldmail=' . icms::$user->getVar('email')); $icmsMailer->assign('NEWEMAIL', $_POST['newmail']); $icmsMailer->setToEmails($_POST['newmail']); $icmsMailer->setFromEmail($icmsConfig['adminmail']); $icmsMailer->setFromName($icmsConfig['sitename']); $icmsMailer->setSubject(sprintf(_MD_PROFILE_NEWEMAILREQ, $icmsConfig['sitename'])); if ($icmsMailer->send()) { //set proposed email as the user's newemail $profile_profile_handler = icms_getModuleHandler('profile', basename(dirname(__FILE__)), 'profile'); $profile = $profile_profile_handler->get(icms::$user->getVar('uid')); $profile->setVar('newemail', $_POST['newmail']);
icms::$xoopsDB->prefix('users'), $pass, 1, (int) $getuser[0]->getVar('uid')); if (!icms::$xoopsDB->queryF($sql)) { /** Include header.php to start page rendering */ include 'header.php'; echo _US_MAILPWDNG; /** Include footer.php to complete page rendering */ include 'footer.php'; exit(); } redirect_header('user.php', 3, sprintf(_US_PWDMAILED, $getuser[0]->getVar('uname')), FALSE); // If no Code, send it } else { $xoopsMailer = new icms_messaging_Handler(); $xoopsMailer->useMail(); $xoopsMailer->setTemplate('lostpass1.tpl'); $xoopsMailer->assign('SITENAME', $icmsConfig['sitename']); $xoopsMailer->assign('ADMINMAIL', $icmsConfig['adminmail']); $xoopsMailer->assign('SITEURL', ICMS_URL . '/'); $xoopsMailer->assign('IP', $_SERVER['REMOTE_ADDR']); $xoopsMailer->assign('NEWPWD_LINK', ICMS_URL . '/lostpass.php?email=' . $email . '&code=' . $areyou); $xoopsMailer->setToUsers($getuser[0]); $xoopsMailer->setFromEmail($icmsConfig['adminmail']); $xoopsMailer->setFromName($icmsConfig['sitename']); $xoopsMailer->setSubject(sprintf(_US_NEWPWDREQ, $icmsConfig['sitename'])); /** Include header.php to start page rendering */ include 'header.php'; if (!$xoopsMailer->send()) { echo $xoopsMailer->getErrors(); } echo '<h4>'; printf(_US_CONFMAIL, $getuser[0]->getVar('uname'));