function dispatcher() { switch ($_GET["action"]) { case "del": $response = json_decode(InstanciasController::Eliminar($_GET["id"])); if ($response->success === "false") { ?> <script> (function(){alert("<?php echo $response->reason; ?> ");})(); </script> <?php } else { ?> <script> (function(){alert("Instancia eliminada correctamente");location.href="instancias.lista.php";})(); </script> <?php } break; default: return; } }
public function testRestarurarBD() { echo " >> Intentando restaurar la base de datos\n"; if (!is_null(InstanciasController::Restaurar_Instancias(json_encode(array(self::$instance_id))))) { echo "\tRestauración exitosa\n"; } else { echo "\tSe ha producido un error al realizar la restauración\n"; $this->assertTrue(false); } }
function dispatcher() { global $response; switch ($_GET["action"]) { case "mod": $response = json_decode(InstanciasController::Editar($_GET["id"], $_GET["activa"], $_GET["descripcion"], $_GET["token"], $_GET["status"])); break; default: return; } }
function parseRequests() { switch ($_GET["do"]) { case "nueva": Logger::log("---------------------------"); Logger::log("Jedi requested new instance"); $N_I_ID = InstanciasController::Nueva($_GET["t"], $_GET["d"]); if (is_null($N_I_ID)) { //algo salio mal Logger::log("xxxxx algo salio mal con la instancia xxxxxxx"); break; } //todo salio bien... header("Location: instancias.ver.php?id=" . $N_I_ID); break; default: } }
set_time_limit(0); $ids = json_decode($_GET["instance_ids"]); $ids = $ids->instance_ids; $prefix = time() . rand(); $files = array(); $file_id = array(); for ($i = 0; $i < sizeof($ids); $i++) { //validar que existan $r = InstanciasController::BuscarPorId($ids[$i]); if (is_null($r)) { $page->addComponent("La instancia " . $ids[$i] . " no existe"); $page->render(); exit; } } $result = InstanciasController::Respaldar_Instancias($ids); //Respaldar_Instancias recibe como params un array if (strlen($result) > 0) { die("<html><head><meta HTTP-EQUIV='REFRESH' content='3; url=instancias.bd.php'><title>Error al descargar, perimisos</title></head><body><h1><center>" . $result . "</center></h1></body></html>"); } $f = new zipfile(); for ($i = 0; $i < sizeof($ids); $i++) { //$f->add_file(file_get_contents($files[$i]), $file_id[$i] . ".sql"); $final_path = str_replace("server", "static_content/db_backups", POS_PATH_TO_SERVER_ROOT); $dbs_instance = trim(shell_exec("ls -lat -m1 " . $final_path . "| grep " . $ids[$i] . ".sql")); Logger::log("Respaldos encontrados: " . $dbs_instance); /*dbs_instance almacena una cadena con un listado donde se encuentran archivos que tengan la teminacion con el id de la instancia y .sql, ademas de que la lista viene ordenada de mas reciente a antiguo la lista seria como lo siguiente: 1353617611_pos_instance_82.sql 1353608687_pos_instance_82.sql 1353608206_pos_instance_82.sql 1353608191_pos_instance_82.sql en found se coloca un array y en cada posicion el nombre de cada respaldo
function parseRequests() { switch ($_GET["do"]) { case "actualizar_instancias": Logger::log("---------------------------"); Logger::log("Jedi requested update instances"); $result = InstanciasController::Actualizar_Todas_Instancias($_GET['instance_ids']); if (!is_null($result)) { //algo salio mal Logger::log("Algo salió mal al actualizar: " . $result); break; } Logger::log("Actualizacion(es) a BD terminada(s) con éxito"); header("Location: instancias.lista.php"); break; case "respaldar_instancias": Logger::log("---------------------------"); Logger::log("Jedi requested respaldar instances"); $json = "{ \"instance_ids\" : {$_GET['instance_ids']} }"; //$result = InstanciasController::Respaldar_Instancias($_GET['instance_ids']); $result = POSController::BdInstanciasRespaldarBd($json); if ($result['status'] != "ok") { //algo salio mal Logger::log("Algo salió mal al respaldar: " . $result['mensaje']); ?> <script> (function(){alert(<?php echo "'" . $result['mensaje'] . "'"; ?> ); location.href="instancias.bd.php" })(); </script> <?php break; } Logger::log("Respaldo(s) realizado(s) con éxito"); header("Location: instancias.lista.php"); break; case "restaurar_instancias": Logger::log("---------------------------"); Logger::log("Jedi requested restaurar instances"); $json = "{ \"instance_ids\" : {$_GET['instance_ids']} }"; //$result = InstanciasController::Restaurar_Instancias($_GET['instance_ids']); $result = POSController::BdInstanciasRestaurarBd($json); if ($result['status'] != "ok") { //algo salio mal Logger::log("Algo salió mal al restaurar: " . $result['mensaje']); //header("Location: instancias.bd.php"); ?> <script> (function(){alert(<?php echo "'" . $result['mensaje'] . "'"; ?> ); location.href="instancias.bd.php" })(); </script> <?php break; } Logger::log("Restauracion(es) realizada(s) con éxito"); header("Location: instancias.lista.php"); break; default: } }
<?php define("BYPASS_INSTANCE_CHECK", true); require_once "../../server/bootstrap.php"; $request = InstanciasController::BuscarRequests($_GET["rid"]); $this_request = $request[0]; /*** * * Page Rendering * * * */ $p = new JediComponentPage(); $m = new MenuComponent(); $m->addItem("Reenviar correo de confirmacion", ""); $m->addItem("Re-instalar instancia", "javascript:forceValidate();"); $p->addComponent($m); $headers = array("id_request" => "request_id", "email" => "email", "ip" => "ip", "fecha" => "date_requested", "date_validated" => "date_validated", "date_installed" => "date_installed"); $t = new TableComponent($headers, $request); function FormatTimeSpecial($ut) { if (is_null($ut) or strlen($ut) == 0) { return ""; } return FormatTime($ut); } $t->addColRender("fecha", "FormatTimeSpecial"); $t->addColRender("date_validated", "FormatTimeSpecial"); $t->addColRender("date_installed", "FormatTimeSpecial"); $p->addComponent($t); $p->addComponent('
<?php define("BYPASS_INSTANCE_CHECK", true); require_once "../../server/bootstrap.php"; InstanciasController::desactivarInstanciasPrueba();
<?php define("BYPASS_INSTANCE_CHECK", true); require_once "../../server/bootstrap.php"; $p = new JediComponentPage(); $p->addComponent(new TitleComponent("Instancias")); $p->addComponent(new TitleComponent("Instancias instaladas", 3)); $headers = array("instance_id" => "instance_id", "instance_token" => "instance_token", "fecha_creacion" => "creada", "descripcion" => "descripcion", "activa" => "activa", "status" => "status"); $t = new TableComponent($headers, InstanciasController::Buscar()); $t->addColRender("activa", "FormatBoolean"); $t->addColRender("pos_instance", "FormatBoolean"); function FormatBoolean($activa) { if ($activa === "0") { return "<font style = \"color:red;\">no</font>"; } if ($activa === "1") { return "sí"; } return "undefined"; } $t->addColRender("fecha_creacion", "FormatTime"); $t->addOnClick("instance_id", "(function(i){window.location='instancias.ver.php?id='+i; })"); $p->addComponent(new FreeHtmlComponent('<div class="POS Boton OK" onclick="window.location=\'instancias.bd.php\'">BD de Instancias</div>')); $p->addComponent($t); $p->render();
}); }) </script> <?php ?> <?php break; ?> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <?php case "ajax_validation": ?> <?php $r = InstanciasController::validateDemo($_GET["key"]); ?> <?php break; ?> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <?php case "signup": ?> <table border='0'> <tr> <td rowspan='2'> <img class="" style="width: 100px; float:left" src="media/main_site/caffeina-logo.png"> </td> <td>
public function testRestarurarBD() { $this->assertNull(InstanciasController::Restaurar_Instancias(array(IID))); }
$CadenaJS .= " }\n"; $CadenaJS .= " }\n"; $CadenaJS .= " Ext.MessageBox.show(\n"; $CadenaJS .= " {\n"; $CadenaJS .= " title:\"Borrar?\",\n"; $CadenaJS .= " msg:\"Desea borrar el respaldo seleccionado?\",\n"; $CadenaJS .= " buttons: Ext.MessageBox.YESNO,\n"; $CadenaJS .= " icon: Ext.MessageBox.QUESTION,\n"; $CadenaJS .= " fn:Resp\n"; $CadenaJS .= " });\n"; $CadenaJS .= " }\n"; $CadenaJS .= "</script>"; $page->addComponent($CadenaJS); $CadenaJSForm = "<div align=\"left\"><form name=\"frmRes\">"; $Contador = 0; foreach (InstanciasController::BuscarRespaldosComponents(INSTANCE_ID) as $Cadena) { $Contador++; $CadenaJSForm .= " <br><input type=\"radio\" name=\"GRespaldo\" value=\"{$Cadena}\"" . ($Contador == 1 ? " checked " : "") . "> Respaldo no {$Contador}, creado " . date("D d/m/Y g:i a", $Cadena) . "<br>"; } unset($Cadena); //Elimina la referencia usada en FOREACH $CadenaJSForm .= "<br>"; if ($Contador > 0) { $CadenaJSForm .= "</form></div><br/><div class=\"POS Boton\" onclick=\"fn();\">Restaurar</div>"; $CadenaJSForm .= "<div class=\"POS Boton\" onclick=\"fnB();\">Borrar</div><hr>"; $page->addComponent($CadenaJSForm); } else { $page->addComponent(new TitleComponent("--- No hay respaldos disponibles ---", 3)); } //Descargar Instancia $dwdInts = "<script>";
/** * *Descarga un archivo .zip con los ultimos respaldos que se encuentren en el servidor de las instancias seleccionadas * * @param instance_ids json Lista de los id de las instancias a respaldar * @return status string Respuesta enviada del servidor * @return mensaje string Mensaje de respuesta del servidor **/ public static function BdInstanciasDescargarBd($instance_ids) { if (!is_array($instance_ids)) { return array("status" => "failure", "mensaje" => "Los datos enviados no son en validos"); } if (sizeof($instance_ids) < 1) { return array("status" => "failure", "mensaje" => "No se envio ninguna instancia"); } for ($i = 0; $i < sizeof($instance_ids); $i++) { //validar que existan $r = InstanciasController::BuscarPorId($instance_ids[$i]); if (is_null($r)) { return array("status" => "failure", "mensaje" => "La instancia " . $instance_ids[$i] . " no existe"); } } //$path_to_download_script = "../../jedi/instancias.bd.dl.php"; /*str_replace("server", "www/jedi/instancias.bd.dl.php", POS_PATH_TO_SERVER_ROOT);*/ //Logger::log("---->Ruta dl: ".$path_to_download_script); $json = "{ \"instance_ids\" : " . json_encode($instance_ids) . " }"; $salida = InstanciasController::descargar_instancias($json); //header("Location: ".$path_to_download_script."?&instance_ids=".$json);//hacer esta funcionalidad en un Instancias.Controller if ($salida != null) { Logger::log("********************************* Salida trae el archivo"); header("Content-type: application/zip"); header("Content-disposition: attachment; filename={$salida['nombre_folder']}"); echo $salida['archivo']; /*return array( "status" => "ok", "mensaje" => "Archivo: " );*/ } else { return array("status" => "failure", "mensaje" => $salida); } }