Ein prima Tool hast Du da entwickelt! Bei mir hatte ich beim speichern und öffnen des Word-Dokuments Zugriffs-Probleme, die auch bei anderen Usern auftreten könnten. Im Script written_communications_functions.php wird als Variable $filename nur der Dateiname ohne Pfadangabe festgelegt. Dadurch kommt es (sorry: kann es kommen) in der WordPHP-Klasse beim rename zu Problemen. Ich denke, das Festlegen von Filename könnte sauberer so aussehen (written_communications_functions.php kurz nach der Hälfte):
// Check if own templates are available and set template path
if(is_dir('../../adm_my_files/download/MSWord_Templates'))
{
$template_path = '../../adm_my_files/download/MSWord_Templates';
}
else
{
$template_path = 'templates';
}
$template=$template_path.'/'.$getTemplate;
// Get current date
$objDate = new DateTimeExtended(DATE_NOW, 'Y-m-d', 'date');
$dateSystemFormat = $objDate->format($gPreferences['system_date']);
// Define file name
$filename = $template_path.'/'.$gL10n->get('PLG_WC_FILENAME').'_'.$dateSystemFormat.'.docx';
Ich kann im ersten Blick nicht den Unterschied zwischen deinem Vorschlag und dem jetzigen "Ist" erkennen. Beide Varianten führen meines Erachtens zum gleichen Ergebnis.
Falls ich was übersehen habe ,... gerne Feedback.
aber leider auch hier wieder das Selbe: Mit Deinem Code bekomme ich ein leeres Dokument angezeigt, erst bei der Erweiterung der Variablen $filename um den Template-Pfad bekomme ich das richtige Ergebnis. Habe aber diese Woche leider keine Zeit, tiefer einzusteigen. Und bei mir läuft's jetzt ja auch. Ich nehme eigene Templates aus dem Download-Verzeichnis, nicht die Vorlagen aus dem Plugin-Verzeichnis. Vielleicht liegst's daran?
wenn Du schon dabei bist Habe gerade noch einen kleinen Bug gefunden:
Wenn man eine Rolle auswählt, auf aktive Mitglieder geht, es aber nur ehemalige Rollenmitglieder gibt, dann crasht's.
Und bei einer Rolle mit mehreren Mitgliedern meldet Word mir beim Öffnen einen Fehler (siehe Screenshot.)
Trotzdem toll, dass Du fertig bist! Wie sieht's gesundheitlich aus? Wieder fitt?
Besten Gruß
Oliver
ich werde das mal versuchen nachzustellen. Mit den Demodaten hatte ich keine Auffälligkeiten mit mehreren Mitgliedern in einer Rolle. Denke das kriegen wir hin.
Bin eh grad am Überlegen, ob ich das Plugin künftig über einen Branch auf Github verwalte. Es sind doch von der Resonanz mittlerweile die ein oder anderen Anregungen und Wünsche geäußert worden, die ich schwierig übers Forum zusammen bekomme. Könnt man dann über Issues besser verwalten.
Kleiner Preview an dieser Stelle:
Seither verwende ich die php word klasse die ich im Alpha Status der Klasse lauffähig abgeändert habe.
Habe aber die Tage gesehen, dass das Projekt PhpWord von anderen Entwicklern auf Github aufgegriffen wurde und weiter entwickelt wird als PHPOffice. Das schaue ich mir bei nächster Gelegenheit genauer an, denn so wie ich gesehen habe, unterstützt die Bibliothek mittlerweile auch writer für odt und pdf Format.
Macht natürlich Sinn dass in ein betreutes Projekt abzuändern.
Da sind wir auch quasi beim Punkt. Gesundheitlich alles gut, leider beruflich und privat ziemlich eingespannt. Manchmal nicht so einfach die Zeit für den PC zu finden.
an der Stelle wo es "kracht" sollte $gMessage ausgegeben werden, dass keine Einträge vorhanden sind.
Hier funktioniert der Autoload der benötigten Admidio Klassen leider nicht und der fatale Fehler ist das Ergebnis. Müssen wir mal schauen, wie wir das anders lösen. Aus meiner Sicht ein Bug.
Einen Issue habe ich erfasst.
Ich komme gerade nicht mehr weiter. Das Modul läuft soweit eigentlich. Nur wenn ich auf die Vorlagen aus dem Downloadordner MSWord_Templates zugreifen will, erhalte ich folgende Fehlermeldung beim Dokument Herunterladen:
Warning: Invalid error type specified in /home/radiosch/www/**.*****.**/admidio/adm_plugins/written_communications/classes/PHPWord.php on line 246
Fatal error: Call to a member function setValue() on a non-object in /home/radiosch/www/**.*****.**/admidio/adm_plugins/written_communications/written_communications_functions.php on line 287
Wenn ich den Downloadordner MSWord_Templates lösche und auf die bereits vorhandenen Beispiel Dateien des Moduls zugreife, funktioniert alles einwandfrei.
Kann mir da jemand weiterhelfen.
Ich komme gerade nicht mehr weiter. Das Modul läuft soweit eigentlich. Nur wenn ich auf die Vorlagen aus dem Downloadordner MSWord_Templates zugreifen will, erhalte ich folgende Fehlermeldung beim Dokument Herunterladen:
Warning: Invalid error type specified in /home/radiosch/www/**.*****.**/admidio/adm_plugins/written_communications/classes/PHPWord.php on line 246
Fatal error: Call to a member function setValue() on a non-object in /home/radiosch/www/**.*****.**/admidio/adm_plugins/written_communications/written_communications_functions.php on line 287
Wenn ich den Downloadordner MSWord_Templates lösche und auf die bereits vorhandenen Beispiel Dateien des Moduls zugreife, funktioniert alles einwandfrei.
Kann mir da jemand weiterhelfen.
// Check if own templates are available and set template path
if(is_dir('../../adm_my_files/download/MSWord_Templates'))
{
$templatePath = '../../adm_my_files/download/MSWord_Templates'.$getTemplate;
}
else
{
$templatePath = 'templates';
}
// Set path
$template = $templatePath. '/' .$getTemplate;
Im ersten If-Zweig hast Du $getTemplate angehängt und anschließend noch einmal.
Das Problem hat Oliver geschildert, welches den Fehler bei dir verursacht.
Tausche bitte die Datei written_communications_functions.php im Anhang aus, oder lade dir das Plugin nochmal komplett herunter. Dann sollte es gehen.