1
0
mirror of https://github.com/e107inc/e107.git synced 2025-02-12 18:50:37 +01:00
php-e107/e107_plugins/newsletter/newsletter_legacy_menu.php

109 lines
3.5 KiB
PHP
Raw Normal View History

2013-03-02 17:59:32 +00:00
<?php
/*
* e107 website system
*
2016-03-15 12:24:20 +01:00
* Copyright (C) 2008-2016 e107 Inc (e107.org)
2013-03-02 17:59:32 +00:00
* Released under the terms and conditions of the
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
*
* Newsletter plugin - newsletter selection menu
*
*/
if (!defined('e107_INIT')) { exit; }
2015-02-15 16:07:27 -08:00
if (!e107::isInstalled('newsletter'))
2013-03-02 17:59:32 +00:00
{
return;
}
2016-03-15 12:24:20 +01:00
// Do not display menu when there are no newsletters defined yet
if(!USER || !$sql->select('newsletter', '*', "newsletter_parent='0'"))
{
2013-03-02 17:59:32 +00:00
return FALSE;
}
2016-03-15 12:24:20 +01:00
$newsletterArray = $sql->db_getList();
2013-03-02 17:59:32 +00:00
$requery = false;
2016-03-15 12:24:20 +01:00
//include_lan(e_PLUGIN.'newsletter/languages/'.e_LANGUAGE.'.php');
2013-03-02 17:59:32 +00:00
foreach($_POST as $key => $value)
{
if(strpos($key, 'nlUnsubscribe_') === 0)
{
$subid = str_replace('nlUnsubscribe_', '', $key);
$newsletterArray[$subid]['newsletter_subscribers'] = str_replace(chr(1).USERID, "", $newsletterArray[$subid]['newsletter_subscribers']);
2016-03-15 12:24:20 +01:00
$sql->update('newsletter', "newsletter_subscribers='".$newsletterArray[$subid]['newsletter_subscribers']."' WHERE newsletter_id='".intval($subid)."' ");
2013-03-02 17:59:32 +00:00
$requery = true;
}
2016-03-15 12:24:20 +01:00
elseif(strpos($key, 'nlSubscribe_') === 0)
2013-03-02 17:59:32 +00:00
{
$subid = str_replace("nlSubscribe_", "", $key);
$nl_subscriber_array = $newsletterArray[$subid]['newsletter_subscribers'];
2016-03-15 12:24:20 +01:00
// prevent double entry of same user id
2013-03-02 17:59:32 +00:00
if (!array_key_exists(USERID, $nl_subscriber_array))
2016-03-15 12:24:20 +01:00
{
2013-03-02 17:59:32 +00:00
$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));
2016-03-15 12:24:20 +01:00
// remove the possible zero caused by function array_flip
2013-03-02 17:59:32 +00:00
if (substr($new_subscriber_list, 0, 1) == '0')
2016-03-15 12:24:20 +01:00
{
2013-03-02 17:59:32 +00:00
$new_subscriber_list = substr($new_subscriber_list, 1);
}
2016-03-15 12:24:20 +01:00
$sql->update('newsletter', "newsletter_subscribers='".$new_subscriber_list."' WHERE newsletter_id='".intval($subid)."' ");
2013-03-02 17:59:32 +00:00
$requery = true;
}
}
}
2016-03-15 12:24:20 +01:00
//global $tp;
2013-03-02 17:59:32 +00:00
if($requery)
{
2016-03-15 12:24:20 +01:00
if($sql->select('newsletter', '*', "newsletter_parent='0' "))
2013-03-02 17:59:32 +00:00
{
2016-03-15 12:24:20 +01:00
$newsletterArray = $sql->db_getList();
2013-03-02 17:59:32 +00:00
}
}
$text = '';
foreach($newsletterArray as $nl)
{
$text .= "<div style='text-align: center; margin-left: auto; margin-right: auto;'>
<form method='post' action='".e_SELF."'>
<b>".
2016-03-15 12:24:20 +01:00
$tp->toHTML($nl['newsletter_title'], TRUE)."</b><br />
2013-03-02 17:59:32 +00:00
<span class='smalltext'>".
2016-03-15 12:24:20 +01:00
$tp->toHTML($nl['newsletter_text'], TRUE)."</span><br /><br />
2013-03-02 17:59:32 +00:00
";
if(preg_match("#".chr(1).USERID."(".chr(1)."|$)#si", $nl['newsletter_subscribers']))
{
$text .= NLLAN_48."<br /><br />
<input class='btn btn-default button' type='submit' name='nlUnsubscribe_".$nl['newsletter_id']."' value='".NLLAN_51."' onclick=\"return jsconfirm('".$tp->toJS(NLLAN_49)."') \" />
2013-03-02 17:59:32 +00:00
";
}
else
{
2016-03-15 12:24:20 +01:00
$text .= NLLAN_50." <b>".USEREMAIL."</b>)<br /><br />
<input class='btn btn-default button' type='submit' name='nlSubscribe_".$nl['newsletter_id']."' value='".NLLAN_52."' onclick=\"return jsconfirm('".$tp->toJS(NLLAN_53)."') \" />
2013-03-02 17:59:32 +00:00
";
}
2016-03-15 12:24:20 +01:00
$nl_count = $sql->count('newsletter', "(*)", "WHERE newsletter_parent='".$nl['newsletter_id']."' AND newsletter_flag='1'");
// display issued newsletters
2013-03-02 17:59:32 +00:00
if($nl_count > 0 && USER)
2016-03-15 12:24:20 +01:00
{
2013-03-02 17:59:32 +00:00
$text .= "<br /><a href='".e_PLUGIN_ABS."newsletter/nl_archive.php?show.".$nl['newsletter_id']."' alt='".NLLAN_72."' title='".NLLAN_72."'>".NLLAN_72."</a><br/><br/>";
}
$text .= "</form>
</div>
<br />
";
}
2016-03-15 12:24:20 +01:00
$ns->tablerender(NLLAN_MENU_CAPTION, $text);
2006-12-02 04:36:16 +00:00
?>