fix gettext and sprintf formating now. work on error_box later.
authortokul <tokul@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Tue, 2 Aug 2005 06:58:21 +0000 (06:58 +0000)
committertokul <tokul@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Tue, 2 Aug 2005 06:58:21 +0000 (06:58 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@9872 7612ce4b-ef26-0410-bec9-ea0150e637f0

plugins/squirrelspell/modules/check_me.mod

index 4ff9485c1e0b871df0f8c1ade091fc9ca22c58af..146fb4eca7abb34b66ed77cfbd10d0e0f7d2fb05 100644 (file)
@@ -98,12 +98,24 @@ if( check_php_version ( 4, 3 ) ) {
     );
     $spell_proc = @proc_open($sqspell_command, $descriptorspec, $pipes);
     if ( ! is_resource ( $spell_proc ) ) {
-        error_box ( _("Could not run the spellchecker command (%s).",
+        // TODO: replace error_box() with sqspell_makeWindow()
+        error_box ( sprintf(_("Could not run the spellchecker command (%s)."),
             htmlspecialchars($sqspell_command) ) , $color );
+        // close html tags and abort script.
+        echo "</body></html>";
+        exit();
     }
     if ( ! @fwrite($pipes[0], $sqspell_new_text) ) {
-        error_box ( _("Error while writing to pipe.",
-            htmlspecialchars($floc) ) , $color );
+        // TODO: replace error_box() with sqspell_makeWindow()
+        error_box ( _("Error while writing to pipe.") , $color );
+        // close all three $pipes here.
+        for($i=0; $i<=2; $i++) {
+            // disable all fclose error messages
+            @fclose($pipes[$i]);
+        }
+        // close html tags and abort script.
+        echo "</body></html>";
+        exit();
     }
     fclose($pipes[0]);
     $sqspell_output = array();
@@ -115,17 +127,33 @@ if( check_php_version ( 4, 3 ) ) {
     }
     $sqspell_exitcode=proc_close($spell_proc);
 } else {
+    // add slash to attachment directory, if it does not end with slash. 
+    if (substr($attachment_dir, -1) != '/')
+        $attachment_dir = $attachment_dir . '/';
+
+    // find unused file in attachment directory
     do {
-      $floc = "$attachment_dir/" . md5($sqspell_new_text . microtime());
+        $floc = $attachment_dir . md5($sqspell_new_text . microtime());
     } while (file_exists($floc));
+
     $fp = @fopen($floc, 'w');
     if ( ! is_resource ($fp) ) {
-        error_box ( _("Could not open temporary file '%s'.",
+        // TODO: replace error_box() with sqspell_makeWindow()
+        error_box ( sprintf(_("Could not open temporary file '%s'."),
             htmlspecialchars($floc) ) , $color );
+        // failed to open temp file. abort script.
+        echo "</body></html>";
+        exit();
     }
     if ( ! @fwrite($fp, $sqspell_new_text) ) {
-        error_box ( _("Error while writing to temporary file '%s'.",
+        // TODO: replace error_box() with sqspell_makeWindow()
+        error_box ( sprintf(_("Error while writing to temporary file '%s'."),
             htmlspecialchars($floc) ) , $color );
+        // close file descriptor
+        fclose($fp);
+        // failed writing to temp file. abort script.
+        echo "</body></html>";
+        exit();
     }
     fclose($fp);
     exec("$sqspell_command < $floc 2>&1", $sqspell_output, $sqspell_exitcode);