<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">

    <style>
        @import url('https://fonts.googleapis.com/css?family=Raleway');
        body {
            background-color: #f2f2f2;
            font-family: 'Raleway', sans-serif;
        }

        .loading {
              /* font-family: 'Realway'; */
              font-size: 24px;
              position: fixed;
              color: #444;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
            }
    </style>


</head>
<body>


    <?php


        // Función para generar la estructura del árbol
        function generarArbol($objeto, $nivel = 0) {
            // Recorrer las propiedades del objeto
            foreach ($objeto as $clave => $valor) {
                // Imprimir la clave y el valor con el nivel de indentación correspondiente
                echo str_repeat("&nbsp;&nbsp;", $nivel) . " - <b>" . $clave . "</b> : ";
                if (is_object($valor) || is_array($valor)) {
                    echo "<br>";
                    // Si el valor es un objeto o array, llamar recursivamente a la función
                    generarArbol($valor, $nivel + 1);
                } else {
                    // Si el valor es un valor simple, imprimirlo
                    echo $valor . "<br>";
                }
            }
        }

        error_reporting(E_ALL);
        ini_set('display_errors', 1);

        require_once('TwitterAPIExchange.php');

        // Establecer bearer token de acceso 
        $bearer_token = 'AAAAAAAAAAAAAAAAAAAAAPHMmgEAAAAAZUcZTTnNEeGr1Tz4u%2F9JXWzJ7PI%3DdcUgXswP2O67ZGmI3RVebnZA3H8hPBIVFEQfbouLBD567f3iWp';

        // Configurar opciones de cURL de solicitud con bearer token
        $options = array(
            CURLOPT_HTTPHEADER => array("Authorization: Bearer $bearer_token"),
            CURLOPT_SSL_VERIFYPEER => false );

        // Inicializar cURL
        $ch = curl_init();


        $user = "AlejandraDMV"; // Usuario predeterminado si no se especifica en la URL
        $count = 1; // Número predeterminado de tweets si no se especifica en la URL

        $getfield = "?screen_name=$user&count=$count&tweet_mode=extended";

        // Configurar opciones de cURL de solicitud con bearer token
        $options = array(
            CURLOPT_HTTPHEADER => array("Authorization: Bearer $bearer_token"),
            CURLOPT_SSL_VERIFYPEER => false );

        curl_setopt($ch, CURLOPT_URL, "https://api.twitter.com/1.1/statuses/user_timeline.json" . $getfield);
        curl_setopt_array($ch, $options);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        // REALIZAR SOLICITUD A LA API DE TWITTER
        $response = curl_exec($ch);

        // Decodificar la respuesta JSON a un arreglo asociativo
        $tweets = json_decode($response, true);

        if (!is_array($tweets)) {
            die("Error al obtener los tweets de la API de Twitter.");
        }


        // Convertir el JSON en un objeto PHP
        $tw = json_decode($response);

        // Generar el árbol
        generarArbol($tw);

    ?>

</body>
</html>
