Skip to content

Instantly share code, notes, and snippets.

@Stiofan
Created May 30, 2017 14:07
Show Gist options
  • Save Stiofan/d46ac5e792d2b3ca6a46e29009d426e6 to your computer and use it in GitHub Desktop.
Save Stiofan/d46ac5e792d2b3ca6a46e29009d426e6 to your computer and use it in GitHub Desktop.
EDD Upgrade Notice
<?php
/**
* @wordpress-plugin
* Plugin Name: EDD Upgrade Notice
* Plugin URI: http://ayecode.io/
* Description: Add upgrade notice support to EDD Software Licencing.
* Version: 1.0.0
* Author: Stiofan O'Connor
* Author URI: http://ayecode.io/
* License: GPL-2.0+
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
* Text Domain: external-updates
* Domain Path: /languages
*/
add_action('edd_sl_license_metabox_after','aye_edd_sl_upgrade_notice_input',10,1);
function aye_edd_sl_upgrade_notice_input($post_id){
$is_bundle = ( 'bundle' == edd_get_download_type( $post_id ) );
$enabled = get_post_meta( $post_id, '_edd_sl_enabled', true ) ? true : false;
$upgrade_notice = get_post_meta( $post_id, '_edd_sl_upgrade_notice', true );
$display_no_bundle = ( $enabled && ! $is_bundle ) ? '' : ' style="display: none;"';
echo '<tr' . $display_no_bundle . ' class="edd_sl_toggled_row edd_sl_nobundle_row">';
echo '<td class="edd_field_type_textarea" colspan="2">';
do_action( 'edd_sl_license_metabox_before_upgrade_notice', $post_id );
echo '<label for="edd_sl_upgrade_notice"><strong>' . __( 'Upgrade Notice', 'edd_sl' ) . '</strong></label><br/>';
echo '<p>';
echo '<textarea name="edd_sl_upgrade_notice" class="edd-sl-keys-input" id="edd_sl_upgrade_notice" rows="10">' . esc_textarea( stripslashes( $upgrade_notice ) ) . '</textarea>';
echo '</p>';
echo '<div class="description">' . __( 'Enter product Upgrade Notice, this must be to the WordPress standards', 'edd_sl' ) . '</div>';
printf(
'<span alt="f223" class="edd-help-tip dashicons dashicons-editor-help" title="' . esc_attr__( '%s' ) . '"></span>',
__( '= 1.2.30 = <br /> This is an upgrade notice.', 'edd_sl' )
);
do_action( 'edd_sl_license_metabox_after_upgrade_notice', $post_id );
echo '</td>';
echo '</tr>';
}
/**
* Save data from meta box
*
* @since 1.0
*/
function aye_edd_sl_download_meta_box_save( $post_id ) {
global $post;
// verify nonce
// if ( ! isset( $_POST['edd_sl_meta_box_nonce'] ) || ! wp_verify_nonce( $_POST['edd_sl_meta_box_nonce'], basename( __FILE__ ) ) ) {
// return $post_id;
// }
// Check for auto save / bulk edit
if ( ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) || ( defined( 'DOING_AJAX') && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) {
return $post_id;
}
if ( isset( $_POST['post_type'] ) && 'download' != $_POST['post_type'] ) {
return $post_id;
}
if ( ! current_user_can( 'edit_post', $post_id ) ) {
return $post_id;
}
if ( isset( $_POST['edd_sl_upgrade_notice'] ) ) {
update_post_meta( $post_id, '_edd_sl_upgrade_notice', addslashes( $_POST['edd_sl_upgrade_notice'] ) ) ;
} else {
delete_post_meta( $post_id, '_edd_sl_upgrade_notice' );
}
}
add_action( 'save_post', 'aye_edd_sl_download_meta_box_save' );
Add_filter('edd_sl_license_response','aye_edd_sl_license_response',10,3);
function aye_edd_sl_license_response($response, $download, $download_beta){
if(!isset($response['upgrade_notice']) && !isset($response['upgrade_notice_raw']) && isset($download->ID)){
$response['upgrade_notice_raw'] = get_post_meta( $download->ID, '_edd_sl_upgrade_notice', true);
}
return $response;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment