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 />
2014-02-07 07:33:33 -08:00
< 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 />
2014-02-07 07:33:33 -08:00
< 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
?>