コード例 #1
0
 /**
  * XoopsUserUtility::sendWelcome
  *
  * @param mixed $user
  * @return
  */
 function sendWelcome($user)
 {
     global $xoopsConfigUser, $xoopsConfig;
     if (empty($xoopsConfigUser)) {
         $config_handler =& xoops_gethandler('config');
         $xoopsConfigUser = $config_handler->getConfigsByCat(XOOPS_CONF_USER);
     }
     if (empty($xoopsConfigUser['welcome_type'])) {
         return true;
     }
     if (!empty($user) && !is_object($user)) {
         $member_handler =& xoops_gethandler('member');
         $user =& $member_handler->getUser($user);
     }
     if (!is_object($user)) {
         return false;
     }
     xoops_loadLanguage('user');
     $xoopsMailer =& xoops_getMailer();
     if ($xoopsConfigUser['welcome_type'] == 1 || $xoopsConfigUser['welcome_type'] == 3) {
         $xoopsMailer->useMail();
     }
     if ($xoopsConfigUser['welcome_type'] == 2 || $xoopsConfigUser['welcome_type'] == 3) {
         $xoopsMailer->usePM();
     }
     $xoopsMailer->setTemplate('welcome.tpl');
     $xoopsMailer->setSubject(sprintf(_US_WELCOME_SUBJECT, $xoopsConfig['sitename']));
     $xoopsMailer->setToUsers($user);
     if ($xoopsConfigUser['reg_dispdsclmr'] && $xoopsConfigUser['reg_disclaimer']) {
         $xoopsMailer->assign('TERMSOFUSE', $xoopsConfigUser['reg_disclaimer']);
     } else {
         $xoopsMailer->assign('TERMSOFUSE', '');
     }
     return $xoopsMailer->send();
 }
