function comprimir_js() { $archivos = $this->get_archivos_js_propios(); $total = 0; require_once toba_dir() . '/php/3ros/jscomp/JavaScriptCompressor.class.php'; require_once toba_dir() . '/php/3ros/jscomp/BaseConvert.class.php'; $comp = new JavaScriptCompressor(false); $salida = array(); $this->manejador_interface->mensaje('Comprimiendo ' . count($archivos) . ' archivo/s', false); foreach ($archivos as $archivo) { if (strpos($archivo, "www/js/toba_") !== false) { //--- Evita comprimir dos veces continue; } $atr = stat($archivo); $total += $atr['size']; $nuevo = $comp->getClean(array('code' => file_get_contents($archivo), 'name' => basename($archivo))); $salida[] = $nuevo; $this->manejador_interface->progreso_avanzar(); } $this->manejador_interface->progreso_fin(); $todo = implode("\n", $salida); $version = toba_modelo_instalacion::get_version_actual(); $version = $version->__toString(); $archivo = toba_dir() . "/www/js/toba_{$version}.js"; file_put_contents($archivo, $todo); $atr = stat($archivo); $nuevo_total = $atr['size']; $this->manejador_interface->mensaje("Antes: {$total} bytes"); $this->manejador_interface->mensaje("Despues: " . $nuevo_total . " bytes"); $this->manejador_interface->mensaje("Radio: " . number_format($nuevo_total / $total, 2)); toba_modelo_instalacion::cambiar_info_basica(array('js_comprimido' => 1)); }