1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-19 12:51:52 +02:00

Latest mailer updates - primarily use new features in newsletter and notify. Also newsletter enhancements; thanks nlstart

This commit is contained in:
e107steved
2009-11-19 20:24:21 +00:00
parent 93933d1d74
commit eb05b14438
15 changed files with 939 additions and 517 deletions

View File

@@ -6,40 +6,56 @@
* Released under the terms and conditions of the
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
*
*
* Administration - Site Maintenance
*
* $Source: /cvs_backup/e107_0.8/e107_plugins/newsletter/newsletter_menu.php,v $
* $Revision: 1.3 $
* $Date: 2009-11-18 01:05:53 $
* $Author: e107coders $
*/
* $Revision: 1.4 $
* $Date: 2009-11-19 20:24:21 $
* $Author: e107steved $
*
*/
if (!defined('e107_INIT')) { exit; }
if(!USER || !$sql -> db_Select("newsletter", "*", "newsletter_parent='0' "))
if (!$e107->isInstalled('newsletter'))
{
// no newsletters defined yet //
return;
}
if(!USER || !$sql -> db_Select('newsletter', '*', "newsletter_parent='0'"))
{ // no newsletters defined yet
return FALSE;
}
$newsletterArray = $sql -> db_getList();
$requery = false;
include_lan(e_PLUGIN.'newsletter/languages/'.e_LANGUAGE.'.php');
foreach($_POST as $key => $value)
{
if(strstr($key, "nlUnsubscribe_"))
if(strpos($key, 'nlUnsubscribe_') === 0)
{
$subid = str_replace("nlUnsubscribe_", "", $key);
$subid = str_replace('nlUnsubscribe_', '', $key);
$newsletterArray[$subid]['newsletter_subscribers'] = str_replace(chr(1).USERID, "", $newsletterArray[$subid]['newsletter_subscribers']);
$sql -> db_Update("newsletter", "newsletter_subscribers='".$newsletterArray[$subid]['newsletter_subscribers']."' WHERE newsletter_id='".intval($subid)."' ");
$sql -> db_Update('newsletter', "newsletter_subscribers='".$newsletterArray[$subid]['newsletter_subscribers']."' WHERE newsletter_id='".intval($subid)."' ");
$requery = true;
}
else if(strstr($key, "nlSubscribe_"))
else if(strpos($key, 'nlSubscribe_') === 0)
{
$subid = str_replace("nlSubscribe_", "", $key);
$newsletterArray[$subid]['newsletter_subscribers'] .= chr(1).USERID;
$sql -> db_Update("newsletter", "newsletter_subscribers='".$newsletterArray[$subid]['newsletter_subscribers']."' WHERE newsletter_id='".intval($subid)."' ");
$requery = true;
$nl_subscriber_array = $newsletterArray[$subid]['newsletter_subscribers'];
if (!array_key_exists(USERID, $nl_subscriber_array))
{ // prevent double entry of same user id
$newsletterArray[$subid]['newsletter_subscribers'] .= chr(1).USERID;
$subscribers_list = array_flip(explode(chr(1), $newsletterArray[$subid]['newsletter_subscribers']));
sort($subscribers_list);
$new_subscriber_list = implode(chr(1), array_keys($subscribers_list));
if (substr($new_subscriber_list, 0, 1) == '0')
{ // remove the possible zero caused by function array_flip
$new_subscriber_list = substr($new_subscriber_list, 1);
}
$sql -> db_Update('newsletter', "newsletter_subscribers='".$new_subscriber_list."' WHERE newsletter_id='".intval($subid)."' ");
$requery = true;
}
}
}
@@ -47,13 +63,13 @@ global $tp;
if($requery)
{
if($sql -> db_Select("newsletter", "*", "newsletter_parent='0' "))
if($sql -> db_Select('newsletter', '*', "newsletter_parent='0' "))
{
$newsletterArray = $sql -> db_getList();
}
}
$text = "";
$text = '';
foreach($newsletterArray as $nl)
{
$text .= "<div style='text-align: center; margin-left: auto; margin-right: auto;'>
@@ -72,10 +88,15 @@ foreach($newsletterArray as $nl)
}
else
{
$text .= NLLAN_50." <b>".USEREMAIL."</b> ) ...<br /><br />
$text .= NLLAN_50." <b>".USEREMAIL."</b> )<br /><br />
<input class='button' type='submit' name='nlSubscribe_".$nl['newsletter_id']."' value='".NLLAN_52."' onclick=\"return jsconfirm('".$tp->toJS(NLLAN_53)."') \" />
";
}
$nl_count = $sql -> db_Count('newsletter', "(*)", "WHERE newsletter_parent='".$nl['newsletter_id']."' AND newsletter_flag='1'");
if($nl_count > 0 && USER)
{ // display issued newsletters
$text .= "<br /><a href='".e_PLUGIN."newsletter/nl_archive.php?show.".$nl['newsletter_id']."' alt='".NLLAN_72."' title='".NLLAN_72."'>".NLLAN_72."</a><br/><br/>";
}
$text .= "</form>
</div>
<br />
@@ -83,6 +104,4 @@ foreach($newsletterArray as $nl)
}
$ns -> tablerender(NLLAN_MENU_CAPTION, $text);
?>