コード例 #1
0
function em_install()
{
    update_option("xyz_em_active", 1);
    //for cron
    $pluginName = 'xyz-wp-newsletter/xyz-wp-newsletter.php';
    if (is_plugin_active($pluginName)) {
        wp_die("The plugin Newsletter Manager cannot be activated because you are using the premium version of this plugin. Back to <a href='" . admin_url() . "plugins.php'>Plugin Installation</a>.");
    }
    global $wpdb;
    $wpdb->show_errors();
    require_once ABSPATH . 'wp-admin/includes/upgrade.php';
    /*update attachment table name field*/
    if (xyz_em_plugin_get_version() == '1.2.2') {
        if (get_option('xyz_em_attachments_fix') != 1) {
            $wpdb->query("UPDATE " . $wpdb->prefix . "xyz_em_attachment SET name= CONCAT(id,'_',name)");
            add_option('xyz_em_attachments_fix', 1);
        }
    }
    /*update attachment table name field*/
    if (get_option('xyz_credit_link') == "") {
        add_option("xyz_credit_link", 0);
    }
    add_option('xyz_em_tinymce_filter', 0);
    add_option("xyz_em_hesl", 100);
    add_option("xyz_em_dss", 'Pending');
    add_option("xyz_em_defaultEditor", 'HTML Editor');
    add_option("xyz_em_dse", '*****@*****.**');
    add_option("xyz_em_dsn", 'Admin');
    add_option("xyz_em_enableWelcomeEmail", 'True');
    add_option("xyz_em_enableUnsubNotification", 'True');
    add_option("xyz_em_hidepmAds", 0);
    add_option("xyz_em_hourly_email_sent_count", 0);
    add_option("xyz_em_hourly_reset_time", 0);
    add_option("xyz_em_cronStartTime", 0);
    add_option("xyz_em_CronEndTime", 0);
    add_option('xyz_em_afterSubscription', '');
    add_option('xyz_em_emailConfirmation', '');
    add_option('xyz_em_redirectAfterLink', '');
    add_option('xyz_em_limit', 20);
    add_option('xyz_em_widgetName', 'Subscribe');
    add_option('xyz_em_sendViaSmtp', 0);
    add_option('xyz_em_SmtpDebug', 0);
    /* Table :  xyz_em_email_address */
    $xyz_em_email_address = $wpdb->get_results('SHOW TABLE STATUS WHERE name="xyz_em_email_address"');
    if (count($xyz_em_email_address) > 0) {
        $wpdb->query("RENAME TABLE xyz_em_email_address TO " . $wpdb->prefix . "xyz_em_email_address");
    } else {
        $queryEmailAddress = "CREATE TABLE IF NOT EXISTS  " . $wpdb->prefix . "xyz_em_email_address (\n\t\t\t`id` bigint(20) NOT NULL AUTO_INCREMENT,\n\t\t\t`email` varchar(100) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t`create_time` int(30) NOT NULL,\n\t\t\t`last_update_time` int(30) NOT NULL,\n\t\t\tPRIMARY KEY (`id`)\n\t\t\t) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ";
        $wpdb->query($queryEmailAddress);
    }
    /* Table :  xyz_em_address_list_mapping */
    $xyz_em_address_list_mapping = $wpdb->get_results('SHOW TABLE STATUS WHERE name="xyz_em_address_list_mapping"');
    if (count($xyz_em_address_list_mapping) > 0) {
        $wpdb->query("RENAME TABLE xyz_em_address_list_mapping TO " . $wpdb->prefix . "xyz_em_address_list_mapping");
    } else {
        $queryMapping = "CREATE TABLE IF NOT EXISTS  " . $wpdb->prefix . "xyz_em_address_list_mapping (\n\t\t\t`id` bigint(20) NOT NULL AUTO_INCREMENT,\n\t\t\t`ea_id` bigint(20) NOT NULL,\n\t\t\t`el_id` int(11) NOT NULL,\n\t\t\t`create_time` int(30) NOT NULL,\n\t\t\t`last_update_time` int(30) NOT NULL,\n\t\t\t`status` int(1) NOT NULL,\n\t\t\tPRIMARY KEY (`id`)\n\t\t\t) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1";
        $wpdb->query($queryMapping);
    }
    /* Table :  xyz_em_additional_field_value */
    $xyz_em_additional_field_value = $wpdb->get_results('SHOW TABLE STATUS WHERE name="xyz_em_additional_field_value"');
    if (count($xyz_em_additional_field_value) > 0) {
        $wpdb->query("RENAME TABLE xyz_em_additional_field_value TO " . $wpdb->prefix . "xyz_em_additional_field_value");
    } else {
        $queryFieldValues = "CREATE TABLE IF NOT EXISTS  " . $wpdb->prefix . "xyz_em_additional_field_value (\n\t\t\t`id` int(11) NOT NULL AUTO_INCREMENT,\n\t\t\t`ea_id` int(11) NOT NULL,\n\t\t\t`field1` varchar(100) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\tPRIMARY KEY (`id`)\n\t\t\t) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ";
        $wpdb->query($queryFieldValues);
    }
    /* Table :  xyz_em_email_campaign */
    $xyz_em_email_campaign = $wpdb->get_results('SHOW TABLE STATUS WHERE name="xyz_em_email_campaign"');
    if (count($xyz_em_email_campaign) > 0) {
        $wpdb->query("RENAME TABLE xyz_em_email_campaign TO " . $wpdb->prefix . "xyz_em_email_campaign");
    } else {
        $queryCampaign = "CREATE TABLE IF NOT EXISTS " . $wpdb->prefix . "xyz_em_email_campaign (\n\t\t\t`id` int(11) NOT NULL AUTO_INCREMENT,\n\t\t\t`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t`type` int(1) NOT NULL,\n\t\t\t`subject` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t`body` longtext COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t`alt_body` longtext COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t`list_id` int(11) NOT NULL,\n\t\t\t`campaign_template_id` int(11) NOT NULL,\n\t\t\t`status` int(2) NOT NULL,\n\t\t\t`batch_size` int(11) NOT NULL,\n\t\t\t`sender_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t`sender_email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t`sender_email_id` int(11) NOT NULL,\n\t\t\t`last_send_mapping_id` int(11) NOT NULL,\n\t\t\t`send_count` int(11) NOT NULL,\n\t\t\t`last_fired_time` varchar(50) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t`unsubscription_link` varchar(1000) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t`start_time` varchar(100) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t`track_count` int(20) NOT NULL,\n\t\t\tPRIMARY KEY (`id`)\n\t\t\t) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ";
        $wpdb->query($queryCampaign);
    }
    $group_flag = 0;
    $tblcolums = $wpdb->get_col("SHOW COLUMNS FROM  " . $wpdb->prefix . "xyz_em_email_campaign");
    if (in_array("end_time", $tblcolums)) {
        $group_flag = 1;
    }
    if ($group_flag == 0) {
        $wpdb->query("ALTER TABLE " . $wpdb->prefix . "xyz_em_email_campaign ADD (`end_time` varchar(100) COLLATE utf8_unicode_ci NOT NULL )");
    }
    $group_flag = 0;
    $tblcolums = $wpdb->get_col("SHOW COLUMNS FROM  " . $wpdb->prefix . "xyz_em_email_campaign");
    if (in_array("join_after_campaign_started", $tblcolums)) {
        $group_flag = 1;
    }
    if ($group_flag == 0) {
        $wpdb->query("ALTER TABLE " . $wpdb->prefix . "xyz_em_email_campaign ADD (`join_after_campaign_started` int(1) NOT NULL DEFAULT '1')");
    }
    /* Table :  xyz_em_attachment */
    $xyz_em_attachment = $wpdb->get_results('SHOW TABLE STATUS WHERE name="xyz_em_attachment"');
    if (count($xyz_em_attachment) > 0) {
        $wpdb->query("RENAME TABLE xyz_em_attachment TO " . $wpdb->prefix . "xyz_em_attachment");
    } else {
        $queryAttachment = "CREATE TABLE IF NOT EXISTS  " . $wpdb->prefix . "xyz_em_attachment (\n\t\t\t\t\t`id` int(11) NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t`campaigns_id` int(11) NOT NULL,\n\t\t\t\t\t`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t\t\tPRIMARY KEY (`id`)\n\t\t\t\t\t) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ";
        $wpdb->query($queryAttachment);
    }
    /* Table :  xyz_em_sender_email_address */
    $xyz_em_sender_email_address = $wpdb->get_results('SHOW TABLE STATUS WHERE name="xyz_em_sender_email_address"');
    if (count($xyz_em_sender_email_address) > 0) {
        $wpdb->query("RENAME TABLE xyz_em_sender_email_address TO " . $wpdb->prefix . "xyz_em_sender_email_address");
    } else {
        $querySenderEmailAddress = "CREATE TABLE IF NOT EXISTS " . $wpdb->prefix . "xyz_em_sender_email_address (\n\t\t\t  `id` int(11) NOT NULL AUTO_INCREMENT,\n\t\t\t  `authentication` varchar(10) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t  `host` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t  `user` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t  `password` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t  `port` int(11) NOT NULL,\n\t\t\t  `security` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t  `set_default` int(1) NOT NULL,\n\t\t\t  `status` int(1) NOT NULL,\n\t\t\t  PRIMARY KEY (`id`)\n\t\t\t) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1";
        $wpdb->query($querySenderEmailAddress);
    }
    /* Table :  xyz_em_additional_field_info */
    $xyz_em_additional_field_info = $wpdb->get_results('SHOW TABLE STATUS WHERE name="xyz_em_additional_field_info"');
    if (count($xyz_em_additional_field_info) > 0) {
        $wpdb->query("RENAME TABLE xyz_em_additional_field_info TO " . $wpdb->prefix . "xyz_em_additional_field_info");
    } else {
        $queryFieldInfo = "CREATE TABLE IF NOT EXISTS  " . $wpdb->prefix . "xyz_em_additional_field_info (\n\t\t\t`id` int(11) NOT NULL AUTO_INCREMENT,\n\t\t\t`field_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t`type` int(1) NOT NULL,\n\t\t\t`default_value` varchar(255) COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t`options` longtext COLLATE utf8_unicode_ci NOT NULL,\n\t\t\tPRIMARY KEY (`id`)\n\t\t\t) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ";
        $wpdb->query($queryFieldInfo);
    }
    $infoCount = $wpdb->get_results('SELECT default_value FROM ' . $wpdb->prefix . 'xyz_em_additional_field_info');
    if (count($infoCount) == 0) {
        $wpdb->insert($wpdb->prefix . 'xyz_em_additional_field_info', array('field_name' => "Name", 'type' => "0", 'default_value' => "User", 'options' => ""), array('%s', '%d', '%s', '%s'));
    }
    /* Table :  xyz_em_email_template */
    $xyz_em_email_template = $wpdb->get_results('SHOW TABLE STATUS WHERE name="xyz_em_email_template"');
    if (count($xyz_em_email_template) > 0) {
        $wpdb->query("RENAME TABLE xyz_em_email_template TO " . $wpdb->prefix . "xyz_em_email_template");
    } else {
        $queryemailTemplate = "CREATE TABLE IF NOT EXISTS  " . $wpdb->prefix . "xyz_em_email_template (\n\t\t\t`id` int(11) NOT NULL AUTO_INCREMENT,\n\t\t\t`subject` text COLLATE utf8_unicode_ci NOT NULL,\n\t\t\t`message` text COLLATE utf8_unicode_ci NOT NULL,\n\t\t\tPRIMARY KEY (`id`)\n\t\t\t) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1";
        $wpdb->query($queryemailTemplate);
    }
    $emailTemplateWelcomeCount = $wpdb->get_results('SELECT subject FROM ' . $wpdb->prefix . 'xyz_em_email_template WHERE id=1');
    if (count($emailTemplateWelcomeCount) == 0) {
        $wpdb->insert($wpdb->prefix . 'xyz_em_email_template', array('id' => 1, 'subject' => "Subscription Active", 'message' => "<p>Hi {field1},</p>\r\n<p>Thank you for subscribing to our list.<br />\r\nYour subscription is active now.</p>\r\n<p>Regards<br />\r\nYoursite.com<br />\r\n&nbsp;</p>"), array('%d', '%s', '%s'));
    }
    $emailTemplateWelcomeCount = $wpdb->get_results('SELECT subject FROM ' . $wpdb->prefix . 'xyz_em_email_template WHERE id=2');
    if (count($emailTemplateWelcomeCount) == 0) {
        $wpdb->insert($wpdb->prefix . 'xyz_em_email_template', array('id' => 2, 'subject' => "Email Unsubscribed", 'message' => "<p>Hi {field1},</p>\r\n<p>Your email address has been successfully unsubscribed from our list.</p>\r\n<p>Regards<br />\r\nYoursite.com</p>"), array('%d', '%s', '%s'));
    }
    $emailTemplateWelcomeCount = $wpdb->get_results('SELECT subject FROM ' . $wpdb->prefix . 'xyz_em_email_template WHERE id=3');
    if (count($emailTemplateWelcomeCount) == 0) {
        $wpdb->insert($wpdb->prefix . 'xyz_em_email_template', array('id' => 3, 'subject' => "Subscription Pending", 'message' => '<p>Hi {field1},</p><p>Thank you for subscribing to our list. <br />You are one click away from activating your subscription.<br />Just click the link below to  activate your subscription <br /><i><a href="{confirmation_link}">Confirm now</a></i></p><p>Regards<br />Yoursite.com</p>'), array('%d', '%s', '%s'));
    }
    // 	add_option('xyz_em_afterSubscription','');
    // 	add_option('xyz_em_emailConfirmation','');
    // 	add_option('xyz_em_redirectAfterLink','');
    $the_page_unsubscribe = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "postmeta WHERE meta_key='xyz_em_unsubscribe_page' AND meta_value='1'");
    if (!$the_page_unsubscribe) {
        // Create post object
        $_p = array();
        $_p['post_title'] = "Email Unsubscribed";
        $_p['post_content'] = '[xyz_em_unsubscribe]';
        $_p['post_status'] = 'publish';
        $_p['post_type'] = 'page';
        $_p['comment_status'] = 'closed';
        $_p['ping_status'] = 'closed';
        $_p['post_category'] = array(1);
        // the default 'Uncatrgorised'
        // Insert the post into the database
        $post_id = wp_insert_post($_p);
        $meta_key = 'xyz_em_unsubscribe_page';
        $meta_value = 1;
        add_post_meta($post_id, $meta_key, $meta_value);
        $unsubscribeLink = get_permalink($post_id);
        update_option('xyz_em_redirectAfterLink', $unsubscribeLink);
    } else {
        $the_page_unsubscribe = $the_page_unsubscribe[0];
        $pageIdUnsubscribe = $the_page_unsubscribe->post_id;
        // 		$unsubscribeLink = get_permalink( $pageIdUnsubscribe );
        // 		update_option('xyz_em_redirectAfterLink',$unsubscribeLink);
        $wpdb->update($wpdb->prefix . 'posts', array('post_status' => 'publish'), array('id' => $pageIdUnsubscribe));
    }
    $the_page_thanks = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "postmeta WHERE meta_key='xyz_em_thanks_page' AND meta_value='2'");
    if (!$the_page_thanks) {
        // Create post object
        $_p = array();
        $_p['post_title'] = "Email Subscribed";
        $_p['post_content'] = '[xyz_em_thanks]';
        $_p['post_status'] = 'publish';
        $_p['post_type'] = 'page';
        $_p['comment_status'] = 'closed';
        $_p['ping_status'] = 'closed';
        $_p['post_category'] = array(1);
        // the default 'Uncatrgorised'
        // Insert the post into the database
        $post_id = wp_insert_post($_p);
        $meta_key = 'xyz_em_thanks_page';
        $meta_value = 2;
        add_post_meta($post_id, $meta_key, $meta_value);
        $thanksLink = get_permalink($post_id);
        update_option('xyz_em_afterSubscription', $thanksLink);
    } else {
        $the_page_thanks = $the_page_thanks[0];
        $pageIdThanks = $the_page_thanks->post_id;
        // 		$thanksLink = get_permalink( $pageIdThanks );
        // 		update_option('xyz_em_afterSubscription',$thanksLink);
        $wpdb->update($wpdb->prefix . 'posts', array('post_status' => 'publish'), array('id' => $pageIdThanks));
    }
    $the_page_confirm = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "postmeta WHERE meta_key='xyz_em_confirm_page' AND meta_value='3'");
    if (!$the_page_confirm) {
        // Create post object
        $_p = array();
        $_p['post_title'] = "Subscription Confirmed";
        $_p['post_content'] = '[xyz_em_confirm]';
        $_p['post_status'] = 'publish';
        $_p['post_type'] = 'page';
        $_p['comment_status'] = 'closed';
        $_p['ping_status'] = 'closed';
        $_p['post_category'] = array(1);
        // the default 'Uncatrgorised'
        // Insert the post into the database
        $post_id = wp_insert_post($_p);
        $meta_key = 'xyz_em_confirm_page';
        $meta_value = 3;
        add_post_meta($post_id, $meta_key, $meta_value);
        $confirmLink = get_permalink($post_id);
        update_option('xyz_em_emailConfirmation', $confirmLink);
    } else {
        $the_page_confirm = $the_page_confirm[0];
        $pageIdConfirm = $the_page_confirm->post_id;
        // 		$confirmLink = get_permalink( $pageIdConfirm );
        // 		update_option('xyz_em_emailConfirmation',$confirmLink);
        $wpdb->update($wpdb->prefix . 'posts', array('post_status' => 'publish'), array('id' => $pageIdConfirm));
    }
    //Bug fix:
    $wpdb->query('delete from ' . $wpdb->prefix . 'xyz_em_address_list_mapping WHERE ea_id=0');
}
コード例 #2
0
ファイル: about.php プロジェクト: subhadip-sahoo/wp-projectB
<style>

