コード例 #1
0
ファイル: class.subscribers.php プロジェクト: naka211/kkvn
 /**
  * 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;
 }
コード例 #2
0
ファイル: vmjnewssubs.php プロジェクト: naka211/kkvn
 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);
                     }
                 }
             }
         }
     }
 }
コード例 #3
0
ファイル: frontend.php プロジェクト: naka211/kkvn
 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;
 }
コード例 #4
0
 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;
 }
コード例 #5
0
ファイル: class.jnews.php プロジェクト: naka211/kkvn
 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;
 }
コード例 #6
0
ファイル: class.mailing.php プロジェクト: naka211/kkvn
 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);
 }