require_once ("sesion.php"); if (isset($_GET["pruebas"])) $_SESSION["pruebas"]=true; require_once "funciones.php"; if (!isset($current)) $current=0; if (HAY_TIENDA) { $categorias = CocoDB::get("categorias_productos", "parentNum=0", "siblingOrder ASC", null, ["ignoreSchema" => true]); } $idiomas = dame_idiomas(); $idiomaSeleccionado = "Español"; foreach ($idiomas as $idioma): if ($idioma["valor"]=="/".@$_REQUEST["idioma"]) $idiomaSeleccionado=$idioma["idioma"]; endforeach; $apartadoCesta = CocoDB::get("apartados", "controlador='cesta.php'", null, 1, ["ignoreSchema" => true]); $apartadoCesta = @$apartadoCesta[0]; $apartadoFavoritos = CocoDB::get("apartados", "controlador='favoritos.php'", null, 1, ["ignoreSchema" => true]); $apartadoFavoritos = @$apartadoFavoritos[0]; $apartadoLogin = CocoDB::get("apartados", "controlador='login.php'", null, 1, ["ignoreSchema" => true]); $apartadoLogin = @$apartadoLogin[0]; $apartadoRegistro = CocoDB::get("apartados", "controlador='registro.php'", null, 1, ["ignoreSchema" => true]); $apartadoRegistro = @$apartadoRegistro[0]; $alternate = dame_alternates($_SERVER["REQUEST_URI"]); $config_header = array( 'titulo_de_pagina' => $configuracionRecord["titulo_de_pagina"], 'categorias' => @$categorias, 'pagina_publicada' => $configuracionRecord["pagina_publicada"], 'current' => $current, 'portada' => @$portada, 'index' => @$index, 'configuracionRecord' => $configuracionRecord, 'configuracionTienda' => $configuracionTienda, 'meta_descripcion' => $configuracionRecord["metatag_descripcion"], 'meta_palabras' => @$configuracionRecord["metatag_palabras"], 'otros_metas' => @$otros_metas, 'color_base' => @$color_base, 'categorias' => @$categorias, 'idiomas' => @$idiomas, 'idiomaSeleccionado'=> @$idiomaSeleccionado, 'apartadoCesta' => @$apartadoCesta, 'apartadoFavoritos' => @$apartadoFavoritos, 'apartadoLogin' => @$apartadoLogin, 'apartadoRegistro' => @$apartadoRegistro, 'sitebuilder' => @$apartado["plantilla_sitebuilder"], 'alternate' => @$alternate ); // Quien ve la web y quien ve la pagina de mantenimiento. // // En LOCAL/TEST (Forge) siempre se ve la web: ahi no existe el concepto de // "publicada" ni el modo `?pruebas`, que son solo de produccion. // // En PRODUCCION: // - publicada -> se ve // - sin publicar + ?pruebas -> se ve, con el cartel rojo // - sin publicar + visitante -> pagina de mantenimiento // // Antes esto era un `if (1)` hardcodeado que se saltaba la comprobacion entera, // con una copia `header.php.prod` que comentaba esas lineas para produccion. La // copia estaba MAL: al comentar el `if(1){...}else{`, el cuerpo del else pasaba a // ejecutarse siempre y un visitante normal de una web PUBLICADA recibia // `die(mantenimiento)`. Nadie lo vio porque ese fichero solo corria en // produccion. Con la condicion en tiempo de ejecucion el camino de produccion se // prueba en local tocando la señal. $verLaWeb = esEntornoLocal() || @$configuracionRecord["pagina_publicada"] || isset($_SESSION["pruebas"]); if ($verLaWeb) { if (@$customCode) echo modulo('custom-header',$config_header); else echo tpl('cabecera',$config_header); // Aviso solo cuando de verdad estas mirando algo sin publicar (prod + pruebas). if (!esEntornoLocal() && isset($_SESSION["pruebas"]) && @$configuracionRecord["pagina_publicada"] == 0) { ?>