<?php
/*
Nazwa wtyczki: WP DOC
Adres URI wtyczki: http://bwawwp.com/wp-docx/
Opis: Dodanie /doc/ na końcu strony lub posta, aby pobrać wersję .docx
Wersja: .1
Autor: Stranger Studios
*/

/*
        Rejestracja punktu końcowego
*/
// Dodanie punktu końcowego /doc/ podczas aktywacji
function wpdoc_activation()
{
    add_rewrite_endpoint('doc', EP_PERMALINK | EP_PAGES);
    flush_rewrite_rules();
}
register_activation_hook(__FILE__, 'wpdoc_activation');

// Użycie zaczepu init, na wypadek gdyby inna wtyczka wywołała operację ponownego
// wczytania reguł; jest to kosztowna operacja
function wpdoc_init()
{
    add_rewrite_endpoint('doc', EP_PERMALINK | EP_PAGES);
}
add_action('init', 'wpdoc_init');

// Ponowne wczytanie reguł podczas dezaktywacji wtyczki, aby usunąć punkt końcowy wraz z wtyczką
function wpdoc_deactivation()
{
    flush_rewrite_rules();
}
register_deactivation_hook(__FILE__, 'wpdoc_deactivation');

/*
        Wykrycie użycia /doc/ i zwrot pliku z rozszerzeniem .doc
*/
function wpdoc_template_redirect()
{
    global $wp_query;
    if(isset($wp_query->query_vars['doc']))
    {
        global $post;

        // Sprawdzenie, czy mamy do czynienia z postem
        if(empty($post->ID))
            return;

        // Nagłówki dla aplikacji Microsoft Word
        header("Content-type: application/vnd.ms-word");
        header('Content-Disposition: attachment;Filename='.
            $post->post_name.'.doc');

        // Kod HTML
        ?>
        <html>
        <body>
        <h1><?php echo $post->post_title; ?></h1>
        <?php
            echo apply_filters('the_content', $post->post_content);
        ?>
        </body>
        </html>
        <?php
        exit;
    }
}
add_action('template_redirect', 'wpdoc_template_redirect');
?>
