예제 #1
0
function sendit_save_postdata($post_id)
{
    //print_r($_POST);
    //if ( !wp_verify_nonce( $_POST['sendit_noncename'], 'sendit_noncename'.$post_id ))
    //return $post_id;
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
        return $post_id;
    }
    if (!current_user_can('edit_page', $post_id)) {
        return $post_id;
    }
    $post = get_post($post_id);
    if ($post->post_type == 'newsletter') {
        //old
        update_post_meta($post_id, 'send_now', $_POST['send_now']);
        update_post_meta($post_id, 'sendit_list', $_POST['sendit_list']);
        //old
        //new 3.0
        update_post_meta($post_id, 'newsletter_status', $_POST['newsletter_status']);
        if ($_POST['newsletter_status'] == 'send now') {
            send_newsletter($post_ID);
        }
        if ($_POST['send_now'] == '2') {
            wp_schedule_single_event(time() + 60, 'sendit_newsletter_scheduled');
        }
        //echo $_POST['newsletter_status'];
        update_post_meta($post_id, 'template_id', $_POST['template_id']);
        //save scheduler data if exixts
        if (function_exists('Sendit_tracker_installation')) {
            update_post_meta($post_id, 'subscribers', get_list_subcribers($_POST['sendit_list']));
            update_post_meta($post_id, 'sendit_scheduled', $_POST['sendit_scheduled']);
        }
        //save which template
        return esc_attr($_POST);
    }
}
 if ($continue == "0") {
     print_r($_POST);
     echo "<center><font color=\"red\"><b>All fields need to be entered before you can send out this newsletter</b></font></center>";
 } else {
     if ($continue == "1") {
         if ($_GET[email_type] == "html") {
             send_newsletter($_GET[email_type], $_POST[html_subject], $_POST[html_message]);
             $insert = @mysql_query("INSERT INTO {$news_table} VALUES ('" . (db_max($news_table) + 1) . "', 'html', '" . $_POST[html_subject] . "', '" . $_POST[html_message] . "', '" . time() . "')");
         } else {
             if ($_GET[email_type] == "text") {
                 send_newsletter($_GET[email_type], $_POST[text_subject], $_POST[text_message]);
                 $insert = @mysql_query("INSERT INTO {$news_table} VALUES ('" . (db_max($news_table) + 1) . "', 'text', '" . $_POST[text_subject] . "', '" . $_POST[text_message] . "', '" . time() . "')");
             } else {
                 if ($_GET[email_type] == "both") {
                     send_newsletter("html", $_POST[html_subject], $_POST[html_message]);
                     send_newsletter("text", $_POST[text_subject], $_POST[text_message]);
                     $insert = @mysql_query("INSERT INTO {$news_table} VALUES ('" . (db_max($news_table) + 1) . "', 'html', '" . $_POST[html_subject] . "', '" . $_POST[html_message] . "', '" . time() . "')");
                     $insert2 = @mysql_query("INSERT INTO {$news_table} VALUES ('" . (db_max($news_table) + 1) . "', 'text', '" . $_POST[text_subject] . "', '" . $_POST[text_message] . "', '" . time() . "')");
                 }
             }
         }
         echo "<center>You successfully sent the newsletter to the following people</center>\n\t\t\t\t\t<center><table border=\"1\" width=\"50%\" cellpadding=\"3\">\n\t\t\t\t\t  <tr>\n\t\t\t\t\t    <td width=\"50%\"><b>HTML subscribers</b><br>";
         if ($_GET[email_type] == "html" or $_GET[email_type] == "both") {
             $result = @mysql_query("SELECT * FROM {$users_table} WHERE email_type = 'html'");
             while ($row = mysql_fetch_array($result)) {
                 echo "" . $row[email] . "<br>\n";
             }
         } else {
             if ($_GET[email_type] == "text") {
                 echo "--No subscribers--";
             }
예제 #3
0
function tb_newsletter_send()
{
    ?>
	<div class="wrap">

		<?php 
    if (!current_user_can('manage_options')) {
        wp_die(__('Vous n\'avez pas les droits suffisants pour accéder à cette page.'));
    }
    ?>

		<?php 
    screen_icon();
    ?>

		<!-- Titre -->
		<h2>Envoi de la newsletter</h2>

		<!-- Description -->
		<div class="description">
			<p>Page de prévisualisation et d'envoi de la newsletter</p>
		</div>

		<?php 
    settings_errors();
    ?>

		<?php 
    $newsletter_config = get_config();
    $hidden_update_address_field_name = 'tb_submit_hidden_update_addres';
    $hidden_send_newsletter_field_name = 'tb_submit_hidden_send_newsletter';
    // enregistre les changements de config en BdD
    if (isset($_POST[$hidden_update_address_field_name]) && $_POST[$hidden_update_address_field_name] == 'Y') {
        $newsletter_config['newsletter_test_recipient'] = $_POST['newsletter_test_recipient'];
        update_option('tb_newsletter_config', json_encode($newsletter_config));
        send_newsletter($newsletter_config['newsletter_test_recipient']);
        ?>

				<!-- Confirmation de l'enregistrement -->
				<div class="updated">
					<p><strong>Newsletter de TEST envoyée</strong></p>
				</div>

		<?php 
        // enregistre les changements de config en BdD
    } elseif (isset($_POST[$hidden_send_newsletter_field_name]) && $_POST[$hidden_send_newsletter_field_name] == 'Y') {
        send_newsletter();
        ?>

				<!-- Confirmation de l'enregistrement -->
				<div class="updated">
					<p><strong>Newsletter envoyée</strong></p>
				</div>

		<?php 
    }
    ?>

		<form method="post" action="">
			<input type="hidden" name="<?php 
    echo $hidden_update_address_field_name;
    ?>
" value="Y">
			<table class="form-table">
				<tbody>
					<tr>
						<th scope="row">
							<label for="newsletter_test_recipient">Adresse de test</label>
						</th>
						<td>
							<input type="text" name="newsletter_test_recipient" id="newsletter_test_recipient" value="<?php 
    echo $newsletter_config['newsletter_test_recipient'];
    ?>
" class="regular-text">
							<p class="description">
								Un exemplaire de la newsletter sera envoyé à cette adresse.<br>
								Pour tester le rendu.
							</p>
						</td>
						<td>
							<input type="submit" name="Submit" class="button-primary" value="Tester la newsletter" />
						</td>
					</tr>
				</tbody>
			</table>
		</form>

		<hr>

		<div id="poststuff">

			<div id="post-body" class="metabox-holder columns-2">

				<div id="postbox-container-1" class="postbox-container">

					<div id="side-sortables" class="meta-box-sortables ui-sortable">
						<div id="submitdiv" class="postbox ">

							<h2 class="hndle ui-sortable-handle">
								<span>Envoyer</span>
							</h2>

							<div class="inside">
								<div id="major-publishing-actions">

									<div id="publishing-action">
										<span class="spinner"></span>

										<form method="post" action="">
											<input type="hidden" name="<?php 
    echo $hidden_send_newsletter_field_name;
    ?>
" value="Y">

											<p class="submit">
												<input type="submit" name="Submit" class="button-primary" value="Envoyer la newsletter" />
											</p>
											<p class="howto">Après vérification évidemment</p>

										</form>
									</div>

									<div class="clear"></div>
								</div>
							</div>
						</div>
					</div>
				</div>

				<div id="postbox-container-2" class="postbox-container">

					<h2>Prévisualisation avant envoi</h2>

					<div id="post-body-content" style="position: relative;">
						<div class="card">

							<?php 
    echo get_newsletter();
    ?>

						</div>
					</div>

				</div>

			</div>

		</div>
	</div>
<?php 
}
        if (!in_array($val, $add_to)) {
            $add_to[] = $val;
        }
    }
}
$op = importVar("op");
switch ($op) {
    case "view":
    case "newsletter":
        newsletter();
        break;
    case "initsend":
        init_send();
        break;
    case "selsendto":
        selSendTo();
        break;
    case "summary":
        $id_send = (int) $_GET["id_send"];
        newsletterSummary($id_send);
        break;
    case "send":
        $id_send = (int) $_GET["id_send"];
        send_newsletter($id_send);
        break;
    case "pause":
        nl_pause();
        break;
    case "complete":
        nl_sendcomplete();
}