Esempio n. 1
0
 /**
  * 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;
 }
Esempio n. 2
0
    //show change password form
    $form = new icms_form_Theme(_MD_PROFILE_CHANGEMAIL, 'form', $_SERVER['REQUEST_URI'], 'post', true);
    $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');
Esempio n. 3
0
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 '';
}
Esempio n. 4
0
    $form->display();
} else {
    $member_handler = icms::handler('icms_member');
    $getuser = $member_handler->getUsers(new icms_db_criteria_Item('email', icms_core_DataFilter::addSlashes(trim($_REQUEST['email']))));
    if (count($getuser) == 0) {
        redirect_header(ICMS_URL, 2, _MD_PROFILE_SORRYNOTFOUND);
    }
    if ($getuser[0]->isActive()) {
        redirect_header(ICMS_URL, 2, sprintf(_MD_PROFILE_USERALREADYACTIVE, $getuser[0]->getVar('email')));
    }
    if ($getuser[0]->isDisabled()) {
        redirect_header(ICMS_URL, 2, sprintf(_MD_PROFILE_USERDISABLED, $getuser[0]->getVar('email')));
    }
    $icmsMailer = new icms_messaging_Handler();
    $icmsMailer->useMail();
    $icmsMailer->setTemplate('register.tpl');
    $icmsMailer->setTemplateDir(ICMS_ROOT_PATH . '/modules/' . icms::$module->getVar('dirname') . '/language/' . $icmsConfig['language'] . '/mail_template/');
    $icmsMailer->assign('SITENAME', $icmsConfig['sitename']);
    $icmsMailer->assign('ADMINMAIL', $icmsConfig['adminmail']);
    $icmsMailer->assign('SITEURL', ICMS_URL);
    $icmsMailer->setToUsers($getuser[0]);
    $icmsMailer->setFromEmail($icmsConfig['adminmail']);
    $icmsMailer->setFromName($icmsConfig['sitename']);
    $icmsMailer->setSubject($icmsMailer->setSubject(sprintf(_MD_PROFILE_USERKEYFOR, $getuser[0]->getVar('uname'))));
    if (!$icmsMailer->send()) {
        echo _MD_PROFILE_YOURREGMAILNG;
    } else {
        echo _MD_PROFILE_YOURREGISTERED;
    }
}
include ICMS_ROOT_PATH . '/footer.php';