</style>

<h1  style="visibility:visible;">Newsletter Manager (V <?php 
echo xyz_em_plugin_get_version();
?>
)</h1>
<div style="width: 99%">
<p style="text-align: justify">
Create and send html or plain text email newsletters to your subscribers. The plugin supports unlimited email campaigns, unlimited email addresses,  double opt-in anti-spam compliance, hourly email sending limit, SMTP mailing and much more. Opt-in form is available as HTML code, shortcode as well as standard Wordpress widget. The import/export tool allows to create and restore backup of your subscriber list. Newsletter Manager is developed and maintained by <a target="_blank" href="http://xyzscripts.com">xyzscripts</a>. 
</p>
<p style="text-align: justify">
	If you would like to have more features , please try <a
		href="http://xyzscripts.com/wordpress-plugins/xyz-wp-newsletter/features"
		target="_blank">XYZ WP Newsletter</a> which is a premium version of this
	plugin. We have included a quick comparison of the free and premium
	plugins for your reference.
</p>
</div>


<table class="xyz-premium-comparison" cellspacing=0 style="width: 99%">
	<tr style="background-color: #EDEDED">
		<td><h2>Feature group</h2></td>
		<td><h2>Feature</h2></td>
		<td><h2>Newsletter Free</h2>
		</td>
		<td><h2>Newsletter Premium</h2></td>
	</tr>