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"