コード例 #2
0
ファイル: functions.php プロジェクト: trabisdementia/xuups
function subscribers_sendEmails()
{
    global $xoopsConfig;
    $thisConfigs =& subscribers_getModuleConfig();
    $emailsperpack = intval($thisConfigs['emailsperpack']);
    $timebpacks = intval($thisConfigs['timebpacks']);
    $fromname = trim($thisConfigs['fromname']);
    $fromemail = trim($thisConfigs['fromemail']);
    $fromname = $fromname != '' ? $fromname : $xoopsConfig['sitename'];
    $fromemail = $fromemail != '' ? $fromemail : $xoopsConfig['adminmail'];
    $now = time();
    $last = subscribers_getLastTime();
    if ($now - $last <= $timebpacks) {
        return false;
    }
    $this_handler =& xoops_getModuleHandler('waiting', 'subscribers');
    $criteria = new CriteriaCompo();
    $criteria->setSort('wt_priority DESC, wt_created');
    $criteria->setOrder('ASC');
    $criteria->setLimit($emailsperpack);
    $objs = $this_handler->getObjects($criteria);
    $count = count($objs);
    unset($criteria);
    if ($count == 0) {
        return false;
    }
    include_once XOOPS_ROOT_PATH . '/kernel/user.php';
    $obj_delete = array();
    foreach ($objs as $obj) {
        $xoopsMailer =& xoops_getMailer();
        $xoopsMailer->multimailer->ContentType = "text/html";
        $xoopsMailer->setTemplateDir(XOOPS_ROOT_PATH . '/modules/subscribers/language/' . $xoopsConfig['language'] . '/mail_template/');
        $xoopsMailer->setTemplate('content.tpl');
        $xoopsMailer->setFromName($fromname);
        $xoopsMailer->setFromEmail($fromemail);
        $xoopsMailer->useMail();
        $xoopsMailer->setToEmails(array($obj->getVar('wt_toemail', 'n')));
        $xoopsMailer->setSubject($obj->getVar('wt_subject'), 'n');
        $xoopsMailer->assign('CONTENT', $obj->getVar('wt_body'));
        $key = md5($obj->getVar('wt_toemail', 'n') . XOOPS_ROOT_PATH);
        $xoopsMailer->assign("UNSUBSCRIBE_URL", XOOPS_URL . '/modules/subscribers/unsubscribe.php?email=' . $obj->getVar('wt_toemail', 'n') . '&key=' . $key);
        $xoopsMailer->send(false);
        unset($xoopsMailer);
        $obj_delete[] = $obj->getVar('wt_id');
    }
    $criteria = new Criteria('wt_id', '(' . implode(',', $obj_delete) . ')', 'IN');
    $this_handler->deleteAll($criteria, true);
    subscribers_setLastTime($now);
    return true;
}
コード例 #3
0
            }
        }
    }
    // Not implemented yet: re-send activiation code
} else {
    if (!empty($_REQUEST['email']) && $xoopsConfigUser['activation_type'] != 0) {
        $myts =& MyTextSanitizer::getInstance();
        $member_handler =& xoops_gethandler('member');
        $getuser =& $member_handler->getUsers(new Criteria('email', $myts->addSlashes(trim($_REQUEST['email']))));
        if (count($getuser) == 0) {
            redirect_header(XOOPS_URL, 2, _US_SORRYNOTFOUND);
        }
        if ($getuser[0]->isActive()) {
            redirect_header(XOOPS_URL, 2, sprintf(_US_USERALREADYACTIVE, $getuser[0]->getVar('email')));
        }
        $xoopsMailer =& xoops_getMailer();
        $xoopsMailer->useMail();
        $xoopsMailer->setTemplate('register.tpl');
        $xoopsMailer->assign('SITENAME', $GLOBALS['xoopsConfig']['sitename']);
        $xoopsMailer->assign('ADMINMAIL', $GLOBALS['xoopsConfig']['adminmail']);
        $xoopsMailer->assign('SITEURL', XOOPS_URL . "/");
        $xoopsMailer->setToUsers($getuser[0]);
        $xoopsMailer->setFromEmail($GLOBALS['xoopsConfig']['adminmail']);
        $xoopsMailer->setFromName($GLOBALS['xoopsConfig']['sitename']);
        $xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $getuser[0]->getVar('uname')));
        if (!$xoopsMailer->send()) {
            echo _US_YOURREGMAILNG;
        } else {
            echo _US_YOURREGISTERED;
        }
    } else {
コード例 #4
0
ファイル: banners.php プロジェクト: RanLee/Xoops_demo
/**
 * @param $cid
 * @param $bid
 */
function EmailStats($cid, $bid)
{
    global $xoopsDB, $xoopsConfig;
    if ($_SESSION['banner_login'] != "" && $_SESSION['banner_pass'] != "") {
        $cid = intval($cid);
        $bid = intval($bid);
        if ($result2 = $xoopsDB->query(sprintf("SELECT name, email, passwd FROM %s WHERE cid=%u AND login=%s", $xoopsDB->prefix("bannerclient"), $cid, $xoopsDB->quoteString($_SESSION['banner_login'])))) {
            list($name, $email, $passwd) = $xoopsDB->fetchRow($result2);
            if ($_SESSION['banner_pass'] == $passwd) {
                if ($email == "") {
                    redirect_header("banners.php", 3, sprintf(_BANNERS_MAIL_ERROR, $name));
                    exit;
                } else {
                    if ($result = $xoopsDB->query("SELECT bid, imptotal, impmade, clicks, imageurl, clickurl, date FROM " . $xoopsDB->prefix("banner") . " WHERE bid={$bid} AND cid={$cid}")) {
                        list($bid, $imptotal, $impmade, $clicks, $imageurl, $clickurl, $date) = $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("F jS Y, h:iA.");
                        $subject = sprintf(_BANNERS_MAIL_SUBJECT, $xoopsConfig['sitename']);
                        $message = sprintf(_BANNERS_MAIL_MESSAGE, $xoopsConfig['sitename'], $name, $bid, $imageurl, $clickurl, $imptotal, $impmade, $left, $clicks, $percent, $fecha);
                        $xoopsMailer =& xoops_getMailer();
                        $xoopsMailer->useMail();
                        $xoopsMailer->setToEmails($email);
                        $xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
                        $xoopsMailer->setFromName($xoopsConfig['sitename']);
                        $xoopsMailer->setSubject($subject);
                        $xoopsMailer->setBody($message);
                        $xoopsMailer->send();
                        redirect_header("banners.php?op=Ok", 3, _BANNERS_MAIL_OK);
                        exit;
                    }
                }
            }
        }
    }
    redirect_header("banners.php", 2);
    exit;
}
コード例 #5
0
function &getMailer()
{
    $GLOBALS['xoopsLogger']->addDeprecated("Function " . __FUNCTION__ . "() is deprecated, use xoops_getMailer instead");
    $mailer =& xoops_getMailer();
    return $mailer;
}
コード例 #6
0
 /**
  * Send a notification according to event details
  *
  * @param RMNotificationItem $event
  * @param array $params Parameters to pass to the local notifications controller
  */
 public function notify(RMNotificationItem $event, $params)
 {
     global $xoopsConfig;
     if ($event->isNew()) {
         return false;
     }
     // Include controller file
     if ('plugin' == $event->type) {
         $file = XOOPS_ROOT_PATH . '/modules/rmcommon/plugins/' . $event->element . '/class/' . strtolower($event->element) . '.notifications.class.php';
     } elseif ('theme' == $event->type) {
         $file = XOOPS_ROOT_PATH . '/themes/' . $event->element . '/class/' . strtolower($event->element) . '.notifications.class.php';
     } else {
         $file = XOOPS_ROOT_PATH . '/modules/' . $event->element . '/class/' . strtolower($event->element) . '.notifications.class.php';
     }
     include_once $file;
     $class = ucfirst($event->element) . '_Notifications';
     if (!class_exists($class)) {
         return false;
     }
     $notification = $class::get();
     // Get subscribed users
     $users = $this->users($event);
     // Get the email body
     $xoopsMailer =& xoops_getMailer();
     $xoopsMailer->useMail();
     $xoopsMailer->setHTML($notification->use_html());
     $xoopsMailer->setToUsers($users);
     $xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
     $xoopsMailer->setFromName($notification->from_name());
     $xoopsMailer->setSubject(sprintf(__('Automatic notification: %s', 'rmcommon'), $notification->subject($event->event, $params)));
     $xoopsMailer->setBody($notification->body($event, $params));
     $xoopsMailer->send();
 }
コード例 #7
0
ファイル: myshop_utils.php プロジェクト: naao/myshop
 /**
  * Send an email from a template to a list of recipients
  *
  * @param string $tpl_name	Template's name
  * @param array $recipients	List of recipients
  * @param string $subject	Email's subject
  * @param array $variables	Varirables to give to the template
  * @return boolean Result of the send
  */
 function sendEmailFromTpl($tplName, $recipients, $subject, $variables)
 {
     global $xoopsConfig;
     require_once XOOPS_ROOT_PATH . '/class/xoopsmailer.php';
     if (!is_array($recipients)) {
         if (trim($recipients) == '') {
             return false;
         }
     } else {
         if (count($recipients) == 0) {
             return false;
         }
     }
     if (function_exists('xoops_getMailer')) {
         $xoopsMailer =& xoops_getMailer();
     } else {
         $xoopsMailer =& getMailer();
     }
     $xoopsMailer->useMail();
     $xoopsMailer->setTemplateDir(XOOPS_ROOT_PATH . '/modules/' . self::MODULE_NAME . '/language/' . $xoopsConfig['language'] . '/mail_template');
     $xoopsMailer->setTemplate($tplName);
     $xoopsMailer->setToEmails($recipients);
     // TODO: Change !
     // $xoopsMailer->setFromEmail('*****@*****.**');
     //$xoopsMailer->setFromName('MonSite');
     $xoopsMailer->setSubject($subject);
     foreach ($variables as $key => $value) {
         $xoopsMailer->assign($key, $value);
     }
     $res = $xoopsMailer->send();
     unset($xoopsMailer);
     $filename = XOOPS_UPLOAD_PATH . '/logmail_' . self::MODULE_NAME . '.php';
     if (!file_exists($filename)) {
         $fp = @fopen($filename, 'a');
         if ($fp) {
             fwrite($fp, "<?php exit(); ?>");
             fclose($fp);
         }
     }
     $fp = @fopen($filename, 'a');
     if ($fp) {
         fwrite($fp, str_repeat('-', 120) . "\n");
         fwrite($fp, date('d/m/Y H:i:s') . "\n");
         fwrite($fp, "Template name : " . $tplName . "\n");
         fwrite($fp, "Email subject : " . $subject . "\n");
         if (is_array($recipients)) {
             fwrite($fp, "Recipient(s) : " . implode(',', $recipients) . "\n");
         } else {
             fwrite($fp, "Recipient(s) : " . $recipients . "\n");
         }
         fwrite($fp, "Transmited variables : " . implode(',', $variables) . "\n");
         fclose($fp);
     }
     return $res;
 }
コード例 #8
0
ファイル: functions.php プロジェクト: severnaya99/Sg-2010
function mp_mail($user)
{
    global $xoopsDB, $xoopsUser, $xoopsConfig, $xoopsModuleConfig;
    $option_handler =& xoops_gethandler('priv_msgsopt');
    $tonotif =& $option_handler->get($user);
    $tonotif = !empty($tonotif) ? $tonotif->getVar('notif') : false;
    if ($tonotif == "1") {
        //email
        $myts =& MyTextSanitizer::getInstance();
        $xoopsMailer =& xoops_getMailer();
        $userHandler =& xoops_gethandler('user');
        $toUser =& $userHandler->get($user);
        $xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
        $xoopsMailer->setToEmails($toUser->email());
        $xoopsMailer->setFromName($xoopsConfig['sitename']);
        $subject = sprintf(_MP_MAIL_NOTIF, $xoopsConfig['sitename']);
        $xoopsMailer->setSubject($myts->displayTarea($subject, 1));
        //$xoopsMailer->setSubject(sprintf(_MP_MAIL_NOTIF, $xoopsConfig['sitename']));
        $text = str_replace("{X_UNAME}", $toUser->getVar("uname"), $xoopsModuleConfig['temail']);
        $text2 = str_replace("{X_LINK}", XOOPS_URL . "/modules/mpmanager/msgbox.php?op=box", $text);
        $xoopsMailer->setBody($myts->displayTarea($text2, 1));
        $xoopsMailer->multimailer->isHTML(true);
        $xoopsMailer->send();
    }
}
コード例 #9
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
  **/
 function notifyUser($template_dir, $template, $subject, $tags)
 {
     // Check the user's notification preference.
     $member_handler =& xoops_gethandler('member');
     $user =& $member_handler->getUser($this->getVar('not_uid'));
     if (!is_object($user)) {
         return true;
     }
     $method = $user->getVar('notify_method');
     $xoopsMailer =& xoops_getMailer();
     include_once $GLOBALS['xoops']->path('include/notification_constants.php');
     switch ($method) {
         case XOOPS_NOTIFICATION_METHOD_PM:
             $xoopsMailer->usePM();
             $config_handler =& xoops_gethandler('config');
             $xoopsMailerConfig = $config_handler->getConfigsByCat(XOOPS_CONF_MAILER);
             $xoopsMailer->setFromUser($member_handler->getUser($xoopsMailerConfig['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("/&amp;/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 $xoopsConfig;
     //$xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
     //$xoopsMailer->setFromName($xoopsConfig['sitename']);
     $xoopsMailer->setSubject($subject);
     $success = $xoopsMailer->send();
     // If send-once-then-delete, delete notification
     // If send-once-then-wait, disable notification
     include_once $GLOBALS['xoops']->path('include/notification_constants.php');
     $notification_handler =& xoops_gethandler('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;
 }
コード例 #10
0
ファイル: message.php プロジェクト: gauravsaxena21/simantz
 /**
  * Send a message to user's email
  * @param     object     $pm     {@link XoopsPrivmessage} object
  * @param     object     $user
  * @return     bool
  **/
 function sendEmail($pm, $user)
 {
     global $xoopsConfig;
     if (!is_object($user)) {
         $user =& $GLOBALS["xoopsUser"];
     }
     $msg = sprintf(_PM_EMAIL_DESC, $user->getVar("uname"));
     $msg .= "\n\n";
     $msg .= formatTimestamp($pm->getVar("msg_time"));
     $msg .= "\n";
     $from = new XoopsUser($pm->getVar("from_userid"));
     $to = new XoopsUser($pm->getVar("to_userid"));
     $msg .= sprintf(_PM_EMAIL_FROM, $from->getVar("uname") . " (" . XOOPS_URL . "/userinfo.php?uid=" . $pm->getVar("from_userid") . ")");
     $msg .= "\n";
     $msg .= sprintf(_PM_EMAIL_TO, $to->getVar("uname") . " (" . XOOPS_URL . "/userinfo.php?uid=" . $pm->getVar("to_userid") . ")");
     $msg .= "\n";
     $msg .= _PM_EMAIL_MESSAGE . ":\n";
     $msg .= "\n" . $pm->getVar("subject") . "\n";
     $msg .= "\n" . strip_tags(str_replace(array("<p>", "</p>", "<br>", "<br />"), "\n", $pm->getVar("msg_text"))) . "\n\n";
     $msg .= "--------------\n";
     $msg .= $xoopsConfig['sitename'] . ": " . XOOPS_URL . "\n";
     $xoopsMailer =& xoops_getMailer();
     $xoopsMailer->useMail();
     $xoopsMailer->setToEmails($user->getVar("email"));
     $xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
     $xoopsMailer->setFromName($xoopsConfig['sitename']);
     $xoopsMailer->setSubject(sprintf(_PM_EMAIL_SUBJECT, $pm->getVar("subject")));
     $xoopsMailer->setBody($msg);
     return $xoopsMailer->send();
 }
コード例 #11
0
ファイル: functions.legacy.php プロジェクト: yunsite/xoopsdc
function &getMailer()
{
    trigger_error("Function " . __FUNCTION__ . "() is deprecated, use xoops_getMailer instead", E_USER_NOTICE);
    $mailer =& xoops_getMailer();
    return $mailer;
}
コード例 #12
0
function xoops_create_user($username, $password, $user, $siteinfo)
{
    xoops_load("userUtility");
    global $xoopsModuleConfig, $xoopsConfig;
    if ($xoopsModuleConfig['site_user_auth'] == 1) {
        if ($ret = check_for_lock(basename(__FILE__), $username, $password)) {
            return $ret;
        }
        if (!checkright(basename(__FILE__), $username, $password)) {
            mark_for_lock(basename(__FILE__), $username, $password);
            return array('ErrNum' => 9, "ErrDesc" => 'No Permission for plug-in');
        }
    }
    return array("Username" => $username, "password" => $password, 'user' => $user, 'siteinfo' => $siteinfo);
    if ($user['passhash'] != '') {
        if ($user['passhash'] != sha1($user['time'] - $user['rand'] . $user['uname'] . $user['pass'])) {
            return array("ERRNUM" => 4, "ERRTXT" => 'No Passhash');
        }
    } else {
        return array("ERRNUM" => 4, "ERRTXT" => 'No Passhash');
    }
    foreach ($user as $k => $l) {
        ${$k} = $l;
    }
    include_once XOOPS_ROOT_PATH . '/class/auth/authfactory.php';
    include_once XOOPS_ROOT_PATH . '/language/' . $xoopsConfig['language'] . '/auth.php';
    $xoopsAuth =& XoopsAuthFactory::getAuthConnection($uname);
    if (check_auth_class($xoopsAuth) == true) {
        $result = $xoopsAuth->create_user($user_viewemail, $uname, $email, $url, $actkey, $pass, $timezone_offset, $user_mailok, $siteinfo);
        return $result;
    } else {
        if (strlen(userCheck($uname, $email, $pass, $pass)) == 0) {
            global $xoopsConfig;
            $config_handler =& xoops_gethandler('config');
            $xoopsConfigUser =& $config_handler->getConfigsByCat(XOOPS_CONF_USER);
            $member_handler =& xoops_gethandler('member');
            $newuser =& $member_handler->createUser();
            $newuser->setVar('user_viewemail', $user_viewemail, true);
            $newuser->setVar('uname', $uname, true);
            $newuser->setVar('email', $email, true);
            if ($url != '') {
                $newuser->setVar('url', formatURL($url), true);
            }
            $newuser->setVar('user_avatar', 'blank.gif', true);
            if (empty($actkey)) {
                $actkey = substr(md5(uniqid(mt_rand(), 1)), 0, 8);
            }
            $newuser->setVar('actkey', $actkey, true);
            $newuser->setVar('pass', md5($pass), true);
            $newuser->setVar('timezone_offset', $timezone_offset, true);
            $newuser->setVar('user_regdate', time(), true);
            $newuser->setVar('uorder', $xoopsConfig['com_order'], true);
            $newuser->setVar('umode', $xoopsConfig['com_mode'], true);
            $newuser->setVar('user_mailok', $user_mailok, true);
            $newuser->setVar('user_intrest', _US_USERREG . ' @ ' . $xoops_url, true);
            if ($xoopsConfigUser['activation_type'] == 1) {
                $newuser->setVar('level', 1, true);
            }
            if (!$member_handler->insertUser($newuser, true)) {
                $return = array('state' => 1, "text" => _US_REGISTERNG);
            } else {
                $newid = $newuser->getVar('uid');
                if (!$member_handler->addUserToGroup(XOOPS_GROUP_USERS, $newid)) {
                    $return = array('state' => 1, "text" => _US_REGISTERNG);
                }
                if ($xoopsConfigUser['activation_type'] == 1) {
                    $return = array('state' => 2, "user" => $uname);
                }
                // Sending notification email to user for self activation
                if ($xoopsConfigUser['activation_type'] == 0) {
                    $xoopsMailer =& xoops_getMailer();
                    $xoopsMailer->useMail();
                    $xoopsMailer->setTemplate('register.tpl');
                    $xoopsMailer->assign('SITENAME', $siteinfo['sitename']);
                    $xoopsMailer->assign('ADMINMAIL', $siteinfo['adminmail']);
                    $xoopsMailer->assign('SITEURL', XOOPS_URL . "/");
                    $xoopsMailer->setToUsers(new XoopsUser($newid));
                    $xoopsMailer->setFromEmail($siteinfo['adminmail']);
                    $xoopsMailer->setFromName($siteinfo['sitename']);
                    $xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $uname));
                    if (!$xoopsMailer->send()) {
                        $return = array('state' => 1, "text" => _US_YOURREGMAILNG);
                    } else {
                        $return = array('state' => 1, "text" => _US_YOURREGISTERED);
                    }
                    // Sending notification email to administrator for activation
                } elseif ($xoopsConfigUser['activation_type'] == 2) {
                    $xoopsMailer =& xoops_getMailer();
                    $xoopsMailer->useMail();
                    $xoopsMailer->setTemplate('adminactivate.tpl');
                    $xoopsMailer->assign('USERNAME', $uname);
                    $xoopsMailer->assign('USEREMAIL', $email);
                    if ($siteinfo['xoops_url'] == XOOPS_URL) {
                        $xoopsMailer->assign('USERACTLINK', $siteinfo['xoops_url'] . '/register.php?op=actv&id=' . $newid . '&actkey=' . $actkey);
                    }
                } else {
                    $xoopsMailer->assign('USERACTLINK', $siteinfo['xoops_url'] . '/register.php?op=actv&uname=' . $uname . '&actkey=' . $actkey);
                }
                $xoopsMailer->assign('SITENAME', $siteinfo['sitename']);
                $xoopsMailer->assign('ADMINMAIL', $siteinfo['adminmail']);
                $xoopsMailer->assign('SITEURL', $siteinfo['xoops_url'] . "/");
                $member_handler =& xoops_gethandler('member');
                $xoopsMailer->setToGroups($member_handler->getGroup($xoopsConfigUser['activation_group']));
                $xoopsMailer->setFromEmail($siteinfo['adminmail']);
                $xoopsMailer->setFromName($siteinfo['sitename']);
                $xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $uname));
                if (!$xoopsMailer->send()) {
                    $return = array('state' => 1, "text" => _US_YOURREGMAILNG);
                } else {
                    $return = array('state' => 1, "text" => _US_YOURREGISTERED2);
                }
            }
            if ($xoopsConfigUser['new_user_notify'] == 1 && !empty($xoopsConfigUser['new_user_notify_group'])) {
                $xoopsMailer =& xoops_getMailer();
                $xoopsMailer->useMail();
                $member_handler =& xoops_gethandler('member');
                $xoopsMailer->setToGroups($member_handler->getGroup($xoopsConfigUser['new_user_notify_group']));
                $xoopsMailer->setFromEmail($siteinfo['adminmail']);
                $xoopsMailer->setFromName($siteinfo['sitename']);
                $xoopsMailer->setSubject(sprintf(_US_NEWUSERREGAT, $xoopsConfig['sitename']));
                $xoopsMailer->setBody(sprintf(_US_HASJUSTREG, $uname));
                $xoopsMailer->send();
            }
            if (strpos(strtolower($_SERVER['HTTP_HOST']), 'xortify.com')) {
                define('XORTIFY_API_LOCAL', 'http://xortify.chronolabs.coop/soap/');
                define('XORTIFY_API_URI', 'http://xortify.chronolabs.coop/soap/');
            } else {
                define('XORTIFY_API_LOCAL', 'http://xortify.com/soap/');
                define('XORTIFY_API_URI', 'http://xortify.com/soap/');
            }
            $soap_client = @new soapclient(NULL, array('location' => XORTIFY_API_LOCAL, 'uri' => XORTIFY_API_URI));
            $result = @$soap_client->__soapCall('xoops_create_user', array("username" => $username, "password" => $password, "user" => $user, "siteinfo" => $siteinfo));
            return array("ERRNUM" => 1, "RESULT" => $return);
        } else {
            return array("ERRNUM" => 1, "RESULT" => array('state' => 1, 'text' => userCheck($uname, $email, $pass, $pass)));
        }
    }
}
コード例 #13
0
ファイル: functions.php プロジェクト: trabisdementia/xuups
function myinviter_sendEmails($id = null, $force = false)
{
    global $xoopsConfig;
    $errors = array();
    $sent = 0;
    $emailsperpack = intval($GLOBALS['myinviter']->getConfig('emailsperpack'));
    if ($emailsperpack == 0 && $id == null) {
        $errors[] = 'No id or no pack number';
        return $errors;
    }
    $timebpacks = intval($GLOBALS['myinviter']->getConfig('timebpacks'));
    $now = time();
    $last = myinviter_getLastTime();
    if ($now - $last <= $timebpacks && !$force) {
        $errors[] = 'Not enough time';
        return $errors;
    }
    $from = $GLOBALS['myinviter']->getConfig('from');
    //custom, system, user
    $html = $GLOBALS['myinviter']->getConfig('html');
    $sandbox = $GLOBALS['myinviter']->getConfig('sandbox');
    $sandboxemail = trim($GLOBALS['myinviter']->getConfig('sandboxemail'));
    $defaultuid = intval($GLOBALS['myinviter']->getConfig('defaultuid'));
    if (empty($sandboxemail)) {
        $sandboxemail = $xoopsConfig['adminmail'];
    }
    if ($from == 'custom') {
        $fromname = trim($GLOBALS['myinviter']->getConfig('fromname'));
        $fromemail = trim($GLOBALS['myinviter']->getConfig('fromemail'));
        if (empty($fromname) || empty($fromemail)) {
            $from = 'system';
        }
    }
    if ($from == 'system') {
        $fromname = $xoopsConfig['sitename'];
        $fromemail = $xoopsConfig['adminmail'];
    }
    $this_handler = $GLOBALS['myinviter']->getHandler('item');
    $objs = $this_handler->getWaitingObjects($id, 0, $emailsperpack);
    if (count($objs) == 0) {
        myinviter_setLastTime($now);
        $errors[] = 'No waiting emails';
        return $errors;
    }
    $member_handler = xoops_gethandler('member');
    foreach ($objs as $obj) {
        $thisUser = $member_handler->getUser($obj->getVar('userid'));
        //Was this user removed? Then get the default one!
        if (!is_object($thisUser)) {
            $thisUser = $member_handler->getUser($defaultuid);
        }
        if (!is_object($thisUser)) {
            $errors[] = 'No default user';
            return $errors;
        }
        $xoopsMailer = xoops_getMailer();
        $xoopsMailer->useMail();
        $xoopsMailer->setTemplateDir(XOOPS_ROOT_PATH . '/modules/myinviter/language/');
        if ($html == 1) {
            $xoopsMailer->multimailer->ContentType = "text/html";
            $xoopsMailer->setTemplate('myinviter_invitation_html.tpl');
            $avatar = $thisUser->getVar('user_avatar');
            if ($avatar == 'blank.gif' || $avatar == '') {
                $avatar = XOOPS_URL . '/modules/myinviter/images/noavatar.gif';
            } else {
                $avatar = XOOPS_URL . '/uploads/' . $avatar;
            }
            $xoopsMailer->assign("USER_AVATAR", $avatar);
        } else {
            $xoopsMailer->setTemplate('myinviter_invitation.tpl');
        }
        if ($sandbox == 1) {
            $xoopsMailer->setToEmails(array($sandboxemail));
        } else {
            $xoopsMailer->setToEmails(array($obj->getVar('email', 'n')));
        }
        if ($from == 'user') {
            $fromname = $thisUser->getVar('uname', 'n');
            $fromemail = $thisUser->getVar('email', 'n');
        }
        $xoopsMailer->setFromEmail($fromemail);
        $xoopsMailer->setFromName($fromname);
        xoops_loadLanguage('main', 'myinviter');
        $xoopsMailer->setSubject(sprintf($GLOBALS['myinviter']->getConfig('subject'), $thisUser->getVar('uname')));
        $xoopsMailer->assign("ADMINMAIL", $xoopsConfig['adminmail']);
        $xoopsMailer->assign("USER_UNAME", $thisUser->getVar('uname'));
        $xoopsMailer->assign("USER_UID", $thisUser->getVar('uid'));
        $xoopsMailer->assign("INVITED_NAME", $obj->getVar('name'));
        $key = md5($obj->getVar('email') . XOOPS_ROOT_PATH);
        $xoopsMailer->assign("BLACKLIST_URL", MYINVITER_URL . '/blacklist.php?email=' . $obj->getVar('email') . '&key=' . $key);
        if (!$xoopsMailer->send(true)) {
            $errors[] = $xoopsMailer->getErrors(false);
            // do not use html in error message
            $this_handler->insertError($obj);
        } else {
            $this_handler->insertSent($obj);
            $sent++;
            //All Ok? Set log
            /* $log_handler =& xoops_getmodulehandler('log', 'myinviter');
               $log = $log_handler->create();
               $log->setVar('log_userid',$thisUser->getVar('uid'));
               $log->setVar('log_date', time());
               $log_handler->insert($log);  */
        }
        unset($xoopsMailer);
    }
    myinviter_setLastTime($now);
    $lastcount = myinviter_getEmailsSent();
    myinviter_setEmailsSent($lastcount + $sent);
    if (xoops_isActiveModule('log')) {
        Xmf_Module_Helper::getInstance('log')->getHandler('item')->addItem('myinviter', 'emailssent', $sent);
    }
    return $errors;
}
コード例 #14
0
ファイル: message.php プロジェクト: geekwright/XoopsCore25
 /**
  * Send a message to user's email
  * @param  XoopsPrivmessage $pm {@link XoopsPrivmessage} object
  * @param  XoopsUser $user
  * @return bool
  **/
 public function sendEmail(XoopsPrivmessage $pm, XoopsUser $user)
 {
     global $xoopsConfig;
     if (!is_object($user)) {
         $user =& $GLOBALS['xoopsUser'];
     }
     $msg = sprintf(_PM_EMAIL_DESC, $user->getVar('uname'));
     $msg .= "\n\n";
     $msg .= formatTimestamp($pm->getVar('msg_time'));
     $msg .= "\n";
     $from = new XoopsUser($pm->getVar('from_userid'));
     $to = new XoopsUser($pm->getVar('to_userid'));
     $msg .= sprintf(_PM_EMAIL_FROM, $from->getVar('uname') . ' (' . XOOPS_URL . '/userinfo.php?uid=' . $pm->getVar('from_userid') . ')');
     $msg .= "\n";
     $msg .= sprintf(_PM_EMAIL_TO, $to->getVar('uname') . ' (' . XOOPS_URL . '/userinfo.php?uid=' . $pm->getVar('to_userid') . ')');
     $msg .= "\n";
     $msg .= _PM_EMAIL_MESSAGE . ":\n";
     $msg .= "\n" . $pm->getVar('subject') . "\n";
     $msg .= "\n" . strip_tags(str_replace(array('<p>', '</p>', '<br>', '<br>'), "\n", $pm->getVar('msg_text'))) . "\n\n";
     $msg .= "--------------\n";
     $msg .= $xoopsConfig['sitename'] . ': ' . XOOPS_URL . "\n";
     $xoopsMailer =& xoops_getMailer();
     $xoopsMailer->useMail();
     $xoopsMailer->setToEmails($user->getVar('email'));
     $xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
     $xoopsMailer->setFromName($xoopsConfig['sitename']);
     $xoopsMailer->setSubject(sprintf(_PM_EMAIL_SUBJECT, $pm->getVar('subject')));
     $xoopsMailer->setBody($msg);
     return $xoopsMailer->send();
 }
コード例 #15
0
function xoops_check_activation($username, $password, $user)
{
    global $xoopsModuleConfig, $xoopsConfig;
    if ($xoopsModuleConfig['site_user_auth'] == 1) {
        if ($ret = check_for_lock(basename(__FILE__), $username, $password)) {
            return $ret;
        }
        if (!checkright(basename(__FILE__), $username, $password)) {
            mark_for_lock(basename(__FILE__), $username, $password);
            return array('ErrNum' => 9, "ErrDesc" => 'No Permission for plug-in');
        }
    }
    if ($user['passhash'] != '') {
        if ($user['passhash'] != sha1($user['time'] - $user['rand'] . $user['uname'] . $user['actkey'])) {
            return array("ERRNUM" => 4, "ERRTXT" => 'No Passhash');
        }
    } else {
        return array("ERRNUM" => 4, "ERRTXT" => 'No Passhash');
    }
    foreach ($user as $k => $l) {
        ${$k} = $l;
    }
    $siteinfo = check_siteinfo($siteinfo);
    include_once XOOPS_ROOT_PATH . '/class/auth/authfactory.php';
    include_once XOOPS_ROOT_PATH . '/language/' . $xoopsConfig['language'] . '/auth.php';
    $xoopsAuth =& XoopsAuthFactory::getAuthConnection(addslashes($uname));
    if (check_auth_class($xoopsAuth) == true) {
        $result = $xoopsAuth->check_activation($uname, $actkey, $siteinfo);
        return $result;
    } else {
        global $xoopsConfig, $xoopsConfigUser;
        global $xoopsDB;
        $sql = "SELECT uid FROM " . $xoopsDB->prefix('users') . " WHERE uname = '{$uname}'";
        $ret = $xoopsDB->query($sql);
        $row = $xoopsDB->fetchArray($ret);
        $member_handler =& xoops_gethandler('member');
        $thisuser =& $member_handler->getUser($row['uid']);
        if (!is_object($thisuser)) {
            exit;
        }
        if ($thisuser->getVar('actkey') != $actkey) {
            $return = array("state" => _US_STATE_ONE, "action" => "redirect_header", "url" => 'index.php', "opt" => 5, "text" => _US_ACTKEYNOT);
        } else {
            if ($thisuser->getVar('level') > 0) {
                $return = array("state" => _US_STATE_ONE, "action" => "redirect_header", "url" => 'user.php', "opt" => 5, "text" => _US_ACONTACT, "set" => false);
            } else {
                if (false != $member_handler->activateUser($thisuser)) {
                    $config_handler =& xoops_gethandler('config');
                    $xoopsConfigUser = $config_handler->getConfigsByCat(XOOPS_CONF_USER);
                    if ($xoopsConfigUser['activation_type'] == 2) {
                        $myts =& MyTextSanitizer::getInstance();
                        $xoopsMailer =& xoops_getMailer();
                        $xoopsMailer->useMail();
                        $xoopsMailer->setTemplate('activated.tpl');
                        $xoopsMailer->assign('SITENAME', $siteinfo['sitename']);
                        $xoopsMailer->assign('ADMINMAIL', $siteinfo['adminmail']);
                        $xoopsMailer->assign('SITEURL', $siteinfo['xoops_url'] . "/");
                        $xoopsMailer->setToUsers($thisuser);
                        $xoopsMailer->setFromEmail($siteinfo['adminmail']);
                        $xoopsMailer->setFromName($siteinfo['sitename']);
                        $xoopsMailer->setSubject(sprintf(_US_YOURACCOUNT, $siteinfo['sitename']));
                        if (!$xoopsMailer->send()) {
                            $return = array("state" => _US_STATE_TWO, "text" => sprintf(_US_ACTVMAILNG, $thisuser->getVar('uname')));
                        } else {
                            $return = array("state" => _US_STATE_TWO, "text" => sprintf(_US_ACTVMAILOK, $thisuser->getVar('uname')));
                        }
                    } else {
                        $local = explode(' @ ', $thisuser->getVar('user_intrest'));
                        if ($local[0] == _US_USERREG) {
                            $return = array("state" => _US_STATE_ONE, "action" => "redirect_header", "url" => $local[1] . '/user.php', "opt" => 5, "text" => _US_ACTLOGIN, "set" => false);
                        } else {
                            $return = array("state" => _US_STATE_ONE, "action" => "redirect_header", "url" => 'user.php', "opt" => 5, "text" => _US_ACTLOGIN, "set" => false);
                        }
                    }
                } else {
                    $return = array("state" => _US_STATE_ONE, "action" => "redirect_header", "url" => 'index.php', "opt" => 5, "text" => 'Activation failed!');
                }
            }
        }
        return $return;
    }
}