Beispiel #1
0
 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));
 }