<?php

remove_action('wp_head', 'index_rel_link' ); 
remove_action('wp_head', 'rel_canonical');
remove_action('wp_head', 'start_post_rel_link', 10, 0 );
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); 
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0 );
remove_action('wp_head', 'parent_post_rel_link', 10, 0 );
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'feed_links_extra', 3 );
remove_action('wp_head', 'feed_links', 2 );

function dw_remove_wp_ver_css_js( $src ) {
    if ( strpos( $src, 'ver=' ) )
        $src = remove_query_arg( 'ver', $src );
    return $src;
}
add_filter( 'style_loader_src', 'dw_remove_wp_ver_css_js', 9999 );
add_filter( 'script_loader_src', 'dw_remove_wp_ver_css_js', 9999 );

add_action( 'admin_head', 'dw_hide' );
function dw_hide() {
    ?>
    <style type="text/css" media="screen">
    #footer {display:none;}
	#contextual-help-link-wrap {display: none;}
	#wpadminbar {display: none;}
	body.admin-bar #wpcontent, body.admin-bar #adminmenu {padding-top:0;}
	html.wp-toolbar{padding-top:0;}
	#postexcerpt p {display: none;}
    </style>
<?php }

add_filter('wp_mail_from', 'dw_fromemail');
function dw_fromemail($email) {
	$wpfrom = get_option('admin_email');
    return $wpfrom;
}
add_filter('wp_mail_from_name', 'dw_fromname');
function dw_fromname($email){
   	$wpfrom = get_option('blogname');
    return $wpfrom;
}

add_filter( 'embed_oembed_html', 'dw_oembed_filter', 10, 4 ) ;
function dw_oembed_filter($html, $url, $attr, $post_ID) {
    $return = '<div class="video-container">'.$html.'</div>';
	$return = str_replace('frameborder="0" allowfullscreen', 'style="border:none"', $return);
    return $return;
}

add_filter( 'embed_oembed_html', 'dw_embed_oembed_html' );
function dw_embed_oembed_html( $html ) {
    return preg_replace( '@src="https?:@', 'src="', $html );
}


add_action( 'admin_menu', 'daw_is_online_add_admin_menu' );
add_action( 'admin_init', 'daw_is_online_settings_init' );

function daw_is_online_add_admin_menu(  ) { 
	add_options_page( 'DW Status', 'DAW Online', 'manage_options', 'daw_is_online', 'daw_is_online_options_page' );
}

function daw_is_online_settings_init(  ) { 
	register_setting( 'dwstatus', 'daw_is_online_settings' );
	add_settings_section('daw_is_online_pluginPage_section', __( 'DAW Online', 'wordpress' ), 'daw_is_online_settings_section_callback', 'dwstatus');
	add_settings_field( 'daw_is_online_select_field_0', __( 'Am I Online ?', 'wordpress' ), 'daw_is_online_select_field_0_render', 'dwstatus', 'daw_is_online_pluginPage_section' );
}

function daw_is_online_select_field_0_render(  ) { 
	$options = get_option( 'daw_is_online_settings' ); ?>
	<select name='daw_is_online_settings[daw_is_online_select_field_0]'>
		<option value='1' <?php selected( $options['daw_is_online_select_field_0'], 1 ); ?>>Yes</option>
		<option value='2' <?php selected( $options['daw_is_online_select_field_0'], 2 ); ?>>No</option>
	</select>
<?php }

function daw_is_online_settings_section_callback(  ) { 
	echo __( 'This sets my online status', 'wordpress' );
}

function daw_is_online_options_page(  ) { ?>
	<form action='options.php' method='post'>	
		<?php settings_fields( 'dwstatus' );
		do_settings_sections( 'dwstatus' );
		submit_button(); ?>
	</form>
<?php }

function dw_online_get_status() {
	$dw_status = get_option('daw_is_online_settings');
	if( $dw_status['daw_is_online_select_field_0'] == '1' ) { ?>
		<script type="text/javascript">
		$(function(){
	        Messenger.options = {extraClasses: "messenger-fixed messenger-on-bottom messenger-on-left",theme: "flat"};
			var msg; msg = Messenger().post({
				message: 'I am currently online', type: 'success',
				actions: {
					retry: {
						label: 'Connect', phrase: 'Chat & Video', delay: 30,
						action: function(){
							var msg_return; msg_return = Messenger().run({
							  errorMessage: 'Please wait a moment while I get connected', successMessage: 'Connecting Now!',
							  action: function(opts) {
								  msg.hide();
									i = 0
									if (++i < 6) {
										return opts.error({status: 500,readyState: 0,responseText: 0});
									} 
									else if (++i < 2) { //TODO: connect with backbone and Twilio
										return opts.success();
									}
									else {
										return msg.on();
									}
								}
							});
						}
					},
					cancel: {
						label: 'No Thanks',
						action: function() {
							return msg.update({message: 'Maybe Next Time', hideAfter: 1, type: 'error', actions: false});
						}
					}
				}
			});
		});
		</script>
	<?php }

}




?>