Index: openacs-4/packages/mail-tracking/mail-tracking.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/mail-tracking/mail-tracking.info,v
diff -u -r1.11 -r1.12
--- openacs-4/packages/mail-tracking/mail-tracking.info 21 Dec 2006 07:18:40 -0000 1.11
+++ openacs-4/packages/mail-tracking/mail-tracking.info 24 Dec 2006 11:12:24 -0000 1.12
@@ -8,7 +8,7 @@
t
tracking
-
+
Nima Mazloumi
Mail tracking package. Records all messages send out by acs-mail-lite.
2005-10-24
@@ -18,8 +18,9 @@
0
-
+
+
Index: openacs-4/packages/mail-tracking/lib/messages.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/mail-tracking/lib/messages.tcl,v
diff -u -r1.32 -r1.33
--- openacs-4/packages/mail-tracking/lib/messages.tcl 21 Dec 2006 07:14:15 -0000 1.32
+++ openacs-4/packages/mail-tracking/lib/messages.tcl 24 Dec 2006 11:12:24 -0000 1.33
@@ -13,9 +13,9 @@
ad_page_contract {
-@author Nima Mazloumi
-@creation-date Mon May 30 17:55:50 CEST 2005
-@cvs-id $Id$
+ @author Nima Mazloumi
+ @creation-date Mon May 30 17:55:50 CEST 2005
+ @cvs-id $Id$
} -query {
recipient_id:optional
sender_id:optional
@@ -215,20 +215,25 @@
db_multirow -extend { file_ids object_url sender_name recipient package_name package_url url_message_id download_files} messages select_messages { } {
- if { [apm_package_installed_p contacts] && [exists_and_not_null sender_id]} {
- set sender_name "[party::name -party_id $sender_id]"
+ if {[exists_and_not_null sender_id]} {
+ if { [apm_package_installed_p contacts] } {
+ set sender_name "[party::name -party_id $sender_id]"
+ } else {
+ set sender_name "[party::name -party_id $sender_id]"
+ }
} else {
- set sender_name ""
+ set sender_name $from_addr
}
-
+
set reciever_list [list]
set reciever_list2 [db_list get_recievers {select recipient_id from acs_mail_log_recipient_map where type ='to' and log_id = :log_id and recipient_id is not null}]
-
+
foreach recipient_id $reciever_list2 {
- if { [apm_package_installed_p contacts] } {
- lappend reciever_list "[party::name -party_id $recipient_id]"
- } else {
- lappend reciever_list "[party::name -party_id $recipient_id]"
+ if { [apm_package_installed_p contacts] } {
+ lappend reciever_list "[party::name -party_id $recipient_id]"
+ } else {
+ lappend reciever_list "[party::name -party_id $recipient_id]"
+ }
}
set recipient [join $reciever_list "
"]
Index: openacs-4/packages/mail-tracking/lib/messages.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/mail-tracking/lib/messages.xql,v
diff -u -r1.12 -r1.13
--- openacs-4/packages/mail-tracking/lib/messages.xql 27 Nov 2006 13:37:27 -0000 1.12
+++ openacs-4/packages/mail-tracking/lib/messages.xql 24 Dec 2006 11:12:24 -0000 1.13
@@ -8,6 +8,7 @@
select
message_id,
sender_id,
+ from_addr,
package_id,
sent_date,
body,
Index: openacs-4/packages/mail-tracking/sql/postgresql/mail-tracking-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/mail-tracking/sql/postgresql/mail-tracking-create.sql,v
diff -u -r1.10 -r1.11
--- openacs-4/packages/mail-tracking/sql/postgresql/mail-tracking-create.sql 21 Dec 2006 07:14:16 -0000 1.10
+++ openacs-4/packages/mail-tracking/sql/postgresql/mail-tracking-create.sql 24 Dec 2006 11:12:24 -0000 1.11
@@ -36,8 +36,10 @@
cc varchar(4000),
bcc varchar(4000),
sent_date timestamp,
- to_addr varchar(4000));
+ to_addr varchar(4000),
+ from_addr varchar(400));
+
create index acs_mail_log_object_idx on acs_mail_log(object_id);
create index acs_mail_log_sender_idx on acs_mail_log(sender_id);
Index: openacs-4/packages/mail-tracking/tcl/mail-tracking-callback-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/mail-tracking/tcl/mail-tracking-callback-procs.tcl,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/mail-tracking/tcl/mail-tracking-callback-procs.tcl 14 Nov 2006 07:17:56 -0000 1.7
+++ openacs-4/packages/mail-tracking/tcl/mail-tracking-callback-procs.tcl 24 Dec 2006 11:12:24 -0000 1.8
@@ -13,6 +13,7 @@
ad_proc -public -callback acs_mail_lite::complex_send -impl mail_tracking {
{-package_id:required}
{-from_party_id:required}
+ {-from_addr ""}
{-to_party_ids ""}
{-cc_party_ids ""}
{-bcc_party_ids ""}
@@ -40,6 +41,7 @@
set log_id [mail_tracking::new -package_id $package_id \
-sender_id $from_party_id \
+ -from_addr $from_addr \
-recipient_ids $to_party_ids \
-cc_ids $cc_party_ids \
-bcc_ids $bcc_party_ids \
Index: openacs-4/packages/mail-tracking/tcl/mail-tracking-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/mail-tracking/tcl/mail-tracking-procs.tcl,v
diff -u -r1.7 -r1.8
--- openacs-4/packages/mail-tracking/tcl/mail-tracking-procs.tcl 17 Nov 2006 10:39:37 -0000 1.7
+++ openacs-4/packages/mail-tracking/tcl/mail-tracking-procs.tcl 24 Dec 2006 11:12:24 -0000 1.8
@@ -26,7 +26,8 @@
ad_proc -public mail_tracking::new {
{-log_id ""}
{-package_id:required}
- {-sender_id:required}
+ {-sender_id ""}
+ {-from_addr ""}
{-recipient_ids:required}
{-cc_ids ""}
{-bcc_ids ""}
@@ -43,6 +44,7 @@
Insert new log entry
@param sender_id party_id of the sender
+ @param from_addr e-mail address of the sender. At least party_id or from_addr should be given
@param recipient_ids List of party_ids of recipients
@param cc_ids List of party_ids for recipients in the "CC" field
@param bcc_ids List of party_ids for recipients in the "BCC" field
@@ -65,9 +67,9 @@
# First create the message entry
db_dml insert_mail_log {
insert into acs_mail_log
- (log_id, message_id, sender_id, package_id, subject, body, sent_date, object_id, cc, bcc, to_addr)
+ (log_id, message_id, sender_id, package_id, subject, body, sent_date, object_id, cc, bcc, to_addr, from_addr)
values
- (:log_id, :message_id, :sender_id, :package_id, :subject, :body, now(), :object_id, :cc_addr, :bcc_addr, :to_addr)
+ (:log_id, :message_id, :sender_id, :package_id, :subject, :body, now(), :object_id, :cc_addr, :bcc_addr, :to_addr, :from_addr)
}
ns_log Debug "Mail Traking OBJECT $object_id CONTEXT $context_id FILES $file_ids LOGS $log_id"