Serait-il possible que ce plugin aille chercher le document OpenOffice
ailleurs que dans le répertoire "plugins" ? (un peu comme le fait le
gestionnaire de plugins ou le plugin fckeditor)
Sinon on risque d'avoir plein de versions différentes de ces fichiers
binaires dans la base de spip-zone -- qui est sous sqlite3 : donc
actuellement on arrive à saturation..
.Gilles
---
2008/12/24 <marcimat@free.fr>:
Author: marcimat@free.fr
Date: Wed Dec 24 16:57:46 2008
New Revision: 25483Log:
Mis en dev du plugin ODT pour essais avec SPIP 2.0- correction constante du répertoire du plugin
- correction du fichier testodt.html qui n'était plus à jour visiblement
- cache0 et include sur spipoasis.html sinon le fait de cliquer 2 fois de suite sur l'icone télécharger amenait à une erreur php (fonction inconnue)3 problèmes identifiés :
- entête de template odt non pris en compte par le parseur SPIP
- un résidu de <text:p > (non fermé) apparait (avec mon template) après l'appel de la fonction spip2odt_reparagrapher(), générant une erreur de lecture XML par OOo.
- les textes sont encadrés de balises "<p>" visibles dans le rendu OOo qui manifestement ne sont pas convertis.Modified:
_plugins_/_dev_/export_odt/inc/spip2odt_styliser.php
_plugins_/_dev_/export_odt/plugin.xml
_plugins_/_dev_/export_odt/spipoasis.html
_plugins_/_dev_/export_odt/spipoasis_fonctions.php
_plugins_/_dev_/export_odt/testodt.htmlModified: _plugins_/_dev_/export_odt/inc/spip2odt_styliser.php
--- _plugins_/_dev_/export_odt/inc/spip2odt_styliser.php (original)
+++ _plugins_/_dev_/export_odt/inc/spip2odt_styliser.php Wed Dec 24 16:57:46 2008
@@ -13,6 +13,9 @@// retablir les boucles et autres tags du squelette
function inc_spip2odt_styliser($odf_dir, $contexte){
+ // pas de fond dans le contexte
+ unset($contexte['fond']);
+
// lire le content
lire_fichier($odf_dir."content.xml",$texte);@@ -32,7 +35,7 @@
// ecrire le squelette et le fichier fonctions associe ecrire\_fichier\(\_DIR\_TMP\."content\.html",$texte\);
- lire_fichier(_DIR_PLUGIN_SPIPOASIS."content_fonctions.php",$fonctions);
+ lire_fichier(_DIR_PLUGIN_SPIPODF."content_fonctions.php",$fonctions);
ecrire_fichier(_DIR_TMP."content_fonctions.php",$fonctions);// calculer le fond
@@ -67,8 +70,10 @@
$texte = preg\_replace\(",<br\(\\s\*/\)?>,ims","<p />",$texte\); // faire un heritage des <p>
+
$texte = spip2odt_heriter_p($texte,$dossier);+
// on ajoute ici des paragraphe, donc a faire avant reparagraphage
$texte = spip2odt_convertir_tags_blocs($texte);Modified: _plugins_/_dev_/export_odt/plugin.xml
--- _plugins_/_dev_/export_odt/plugin.xml (original)
+++ _plugins_/_dev_/export_odt/plugin.xml Wed Dec 24 16:57:46 2008
@@ -6,10 +6,10 @@
Cedric
</auteur>
<version>
- 0.1
+ 0.2
</version>
<etat>
- test
+ dev
</etat>
<description>
Export au format Open Document TextModified: _plugins_/_dev_/export_odt/spipoasis.html
--- _plugins_/_dev_/export_odt/spipoasis.html (original)
+++ _plugins_/_dev_/export_odt/spipoasis.html Wed Dec 24 16:57:46 2008
@@ -1,3 +1,4 @@
-#SET{res,(#ENV*|spip2odt)}<?php
+#CACHE{0}#SET{res,(#ENV*|spip2odt)}<?php
+include_spip('inc/spipoasis');
spipoasis_envoyer("[(#GET{res}|reset)]","[(#GET{res}|end)]");
?>
\ No newline at end of fileModified: _plugins_/_dev_/export_odt/spipoasis_fonctions.php
(empty)
Modified: _plugins_/_dev_/export_odt/testodt.html
--- _plugins_/_dev_/export_odt/testodt.html (original)
+++ _plugins_/_dev_/export_odt/testodt.html Wed Dec 24 16:57:46 2008
@@ -1,12 +1,13 @@
#CACHE{0}
<?php
-include_spip('inc/odt_api');
+include_spip('inc/spipoasis');$template = find_in_path('templates/article.odt');
$unzip = spipoasis_unzip($template);// styliser
-spip2odt_styliser_contenu($unzip,array('id_article'=>'#ID_ARTICLE'));
+$spip2odt_styliser = charger_fonction('spip2odt_styliser', 'inc');
+$spip2odt_styliser($unzip,array('id_article'=>'#ID_ARTICLE'));
$odt = spipoasis_zip($unzip,_DIR_TMP . 'test.odt');
spipoasis_envoyer($odt);
?>
\ No newline at end of file_______________________________________________
Spip-zone-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone-commit