SqlRow( "SELECT * FROM $table_global_config" );
include( "include/lang/" . $row_config_globale[ 'language' ] . ".php" );
$list_id = ( !empty( $_POST[ 'list_id' ] ) ? $_POST[ 'list_id' ] : "" );
$list_id = ( empty( $list_id ) && !empty( $_GET[ 'list_id' ] ) ? $_GET[ 'list_id' ] : $list_id );
$email_addr = ( !empty( $_POST[ 'email_addr' ] ) ? $_POST[ 'email_addr' ] : "" );
$email_addr = ( empty( $email_addr ) && !empty( $_GET[ 'email_addr' ] ) ? $_GET[ 'email_addr' ] : $email_addr );
$op = ( !empty( $_POST[ 'op' ] ) ? $_POST[ 'op' ] : "" );
$op = ( empty( $op ) && !empty( $_GET[ 'op' ] ) ? $_GET[ 'op' ] : $op );
$hash = ( !empty( $_POST[ 'hash' ] ) ? $_POST[ 'hash' ] : "" );
$hash = ( empty( $hash ) && !empty( $_GET[ 'hash' ] ) ? $_GET[ 'hash' ] : $hash );
$i = ( !empty( $_POST[ 'i' ] ) ? $_POST[ 'i' ] : "" );
$i = ( empty( $i ) && !empty( $_GET[ 'i' ] ) ? $_GET[ 'i' ] : "" );
$h = ( !empty( $_POST[ 'h' ] ) ? $_POST[ 'h' ] : "" );
$h = ( empty( $h ) && !empty( $_GET[ 'h' ] ) ? $_GET[ 'h' ] : "" );
if ( $op == "leave" && !$row_config_globale[ 'unsub_validation' ] ) {
$op = "leave_direct";
} else if ( $op == "leave_direct" && $row_config_globale[ 'unsub_validation' ] ) {
$op = "leave";
} else if ( $op == "join" && !$row_config_globale[ 'sub_validation' ] ) {
$op = "join_direct";
} else if ( $op == "join_direct" && $row_config_globale[ 'sub_validation' ] ) {
$op = "join";
}
$news = getConfig( $cnx, $list_id, $row_config_globale[ 'table_listsconfig' ] );
require( 'include/lib/PHPMailerAutoload.php' );
$tPath = ($row_config_globale['path'] == '' ? '/' : '/'.$row_config_globale['path']);
$tPath = str_replace('//','/',$tPath);
?>
">
' . tr( "SUBSCRIPTION_TITLE" ) . '
';
echo "" . tr( "EMAIL_ADDRESS_NOT_VALID" ) . "
";
exit( );
}
switch ( $op ) {
case "join":
echo '
' . tr( "SUBSCRIPTION_TITLE" ) . '
';
$c = ( empty( $c ) && !empty( $_POST[ 'c' ] ) ? $_POST[ 'c' ] : "" );
if ( empty( $c ) || ( $_POST[ 'c' ] != $_SESSION[ 'c' ] ) ) {
$_SESSION[ 'new_sub' ] = $email_addr;
echo '
';
} elseif ( $_POST[ 'c' ] == $_SESSION[ 'c' ] ) {
if ( $row_config_globale[ 'mod_sub' ] == "0" ) {
$add = addSubscriberTemp( $cnx, $row_config_globale[ 'table_email' ], $row_config_globale[ 'table_temp' ], $list_id, $email_addr );
if ( strlen( $add ) > 3 ) {
$body = $news[ 'subscription_body' ];
$body .= "\n\n" . tr( "SUBSCRIPTION_MAIL_BODY" ) . ":\n";
$body .= "
" . tr( "SUBSCRIPTION_I_SUB" ) . "";
$subj = ( strtoupper( $row_config_globale[ 'charset' ] ) == "UTF-8"
? $news[ 'subscription_subject' ]
: iconv( "UTF-8", $row_config_globale[ 'charset' ], $news[ 'subscription_subject' ] ) );
$body = ( strtoupper( $row_config_globale[ 'charset' ] ) == "UTF-8" ? $body : iconv( "UTF-8", $row_config_globale[ 'charset' ], $body ) );
if ( $row_config_globale[ 'sending_method' ] == 'lbsmtp' ) {
$info_smtp_lb = $cnx->SqlRow( "SELECT *
FROM " . $row_config_globale[ 'table_smtp' ] . "
WHERE smtp_used < smtp_limite
AND smtp_date_update > DATE_SUB(CURDATE(), INTERVAL 1 DAY)
ORDER BY id_use ASC LIMIT 1" );
if ( $info_smtp_lb[ 'smtp_user' ] != '' && $info_smtp_lb[ 'smtp_pass' ] != '' ) {
$auth = 1;
} else {
$auth = 0;
}
sendEmail( 'lbsmtp', $email_addr, $news[ 'from_addr' ], $news[ 'from_name' ], $subj, $body, $auth,
$info_smtp_lb[ 'smtp_url' ], $info_smtp_lb[ 'smtp_user' ], $info_smtp_lb[ 'smtp_pass' ],
$row_config_globale[ 'charset' ], $info_smtp_lb[ 'smtp_secure' ], $info_smtp_lb[ 'smtp_port' ] );
$cnx->query( 'UPDATE ' . $row_config_globale[ 'table_smtp' ] . '
SET smtp_used=smtp_used+1, id_use=' . ( intval( $CURRENT_ID ) + 1 ) . '
WHERE smtp_id=' . $info_smtp_lb[ 'smtp_id' ] );
} else {
sendEmail( $row_config_globale[ 'sending_method' ], $email_addr, $news[ 'from_addr' ],
$news[ 'from_name' ], $subj, $body, $row_config_globale[ 'smtp_auth' ], $row_config_globale[ 'smtp_host' ],
$row_config_globale[ 'smtp_login' ], $row_config_globale[ 'smtp_pass' ], $row_config_globale[ 'charset' ] );
}
echo "
" . tr( "SUBSCRIPTION_SEND_CONFIRM_MESSAGE" ) . "
";
} elseif ( $add == 0 )
echo "
" . tr( "SUBSCRIPTION_ALREADY_SUBSCRIBER" ) . "
";
else
echo "
" . tr( "ERROR_SQL2" ) . "
";
} elseif ( $row_config_globale[ 'mod_sub' ] == "1" ) {
$add = addSubscriberMod( $cnx, $row_config_globale[ 'table_email' ], $row_config_globale[ 'table_sub' ], $list_id, $email_addr );
if ( $add )
echo "
" . tr( "SUBSCRIPTION_WAITING_MODERATION" ) . "
";
else if ( $add == 0 )
echo "
" . tr( "SUBSCRIPTION_ALREADY_SUBSCRIBER" ) . "
";
else
echo "
" . tr( "ERROR_SQL2" ) . "
";
}
echo '
' . tr( "CLOSE_WINDOW" ) . '
';
}
break;
case "leave":
echo '
' . tr( "UNSUBSCRIPTION_TITLE" ) . '
';
$hash = isValidSubscriber( $cnx, $row_config_globale[ 'table_email' ], $list_id, $email_addr );
if ( $hash == $h && !empty( $hash ) && strlen( $hash ) == 32 ) {
$body = $news[ 'quit_body' ];
$body .= "\n\n" . tr( "UNSUBSCRIPTION_MAIL_BODY" ) . " :\n";
$body .= "
" . tr( "SUBSCRIPTION_UN_SUB" ) . "";
$subj = ( strtoupper( $row_config_globale[ 'charset' ] ) == "UTF-8"
? $news[ 'quit_subject' ]
: iconv( "UTF-8", $row_config_globale[ 'charset' ], $news[ 'quit_subject' ] ) );
$body = ( strtoupper( $row_config_globale[ 'charset' ] ) == "UTF-8"
? $body
: iconv( "UTF-8", $row_config_globale[ 'charset' ], $body ) );
if ( sendEmail( $row_config_globale[ 'sending_method' ], $email_addr, $news[ 'from_addr' ], $news[ 'from_name' ],
$subj, $body, $row_config_globale[ 'smtp_auth' ], $row_config_globale[ 'smtp_host' ],
$row_config_globale[ 'smtp_login' ], $row_config_globale[ 'smtp_pass' ], $row_config_globale[ 'charset' ] ) ) {
echo "
" . tr( "UNSUBSCRIPTION_SEND_CONFIRM_MESSAGE" ) . "
";
} else {
echo "
" . tr( "ERROR_SENDING_CONFIRM_MAIL" ) . "
";
}
} else {
echo "
" . tr( "SUBSCRIPTION_NOT_A__SUBSCRIBER" ) . "
";
}
echo '
' . tr( "CLOSE_WINDOW" ) . '
';
break;
case "confirm_join":
echo '
' . tr( "SUBSCRIPTION_TITLE" ) . '
';
$add = addSubscriber( $cnx, $row_config_globale[ 'table_email' ], $row_config_globale[ 'table_temp' ], $list_id, $email_addr, $hash,
$row_config_globale[ 'table_email_deleted' ] );
if ( $add == false ) {
echo "
" . tr( "SUBSCRIPTION_UNKNOWN_EMAIL_ADDRESS" ) . "!
";
} elseif ( $add == true ) {
$body = $news[ 'welcome_body' ];
$body .= "\n\n" . tr( "SUBSCRIPTION_UNSUBSCRIBE_LINK" ) . ":\n";
$body .= "
" . tr( "SUBSCRIPTION_AGREE_UN_SUB" ) . "";
$subj = ( strtoupper( $row_config_globale[ 'charset' ] ) == "UTF-8"
? $news[ 'welcome_subject' ]
: iconv( "UTF-8", $row_config_globale[ 'charset' ], $news[ 'welcome_subject' ] ) );
$body = ( strtoupper( $row_config_globale[ 'charset' ] ) == "UTF-8"
? $body
: iconv( "UTF-8", $row_config_globale[ 'charset' ], $body ) );
sendEmail( $row_config_globale[ 'sending_method' ], $email_addr, $news[ 'from_addr' ], $news[ 'from_name' ], $subj, $body,
$row_config_globale[ 'smtp_auth' ], $row_config_globale[ 'smtp_host' ], $row_config_globale[ 'smtp_login' ],
$row_config_globale[ 'smtp_pass' ], $row_config_globale[ 'charset' ] );
echo "
" . tr( "SUBSCRIPTION_FINISHED" ) . "
";
if ( $row_config_globale[ 'alert_sub' ] == 1 ) {
$rapport_sujet = tr( "SUBSCRIPTION_TITLE" );
$subj = ( strtoupper( $row_config_globale[ 'charset' ] ) == "UTF-8" ? $rapport_sujet
: iconv( "UTF-8", $row_config_globale[ 'charset' ], $rapport_sujet ) );
$rapport = '
' . tr( "SUBSCRIPTION_TITLE" ) . ' ! |
' . tr( "LIST_NUMBER" ) . ' : |
' . $list_id . ' |
' . tr( "EMAIL_ADDRESS" ) . ' : |
' . $email_addr . ' |
';
sendEmail( $row_config_globale[ 'sending_method' ], $row_config_globale[ 'admin_email' ], $row_config_globale[ 'admin_email' ],
$row_config_globale[ 'admin_name' ], $subj, $rapport, $row_config_globale[ 'smtp_auth' ], $row_config_globale[ 'smtp_host' ],
$row_config_globale[ 'smtp_login' ], $row_config_globale[ 'smtp_pass' ], $row_config_globale[ 'charset' ] );
}
if ( $sub_validation_sms == 1 )
send_sms( $free_id, $free_pass, "Un nouvel abonné sur la liste $list_id : $email_addr. Bonne journée ;-)" );
} else {
echo "
" . tr( "ERROR_UNKNOWN" ) . "
";
}
echo '
' . tr( "CLOSE_WINDOW" ) . '
';
break;
case "confirm_leave":
echo '
' . tr( "UNSUBSCRIPTION_TITLE" ) . '
';
$rm = removeSubscriber( $cnx, $row_config_globale[ 'table_email' ], $row_config_globale[ 'table_send' ], $list_id, $email_addr,
$hash, $i, $row_config_globale[ 'table_email_deleted' ] );
if ( !$row_config_globale[ 'unsub_validation' ] ) {
sendEmail( $row_config_globale[ 'sending_method' ], $news[ 'from_addr' ], $news[ 'from_addr' ], $news[ 'from_name' ], 'Désinscription',
'Liste : ' . $list_id . '
Désinscrit : ' . $email_addr, $row_config_globale[ 'smtp_auth' ], $row_config_globale[ 'smtp_host' ],
$row_config_globale[ 'smtp_login' ], $row_config_globale[ 'smtp_pass' ], $row_config_globale[ 'charset' ] );
}
if ( $unsub_validation_sms == 1 )
send_sms( $free_id, $free_pass, "Une désinscription sur la liste $list_id : $email_addr. Bonne journée ;-)" );
if ( $rm == 1 ) {
echo "
" . tr( "UNSUBSCRIPTION_FINISHED" ) . ".
";
} else if ( $rm == -1 ) {
echo "
" . tr( "UNSUBSCRIPTION_UNKNOWN_EMAIL_ADDRESS" ) . "
";
} else {
echo "
" . tr( "ERROR_UNKNOWN" ) . "
";
}
echo '
' . tr( "CLOSE_WINDOW" ) . '
';
break;
case "join_direct":
echo '
' . tr( "SUBSCRIPTION_TITLE" ) . '
';
if ( !$row_config_globale[ 'sub_validation' ] ) {
$add = addSubscriberDirect( $cnx, $row_config_globale[ 'table_email' ], $list_id, $email_addr,
$row_config_globale[ 'table_email_deleted' ] );
if ( $add ) {
$body = $news[ 'welcome_body' ];
$body .= "\n\n" . tr( "UNSUBSCRIPTION_MAIL_BODY" ) . ":\n";
$body .= "
" . tr( "SUBSCRIPTION_UN_SUB" ) . "";
$subj = ( strtoupper( $row_config_globale[ 'charset' ] ) == "UTF-8"
? $news[ 'welcome_subject' ]
: iconv( "UTF-8", $row_config_globale[ 'charset' ], $news[ 'welcome_subject' ] ) );
$body = ( strtoupper( $row_config_globale[ 'charset' ] ) == "UTF-8"
? $body
: iconv( "UTF-8", $row_config_globale[ 'charset' ], $body ) );
sendEmail( $row_config_globale[ 'sending_method' ], $email_addr, $news[ 'from_addr' ], $news[ 'from_name' ],
$subj, $body, $row_config_globale[ 'smtp_auth' ], $row_config_globale[ 'smtp_host' ], $row_config_globale[ 'smtp_login' ],
$row_config_globale[ 'smtp_pass' ], $row_config_globale[ 'charset' ] );
if ( $row_config_globale[ 'alert_sub' ] == 1 ) {
$rapport_sujet = tr( "SUBSCRIPTION_TITLE" );
$subj = ( strtoupper( $row_config_globale[ 'charset' ] ) == "UTF-8" ? $rapport_sujet
: iconv( "UTF-8", $row_config_globale[ 'charset' ], $rapport_sujet ) );
$rapport = '
'
. tr( "SUBSCRIPTION_TITLE" ) . ' ! |
' . tr( "LIST_NUMBER" ) . ' : |
' . $list_id . ' |
' . tr( "EMAIL_ADDRESS" ) . ' : |
' . $email_addr . ' |
';
sendEmail( $row_config_globale[ 'sending_method' ], $row_config_globale[ 'admin_email' ],
$row_config_globale[ 'admin_email' ], $row_config_globale[ 'admin_name' ],
$subj, $rapport, $row_config_globale[ 'smtp_auth' ], $row_config_globale[ 'smtp_host' ],
$row_config_globale[ 'smtp_login' ], $row_config_globale[ 'smtp_pass' ],
$row_config_globale[ 'charset' ] );
}
if ( $sub_validation_sms == 1 )
send_sms( $free_id, $free_pass, "Un nouvel abonné sur la liste " . $list_id . " : "
. $email_addr . ". Bonne journée ;-)" );
echo "
" . tr( "SUBSCRIPTION_FINISHED" ) . "
";
} else {
echo "
" . tr( "SUBSCRIPTION_ALREADY_SUBSCRIBER" ) . "
";
}
}
echo '
' . tr( "CLOSE_WINDOW" ) . '
';
break;
case "leave_direct":
echo '
' . tr( "UNSUBSCRIPTION_TITLE" ) . '
';
if ( !$row_config_globale[ 'unsub_validation' ] ) {
$rm = removeSubscriberDirect( $cnx, $row_config_globale[ 'table_email' ], $row_config_globale[ 'table_send' ], $list_id, $email_addr,
$h, $i, $row_config_globale[ 'table_email_deleted' ] );
sendEmail( $row_config_globale[ 'sending_method' ], $news[ 'from_addr' ], $news[ 'from_addr' ],
$news[ 'from_name' ], 'Désinscription', 'Liste : ' . $list_id . '
Désinscrit : '
. $email_addr, $row_config_globale[ 'smtp_auth' ],
$row_config_globale[ 'smtp_host' ], $row_config_globale[ 'smtp_login' ],
$row_config_globale[ 'smtp_pass' ], $row_config_globale[ 'charset' ] );
if ( $rm ) {
echo "
" . tr( "UNSUBSCRIPTION_FINISHED" ) . ".
";
} else if ( $rm == -1 ) {
echo "
" . tr( "UNSUBSCRIPTION_UNKNOWN_EMAIL_ADDRESS" ) . "
";
} else {
echo "
" . tr( "ERROR_UNKNOWN" ) . "
";
}
}
if ( $unsub_validation_sms == 1 )
send_sms( $free_id, $free_pass, "Une désinscription sur la liste " . $list_id
. " : " . $email_addr . ". Bonne journée" );
echo '
' . tr( "CLOSE_WINDOW" ) . '
';
break;
default:
echo '
' . tr( "CLOSE_WINDOW" ) . '
';
break;
}
}
?>