/** * This public static function will save the subscriber information every new subscription or update subscription * @param listids - listid subscribed from the module if the saving of subscriber is via ajax * @param redirect - if to redirect the page or not */ public static function saveSubscriber($subscriber, &$subscriberId, $newSubscriber = false, $listids = null, $redirect = false) { $subscriber->receive_html = isset($subscriber->receive_html) && (is_bool($subscriber->receive_html) && $subscriber->receive_html || is_string($subscriber->receive_html) && ($subscriber->receive_html == 'true' || $subscriber->receive_html == '1') || is_int($subscriber->receive_html) && $subscriber->receive_html) ? 1 : 0; $db = JFactory::getDBO(); $xf = new jNews_Config(); //dashboard summary jnews::objectHTMLSafe($subscriber); $d['confirm'] = true; $d['email'] = $subscriber->email; if (empty($subscriber->ip)) { $subscriber->ip = ''; } if ($newSubscriber) { $query = "INSERT IGNORE INTO `#__jnews_subscribers` (`name`,`email` ,`ip`, `receive_html` , `confirmed` "; $query .= " , `subscribe_date` , `language_iso` , `timezone`, `blacklist`"; //" , `params`"; if ($GLOBALS[JNEWS . 'level'] > 2) { $query .= " , `column1`"; $query .= " , `column2`"; $query .= " , `column3`"; $query .= " , `column4`"; $query .= " , `column5`"; } if (!empty($subscriber->user_id)) { $query .= " , `user_id` "; } $query .= ") VALUES (" . " '{$subscriber->name}' , " . " '{$subscriber->email}' , " . " '{$subscriber->ip}' , " . " '{$subscriber->receive_html}' , " . " '{$subscriber->confirmed}' , " . " '{$subscriber->subscribe_date}', " . " '{$subscriber->language_iso}', " . " '{$subscriber->timezone}', " . " '{$subscriber->blacklist}' "; if ($GLOBALS[JNEWS . 'level'] > 2) { //check if the version is pro //$query .=" '$subscriber->params' , "; $query .= ","; if (array_key_exists('column1', $subscriber)) { $query .= " '{$subscriber->column1}', "; } else { $query .= " '', "; } if (array_key_exists('column2', $subscriber)) { $query .= " '{$subscriber->column2}', "; } else { $query .= " '', "; } if (array_key_exists('column3', $subscriber)) { $query .= " '{$subscriber->column3}', "; } else { $query .= " '', "; } if (array_key_exists('column4', $subscriber)) { $query .= " '{$subscriber->column4}', "; } else { $query .= " '', "; } if (array_key_exists('column5', $subscriber)) { $query .= " '{$subscriber->column5}' "; } else { $query .= " '' "; } } if (!empty($subscriber->user_id)) { $query .= " , " . intval($subscriber->user_id); } $query .= ")"; $db->setQuery($query); $db->query(); //get the subscriber id which is newly inserted //Update dashboard summary if (jNews_Subscribers::getSubscriberIdFromEmail($d)) { $d['confirm'] = false; $xf->plus('totalsubcribers0', 1); $xf->plus('act_totalsubcribers0', 1); } //subscriber_id from the inserted subscriber if ($d['subscriberId'] > 0) { $subscriberId = $d['subscriberId']; $subscriber->id = $d['subscriberId']; } else { $subscriber->id = 0; $subscriberId = 0; } //TODO: Add an option either to require confirmation during site registration once the sync users plugin is turn on //added condition empty($subscriber->user_id) so that it will not send confirmation email during registration if ($newSubscriber && $GLOBALS[JNEWS . 'require_confirmation'] == '1' && empty($subscriber->user_id)) { //added $subscriber jNews_ProcessMail::sendConfirmationEmail($subscriber, $subscriberId); } } else { //Update Subscriber if (empty($subscriber->id)) { $subscriber->id =& $subscriberId; } $query = "UPDATE IGNORE `#__jnews_subscribers` SET "; $query .= " `name` = '{$subscriber->name}' , "; $query .= " `email` = '{$subscriber->email}' , "; if ($GLOBALS[JNEWS . 'level'] > 2) { if (!empty($subscriber->column1)) { $query .= " `column1` = '{$subscriber->column1}' , "; } if (!empty($subscriber->column2)) { $query .= " `column2` = '{$subscriber->column2}' , "; } if (!empty($subscriber->column3)) { $query .= " `column3` = '{$subscriber->column3}' , "; } if (!empty($subscriber->column4)) { $query .= " `column4` = '{$subscriber->column4}' , "; } if (!empty($subscriber->column5)) { $query .= " `column5` = '{$subscriber->column5}' , "; } } $query .= " `receive_html` = {$subscriber->receive_html} , "; $query .= " `confirmed` = {$subscriber->confirmed} , " . " `timezone` = '{$subscriber->timezone}' , "; $query .= " `language_iso` = '{$subscriber->language_iso}' , "; $query .= " `blacklist` = {$subscriber->blacklist} "; //$query.= " `params` = '$subscriber->params' " . $query .= " WHERE `id` = {$subscriber->id} "; $db->setQuery($query); $db->query(); } $subscriberInfo = jNews_ListsSubs::getListidsSubscribedInfo($subscriber->id, $listids, $redirect); return true; }
function onAfterRoute() { $redirectlink = trim(JRequest::getString('redirectlink')); $fromSubscribe = JRequest::getVar('fromSubscribe', ''); // this is either we have a redirect setup or we come from the module if (empty($fromSubscribe) || empty($redirectlink)) { return ''; } if (strtolower(substr(JPATH_ROOT, strlen(JPATH_ROOT) - 13)) == 'administrator') { $adminPath = strtolower(substr(JPATH_ROOT, strlen(JPATH_ROOT) - 13)); } else { $adminPath = JPATH_ROOT; } if (!@(include_once $adminPath . DS . 'components' . DS . 'com_jnews' . DS . 'defines.php')) { return; } include_once JNEWSPATH_CLASS . 'class.jnews.php'; require_once JNEWS_JPATH_ROOT_NO_ADMIN . DS . 'administrator' . DS . 'components' . DS . JNEWS_OPTION . DS . 'classes' . DS . 'class.subscribers.php'; require_once JNEWS_JPATH_ROOT_NO_ADMIN . DS . 'administrator' . DS . 'components' . DS . JNEWS_OPTION . DS . 'classes' . DS . 'class.listssubscribers.php'; jimport('joomla.html.parameter'); $db = JFactory::getDBO(); $plugin = JPluginHelper::getPlugin('system', 'vmjnewssubs'); $registry = new JRegistry(); if (!method_exists($registry, 'loadString')) { $data = trim($plugin->params); $options = array('processSections' => false); if (substr($data, 0, 1) != '{' && substr($data, -1, 1) != '}') { $ini = JRegistryFormat::getInstance('INI'); $obj = $ini->stringToObject($data, $options); } else { $obj = json_decode($data); } $registry->loadObject($obj); } else { $registry->loadString($plugin->params); } $params = $registry; $reqfield = $params->get('reqfield', 'user_email'); $email = JRequest::getString('email'); $reqvalue = $reqfield == 'user_email' ? $email : JRequest::get($reqfield); if (is_array($reqvalue)) { //if we find any no we do no if (empty($reqvalue)) { return ''; } foreach ($reqvalue as $resultArVal) { if (empty($resultArVal)) { return ''; } } } else { if (empty($reqvalue) || empty($email) || in_array(strtolower($reqvalue), array('', '0', 'n', 'no', 'none', 'nein', 'non'))) { return; } } $user_id = JRequest::getInt('user_id'); $email = trim(strip_tags($email)); $fname = JRequest::getString('first_name', ''); $mname = JRequest::getString('middle_name', ''); $lname = JRequest::getString('last_name', ''); $name = ''; if (!empty($fname)) { $name .= $fname . ' '; } if (!empty($mname)) { $name .= $mname . ' '; } if (!empty($lname)) { $name .= $lname; } $name = trim($name); if (empty($name)) { $name = JRequest::getVar('username'); } $subscriber = new stdClass(); $subscriber->user_id = $user_id; $subscriber->name = $name; $subscriber->email = $email; $subscriber->ip = jNews_Subscribers::getIP(); $subscriber->receive_html = 1; $subscriber->confirmed = $GLOBALS[JNEWS . 'require_confirmation'] == '1' ? 0 : 1; $subscriber->subscribe_date = time(); $subscriber->language_iso = 'eng'; $subscriber->timezone = '00:00:00'; $subscriber->blacklist = 0; $subscriber->params = ''; $subscriber->admin_id = 62; $status = jNews_Subscribers::saveSubscriber($subscriber, $user_id, true); if (!$status) { return; } $listsToSubscribe = $params->get('lists', ''); $listsToSubscribe = str_replace(' ', '', $listsToSubscribe); if (!empty($listsToSubscribe)) { $condition = ' WHERE `id` IN (' . $listsToSubscribe . ')'; } else { $condition = ''; } $query = 'SELECT `id`, `list_type`,`params` from `#__jnews_lists`' . $condition; $db->setQuery($query); $lsidstoinsert = $db->loadObjectList(); $error = $db->getErrorMsg(); if (!empty($error)) { echo $error; return false; } else { //use for masterlists $listsA = array(); foreach ($lsidstoinsert as $lsid) { $d['email'] = $subscriber->email; //get the subscriber id which is newly inserted jNews_Subscribers::getSubscriberIdFromEmail($d); //subscriber_id from the inserted subscriber if ($d['subscriberId'] > 0) { $subscriber->id = $d['subscriberId']; } else { $subscriber->id = $subscriber->user_id; } if (!empty($lsid->params)) { //use for masterlists $listsA[] = $lsid->id; } else { //for non-masterlists $subscriber->list_id = $lsid->id; jNews_ListsSubs::saveToListSubscribers($subscriber); } if ($lsid->list_type == 2) { $subscribe = array(); $subscribe[] = $lsid->id; if (!empty($subscribe)) { jNews_ListsSubs::subscribeARtoQueue($subscriber->id, $subscribe); } } } //end of foreach if (!empty($listsA)) { //we check if the social class file exists for the implementation of master lists if (@(include_once JNEWSPATH_ADMIN . 'social' . DS . 'class.social.php')) { if (class_exists('jNews_Social')) { $listidSubsA = array(); $masterListSubscriber = new stdClass(); //we check if configuration for master lists is enabled if ($GLOBALS[JNEWS . 'use_masterlists']) { if ($GLOBALS[JNEWS . 'level'] > 1) { //we validate if the user can be subscribed to the list then we return the masterlistid //1 - MasterLists for all Potential Users $listidSubsA[] = jNews_Social::includeMasterListIds($subscriber->id, 1, $listsA); //2 - MasterLists for all Registered Subscribers $listidSubsA[] = jNews_Social::includeMasterListIds($subscriber->id, 2, $listsA); } if ($GLOBALS[JNEWS . 'level'] > 2) { //we validate if the user can be subscribed to the list then we return the masterlistid //3 - MasterLists for all Front-end Subscribers $listidSubsA[] = jNews_Social::includeMasterListIds($subscriber->id, 3, $listsA); } } //we check first if $listidSubsA and if not empty we do the subscription to the lists if (!empty($listidSubsA)) { $masterListSubscriber->id = $subscriber->id; $masterListSubscriber->list_id = $listidSubsA; jNews_ListsSubs::saveToListSubscribers($masterListSubscriber); } } } } } }
public static function newSubscriber($name, $email, $confirm = false, $modsub = null) { $start_micritime = microtime(true); if (empty($name) || $name == _JNEWS_NAME) { $name = $email; } if (!empty($modsub->email) && (empty($modsub->name) || $modsub->name == _JNEWS_NAME)) { $modsub->name = $modsub->email; } $database = JFactory::getDBO(); $acl = JFactory::getACL(); $timezone = JRequest::getVar('timezone', '00:00:00'); $lang6 = JRequest::getVar('lang', 'eng'); $p = JRequest::getVar('passwordA', ''); if (empty($modsub)) { $modsub = new stdClass(); $modsub->red_subscription = 1; $modsub->mod_message = 0; $modsub->effect = 2; $receivedHTML = JRequest::getVar('receive_html', 0); $modsub->receive_html = isset($receivedHTML) && (is_bool($receivedHTML) && $receivedHTML || is_string($receivedHTML) && ($receivedHTML == 'true' || $receivedHTML == '1') || is_int($receivedHTML) && $receivedHTML) ? 1 : 0; } //get the listid variable from subscription via url $l = JRequest::getVar('listid', ''); if (!empty($l)) { $result = jNews_Lists::doListsExists($l); if (!$result) { $message = jnews::printM('red', _JNEWS_SUBSCRIPTION_NOT_AVAIL_LIST); return $message; //return message if ever one of the listids enter does not exist } $result = array(); } if ($GLOBALS[JNEWS . 'level'] > 2) { $column1 = JRequest::getVar('column1', ''); $column2 = JRequest::getVar('column2', ''); $column3 = JRequest::getVar('column3', ''); $column4 = JRequest::getVar('column4', ''); $column5 = JRequest::getVar('column5', ''); } if ($GLOBALS[JNEWS . 'level'] > 1) { $security = JRequest::getVar('security_code', ''); $captcha = JRequest::getVar('security_captcha', ''); } $fromSubscribe = JRequest::getVar('fromSubscribe', ''); $fromFrontend = JRequest::getVar('fromFrontend', ''); if (!$modsub->red_subscription) { if ($modsub != null) { $fromFrontend = 1; $p = $modsub->passwordA; $name = $modsub->name; $email = $modsub->email; } } $canInsert = false; $message = ''; if ($p == $GLOBALS[JNEWS . 'url_pass'] && empty($fromSubscribe) && empty($fromFrontend)) { $fromURL = true; } else { $fromURL = false; } if ($fromSubscribe) { $canInsert = true; } elseif ($fromFrontend) { //check if the request is coming from the frontend $canInsert = true; } elseif ($fromURL) { //check if the request to insert subscriber is directly from entering the URL $canInsert = true; } else { if (!$modsub->red_subscription) { if ($modsub->module_message || $modsub->effect == 2) { $message = '<div id=mod_message>' . _JNEWS_URL_MES . '</div>'; } else { $message = '<div id=mod_message><span style="color:red;">' . _JNEWS_URL_MES . '</span></div>'; } } else { $message .= jnews::printM('red', _JNEWS_URL_MES); } } if ($canInsert) { $newSubscriber = new stdClass(); $newSubscriber->id = 0; $newSubscriber->user_id = 0; $newSubscriber->name = addslashes($name); $newSubscriber->email = $email; $newSubscriber->receive_html = isset($modsub->rhtml) ? $modsub->rhtml : (isset($modsub->receive_html) ? $modsub->receive_html : null); if ($GLOBALS[JNEWS . 'level'] > 2) { $newSubscriber->column1 = $column1; $newSubscriber->column2 = $column2; $newSubscriber->column3 = $column3; $newSubscriber->column4 = $column4; $newSubscriber->column5 = $column5; } if (!$modsub->red_subscription) { if ($modsub != null) { $newSubscriber->name = addslashes($modsub->name); $newSubscriber->email = $modsub->email; if (!isset($newSubscriber->receive_html)) { $newSubscriber->receive_html = isset($modsub->rhtml) ? $modsub->rhtml : (isset($modsub->receive_html) ? $modsub->receive_html : null); } if ($GLOBALS[JNEWS . 'level'] > 2) { $newSubscriber->column1 = $modsub->column1; $newSubscriber->column2 = $modsub->column2; $newSubscriber->column3 = $modsub->column3; $newSubscriber->column4 = $modsub->column4; $newSubscriber->column5 = $modsub->column5; } } } if ($GLOBALS[JNEWS . 'require_confirmation'] && !$confirm) { $newSubscriber->confirmed = 0; } else { $newSubscriber->confirmed = 1; } $newSubscriber->ip = jNews_Subscribers::getIP(); $newSubscriber->blacklist = 0; $newSubscriber->timezone = $timezone; $newSubscriber->language_iso = $lang6; $newSubscriber->params = ''; $newSubscriber->subscribe_date = time(); jnews::objectHTMLSafe($newSubscriber); $confirmation = true; if (empty($modsub->subscribedlists)) { $modsub->subscribedlists = null; } //check if the subscirber already exist $data = array(); $data['email'] = $newSubscriber->email; jNews_Subscribers::getSubscriberIdFromEmail($data); $alreadyExist = !empty($data['subscriberId']) ? true : false; $subscriberID = !empty($data['subscriberId']) ? $data['subscriberId'] : (!empty($newSubscriber->id) ? $newSubscriber->id : 0); if (!jNews_Subscribers::saveSubscriber($newSubscriber, $subscriberID, !$alreadyExist, $modsub->subscribedlists, $modsub->red_subscription)) { if (jNews_Subscribers::getSubscriberIdFromEmail($data)) { $confirmation = false; } else { return jnews::printM('blue', _JNEWS_ERROR); } } if ($GLOBALS[JNEWS . 'require_confirmation'] && $confirmation && !$confirm && !jNews_Subscribers::userConfirmed($newSubscriber->email)) { $needConfirm = true; } else { $needConfirm = false; } if ($needConfirm) { if (!$modsub->red_subscription) { if ($modsubmodule_message || $modsub->effect == 2) { $message = '<div id=mod_message>' . _JNEWS_COMFIRM_SUBSCRIPTION . '</div>'; } else { $message = '<div id=mod_message>' . str_replace(array('<br />', '<br>'), '', _JNEWS_COMFIRM_SUBSCRIPTION) . '</div>'; } // <span style="color:blue;"></span> } else { $message = jnews::printM('blue', _JNEWS_COMFIRM_SUBSCRIPTION); } } else { // $message2Show = $alreadyExist ? _JNEWS_SUCCESS_ALREADY_SUB : _JNEWS_SUCCESS_ADD_LIST; $message2Show = _JNEWS_SUCCESS_ADD_LIST; if (!$modsub->red_subscription) { if ($modsub->module_message || $modsub->effect == 2) { $message = '<div id=mod_message>' . $message2Show . '</div>'; } else { $message = '<div id=mod_message><span class="color_green">' . $message2Show . '</span></div>'; } } else { $message = jnews::printM('green', $message2Show); } } } $result['message'] = $message; $result['newsubscriber'] = $newSubscriber; //return $message; return $result; }
function onAfterDeleteUser($user, $success, $msg) { if ($success === false) { return false; } if (strtolower(substr(JPATH_ROOT, strlen(JPATH_ROOT) - 13)) == 'administrator') { $adminPath = strtolower(substr(JPATH_ROOT, strlen(JPATH_ROOT) - 13)); } else { $adminPath = JPATH_ROOT; } if (!@(include_once $adminPath . DS . 'components' . DS . 'com_jnews' . DS . 'defines.php')) { return; } require_once JNEWS_JPATH_ROOT_NO_ADMIN . DS . 'administrator' . DS . 'components' . DS . JNEWS_OPTION . DS . 'classes' . DS . 'class.subscribers.php'; include_once JNEWSPATH_CLASSN . 'class.jnews.php'; $d['email'] = $user['email']; $infos = jNews_Subscribers::getSubscriberIdFromEmail($d); $subscriberid = $infos['subscriberId']; if (!empty($subscriberid)) { jNews_Subscribers::deleteSubscriber($subscriberid); } return true; }
public static function upgrade_News3() { $my = JFactory::getUser(); $db = JFactory::getDBO(); $xf = new jNews_Config(); $newLists = array(); $idImportedList = array(); $i = 0; $db->setQuery("SELECT * FROM #__yanc_letters"); $newsletters = $db->loadObjectList(); $error = $db->getErrorMsg(); $newSubscriber = null; $list = null; $mailings = null; $subscriberId = 0; $total = 0; if (!empty($error)) { echo '<p><b>Error (class.upgrade.php->upgrade_News3 () line ' . __LINE__ . '):</b> Error getting newsletters. Database error: <br />' . $error . '</p>'; return false; } else { foreach ($newsletters as $newsletter) { $list->list_name = $newsletter->list_name; $list->list_desc = $newsletter->list_desc; $list->sendername = $newsletter->sendername; $list->senderemail = $newsletter->senderemail; $list->bounceadres = $newsletter->bounceadres; $list->layout = $newsletter->layout; $list->template = 0; $list->subscribemessage = $newsletter->subscribemessage; $list->unsubscribemessage = $newsletter->unsubscribemessage; $list->notifyadminmsg = $newsletter->notifyadminmsg; $list->html = $newsletter->html; $list->hidden = !$newsletter->hidden; $list->unsubscribesend = 1; $list->unsubscribenotifyadmin = 1; $list->list_type = '1'; $list->auto_add = 0; $list->user_choose = 0; $list->cat_id = '0:0'; $list->delay_min = 0; $list->delay_max = 0; $list->follow_up = 0; $list->owner = $my->id; $list->acc_level = $newsletter->aid; $list->acc_id = 29; $list->published = 1; $list->createdate = time(); $list->footer = 1; $list->notify_id = 0; $list->notification = 0; $query = 'INSERT INTO `#__jnews_lists` (`list_name`) VALUES (\'' . $list->list_name . '\' )'; $db->setQuery($query); $db->query(); $error = $db->getErrorMsg(); if (!empty($error)) { echo '<p><b>Error (class.upgrade.php->upgrade_News3() line ' . __LINE__ . '):</b> Error adding list to database. Database error: <br />' . $error . '</p><br /><br />Are you trying to insert a list name which is already in use? The list name has to be different for each list! <br /><br />'; } else { $query = 'SELECT * FROM `#__jnews_lists` WHERE `list_name`= \'' . $list->list_name . '\''; $db->setQuery($query); $mynewlist = $db->loadObject(); $error = $db->getErrorMsg(); $xf->plus('totallist0', 1); $xf->plus('act_totallist0', 1); $xf->plus('totallist1', 1); $xf->plus('act_totallist1', 1); if (!empty($error)) { echo '<p><b>Error (class.upgrade.php->upgrade_News3() line ' . __LINE__ . '):</b> Error getting listname. Database error: <br />' . $error . '</p>'; return false; } else { $idImportedList[$newsletter->id] = $mynewlist->list_id; $newLists[$i] = $mynewlist->list_id; $i++; $list->id = $mynewlist->list_id; $error = jNews_Lists::updateListData($list); if (!$error) { echo '<p><b>Error (class.upgrade.php->upgrade_News3 () line ' . __LINE__ . '):</b> Error inserting list. Database error: <br />' . $error . '</p>'; } else { echo '<br /><b>' . @constant($GLOBALS[JNEWS . 'listnames1']) . ': </b>' . $list->list_name . ': ' . jnews::printM('green', _JNEWS_IMPORT_SUCCESS); $db->setQuery("SELECT * FROM #__yanc_letters WHERE `list_id`=" . $newsletter->id); $mailingsImports = $db->loadObjectList(); $error = $db->getErrorMsg(); if (!empty($error)) { echo '<p><b>Error (class.upgrade.php->upgrade_News3() line ' . __LINE__ . '):</b> Error getting mailings. Database error: <br />' . $error . '</p>'; return false; } else { $issue_nb = 1; foreach ($mailingsImports as $mailingsImport) { $mailings->list_id = $mynewlist->list_id; $mailings->list_type = '1'; $mailings->send_date = $mailingsImport->send_date; $mailings->subject = $mailingsImport->subject; $mailings->htmlcontent = $mailingsImport->htmlcontent; $mailings->textonly = $mailingsImport->textonly; $mailings->attachments = $mailingsImport->attachments; $mailings->images = $mailingsImport->images; $mailings->published = $mailingsImport->published; $mailings->visible = $mailingsImport->visible; $mailings->html = $mynewlist->html; $mailings->fromname = $list->sendername; $mailings->fromemail = $list->senderemail; $mailings->frombounce = $list->bounceadres; $mailings->author_id = $my->id; $mailings->delay = 0; $mailings->issue_nb = $issue_nb; $mailings->acc_level = 25; $mailings->createdate = $list->createdate; $issue_nb++; $error = jNews_Mailing::insertMailingData($mailings); if (!$error) { echo '<p><b>Error (class.upgrade.php->upgrade_News3() line ' . __LINE__ . '):</b> Error inserting mailing. Database error: <br />' . $error . '</p>'; } else { echo '<br /><b>' . _JNEWS_MENU_MAILING_TITLE . ': </b>' . $mailingsImport->subject . ': ' . jnews::printM('green', _JNEWS_IMPORT_SUCCESS); } } } } } } } $db->setQuery("SELECT * FROM #__yanc_subscribers"); $subscribers = $db->loadObjectList(); $error = $db->getErrorMsg(); if (!empty($error)) { echo '<p><b>Error (class.upgrade.php->upgrade_News3() line ' . __LINE__ . '):</b> Error getting subscribers. Database error: <br />' . $error . '</p>'; return false; } else { foreach ($subscribers as $subscriber) { $newSubs = true; $jnewssubscribers = jNews_Subscribers::getSubscribers(-1, -1, '', $total, 0, '', '', '', '', ''); //added one parameter for mailid foreach ($jnewssubscribers as $jnewssubscriber) { if ($subscriber->subscriber_email == $jnewssubscriber->email) { $newSubs = false; $subId[0] = $jnewssubscriber->id; } } if ($newSubs) { $newSubscriber->user_id = $subscriber->userid; $newSubscriber->name = $subscriber->subscriber_name; $newSubscriber->email = $subscriber->subscriber_email; $newSubscriber->ip = $subscriber->ip; $newSubscriber->receive_html = $subscriber->receive_html; $newSubscriber->confirmed = $subscriber->confirmed; $newSubscriber->subscribe_date = $subscriber->subscribe_date; $newSubscriber->blacklist = 0; $newSubscriber->timezone = '00:00:00'; $newSubscriber->language_iso = 'eng'; $newSubscriber->params = ''; if ($GLOBALS[JNEWS . 'level'] > 2) { //check if the version of jnews is pro $newSubscriber->column1 = $newSubscriber->column1; $newSubscriber->column2 = $newSubscriber->column2; $newSubscriber->column3 = $newSubscriber->column3; $newSubscriber->column4 = $newSubscriber->column4; $newSubscriber->column5 = $newSubscriber->column5; } //end if for check version pro $error = jNews_Subscribers::saveSubscriber($newSubscriber, $subscriberId, true); if (!empty($error)) { if ($subscriberId < 1) { echo ' Error inserting subscriber:' . $newSubscriber->name; } $error = ''; $subId[0] = $subscriberId; } else { echo '<br /><b>' . _JNEWS_MENU_SUBSCRIBERS . ': </b>' . $newSubscriber->name . ': ' . jnews::printM('green', _JNEWS_IMPORT_SUCCESS); $d['email'] = $subscriber->email; jNews_Subscribers::getSubscriberIdFromEmail($d); $subId[0] = $d['subscriberId']; } } else { echo '<br /><b>' . _JNEWS_MENU_SUBSCRIBERS . ': </b>' . $subscriber->subscriber_name . ': ' . jnews::printM('red', _JNEWS_IMPORT_EXIST); } $j = 0; $queue = jNews_ListsSubs::getListSubscriberInfo($subId[0], $idImportedList[$subscriber->list_id]); if (empty($queue)) { $error = jNews_Queue::insertQueuesForNews($subId, $idImportedList[$subscriber->list_id], 29); if (!$error) { echo '<p><b>Error (class.upgrade.php->upgrade_News3 () line ' . __LINE__ . '):</b> Error inserting queue. Database error: <br />' . $error . '</p>'; } } } } } return true; }
public static function sendTestEmail($mailingId, $listId) { $list = new stdClass(); $new = null; $mailing = jNews_Mailing::getOneMailing($list, $mailingId, '', $new); if ($listId > 0) { $list = jNews_Lists::getOneList($listId); } else { $list = jNews_Lists::getOneList($mailing->list_id); } $previewemailaddress = JRequest::getVar('emailaddress', ''); $previewname = JRequest::getVar('name', ''); $previewhtml = JRequest::getVar('html', '0'); $receivers = new stdClass(); $my = JFactory::getUser(); $d['email'] = trim($previewemailaddress); $infos = jNews_Subscribers::getSubscriberIdFromEmail($d); if (empty($infos['subscriberId'])) { $d['email'] = $my->email; $infos = jNews_Subscribers::getSubscriberIdFromEmail($d); } if (!empty($infos['subscriberId'])) { $receivers = jNews_Subscribers::getSubscribersFromId(array($infos['subscriberId'])); } else { $receivers->id = 0; } $receivers->email = $previewemailaddress; $receivers->name = $previewname; $receivers->receive_html = $previewhtml; $mailerC = new jNews_ProcessMail(); return $mailerC->send($mailing, $receivers); }