<?php

/*
  Clase SuperTemas
  @version 1.0
 */

class SuperTemas {

    public $codigo = '';
    public $nombre = '';
    public $nombre_auxiliar = '';
    public $cdu = '';
    public $ttl = '';
    public $bic = '';
    public $edad_inicial = 0;
    public $edad_final = 0;
    public $traduccion = '';

    //Constructor y destructor
    function __construct($tema = NULL) {
        include('comunes/globals.php');
        $sentencia_sql = "SELECT codigo, nombre, nombre_auxiliar, cdu, ttl, bic, edad_inicial, edad_final
							FROM tema WHERE codigo = '$tema'";
        //echo("$sentencia_sql<br />\n");
        if (($conexionBD) && ($tema != NULL)) {
            if ($resultado = mysqli_query($conexionBD, $sentencia_sql)) {
                if ($fila = mysqli_fetch_array($resultado)) {
                    $this->codigo = $fila['codigo'];
                    $this->nombre = $fila['nombre'];
                    $this->nombre_auxiliar = $fila['nombre_auxiliar'];
                    $this->cdu = $fila['cdu'];
                    $this->ttl = $fila['ttl'];
                    $this->bic = $fila['bic'];
                    $this->edad_inicial = $fila['edad_inicial'];
                    $this->edad_final = $fila['edad_final'];
                    $this->carga_traducciones();
                }
            }
        }
    }

    public function carga_traducciones() {
        include('comunes/globals.php');
        $idioma = Sesion::get('idioma');
        $idioma = ($idioma != NULL) ? $idioma : Shop::$configuracion->idioma;
        $sentencia_sql = "SELECT texto FROM traduc_tema WHERE tema = '" . $this->codigo . "' AND idioma = '$idioma'";
        if (($conexionBD) && ($idioma != NULL)) {
            if ($resultado = mysqli_query($conexionBD, $sentencia_sql)) {
                if ($fila = mysqli_fetch_array($resultado)) {
                    $this->traduccion = $fila['texto'];
                }
            }
        }
    }

    function __destruct() {
        
    }

    public function getJSON() {
        $prop = get_object_vars($this);
        $resp = '{ ';
        foreach ($prop as $key => $value) {
            if (!is_object($value)) {
                $value = (string) $value;
                if ($this->flag_utf8) {
                    $resp .= '"' . $key . '":' . json_encode(htmlspecialchars_decode($value)) . ',';
                } else {
                    $resp .= '"' . $key . '":' . json_encode(htmlspecialchars_decode(utf8_encode($value))) . ',';
                }
            } else {
                $ejecutarJson = true;
                if (method_exists(get_class($value), 'getJSON')) {
                    $ejecutarJson = false;
                }
                if (!$ejecutarJson) {
                    $resp .= '"' . $key . '":' . $value->getJSON() . ',';
                } else {
                    $resp .= '"' . $key . '":' . json_encode($value) . ',';
                }
            }
        }
        $resp = substr($resp, 0, -1) . "}";
        return $resp;
    }

}

?>