<?php

//---------------------------------------------------------------------------------------------------------
// 25/Noviembre/2015
// Versión 1.0 Cargamos un
//---------------------------------------------------------------------------------------------------------



function widget_wordpress($nombre_funcion = 'loadContent') {
    include('comunes/globals.php');
    //Aquí definimos una serie de parámetros que necesitamos
    $funcion_por_defecto = 'loadContent';
    $parametros_por_defecto = array();
    $parametros_recibidos = func_get_args();
    if (count($parametros_recibidos) == 0) {
        $parametros_recibidos[0] = $funcion_por_defecto;
    } else {
        if (($parametros_recibidos[0] == '') || ($parametros_recibidos[0] == NULL)) {
            $parametros_recibidos[0] = $funcion_por_defecto;
        }
    }
    $parametros_recibidos = mezcla_array_parametros($parametros_por_defecto, $parametros_recibidos);
    $retorno = false;
    //Si entre los parámetros recibidos, tenemos el nombre de la función continuamos
    if (count($parametros_recibidos) > 0) {
        //Recogemos el nombre de la función de entre el resto de parámetros
        $nombre_funcion = $parametros_recibidos[0];
        //Quitamos el primer elemento de los parámetros, pues es el nombre de la función
        $parametros_recibidos = array_slice($parametros_recibidos, 1);
        //Si la función existe la ejecutamos
        if (function_exists($nombre_funcion)) {
            $retorno = call_user_func_array($nombre_funcion, $parametros_recibidos);
        }
    }
    return($retorno);
}

/**
 * Esta Funcion carga el contenido de la ultima entrada.
 */
function loadContent($opciones = NULL) {
    include('comunes/globals.php');
    $ocultarCabecera = false;
    ini_set('include_path', '../..' . PATH_SEPARATOR . get_include_path());
    //Variables a utilizar
    $query = 'showposts=1';
    $fichero_wp = 'noticia';
    if ($opciones == NULL) {
        $opciones = new OpcionesWidget();
    }
    if (is_a($opciones, 'OpcionesWidget')) {
        $query = ($opciones->configuracion->query != NULL) ? $opciones->configuracion->query : $query;
        $fichero_wp = ($opciones->configuracion->fichero_wp != NULL) ? $opciones->configuracion->fichero_wp : $fichero_wp;
        $ocultarCabecera = ($opciones->configuracion->ocultarCabecera != NULL) ? $opciones->configuracion->ocultarCabecera : $ocultarCabecera;
        require_once('blog/wp-config.php');
        //$my_query = new WP_Query('showposts=1');
        $my_query = new WP_Query($query);
        while ($my_query->have_posts()) {
            $my_query->the_post();
            $do_not_duplicate = $post->ID;
            ?>
            <?php
            if ($ocultarCabecera) {
                ?>
                <div class = "<?= (__FUNCTION__); ?>">
                    <?php
                }
                ?>
                <?php
                //Aquí incluimos el fichero
                $ruta_fichero = Theme::findFile($fichero_wp . '.php');
                if ($ruta_fichero != NULL) {
                    include($ruta_fichero);
                }
                ?>
            </div>
            <?php
            if (!$ocultarCabecera) {
                ?>
                </div>
                <?php
            }
            ?>
            <?php
        }
    }

    return(true);
}

/**
 * 	Realiza una busqueda en los post de tipo tribe_events y devuelve tantos como se indiquen
 */
function loadEvent($opciones = NULL) {
    include('comunes/globals.php');
    ini_set('include_path', '../..' . PATH_SEPARATOR . get_include_path());
    //Variables a utilizar
    //$query ="showpost=1";
    $fichero_wp = 'evento';
    $npost = 3;
    $fechaInicio = 0;
    if ($opciones == NULL) {
        $opciones = new OpcionesWidget();
    }
    //echo "Antes de los comentarios <br/>";
    if (is_a($opciones, 'OpcionesWidget')) {
        $fichero_wp = ($opciones->configuracion->fichero_wp != NULL) ? $opciones->configuracion->fichero_wp : $fichero_wp;
        $npost = ($opciones->configuracion->npost != NULL) ? $opciones->configuracion->npost : $npost;
        $ocultarCabecera = ($opciones->configuracion->ocultarCabecera != NULL) ? $opciones->configuracion->ocultarCabecera : $ocultarCabecera;
        //echo "Departamento Sinlib";
        require_once('blog/wp-config.php');
        require_once('blog/wp-includes/wp-db.php');
        ?>
        <?php
        if ($ocultarCabecera) {
            ?>
            <div class="<?= (__FUNCTION__); ?>">
                <?php
            }
            ?>
            <?php
            //Dejo el array completo por si en un futuro fuese necesario hacer alguna cosa más con los parametros.
            $args = array(
                'posts_per_page' => $npost,
                'offset' => 0,
                'category' => '',
                'category_name' => '',
                'orderby' => 'meta_value',
                'order' => 'DESC',
                'include' => '',
                'exclude' => '',
                'meta_key' => '_EventStartDate',
                'meta_value' => '',
                'post_type' => 'tribe_events',
                'post_mime_type' => '',
                'post_parent' => '',
                'author' => '',
                'post_status' => 'publish',
                'suppress_filters' => true
            );
            //$posts_array = get_posts( $args ); // creamos un array de post
            query_posts($args);
            //var_dump($posts_array);
            //Aquí incluimos el fichero
            $ruta_fichero = Theme::findFile($fichero_wp . '.php');
            if ($ruta_fichero != NULL) {
                // Usamos la forma custom creada por wordpress
                while (have_posts()) : the_post();
                    //echo get_the_ID();
                    $post = get_the_ID();
                    $query = 'SELECT DATE_FORMAT(`meta_value` ,"%d/%m/%Y" ) AS fecha FROM `wp_postmeta` WHERE `post_id` = ' . $post . ' AND `meta_key` =  "_EventStartDate"';

                    global $wpdb;
                    $results = $wpdb->get_results($query, OBJECT);
                    //var_dump($results);
                    $fechaInicio = $results[0]->fecha;
                    //echo $fechaInicio;
                    include($ruta_fichero);
                endwhile;
                // Reset Query
                wp_reset_query();
            }
            ?>
            <?php
            if (!$ocultarCabecera) {
                ?>
            </div>
            <?php
        }
        ?>
        <?php
    }

    return(true);
}
?>