X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompose.php;h=2d058d0927f9ab2ea9c1b1d87351e289d2c3625b;hb=828c58f18565da37215df7d138ba05485ce8c4cd;hp=b03e6867d0da2808f52c74c41305dfeae3259592;hpb=fd7ab7950ab48601cae33dbe47023c869499bf95;p=squirrelmail.git
diff --git a/src/compose.php b/src/compose.php
index b03e6867..2d058d09 100644
--- a/src/compose.php
+++ b/src/compose.php
@@ -11,26 +11,22 @@
* - Send mail
* - Save As Draft
*
- * @copyright © 1999-2005 The SquirrelMail Project Team
+ * @copyright © 1999-2006 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
*/
/**
- * Path for SquirrelMail required files.
- * @ignore
+ * Include the SquirrelMail initialization file.
*/
-define('SM_PATH','../');
+require('../include/init.php');
/* SquirrelMail required files. */
-require_once(SM_PATH . 'include/validate.php');
-require_once(SM_PATH . 'functions/global.php');
-require_once(SM_PATH . 'functions/imap.php');
+require_once(SM_PATH . 'functions/imap_general.php');
+require_once(SM_PATH . 'functions/imap_messages.php');
require_once(SM_PATH . 'functions/date.php');
require_once(SM_PATH . 'functions/mime.php');
-require_once(SM_PATH . 'functions/plugin.php');
-require_once(SM_PATH . 'functions/display_messages.php');
require_once(SM_PATH . 'class/deliver/Deliver.class.php');
require_once(SM_PATH . 'functions/addressbook.php');
require_once(SM_PATH . 'functions/forms.php');
@@ -48,6 +44,11 @@ sqgetGlobalVar('delimiter', $delimiter, SQ_SESSION);
sqgetGlobalVar('composesession', $composesession, SQ_SESSION);
sqgetGlobalVar('compose_messages', $compose_messages, SQ_SESSION);
+sqgetGlobalVar('delayed_errors', $delayed_errors, SQ_SESSION);
+if (is_array($delayed_errors)) {
+ $oErrorHandler->AssignDelayedErrors($delayed_errors);
+ sqsession_unregister("delayed_errors");
+}
/** SESSION/POST/GET VARS */
sqgetGlobalVar('session',$session);
@@ -386,14 +387,17 @@ if ($draft) {
}
sqimap_logout($imap_stream);
}
+ if (count($oErrorHandler->aErrors)) {
+ sqsession_register($oErrorHandler->aErrors,"delayed_errors");
+ }
session_write_close();
if ($compose_new_win == '1') {
if ( !isset($pageheader_sent) || !$pageheader_sent ) {
Header("Location: $location/compose.php?saved_draft=yes&session=$composesession");
} else {
- echo '
'
- . _("Return") . '';
+ . _("Return") . '';
}
exit();
} else {
@@ -401,10 +405,10 @@ if ($draft) {
Header("Location: $location/right_main.php?mailbox=" . urlencode($draft_folder) .
"&startMessage=1¬e=".urlencode($draft_message));
} else {
- echo '
'
- . _("Return") . '';
+ . _("Return") . '';
}
exit();
}
@@ -461,13 +465,14 @@ if ($send) {
$composeMessage=$compose_messages[$session];
$Result = deliverMessage($composeMessage);
+
do_hook('compose_send_after', $Result, $composeMessage);
if (! $Result) {
showInputForm($session);
exit();
}
unset($compose_messages[$session]);
-
+
/* if it is resumed draft, delete draft message */
if ( isset($delete_draft)) {
$imap_stream = sqimap_login($username, $key, $imapServerAddress, $imapPort, false);
@@ -481,14 +486,20 @@ if ($send) {
}
sqimap_logout($imap_stream);
}
+ /*
+ * Store the error array in the session because they will be lost on a redirect
+ */
+ if (count($oErrorHandler->aErrors)) {
+ sqsession_register($oErrorHandler->aErrors,"delayed_errors");
+ }
session_write_close();
if ($compose_new_win == '1') {
if ( !isset($pageheader_sent) || !$pageheader_sent ) {
Header("Location: $location/compose.php?mail_sent=yes");
} else {
- echo '
'
- . _("Return") . '';
+ . _("Return") . '';
}
exit();
} else {
@@ -496,10 +507,10 @@ if ($send) {
Header("Location: $location/right_main.php?mailbox=$urlMailbox".
"&startMessage=$startMessage&mail_sent=yes");
} else {
- echo '
"
- . _("Return") . '';
+ . _("Return") . '';
}
exit();
}
@@ -554,7 +565,7 @@ if ($send) {
$_FILES['attachfile']['tmp_name'] &&
$_FILES['attachfile']['tmp_name'] != 'none') {
if(saveAttachedFiles($session)) {
- plain_error_message(_("Could not move/copy file. File not attached"), $color);
+ plain_error_message(_("Could not move/copy file. File not attached"));
}
}
/*
@@ -563,14 +574,14 @@ if ($send) {
*/
include_once('./addrbook_search_html.php');
} elseif (isset($attach)) {
- if (saveAttachedFiles($session)) {
- plain_error_message(_("Could not move/copy file. File not attached"), $color);
- }
if ($compose_new_win == '1') {
compose_Header($color, $mailbox);
} else {
displayPageHeader($color, $mailbox);
}
+ if (saveAttachedFiles($session)) {
+ plain_error_message(_("Could not move/copy file. File not attached"));
+ }
showInputForm($session);
}
elseif (isset($sigappend)) {
@@ -1025,7 +1036,7 @@ function showInputForm ($session, $values=false) {
$username, $data_dir, $identity, $idents, $delete_draft,
$mailprio, $compose_new_win, $saved_draft, $mail_sent, $sig_first,
$username, $compose_messages, $composesession, $default_charset,
- $compose_onsubmit;
+ $compose_onsubmit, $oTemplate;
if (checkForJavascript()) {
$onfocus = ' onfocus="alreadyFocused=true;"';
@@ -1052,7 +1063,7 @@ function showInputForm ($session, $values=false) {
}
if ($use_javascript_addr_book) {
- echo "\n". '