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
 /**
  * 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;
     }
 }
Esempio n. 3
0
		}
		$member_handler = icms::handler('icms_member');
		$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';
Esempio n. 4
0
		$added_count = count($added);
		icms_cp_header();
		echo '<div class="CPbigTitle" style="background-image: url('. ICMS_MODULES_URL . '/system/admin/mailusers/images/mailusers_big.png)">' . _MD_AM_MLUS . '</div><br />';
		if ($added_count > 0) {
			$xoopsMailer = new icms_messaging_Handler();
			for ($i = 0; $i < $added_count; $i++) {
				$xoopsMailer->setToUsers($added[$i]);
			}

			$xoopsMailer->setFromName(icms_core_DataFilter::stripSlashesGPC($_POST['mail_fromname']));
			$xoopsMailer->setFromEmail(icms_core_DataFilter::stripSlashesGPC($_POST['mail_fromemail']));
			$xoopsMailer->setSubject(icms_core_DataFilter::stripSlashesGPC($_POST['mail_subject']));
			$xoopsMailer->setBody(icms_core_DataFilter::stripSlashesGPC($_POST['mail_body']));
			if (in_array("mail", $_POST['mail_send_to'])) {
				$xoopsMailer->useMail();
			}
			if (in_array("pm", $_POST['mail_send_to']) && empty($_POST['mail_inactive'])) {
				$xoopsMailer->usePM();
			}

			$xoopsMailer->send(TRUE);
			echo $xoopsMailer->getSuccess();
			echo $xoopsMailer->getErrors();

			if ($count_criteria > $limit) {
				$form = new icms_form_Theme(_AM_SENDMTOUSERS, "mailusers", "admin.php?fct=mailusers", 'post', TRUE);
				if (!empty($_POST['mail_to_group'])) {
					foreach ($_POST['mail_to_group'] as $mailgroup) {
						$group_hidden = new icms_form_elements_Hidden("mail_to_group[]", $mailgroup);
						$form->addElement($group_hidden);
Esempio n. 5
0
/**
 * Function to let the client E-mail his
 * banner Stats
 *
 * @param int $cid client id
 * @param int $bid banner id
 */
function EmailStats($cid, $bid)
{
    global $icmsConfig;
    if ($_SESSION['banner_login'] != "" && $_SESSION['banner_pass'] != "") {
        $cid = (int) $cid;
        $bid = (int) $bid;
        if ($result2 = icms::$xoopsDB->query(sprintf("SELECT name, email, passwd FROM %s WHERE cid='%u' AND login=%s", icms::$xoopsDB->prefix('bannerclient'), $cid, icms::$xoopsDB->quoteString($_SESSION['banner_login'])))) {
            list($name, $email, $passwd) = icms::$xoopsDB->fetchRow($result2);
            if ($_SESSION['banner_pass'] == $passwd) {
                if ($email == "") {
                    redirect_header('banners.php', 3, sprintf(_BANNERS_MAIL_ERROR, $name));
                } else {
                    if ($result = icms::$xoopsDB->query("SELECT bid, imptotal, impmade, clicks, imageurl, clickurl, date FROM\r\n\t\t\t\t\t\t" . icms::$xoopsDB->prefix('banner') . " WHERE bid='" . $bid . "' AND cid='" . $cid . "'")) {
                        list($bid, $imptotal, $impmade, $clicks, $imageurl, $clickurl, $date) = icms::$xoopsDB->fetchRow($result);
                        if ($impmade == 0) {
                            $percent = 0;
                        } else {
                            $percent = substr(100 * $clicks / $impmade, 0, 5);
                        }
                        if ($imptotal == 0) {
                            $left = _BANNERS_UNLIMITED;
                            $imptotal = _BANNERS_UNLIMITED;
                        } else {
                            $left = $imptotal - $impmade;
                        }
                        $fecha = date(_LONGDATESTRING);
                        $subject = sprintf(_BANNERS_MAIL_SUBJECT, $icmsConfig['sitename']);
                        $message = sprintf(_BANNERS_MAIL_MESSAGE, $icmsConfig['sitename'], $name, $bid, $imageurl, $clickurl, $imptotal, $impmade, $left, $clicks, $percent, $fecha);
                        $xoopsMailer = new icms_messaging_Handler();
                        $xoopsMailer->useMail();
                        $xoopsMailer->setToEmails($email);
                        $xoopsMailer->setFromEmail($icmsConfig['adminmail']);
                        $xoopsMailer->setFromName($icmsConfig['sitename']);
                        $xoopsMailer->setSubject($subject);
                        $xoopsMailer->setBody($message);
                        $xoopsMailer->send();
                        redirect_header('banners.php?op=Ok', 3, _BANNERS_MAIL_OK);
                    }
                }
            }
        }
    }
    redirect_header('banners.php', 2);
}
Esempio n. 6
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 '';
}