How to edit export functionality in newsletter


 <?php

/*header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="newsletter-subscribers.csv"');*/

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");;
header("Content-Disposition: attachment;filename=member_report.xls ");
header("Content-Transfer-Encoding: binary ");


$keys = $wpdb->get_results("select distinct name from " . $wpdb->prefix . "newsletter_profiles order by name");
?>
<style type="text/css">
.border1
    {
        border-left:#000000 solid 1px;
        border-top:#000000 solid 1px;
        border-bottom:#000000 solid 1px;
    }
.border2
    {
        border-left:#000000 solid 1px;
        border-bottom:#000000 solid 1px;
    }    
.border3
    {    
        border-left:#000000 solid 1px; 
        border-bottom:#000000 solid 1px; 
        border-right:#000000 solid 1px;
    }
.border4
    {
        border:#000000 solid 1px;
    }
</style>
<table width="500" cellpadding="0" cellspacing="0">
<tr>
  <th colspan="2">&nbsp;</th>
</tr>
<tr>
  <th colspan="2">Newsletter Subscribers Report</th>
  </tr>
<tr>
    <th width="200">Email</th>
    <th  width="200">Name</th>
 </tr> 
 <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<?php

$page = 0;
while (true) {
    $query = "select * from " . $wpdb->prefix . "newsletter";
    if (!empty($_POST['options']['list'])) {
        $query .= " where list_" . $_POST['options']['list'] . "=1";
    }
    $recipients = $wpdb->get_results($query . " order by email limit " . $page * 500 . ",500");
    for ($i = 0; $i < count($recipients); $i++) {
        echo '<tr><td align="left">' . $recipients[$i]->email . '</td> <td align="left">' . newsletter_sanitize_csv($recipients[$i]->name).'</td>';
        echo "</tr>";
        flush();
    }
    if (count($recipients) < 500) break;
    $page++;
}
die();

function newsletter_sanitize_csv($text) {
    $text = str_replace('"', "'", $text);
    $text = str_replace("\n", ' ', $text);
    $text = str_replace("\r", ' ', $text);
    $text = str_replace(";", ' ', $text);
    return $text;
}
?>

<tr>
  <th colspan="2">&nbsp;</th>
</tr>
</table>

Advertisements

Sr. Software Engineer

Posted in Wordpress

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: