parent_base == "edit" ) {
echo '';
}
}
add_action( 'media_buttons', 'dnxcf_show_form_button', 11 );
// the actual function that outputs our shortcode once the button is pressed
function dnxcf_insert_shortcode() {
$currentScreen = get_current_screen();
if ( $currentScreen->parent_base != "edit" ) {
return;
} ?>
dnxcf_get_unique_code(12),
'dnxcf_recv_name' => 'admin',
'dnxcf_recv_email' => get_bloginfo('admin_email'),
'dnxcf_from_email' => 'info@some.url',
'dnxcf_from_name' => 'webmaster',
'dnxcf_subject' => array(
__('I want to make a comment.', 'dnxcf'),
__('I want to ask a question.', 'dnxcf'),
__('I am interested in a product.', 'dnxcf'),
__('I have to report a problem.', 'dnxcf'),
__('Other (explain below)', 'dnxcf')
),
// 1 = text/plain
// 2 = text/html
'dnxcf_content_type' => '1',
'dnxcf_privacy' => '',
'dnxcf_latitude' => '38.2704',
'dnxcf_longitude' => '16.2971',
'dnxcf_apikey' => '',
'dnxcf_gmap_message' => '',
'dnxcf_DB_VERSION' => '2'
);
return $defaults;
}
// helper function that starts up the DB
function dnxcf_db_init() {
global $dnxcf_options;
$dnxcf_options = get_option('dnxcf_options');
if( false === $dnxcf_options ) {
$dnxcf_options = dnxcf_set_options();
}
update_option('dnxcf_options', $dnxcf_options);
}
// helper function that performs a DB version update when needed
function dnxcf_db_update($db_version) {
global $dnxcf_options;
$db_defaults = dnxcf_set_options();
$merge = wp_parse_args( $dnxcf_options, $db_defaults );
// update DB version
$merge['dnxcf_DB_VERSION'] = $db_version;
update_option('dnxcf_options', $merge);
}
// helper function that performs a DB check and then an init/update action
function dnxcf_db_check() {
global $dnxcf_options;
if(false === $dnxcf_options) {
dnxcf_db_init();
}
$old_db_version = $dnxcf_options['dnxcf_DB_VERSION'];
$new_db_version = DNXCF_CURRENT_DB_VERSION;
if(empty($old_db_version)) {
dnxcf_db_init();
}
if( intval($old_db_version) < intval($new_db_version) ) {
dnxcf_db_update( $new_db_version );
}
}
// helper function that sets the current DB Version for comparison
function dnxcf_set_db_version() {
// Define plugin database version. This should only change when new settings are added.
if ( ! defined( 'DNXCF_CURRENT_DB_VERSION' ) ) {
define( 'DNXCF_CURRENT_DB_VERSION', 4 );
}
}
// set the "from" email name to a custom option specified by the user
function dnxcf_update_from_name() {
global $dnxcf_options;
$dnxcf_options = get_option('dnxcf_options');
$dnxcf_defaults = dnxcf_set_options();
$from_name = $dnxcf_options['dnxcf_from_name'];
$orig_name = 'WordPress';
$name = ( $orig_name != $from_name ) ? $from_name : false;
return $name;
}
if (dnxcf_update_from_name())
add_filter( 'wp_mail_from_name', 'dnxcf_update_from_name' );
// set the "from" email address to a custom option specified by the user
function dnxcf_update_from_email() {
global $dnxcf_options;
$dnxcf_options = get_option('dnxcf_options');
$dnxcf_defaults = dnxcf_set_options();
$from_mail = $dnxcf_options['dnxcf_from_email'];
$orig_mail = $dnxcf_defaults['dnxcf_from_email'];
$mail = ( $orig_mail != $from_mail ) ? $from_mail : false;
return $mail;
}
if (dnxcf_update_from_email())
add_filter( 'wp_mail_from', 'dnxcf_update_from_email' );
function dnxcf_update_content_type() {
global $dnxcf_options;
$dnxcf_options = get_option('dnxcf_options');
// 1 = text/plain
// 2 = text/html
$content_type = ( "1" == $dnxcf_options['dnxcf_content_type'] ) ? 'text/plain' : 'text/html';
return $content_type;
}
add_filter( 'wp_mail_content_type', 'dnxcf_update_content_type' );