Newsgroup: it.comp.os.linux.development
Titolo: Mozilla con "OLE" (lungo)

Sviluppando applicazioni in php mi sono accorto
che vorrei qualcosa di più da Mozilla; mi spiego:
quando do all'utente la possibilità di "modificare"
dati, ad esempio contenuti in un db, faccio
un <FORM method=post> dove metto i dati da modificare
nei vari <INPUT...> per i campi brevi o <TEXT...> per
i campi lunghi/multiriga; l'utente poi al SUBMIT mi
passa i dati con cui vado ad aggiornare il db;
se voglio che l'utente faccia un upload di un file
metto <FORM enctype=multipart/form-data ...>
e vado a mettere il file dove voglio.
Attualmente per modificare un file OpenOffice
(generato automaticamente da un programma php)
passo il file all'utente che prima lo salva suo
computer, poi lo modifica, quindi fa l'upload.
Ora (ecco il quesito...) c'è qualche modo con qualche
estensione o plugin di Mozilla (che comunque non ho
trovato) o altro trucco di unire le operazioni di
salvataggio-modifica-upload in un unica operazione,
tipo campo OLE? in modo che l'utente, a cui arriva
questo file nel suo OpenOffice, debba solo modificare
e fare un salva/chiudi ed al massimo un "submit"?
Stavo pensando ad intraprendere una strada
(per ora mooolto teorica) del tipo:
- capire dove il browser salva il file (~/tmp/...)
   che gli arriva,
- mettere questo nome in una casella <INPUT type=file>
   per preparare l'upload,
- vedere se il file è "lockato" ed eventualmente
   attendere,
- al termine delle modifiche fare l'upload.
Oppure:
- modificare il comportamento di Mozilla
   (che so? scrivendo un plugin?)
   in modo da accettare input del tipo
   <INPUT TYPE=external EXTENSION=sxw>
   e farli gestire in altro modo.
Ovvio che una estensione del genere potrebbe anche
servire per file di altro genere: all'utente viene
passato un immagine png, la modifica col suo gimp,
e la salva con upload automatico.
Sempre che sia riuscito a spiegarmi (è difficile farlo
con qualcosa che si ha solo in testa)... per evitare
di reinventare quota e acqua calda, qualcuno ha idea
di come si possa realizzare qualcosa del genere?
Grazie
gp

Mi do una prima risposta da solo: ho trovato un promettente
plugin: 
http://extensionroom.mozdev.org/more-info/mozex
che consente di editare i TEXTDATA con un programma esterno.
Intanto ci do un'occhiata.
Se qualcuno ha altre idee ben vengano.
GP

Eureka! Ce l'ho fatta!
Mi sento però in dovere di spiegare come ho fatto.
Mi sono fatto tre scriptini:
"Base64encode":
=====================
#!/usr/bin/php -q
<?php
   print base64_encode ( file_get_contents ( $_SERVER["argv"][1] ) );
?>
=====================
"Base64decode":
=====================
#!/usr/bin/php -q
<?php
   print base64_decode ( file_get_contents ( $_SERVER["argv"][1] ) );
?>
=====================
"Editone":
=====================
#!/bin/bash
/usr/local/bin/Base64decode $1 >$1.tmp
/usr/local/OpenOffice.org/program/soffice $1.tmp
/usr/local/bin/Base64encode $1.tmp >$1
=====================
Ho poi configurato il plugin mozex (vds altro post)
in modo da modificare, se lo desidero, le caselle TEXTAREA
con "Editone" ("/usr/local/bin/Editone %t").
È un effetto incredibile aprire con OpenOffice una TEXTAREA
contenente una serie di caratteri illeggibili (in quando
codificati base64) e trovarvi dentro il proprio documento
scritto con OpenOffice.
Ovvio che è una soluzione mooolto temporanea, poiché basta
modificare un carattere nella TEXTAREA e tutto il documento
va a farsi friggere, esteticamente non è molto bella una
sequenza di caratteri incomprensibili, non so cosa accada
con files molto grandi, ma penso di avere imbroccato la
strada giusta.
GP troooppo contento