/**
  * Creacion de un nuevo archivo en la bd y a la vez, se sube el archivo en el servidor.
  */
 public function createAction()
 {
     if (!$this->request->isPost()) {
         return $this->dispatcher->forward(array("controller" => "archivo", "action" => "index"));
     }
     try {
         /*SUBIENDO LOS ARCHIVOS*/
         #Verifica si existen archivos para subir
         date_default_timezone_set('America/Argentina/Rio_Gallegos');
         /*$script_tz = date_default_timezone_get();
         
                 if (strcmp($script_tz, ini_get('date.timezone'))){
                     echo 'La zona horaria del script difiere de la zona horaria de la configuracion ini.';
                 } else {
                     echo 'La zona horaria del script y la zona horaria de la configuración ini coinciden.';
                 }*/
         $archivosFallidos = "";
         if ($this->request->hasFiles() == true) {
             $uploads = $this->request->getUploadedFiles();
             $isUploaded = false;
             #Por cada archivo subido:
             $nombreCarpeta = 'temp/' . Date('Y_m_d');
             if (!file_exists($nombreCarpeta)) {
                 mkdir($nombreCarpeta, 0777, true);
             }
             foreach ($uploads as $upload) {
                 #define a “unique” name and a path to where our file must go
                 $nombreArchivo = date('h_i_s') . '_' . strtolower($upload->getname());
                 $path = $nombreCarpeta . '/' . $nombreArchivo;
                 #move the file and simultaneously check if everything was ok
                 $upload->moveTo($path) ? $isUploaded = true : ($isUploaded = false);
                 //=========== Creando un registro en la bd ====================
                 if ($isUploaded) {
                     $archivo = new Archivo();
                     $archivo->setArchivoCarpeta($nombreCarpeta);
                     $archivo->setArchivoNombre($nombreArchivo);
                     $archivo->setArchivoFechacreacion(Date('Y_m_d'));
                     if (!$archivo->save()) {
                         foreach ($archivo->getMessages() as $message) {
                             $this->flash->error($message);
                         }
                         return $this->dispatcher->forward(array("controller" => "archivo", "action" => "new"));
                     }
                 } else {
                     $archivosFallidos .= "{$nombreArchivo} <br>";
                 }
             }
             #if any file couldn’t be moved, then throw an message
             if ($isUploaded) {
                 $this->flash->success('Los archivos han sido cargado correctamente');
             } else {
                 $this->flash->error('Ha ocurrido un error, los siguientes archivos no se han podido subir: <br>' . $archivosFallidos);
             }
             return $this->dispatcher->forward(array("controller" => "archivo", "action" => "index"));
         } else {
             #if no files were sent, throw a message warning user
             //FIXME: Tamaño de archivos
             $this->flash->error('Operación Fallida, verifique que el tamaño de los archivos no superen los 47185920 bytes Ver EQUIVALENCIAS!!)');
             $this->redireccionar('archivo/new');
         }
         /*FIN:SUBIENDO LOS ARCHIVOS*/
     } catch (Exception $e) {
         $this->flash->error('El Archivo excede el tamaño <br> Datos Tecnicos: <br>' . $e->getMessage());
     }
 }