public function testBuscarInstanciaID() { echo " >> Buscando instancia por su ID: " . self::$instance_id . "\n"; //Debe existir la instancia cuyo id es $instance_id if (is_null($i = InstanciasController::BuscarPorId(self::$instance_id))) { echo "\tError, resultado de la búsqueda nulo\n"; $this->assertTrue(false); } else { self::$TokenInstancia = $i["instance_token"]; echo "\tNuevo token obtenido: " . self::$TokenInstancia . "\n"; } }
} $page = new JediComponentPage(); require_once "libs/zip.php"; /* Make sure script execution doesn't time out. Set maximum execution time in seconds (0 means no limit). */ 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);
public function testEliminarInstancia() { global $id_instancia; $this->assertNull(InstanciasController::Eliminar($id_instancia)); $this->assertNull(InstanciasController::BuscarPorId($id_instancia)); }
/** * *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); } }