Beispiel #1
0
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;
}
function subscribers_add_show($options)
{
    global $xoopsUser;
    include_once XOOPS_ROOT_PATH . '/modules/subscribers/include/functions.php';
    subscribers_sendEmails();
    $config =& subscribers_getModuleConfig();
    $block = array();
    include_once XOOPS_ROOT_PATH . '/class/xoopslists.php';
    $block['countries'] = XoopsLists::getCountryList();
    $block['selected'] = $config['country'];
    array_shift($block['countries']);
    $sub_captcha = $config['captcha'];
    if (is_object($xoopsUser)) {
        $block['captcha'] = $sub_captcha == 2 ? 0 : 1;
    } else {
        $block['captcha'] = $sub_captcha == 3 ? 0 : 1;
    }
    return $block;
}
Beispiel #3
0
<?php

//  Author: Trabis
//  URL: http://www.xuups.com
//  E-Mail: lusopoemas@gmail.com
include_once dirname(dirname(dirname(__FILE__))) . '/mainfile.php';
include_once XOOPS_ROOT_PATH . '/modules/subscribers/include/functions.php';
subscribers_sendEmails();
$xoopsOption['template_main'] = 'subscribers_index.html';
include_once XOOPS_ROOT_PATH . '/header.php';
$config =& subscribers_getModuleConfig();
$selected = $config['country'];
$sub_captcha = $config['captcha'];
if (is_object($xoopsUser)) {
    $captcha = $sub_captcha == 2 ? 0 : 1;
} else {
    $captcha = $sub_captcha == 3 ? 0 : 1;
}
include_once XOOPS_ROOT_PATH . '/class/xoopslists.php';
$countries = XoopsLists::getCountryList();
array_shift($countries);
$xoopsTpl->assign('countries', $countries);
$xoopsTpl->assign('selected', $selected);
$xoopsTpl->assign('captcha', $captcha);
include_once XOOPS_ROOT_PATH . '/footer.php';