[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] CVS: email ChangeLog.beta1final--1.0,1.1,1.2 ChangeLo
From: |
Ralf Becker <address@hidden> |
Subject: |
[Phpgroupware-cvs] CVS: email ChangeLog.beta1final--1.0,1.1,1.2 ChangeLog.codehere--1.1,1.2,1.3 ChangeLog.core--1.1,1.1,1.2 ChangeLog.lex--1.1,1.1,1.2 ChangeLog.ryan--1.1,1.1,1.2 addressbook-js.changelog.txt,1.1,1.2 addressbook-js.php,1.1,1.2 addressbook.php,1.37,1.38 attach_file.php,1.27,1.28 compose.php,1.50,1.51 index.php,1.89,1.90 view_image.php,1.15,1.16 test.php,1.1,NONE |
Date: |
Thu, 13 Mar 2003 23:04:07 -0500 |
Update of /cvsroot/phpgroupware/email
In directory subversions:/tmp/cvs-serv14421
Modified Files:
ChangeLog.beta1final--1.0 ChangeLog.codehere--1.1
ChangeLog.core--1.1 ChangeLog.lex--1.1 ChangeLog.ryan--1.1
addressbook-js.changelog.txt addressbook-js.php
addressbook.php attach_file.php compose.php index.php
view_image.php
Removed Files:
test.php
Log Message:
final comit to make all changes from the import HEAD
Index: ChangeLog.beta1final--1.0
===================================================================
RCS file: /cvsroot/phpgroupware/email/ChangeLog.beta1final--1.0,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** ChangeLog.beta1final--1.0 25 Oct 2002 12:59:11 -0000 1.1
--- ChangeLog.beta1final--1.0 14 Mar 2003 03:59:14 -0000 1.2
***************
*** 1 ****
! # do not edit -- automatically generated by larch changelog
--- 1 ----
! # do not edit -- automatically generated by larch changelog
Index: ChangeLog.codehere--1.1
===================================================================
RCS file: /cvsroot/phpgroupware/email/ChangeLog.codehere--1.1,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** ChangeLog.codehere--1.1 15 Nov 2002 07:32:54 -0000 1.2
--- ChangeLog.codehere--1.1 14 Mar 2003 03:59:18 -0000 1.3
***************
*** 1,2835 ****
! # do not edit -- automatically generated by arch changelog
! # tag: address@hidden/anglemail--codehere--1.1
! #
!
! 2002-10-24 GMT Angles Puglisi <address@hidden> patch-65
!
! Summary:
! spead tweaks for large moves, including using refernces
! Revision:
! anglemail--codehere--1.1--patch-65
[...6566 lines suppressed...]
! version 1.1, this branch was sourced from anglemail--core--1.1 and is
called
! anglemail--codehere--1.1, and when code here is ready, it should be star
merged
! back into anglemail-core.
!
! So far, anglemail--beta1final--1.0 -> continuation ->
anglemail--core--1.1
! and now -> continuation -> anglemail--codehere--1.1
!
! SO FAR ALL THESE BRANCHES ARE IDENTICAL. This is just setting the coding
! structure for next phase of development, no changes have yet been made
! to anglemail--core--1.1 and this branch anglemail--codehere--1.1 has no
! changes yet as we are just now making it, and of course "beta1final"
! is CLOSED, no more coding in that branch.
!
! new directories:
! {arch}/anglemail/anglemail--codehere
! {arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log
!
!
Index: ChangeLog.core--1.1
===================================================================
RCS file: /cvsroot/phpgroupware/email/ChangeLog.core--1.1,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** ChangeLog.core--1.1 25 Oct 2002 12:59:11 -0000 1.1
--- ChangeLog.core--1.1 14 Mar 2003 03:59:47 -0000 1.2
***************
*** 1,413 ****
! # do not edit -- automatically generated by arch changelog
! # tag: address@hidden/anglemail--core--1.1
! #
!
! 2002-09-21 GMT Angles Puglisi <address@hidden> patch-3
!
! Summary:
! update merge anglemail-codehere (at patch-42) into anglemail-core
! Revision:
! anglemail--core--1.1--patch-3
!
! Update merge anglemail-codehere (at patch-42) into anglemail-core.
!
! Anglemail-codehere at patch-42 is just after the new addressbook by lex
! was merged into the codehere tree, and after some significant bug fixes
! including now working with register globals on of off.
!
! So this was a good time to merge this code back into the core branch.
!
! This after release of tarball anglemail-1.1-pre04-07.tar.bz2
!
! The following paragraph was generated by arch command log-for-merge.
!
! Patches applied:
!
! * address@hidden/anglemail--codehere--1.1--patch-42
! merge in addressbook code by lex, original one is optional, manual
merge.
!
! * address@hidden/anglemail--codehere--1.1--patch-41
! fix object call redirects, attach_file is now
class.boattach_files.attach
!
! * address@hidden/anglemail--codehere--1.1--patch-40
! fix the fix to the FILES data in attach_file.php
!
! * address@hidden/anglemail--codehere--1.1--patch-39
! fix FILES upload vars and 0k file size, and properly redirect and
kill script after sending mail
!
! * address@hidden/anglemail--codehere--1.1--patch-38
! base64 encode 57 bytes at a time, and clear lines after sending
!
! * address@hidden/anglemail--codehere--1.1--patch-37
! fix for php v4.2 and greater Superglobals issue
!
! * address@hidden/anglemail--codehere--1.1--patch-36
! merge in lex changes for non-aadybook files
!
! * address@hidden/anglemail--codehere--1.1--patch-35
! prep_folder_in checks for UWash foldername of "bare slash"
!
! * address@hidden/anglemail--codehere--1.1--patch-34
! better RH login "recovering" message, and always try that recovery
!
! * address@hidden/anglemail--codehere--1.1--patch-33
! update email lang files from Savannah CVS sources
!
! * address@hidden/anglemail--codehere--1.1--patch-32
! fix decode rfc2047 encoded attachment name MIME headers with download
!
! * address@hidden/anglemail--codehere--1.1--patch-31
! feature additions from Alex Borges
!
! * address@hidden/anglemail--codehere--1.1--patch-30
! patch to hook_notifywindow, thanks Dave Hall
!
! * address@hidden/anglemail--codehere--1.1--patch-29
! added debugging output to utf7 en/decode, verified working as per RFC
!
! * address@hidden/anglemail--codehere--1.1--patch-28
! patch to attach_file to show file size, thanks Dave Hall
!
! * address@hidden/anglemail--codehere--1.1--patch-27
! validate UWash namespace does not contain "bad" stuff
!
!
! new files:
! addressbook-chnagelog.txt addressbook-js.php
! inc/selectboxes.js templates/default/addressbook-js-bits.tpl
! templates/default/addressbook-js.tpl
! templates/default/addressbook-real-plain.tpl-UNUSED
! templates/default/addressbook.tpl-BAD
! templates/default/addressbook.tpl-ORIG
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-27
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-28
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-29
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-30
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-31
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-32
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-33
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-34
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-35
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-36
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-37
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-38
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-39
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-40
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-41
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-42
!
! modified files:
! ChangeLog.codehere--1.1 ChangeLog.core--1.1 attach_file.php
! inc/class.boaction.inc.php inc/class.boattach_file.inc.php
! inc/class.bocompose.inc.php inc/class.bofilters.inc.php
! inc/class.bopreferences.inc.php inc/class.bosend.inc.php
! inc/class.mail_dcom_base.inc.php
! inc/class.mail_dcom_base_sock.inc.php
! inc/class.mail_dcom_pop3_sock.inc.php
! inc/class.mail_msg_base.inc.php
! inc/class.mail_msg_wrappers.inc.php
! inc/class.mail_send.inc.php inc/class.spell.inc.php
! inc/class.svc_nextmatches.inc.php
! inc/class.ui_mail_debug.inc.php inc/class.uicompose.inc.php
! inc/class.uimessage.inc.php inc/class.uipreferences.inc.php
! inc/hook_notifywindow.inc.php index.php setup/phpgw_da.lang
! setup/phpgw_fr.lang setup/phpgw_pt.lang
! templates/default/addressbook.tpl
! templates/default/attach_file.tpl
! templates/default/attach_file_blocks.tpl
! templates/default/compose.tpl
!
! new patches:
! address@hidden/anglemail--codehere--1.1--patch-27
! address@hidden/anglemail--codehere--1.1--patch-28
! address@hidden/anglemail--codehere--1.1--patch-29
! address@hidden/anglemail--codehere--1.1--patch-30
! address@hidden/anglemail--codehere--1.1--patch-31
! address@hidden/anglemail--codehere--1.1--patch-32
! address@hidden/anglemail--codehere--1.1--patch-33
! address@hidden/anglemail--codehere--1.1--patch-34
! address@hidden/anglemail--codehere--1.1--patch-35
! address@hidden/anglemail--codehere--1.1--patch-36
! address@hidden/anglemail--codehere--1.1--patch-37
! address@hidden/anglemail--codehere--1.1--patch-38
! address@hidden/anglemail--codehere--1.1--patch-39
! address@hidden/anglemail--codehere--1.1--patch-40
! address@hidden/anglemail--codehere--1.1--patch-41
! address@hidden/anglemail--codehere--1.1--patch-42
!
!
! 2002-08-04 GMT Angles Puglisi <address@hidden> patch-2
!
! Summary:
! update merge anglemail--codehere--1.1--patch-26 into
anglemail--core--1.1
! Revision:
! anglemail--core--1.1--patch-2
!
! Update merge anglemail--codehere--1.1--patch-26 into
anglemail--core--1.1,
! where anglemail--codehere--1.1--patch-26 has been released in tarball
form
! as file anglemail-1.1-pre3-15.tar.bz2 and, although needing some bug
fixes,
! had been used in production with general success.
!
! Time was good to merge since this code is now a "known" element, and
! even the bugs it has are "known" so this merges known elements into the
! core branch and allows continued development in the codehere branch.
!
! The following paragraph was generated by arch command log-for-merge.
!
! Patches applied:
!
! * address@hidden/anglemail--codehere--1.1--patch-26
! fix mail svc_nextmatches to work with the redirect replacement
!
! * address@hidden/anglemail--codehere--1.1--patch-25
! made generalized make new env functions in boaction for public use
!
! * address@hidden/anglemail--codehere--1.1--patch-24
! expande no-redirect, handle curley braces, increase big threshhold
to 95
!
! * address@hidden/anglemail--codehere--1.1--patch-23
! post-multi-delete redirect replaced with a direct object call
!
! * address@hidden/anglemail--codehere--1.1--patch-22
! add docs, fix comment in index tpl file
!
! * address@hidden/anglemail--codehere--1.1--patch-21
! added docs for move, delete, and expunge functions. DOCS ONLY.
!
! * address@hidden/anglemail--codehere--1.1--patch-20
! fix append to sent items folder
!
! * address@hidden/anglemail--codehere--1.1--patch-19
! migrate to "industrial_interacct_mail_move", track what needs
expunging, only expunge when done
!
! * address@hidden/anglemail--codehere--1.1--patch-18
! bugfixs for extreme caching being on or off
!
! * address@hidden/anglemail--codehere--1.1--patch-17
! wrap all new "extreme" caching in conditionals so it can be turned
off
!
! * address@hidden/anglemail--codehere--1.1--patch-16
! add function to clear all "extreme" cache items, and not be
"extreme" for big moves
!
! * address@hidden/anglemail--codehere--1.1--patch-15
! fix moves, deleted, and expunging in extreme caching mode
!
! * address@hidden/anglemail--codehere--1.1--patch-14
! first try at no logins unless absolutely necessary
!
! * address@hidden/anglemail--codehere--1.1--patch-13
! folder stats now cached and assumed valid for X time, events keep it
current
!
! * address@hidden/anglemail--codehere--1.1--patch-12
! implement "extreme" cache management with option in not using it
!
! * address@hidden/anglemail--codehere--1.1--patch-11
! Skeleton code for recycling on msgball_list cache
!
! * address@hidden/anglemail--codehere--1.1--patch-10
! First code for "events" triggers used to alter cached data.
!
! * address@hidden/anglemail--codehere--1.1--patch-9
! added docs for caching
!
! * address@hidden/anglemail--codehere--1.1--patch-8
! fix non-contiguous Received filter b0rk, decode rfc headers can
handle multiline now
!
! * address@hidden/anglemail--codehere--1.1--patch-7
! expire single "phpgw_header" element for unseen message we are going
to view
!
! * address@hidden/anglemail--codehere--1.1--patch-6
! Added phpgw_header data to appsession cache
!
! * address@hidden/anglemail--codehere--1.1--patch-5
! sleep 1 sec in end_request, phpgw_fetchstructure data now cached in
appsession
!
!
! new files:
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-10
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-11
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-12
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-13
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-14
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-15
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-16
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-17
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-18
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-19
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-20
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-21
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-22
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-23
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-24
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-25
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-26
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-5
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-6
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-7
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-8
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-9
!
! modified files:
! ChangeLog.codehere--1.1 ChangeLog.core--1.1
! inc/class.boaction.inc.php inc/class.bofilters.inc.php
! inc/class.bofolder.inc.php inc/class.boindex.inc.php
! inc/class.bomessage.inc.php inc/class.bosend.inc.php
! inc/class.html_widgets.inc.php inc/class.mail_filters.inc.php
! inc/class.mail_msg_base.inc.php
! inc/class.mail_msg_display.inc.php
! inc/class.mail_msg_wrappers.inc.php
! inc/class.msg_bootstrap.inc.php
! inc/class.svc_nextmatches.inc.php
! inc/class.ui_mail_debug.inc.php inc/class.uifilters.inc.php
! inc/class.uifolder.inc.php inc/class.uiindex.inc.php
! inc/class.uimessage.inc.php templates/default/debug.tpl
! templates/default/index_main_b0_l1.tpl
! templates/default/index_main_b0_l2.tpl
!
! new patches:
! address@hidden/anglemail--codehere--1.1--patch-10
! address@hidden/anglemail--codehere--1.1--patch-11
! address@hidden/anglemail--codehere--1.1--patch-12
! address@hidden/anglemail--codehere--1.1--patch-13
! address@hidden/anglemail--codehere--1.1--patch-14
! address@hidden/anglemail--codehere--1.1--patch-15
! address@hidden/anglemail--codehere--1.1--patch-16
! address@hidden/anglemail--codehere--1.1--patch-17
! address@hidden/anglemail--codehere--1.1--patch-18
! address@hidden/anglemail--codehere--1.1--patch-19
! address@hidden/anglemail--codehere--1.1--patch-20
! address@hidden/anglemail--codehere--1.1--patch-21
! address@hidden/anglemail--codehere--1.1--patch-22
! address@hidden/anglemail--codehere--1.1--patch-23
! address@hidden/anglemail--codehere--1.1--patch-24
! address@hidden/anglemail--codehere--1.1--patch-25
! address@hidden/anglemail--codehere--1.1--patch-26
! address@hidden/anglemail--codehere--1.1--patch-5
! address@hidden/anglemail--codehere--1.1--patch-6
! address@hidden/anglemail--codehere--1.1--patch-7
! address@hidden/anglemail--codehere--1.1--patch-8
! address@hidden/anglemail--codehere--1.1--patch-9
!
!
! 2002-06-13 GMT Angles Puglisi <address@hidden> patch-1
!
! Summary:
! replay merge anglemail-codehere into anglemail-core
! Revision:
! anglemail--core--1.1--patch-1
!
! Merge fixes and new stuff in codehere branch in to core.
! This includes fix for the "view as html" button, some
! basic detection of KLEZ iframe mails and "unfriendly" attachment
! filename extensions for winbloze users, add company to
! the addressbook (thanks dave hall), compose normalized
! to 80 char lines, images for "add to addressbook" are normal
! sized now.
!
! Also, this version uses "notls" instead of "novalidate-cert"
! for the RedHat php IMAP bug fix because normal IMAP on port
! 143 should not be encrypted, but port 143 traffic was
! STARTTLS encrypted unless "notls" is used. Note that
! SSL IMAP works as usual if encryption is desired.
!
! Since codehere was branched FROM core and the two branches had
! never been previously merged, core was ignorant of the codehere
! patchlogs, which effectively meant that merging by update or
! star-merge would produce an error about core not having a
! patchlog for codehere.
!
! So, this replay merge does 2 things, 1. it does the actual merge
! which is now the right the right time to merge anyway, and
! 2. it lets the two branches "co-mingle" so now they know
! about each other and core will certainly have change logs
! for codehere, at least up to codehere patch4.
!
! So hopefully the more exotic merging techniques will be
! available for these 2 branches in the future because of this.
!
! Note if this replay does the trick, then do a trivial
! replay of new branches back into its trunk just so that trunk
! has a change log for the new branch. We shall see...
!
! The following paragraph was generated by arch command log-for-merge.
!
! Patches applied:
!
! * address@hidden/anglemail--codehere--1.1--patch-4
! better detection of "bad" attachments, make compose box 78 chars wide
!
! * address@hidden/anglemail--codehere--1.1--patch-3
! Addressbook fix by address@hidden, more work on IMAP sockets class
!
! * address@hidden/anglemail--codehere--1.1--patch-2
! fix view as html as reference, give basic warnings for nefarious
parts
!
! * address@hidden/anglemail--codehere--1.1--patch-1
! first commit to codehere, add docs and alias decode headers to a
better function
!
! * address@hidden/anglemail--codehere--1.1--base-0
! first tree FROM anglemail core 1.1 FOR coding new stuff, merge back
when ready
!
!
! new files:
! ChangeLog.codehere--1.1 ChangeLog.core--1.1
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/base-0
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-1
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-2
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-3
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-4
!
! modified files:
! addressbook.php inc/class.bomessage.inc.php
! inc/class.html_widgets.inc.php inc/class.mail_dcom.inc.php
! inc/class.mail_dcom_base_sock.inc.php
! inc/class.mail_dcom_imap_sock.inc.php
! inc/class.mail_msg_base.inc.php
! inc/class.ui_mail_debug.inc.php
! templates/default/addressbook.tpl
! templates/default/compose.tpl templates/default/debug.tpl
! templates/default/index_main_b0_l2.OLD.tpl
!
! new directories:
! {arch}/anglemail/anglemail--codehere
! {arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log
!
! new patches:
! address@hidden/anglemail--codehere--1.1--base-0
! address@hidden/anglemail--codehere--1.1--patch-1
! address@hidden/anglemail--codehere--1.1--patch-2
! address@hidden/anglemail--codehere--1.1--patch-3
! address@hidden/anglemail--codehere--1.1--patch-4
!
!
! 2002-06-05 GMT Angles Puglisi <address@hidden> base-0
!
! Summary:
! first tree for anglemail version 1.1, this is the core, base branch for
1.1
! Revision:
! anglemail--core--1.1--base-0
!
! branched from address@hidden/anglemail--beta1final--1.0--base-0
!
! Sourced from anglemail beta1final, this is a continuation branch from
that and
! this the FIRST branch that is anglemail version 1.1, and this is the
CORE, BASE
! branch for anglemail 1.1, all other development for anglemail 1.1 will
branch
! from this tree and merge back into this tree when ready, should be
continuation
! from this branch, should be able to use star merge to get changes into
this
! core mail "trunk" branch.
!
! Used this coommand sequence:
! CMD: cd src/anglemail/anglemail-beta1final
! CMD: larch prepare-branch anglemail--beta1final--1.0 anglemail--core--1.1
src/anglemail/anglemail-core
! CMD: cd src/anglemail/anglemail-core
! CMD: edit this log file you are reading now
!
! new directories:
! {arch}/anglemail/anglemail--core
! {arch}/anglemail/anglemail--core/anglemail--core--1.1
! {arch}/anglemail/anglemail--core/anglemail--core--1.1/address@hidden
!
{arch}/anglemail/anglemail--core/anglemail--core--1.1/address@hidden/patch-log
!
!
--- 1,413 ----
! # do not edit -- automatically generated by arch changelog
! # tag: address@hidden/anglemail--core--1.1
! #
!
! 2002-09-21 GMT Angles Puglisi <address@hidden> patch-3
!
! Summary:
! update merge anglemail-codehere (at patch-42) into anglemail-core
! Revision:
! anglemail--core--1.1--patch-3
!
! Update merge anglemail-codehere (at patch-42) into anglemail-core.
!
! Anglemail-codehere at patch-42 is just after the new addressbook by lex
! was merged into the codehere tree, and after some significant bug fixes
! including now working with register globals on of off.
!
! So this was a good time to merge this code back into the core branch.
!
! This after release of tarball anglemail-1.1-pre04-07.tar.bz2
!
! The following paragraph was generated by arch command log-for-merge.
!
! Patches applied:
!
! * address@hidden/anglemail--codehere--1.1--patch-42
! merge in addressbook code by lex, original one is optional, manual
merge.
!
! * address@hidden/anglemail--codehere--1.1--patch-41
! fix object call redirects, attach_file is now
class.boattach_files.attach
!
! * address@hidden/anglemail--codehere--1.1--patch-40
! fix the fix to the FILES data in attach_file.php
!
! * address@hidden/anglemail--codehere--1.1--patch-39
! fix FILES upload vars and 0k file size, and properly redirect and
kill script after sending mail
!
! * address@hidden/anglemail--codehere--1.1--patch-38
! base64 encode 57 bytes at a time, and clear lines after sending
!
! * address@hidden/anglemail--codehere--1.1--patch-37
! fix for php v4.2 and greater Superglobals issue
!
! * address@hidden/anglemail--codehere--1.1--patch-36
! merge in lex changes for non-aadybook files
!
! * address@hidden/anglemail--codehere--1.1--patch-35
! prep_folder_in checks for UWash foldername of "bare slash"
!
! * address@hidden/anglemail--codehere--1.1--patch-34
! better RH login "recovering" message, and always try that recovery
!
! * address@hidden/anglemail--codehere--1.1--patch-33
! update email lang files from Savannah CVS sources
!
! * address@hidden/anglemail--codehere--1.1--patch-32
! fix decode rfc2047 encoded attachment name MIME headers with download
!
! * address@hidden/anglemail--codehere--1.1--patch-31
! feature additions from Alex Borges
!
! * address@hidden/anglemail--codehere--1.1--patch-30
! patch to hook_notifywindow, thanks Dave Hall
!
! * address@hidden/anglemail--codehere--1.1--patch-29
! added debugging output to utf7 en/decode, verified working as per RFC
!
! * address@hidden/anglemail--codehere--1.1--patch-28
! patch to attach_file to show file size, thanks Dave Hall
!
! * address@hidden/anglemail--codehere--1.1--patch-27
! validate UWash namespace does not contain "bad" stuff
!
!
! new files:
! addressbook-chnagelog.txt addressbook-js.php
! inc/selectboxes.js templates/default/addressbook-js-bits.tpl
! templates/default/addressbook-js.tpl
! templates/default/addressbook-real-plain.tpl-UNUSED
! templates/default/addressbook.tpl-BAD
! templates/default/addressbook.tpl-ORIG
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-27
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-28
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-29
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-30
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-31
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-32
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-33
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-34
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-35
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-36
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-37
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-38
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-39
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-40
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-41
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-42
!
! modified files:
! ChangeLog.codehere--1.1 ChangeLog.core--1.1 attach_file.php
! inc/class.boaction.inc.php inc/class.boattach_file.inc.php
! inc/class.bocompose.inc.php inc/class.bofilters.inc.php
! inc/class.bopreferences.inc.php inc/class.bosend.inc.php
! inc/class.mail_dcom_base.inc.php
! inc/class.mail_dcom_base_sock.inc.php
! inc/class.mail_dcom_pop3_sock.inc.php
! inc/class.mail_msg_base.inc.php
! inc/class.mail_msg_wrappers.inc.php
! inc/class.mail_send.inc.php inc/class.spell.inc.php
! inc/class.svc_nextmatches.inc.php
! inc/class.ui_mail_debug.inc.php inc/class.uicompose.inc.php
! inc/class.uimessage.inc.php inc/class.uipreferences.inc.php
! inc/hook_notifywindow.inc.php index.php setup/phpgw_da.lang
! setup/phpgw_fr.lang setup/phpgw_pt.lang
! templates/default/addressbook.tpl
! templates/default/attach_file.tpl
! templates/default/attach_file_blocks.tpl
! templates/default/compose.tpl
!
! new patches:
! address@hidden/anglemail--codehere--1.1--patch-27
! address@hidden/anglemail--codehere--1.1--patch-28
! address@hidden/anglemail--codehere--1.1--patch-29
! address@hidden/anglemail--codehere--1.1--patch-30
! address@hidden/anglemail--codehere--1.1--patch-31
! address@hidden/anglemail--codehere--1.1--patch-32
! address@hidden/anglemail--codehere--1.1--patch-33
! address@hidden/anglemail--codehere--1.1--patch-34
! address@hidden/anglemail--codehere--1.1--patch-35
! address@hidden/anglemail--codehere--1.1--patch-36
! address@hidden/anglemail--codehere--1.1--patch-37
! address@hidden/anglemail--codehere--1.1--patch-38
! address@hidden/anglemail--codehere--1.1--patch-39
! address@hidden/anglemail--codehere--1.1--patch-40
! address@hidden/anglemail--codehere--1.1--patch-41
! address@hidden/anglemail--codehere--1.1--patch-42
!
!
! 2002-08-04 GMT Angles Puglisi <address@hidden> patch-2
!
! Summary:
! update merge anglemail--codehere--1.1--patch-26 into
anglemail--core--1.1
! Revision:
! anglemail--core--1.1--patch-2
!
! Update merge anglemail--codehere--1.1--patch-26 into
anglemail--core--1.1,
! where anglemail--codehere--1.1--patch-26 has been released in tarball
form
! as file anglemail-1.1-pre3-15.tar.bz2 and, although needing some bug
fixes,
! had been used in production with general success.
!
! Time was good to merge since this code is now a "known" element, and
! even the bugs it has are "known" so this merges known elements into the
! core branch and allows continued development in the codehere branch.
!
! The following paragraph was generated by arch command log-for-merge.
!
! Patches applied:
!
! * address@hidden/anglemail--codehere--1.1--patch-26
! fix mail svc_nextmatches to work with the redirect replacement
!
! * address@hidden/anglemail--codehere--1.1--patch-25
! made generalized make new env functions in boaction for public use
!
! * address@hidden/anglemail--codehere--1.1--patch-24
! expande no-redirect, handle curley braces, increase big threshhold
to 95
!
! * address@hidden/anglemail--codehere--1.1--patch-23
! post-multi-delete redirect replaced with a direct object call
!
! * address@hidden/anglemail--codehere--1.1--patch-22
! add docs, fix comment in index tpl file
!
! * address@hidden/anglemail--codehere--1.1--patch-21
! added docs for move, delete, and expunge functions. DOCS ONLY.
!
! * address@hidden/anglemail--codehere--1.1--patch-20
! fix append to sent items folder
!
! * address@hidden/anglemail--codehere--1.1--patch-19
! migrate to "industrial_interacct_mail_move", track what needs
expunging, only expunge when done
!
! * address@hidden/anglemail--codehere--1.1--patch-18
! bugfixs for extreme caching being on or off
!
! * address@hidden/anglemail--codehere--1.1--patch-17
! wrap all new "extreme" caching in conditionals so it can be turned
off
!
! * address@hidden/anglemail--codehere--1.1--patch-16
! add function to clear all "extreme" cache items, and not be
"extreme" for big moves
!
! * address@hidden/anglemail--codehere--1.1--patch-15
! fix moves, deleted, and expunging in extreme caching mode
!
! * address@hidden/anglemail--codehere--1.1--patch-14
! first try at no logins unless absolutely necessary
!
! * address@hidden/anglemail--codehere--1.1--patch-13
! folder stats now cached and assumed valid for X time, events keep it
current
!
! * address@hidden/anglemail--codehere--1.1--patch-12
! implement "extreme" cache management with option in not using it
!
! * address@hidden/anglemail--codehere--1.1--patch-11
! Skeleton code for recycling on msgball_list cache
!
! * address@hidden/anglemail--codehere--1.1--patch-10
! First code for "events" triggers used to alter cached data.
!
! * address@hidden/anglemail--codehere--1.1--patch-9
! added docs for caching
!
! * address@hidden/anglemail--codehere--1.1--patch-8
! fix non-contiguous Received filter b0rk, decode rfc headers can
handle multiline now
!
! * address@hidden/anglemail--codehere--1.1--patch-7
! expire single "phpgw_header" element for unseen message we are going
to view
!
! * address@hidden/anglemail--codehere--1.1--patch-6
! Added phpgw_header data to appsession cache
!
! * address@hidden/anglemail--codehere--1.1--patch-5
! sleep 1 sec in end_request, phpgw_fetchstructure data now cached in
appsession
!
!
! new files:
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-10
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-11
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-12
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-13
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-14
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-15
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-16
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-17
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-18
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-19
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-20
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-21
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-22
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-23
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-24
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-25
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-26
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-5
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-6
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-7
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-8
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-9
!
! modified files:
! ChangeLog.codehere--1.1 ChangeLog.core--1.1
! inc/class.boaction.inc.php inc/class.bofilters.inc.php
! inc/class.bofolder.inc.php inc/class.boindex.inc.php
! inc/class.bomessage.inc.php inc/class.bosend.inc.php
! inc/class.html_widgets.inc.php inc/class.mail_filters.inc.php
! inc/class.mail_msg_base.inc.php
! inc/class.mail_msg_display.inc.php
! inc/class.mail_msg_wrappers.inc.php
! inc/class.msg_bootstrap.inc.php
! inc/class.svc_nextmatches.inc.php
! inc/class.ui_mail_debug.inc.php inc/class.uifilters.inc.php
! inc/class.uifolder.inc.php inc/class.uiindex.inc.php
! inc/class.uimessage.inc.php templates/default/debug.tpl
! templates/default/index_main_b0_l1.tpl
! templates/default/index_main_b0_l2.tpl
!
! new patches:
! address@hidden/anglemail--codehere--1.1--patch-10
! address@hidden/anglemail--codehere--1.1--patch-11
! address@hidden/anglemail--codehere--1.1--patch-12
! address@hidden/anglemail--codehere--1.1--patch-13
! address@hidden/anglemail--codehere--1.1--patch-14
! address@hidden/anglemail--codehere--1.1--patch-15
! address@hidden/anglemail--codehere--1.1--patch-16
! address@hidden/anglemail--codehere--1.1--patch-17
! address@hidden/anglemail--codehere--1.1--patch-18
! address@hidden/anglemail--codehere--1.1--patch-19
! address@hidden/anglemail--codehere--1.1--patch-20
! address@hidden/anglemail--codehere--1.1--patch-21
! address@hidden/anglemail--codehere--1.1--patch-22
! address@hidden/anglemail--codehere--1.1--patch-23
! address@hidden/anglemail--codehere--1.1--patch-24
! address@hidden/anglemail--codehere--1.1--patch-25
! address@hidden/anglemail--codehere--1.1--patch-26
! address@hidden/anglemail--codehere--1.1--patch-5
! address@hidden/anglemail--codehere--1.1--patch-6
! address@hidden/anglemail--codehere--1.1--patch-7
! address@hidden/anglemail--codehere--1.1--patch-8
! address@hidden/anglemail--codehere--1.1--patch-9
!
!
! 2002-06-13 GMT Angles Puglisi <address@hidden> patch-1
!
! Summary:
! replay merge anglemail-codehere into anglemail-core
! Revision:
! anglemail--core--1.1--patch-1
!
! Merge fixes and new stuff in codehere branch in to core.
! This includes fix for the "view as html" button, some
! basic detection of KLEZ iframe mails and "unfriendly" attachment
! filename extensions for winbloze users, add company to
! the addressbook (thanks dave hall), compose normalized
! to 80 char lines, images for "add to addressbook" are normal
! sized now.
!
! Also, this version uses "notls" instead of "novalidate-cert"
! for the RedHat php IMAP bug fix because normal IMAP on port
! 143 should not be encrypted, but port 143 traffic was
! STARTTLS encrypted unless "notls" is used. Note that
! SSL IMAP works as usual if encryption is desired.
!
! Since codehere was branched FROM core and the two branches had
! never been previously merged, core was ignorant of the codehere
! patchlogs, which effectively meant that merging by update or
! star-merge would produce an error about core not having a
! patchlog for codehere.
!
! So, this replay merge does 2 things, 1. it does the actual merge
! which is now the right the right time to merge anyway, and
! 2. it lets the two branches "co-mingle" so now they know
! about each other and core will certainly have change logs
! for codehere, at least up to codehere patch4.
!
! So hopefully the more exotic merging techniques will be
! available for these 2 branches in the future because of this.
!
! Note if this replay does the trick, then do a trivial
! replay of new branches back into its trunk just so that trunk
! has a change log for the new branch. We shall see...
!
! The following paragraph was generated by arch command log-for-merge.
!
! Patches applied:
!
! * address@hidden/anglemail--codehere--1.1--patch-4
! better detection of "bad" attachments, make compose box 78 chars wide
!
! * address@hidden/anglemail--codehere--1.1--patch-3
! Addressbook fix by address@hidden, more work on IMAP sockets class
!
! * address@hidden/anglemail--codehere--1.1--patch-2
! fix view as html as reference, give basic warnings for nefarious
parts
!
! * address@hidden/anglemail--codehere--1.1--patch-1
! first commit to codehere, add docs and alias decode headers to a
better function
!
! * address@hidden/anglemail--codehere--1.1--base-0
! first tree FROM anglemail core 1.1 FOR coding new stuff, merge back
when ready
!
!
! new files:
! ChangeLog.codehere--1.1 ChangeLog.core--1.1
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/base-0
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-1
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-2
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-3
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log/patch-4
!
! modified files:
! addressbook.php inc/class.bomessage.inc.php
! inc/class.html_widgets.inc.php inc/class.mail_dcom.inc.php
! inc/class.mail_dcom_base_sock.inc.php
! inc/class.mail_dcom_imap_sock.inc.php
! inc/class.mail_msg_base.inc.php
! inc/class.ui_mail_debug.inc.php
! templates/default/addressbook.tpl
! templates/default/compose.tpl templates/default/debug.tpl
! templates/default/index_main_b0_l2.OLD.tpl
!
! new directories:
! {arch}/anglemail/anglemail--codehere
! {arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden
!
{arch}/anglemail/anglemail--codehere/anglemail--codehere--1.1/address@hidden/patch-log
!
! new patches:
! address@hidden/anglemail--codehere--1.1--base-0
! address@hidden/anglemail--codehere--1.1--patch-1
! address@hidden/anglemail--codehere--1.1--patch-2
! address@hidden/anglemail--codehere--1.1--patch-3
! address@hidden/anglemail--codehere--1.1--patch-4
!
!
! 2002-06-05 GMT Angles Puglisi <address@hidden> base-0
!
! Summary:
! first tree for anglemail version 1.1, this is the core, base branch for
1.1
! Revision:
! anglemail--core--1.1--base-0
!
! branched from address@hidden/anglemail--beta1final--1.0--base-0
!
! Sourced from anglemail beta1final, this is a continuation branch from
that and
! this the FIRST branch that is anglemail version 1.1, and this is the
CORE, BASE
! branch for anglemail 1.1, all other development for anglemail 1.1 will
branch
! from this tree and merge back into this tree when ready, should be
continuation
! from this branch, should be able to use star merge to get changes into
this
! core mail "trunk" branch.
!
! Used this coommand sequence:
! CMD: cd src/anglemail/anglemail-beta1final
! CMD: larch prepare-branch anglemail--beta1final--1.0 anglemail--core--1.1
src/anglemail/anglemail-core
! CMD: cd src/anglemail/anglemail-core
! CMD: edit this log file you are reading now
!
! new directories:
! {arch}/anglemail/anglemail--core
! {arch}/anglemail/anglemail--core/anglemail--core--1.1
! {arch}/anglemail/anglemail--core/anglemail--core--1.1/address@hidden
!
{arch}/anglemail/anglemail--core/anglemail--core--1.1/address@hidden/patch-log
!
!
Index: ChangeLog.lex--1.1
===================================================================
RCS file: /cvsroot/phpgroupware/email/ChangeLog.lex--1.1,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** ChangeLog.lex--1.1 25 Oct 2002 12:59:11 -0000 1.1
--- ChangeLog.lex--1.1 14 Mar 2003 03:59:49 -0000 1.2
***************
*** 1,1240 ****
! # do not edit -- automatically generated by arch changelog
! # tag: address@hidden/anglemail--lex--1.1
! #
!
! 2002-10-17 GMT Angles Puglisi <address@hidden> patch-22
!
! Summary:
! commit to lex "anglemail-1.1-pre5-03-lex4" from 021014
! Revision:
! anglemail--lex--1.1--patch-22
[...2451 lines suppressed...]
! branched from address@hidden/anglemail--codehere--1.1--patch-35
!
! That was the source branch and latest revision for this new branch. This
is
! a "continuation" branch. Purpose is an anglemail branch for lex's code,
so
! a tarball can be dumped here and committed as new revision for
anglemail-lex.
!
! Then merging is possible between the branches (hopefully). This is to
simplify
! maintenance of tracking various trees of anglemail and merging them.
!
!
! modified files:
! ChangeLog.codehere--1.1
!
! new directories:
! {arch}/anglemail/anglemail--lex
! {arch}/anglemail/anglemail--lex/anglemail--lex--1.1
! {arch}/anglemail/anglemail--lex/anglemail--lex--1.1/address@hidden
!
{arch}/anglemail/anglemail--lex/anglemail--lex--1.1/address@hidden/patch-log
!
!
Index: ChangeLog.ryan--1.1
===================================================================
RCS file: /cvsroot/phpgroupware/email/ChangeLog.ryan--1.1,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** ChangeLog.ryan--1.1 25 Oct 2002 12:59:11 -0000 1.1
--- ChangeLog.ryan--1.1 14 Mar 2003 03:59:52 -0000 1.2
***************
*** 1,915 ****
! # do not edit -- automatically generated by arch changelog
! # tag: address@hidden/anglemail--ryan--1.1
! #
!
! 2002-10-18 GMT Angles Puglisi <address@hidden> patch-12
!
! Summary:
! merge into ryan "anglemail-1.1-pre5-03-rcb1-lex5-unified" on 021017
! Revision:
! anglemail--ryan--1.1--patch-12
[...2323 lines suppressed...]
! address@hidden/anglemail--codehere--1.1--patch-44
! address@hidden/anglemail--codehere--1.1--patch-45
! address@hidden/anglemail--codehere--1.1--patch-46
! address@hidden/anglemail--codehere--1.1--patch-47
! address@hidden/anglemail--codehere--1.1--patch-48
! address@hidden/anglemail--codehere--1.1--patch-49
! address@hidden/anglemail--codehere--1.1--patch-50
! address@hidden/anglemail--codehere--1.1--patch-51
! address@hidden/anglemail--core--1.1--base-0
! address@hidden/anglemail--core--1.1--patch-1
! address@hidden/anglemail--core--1.1--patch-2
! address@hidden/anglemail--core--1.1--patch-3
! address@hidden/anglemail--lex--1.1--patch-6
! address@hidden/anglemail--lex--1.1--patch-7
! address@hidden/anglemail--lex--1.1--patch-8
! address@hidden/anglemail--lex--1.1--patch-9
! address@hidden/anglemail--lex--1.1--patch-10
! address@hidden/anglemail--lex--1.1--patch-11
!
!
Index: addressbook-js.changelog.txt
===================================================================
RCS file: /cvsroot/phpgroupware/email/addressbook-js.changelog.txt,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** addressbook-js.changelog.txt 25 Oct 2002 12:59:11 -0000 1.1
--- addressbook-js.changelog.txt 14 Mar 2003 03:59:53 -0000 1.2
***************
*** 1,75 ****
! Hi....:)... good that one of you three are checkling this...
!
! Difference from the preceding tarball:
! -This text file
! -Comments in addressbook.php
! -The addressbook remembers whatever is in the destination boxes (to,cc and
bcc) and this data
! survives a submit. This is needed since, when you click on a name in the
source (where the names resulting from a query appear)
! , we do a form.submit so we can go and fetch the extra user data from the
database -if, and only if, a) U selected ONE name and
! b) the More Data checkbox is on
!
!
! TODO:
! - Keep cleaning up and documenting
! - When you click on a name in the destination boxs, say, to select it for
removal, this thing does a submit and, so, if u have a single
! entry in this places, you effectively cannot remove them (its now a
documented feature...:P)
! - What should happen is, you click on one of the names in the destination
boxes, it does the submit but IT SEARCHES for the extra data
! AND REMEMBERS your selection in this boxes....it shouldnt be that hard but
its very very late (4:30) so im leaving
!
! Please dont hate it, help me improve it.... i think this email clients can be
cool and easy to use, lets give this kind of
! thing a chance to attract new users and developers into the whole project.
!
! Sunday 22 of september
!
! New Stuff:
! - Change the name of this file from addressbook-chnglog.txt to
addressbook-js.changelog.txt
! - Changes in selectboxes.js to support a couple of functions we needed for
the rest of the changes
! - You now can select a single user from a destination box and his data will
be shown in the more data textarea box
! - Formatting changes in the addressbook-js.tpl to make this thing
smaller...this was supposed to run in 800x600, now i have no idea how
! to cram all that inside that
! - The addressbook now remembers everything you clicked regardless of where u
did it with the exeptions mentioned in the next section
!
! TODO:
! - Keep cleaning and documenting
! - It would be nice if the destination boxes content didnt die when u hit a
category, sometimes u want to send mail to different categories
! - Sleep, but this is no time to do that.... im going to take a crack at a
"forward as inline" functionality as a user preference
!
!
!
! Monday 23 of september
! - Lots of caching gets performed so that we dont go and fetch the whole thing
everytime we click on a name.
! - Bug that made the boxes forget what was in them if u clicked on the
more-data button
! - Created preferences for your screensize which controls both the size of the
window that gets poped up and the fonts of
! the html widgets withing them.
! - Your addressbook choice is now a preference
!
! TODO:
! - Keep cleaning and documenting
! - It would be nice if the destination boxes content didnt die when u hit a
category, sometimes u want to send mail to different categories
! - Search button still not working...pretty stupid
! - U guys go and test it.... id the behaviour is good, i will move to make it
a class.... please check it out... i think its production qualuty...im putting
it online about wensday
!
! Wendsday October 9 2002
! - This changelog entry makes up for the last releases of no documenting the
changes
! - This thing went into a major overhaul, the js addressbook now is
implemented in two classes
! class.uijsaddressbook and class.bojsaddressbook.
! - The templates also changed as we moved to an event driven model of two
frames, one hidden, one shown
! The shown frame is basicaly what we were using as an index file
(addressbook-js.php). The second frame
! is dynamicaly set byu the event system when it needs to go fetch data from
the server.
! - The particular stuff each of this classes provides will be put into angles
documentation style
! once my life is a bit stabler
! - Major changes include the hability to select the fields you want shown for
user data, extreme use
! of caching to improve performance... etc
!
! BUGFIXES:
! - This addressbook now remembers everything with each page submit, actually,
it will remember your
! last selections and queries for the rest of your phpgw session.
! - This thing now uses the event system for most everything that doesnt
involve a query to the database (and ill move that as well)
! this means it cannot forget your selections on any of the relevant boxes
unless you requery the database, in which case the present
! selection of the nameselect box is unimportant and the destboxes are
refeched from cache.... this baby rocks....
!
! TODO:
! - I have tons of documentation to do, i know.... its good that tony doesnt
live here cause he would probably shoot me
! since he is so good at it himself... I promise it wont take long.
!
!
--- 1,75 ----
! Hi....:)... good that one of you three are checkling this...
!
! Difference from the preceding tarball:
! -This text file
! -Comments in addressbook.php
! -The addressbook remembers whatever is in the destination boxes (to,cc and
bcc) and this data
! survives a submit. This is needed since, when you click on a name in the
source (where the names resulting from a query appear)
! , we do a form.submit so we can go and fetch the extra user data from the
database -if, and only if, a) U selected ONE name and
! b) the More Data checkbox is on
!
!
! TODO:
! - Keep cleaning up and documenting
! - When you click on a name in the destination boxs, say, to select it for
removal, this thing does a submit and, so, if u have a single
! entry in this places, you effectively cannot remove them (its now a
documented feature...:P)
! - What should happen is, you click on one of the names in the destination
boxes, it does the submit but IT SEARCHES for the extra data
! AND REMEMBERS your selection in this boxes....it shouldnt be that hard but
its very very late (4:30) so im leaving
!
! Please dont hate it, help me improve it.... i think this email clients can be
cool and easy to use, lets give this kind of
! thing a chance to attract new users and developers into the whole project.
!
! Sunday 22 of september
!
! New Stuff:
! - Change the name of this file from addressbook-chnglog.txt to
addressbook-js.changelog.txt
! - Changes in selectboxes.js to support a couple of functions we needed for
the rest of the changes
! - You now can select a single user from a destination box and his data will
be shown in the more data textarea box
! - Formatting changes in the addressbook-js.tpl to make this thing
smaller...this was supposed to run in 800x600, now i have no idea how
! to cram all that inside that
! - The addressbook now remembers everything you clicked regardless of where u
did it with the exeptions mentioned in the next section
!
! TODO:
! - Keep cleaning and documenting
! - It would be nice if the destination boxes content didnt die when u hit a
category, sometimes u want to send mail to different categories
! - Sleep, but this is no time to do that.... im going to take a crack at a
"forward as inline" functionality as a user preference
!
!
!
! Monday 23 of september
! - Lots of caching gets performed so that we dont go and fetch the whole thing
everytime we click on a name.
! - Bug that made the boxes forget what was in them if u clicked on the
more-data button
! - Created preferences for your screensize which controls both the size of the
window that gets poped up and the fonts of
! the html widgets withing them.
! - Your addressbook choice is now a preference
!
! TODO:
! - Keep cleaning and documenting
! - It would be nice if the destination boxes content didnt die when u hit a
category, sometimes u want to send mail to different categories
! - Search button still not working...pretty stupid
! - U guys go and test it.... id the behaviour is good, i will move to make it
a class.... please check it out... i think its production qualuty...im putting
it online about wensday
!
! Wendsday October 9 2002
! - This changelog entry makes up for the last releases of no documenting the
changes
! - This thing went into a major overhaul, the js addressbook now is
implemented in two classes
! class.uijsaddressbook and class.bojsaddressbook.
! - The templates also changed as we moved to an event driven model of two
frames, one hidden, one shown
! The shown frame is basicaly what we were using as an index file
(addressbook-js.php). The second frame
! is dynamicaly set byu the event system when it needs to go fetch data from
the server.
! - The particular stuff each of this classes provides will be put into angles
documentation style
! once my life is a bit stabler
! - Major changes include the hability to select the fields you want shown for
user data, extreme use
! of caching to improve performance... etc
!
! BUGFIXES:
! - This addressbook now remembers everything with each page submit, actually,
it will remember your
! last selections and queries for the rest of your phpgw session.
! - This thing now uses the event system for most everything that doesnt
involve a query to the database (and ill move that as well)
! this means it cannot forget your selections on any of the relevant boxes
unless you requery the database, in which case the present
! selection of the nameselect box is unimportant and the destboxes are
refeched from cache.... this baby rocks....
!
! TODO:
! - I have tons of documentation to do, i know.... its good that tony doesnt
live here cause he would probably shoot me
! since he is so good at it himself... I promise it wont take long.
!
!
Index: addressbook-js.php
===================================================================
RCS file: /cvsroot/phpgroupware/email/addressbook-js.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** addressbook-js.php 25 Oct 2002 12:59:11 -0000 1.1
--- addressbook-js.php 14 Mar 2003 03:59:53 -0000 1.2
***************
*** 1,528 ****
! <?php
!
/**************************************************************************\
! * phpGroupWare - email/addressbook
*
! * http://www.phpgroupware.org
*
! * Written by Bettina Gille address@hidden *
! * -----------------------------------------------
*
! * This program is free software; you can redistribute it and/or modify
it *
! * under the terms of the GNU General Public License as published by
the *
! * Free Software Foundation; either version 2 of the License, or (at
your *
! * option) any later version.
*
[...1027 lines suppressed...]
!
$GLOBALS['phpgw']->template->set_var('record_row_num',count($fields));
! $GLOBALS['phpgw']->template->set_var('space_to_fit',str_pad("",
5, " ", STR_PAD_LEFT));
! $GLOBALS['phpgw']->template->set_var('lang_name',lang("Name"));
! $GLOBALS['phpgw']->template->set_var('name',$completename);
!
$GLOBALS['phpgw']->template->set_var('lang_title',lang("Title"));
!
$GLOBALS['phpgw']->template->set_var('title',$entry[0]['title']);
!
$GLOBALS['phpgw']->template->set_var('lang_phone',lang("Phone"));
!
$GLOBALS['phpgw']->template->set_var('phone',$entry[0]['tel_work']);
!
$GLOBALS['phpgw']->template->set_var('lang_organization',lang("Organization"));
!
$GLOBALS['phpgw']->template->set_var('organization',$entry[0]['org_name']);
! $GLOBALS['phpgw']->template->set_var('',$largest);
!
!
$GLOBALS['phpgw']->template->parse('V_addressbook_record','B_addressbook_record',True);
! }
! $GLOBALS['phpgw']->template->set_var('lang_done',lang('Done'));
! $GLOBALS['phpgw']->template->parse('out','addressbook_names_t',True);
! $GLOBALS['phpgw']->template->p('out');
!
! $GLOBALS['phpgw']->common->phpgw_exit();
! ?>
Index: addressbook.php
===================================================================
RCS file: /cvsroot/phpgroupware/email/addressbook.php,v
retrieving revision 1.37
retrieving revision 1.38
diff -C2 -r1.37 -r1.38
*** addressbook.php 25 Oct 2002 12:45:52 -0000 1.37
--- addressbook.php 14 Mar 2003 03:59:55 -0000 1.38
***************
*** 1,229 ****
! <?php
!
/**************************************************************************\
! * phpGroupWare - email/addressbook
*
! * http://www.phpgroupware.org
*
! * Written by Bettina Gille address@hidden *
! * -----------------------------------------------
*
! * This program is free software; you can redistribute it and/or modify
it *
! * under the terms of the GNU General Public License as published by
the *
! * Free Software Foundation; either version 2 of the License, or (at
your *
! * option) any later version.
*
!
\**************************************************************************/
!
! /* $Id$ */
!
! $GLOBALS['phpgw_info']['flags'] = array(
! 'noheader' => True,
! 'nonavbar' => True,
! 'currentapp' => 'email',
! 'enable_nextmatchs_class' => True
! );
!
! include('../header.inc.php');
!
! $GLOBALS['phpgw']->template->set_file(array(
! 'addressbook_list_t' => 'addressbook.tpl',
! 'addressbook_list' => 'addressbook.tpl'
! ));
!
$GLOBALS['phpgw']->template->set_block('addressbook_list_t','addressbook_list','list');
!
! $d = CreateObject('phpgwapi.contacts');
! $c = CreateObject('phpgwapi.categories');
! $c->app_name = 'addressbook';
!
! $include_personal = True;
!
! $charset = $GLOBALS['phpgw']->translation->translate('charset');
! $GLOBALS['phpgw']->template->set_var('charset',$charset);
!
$GLOBALS['phpgw']->template->set_var('title',$GLOBALS['phpgw_info']['site_title']);
!
$GLOBALS['phpgw']->template->set_var('bg_color',$GLOBALS['phpgw_info']['theme']['bg_color']);
!
$GLOBALS['phpgw']->template->set_var('lang_addressbook_action',lang('Address
book'));
!
$GLOBALS['phpgw']->template->set_var('font',$GLOBALS['phpgw_info']['theme']['font']);
!
! $GLOBALS['phpgw']->template->set_var('lang_search',lang('Search'));
!
$GLOBALS['phpgw']->template->set_var('search_action',$GLOBALS['phpgw']->link('/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/addressbook.php'));
! $GLOBALS['phpgw']->template->set_var('lang_select_cats',lang('Select
category'));
!
! if (! $start)
! {
! $start = 0;
! }
!
! if (!$filter)
! {
! $filter = 'none';
! }
!
! if (!$cat_id)
! {
! if ($filter == 'none')
! {
! $qfilter = 'tid=n';
! }
! elseif ($filter == 'private')
! {
! $qfilter =
'tid=n,owner='.$GLOBALS['phpgw_info']['user']['account_id'];
! }
! else
! {
! $qfilter = 'tid=n,owner='.$filter;
! }
! }
! else
! {
! if ($filter == 'none')
! {
! $qfilter = 'tid=n,cat_id='.$cat_id;
! }
! elseif ($filter == 'private')
! {
! $qfilter =
'tid=n,owner='.$GLOBALS['phpgw_info']['user']['account_id'].',cat_id='.$cat_id;
! }
! else
! {
! $qfilter = 'tid=n,owner='.$filter.'cat_id='.$cat_id;
! }
! }
!
! if
(($GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs']) &&
! ($GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'] >
0))
! {
! $offset =
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'];
! }
! else
! {
! $offset = 15;
! }
!
! $account_id = $GLOBALS['phpgw_info']['user']['account_id'];
!
! $cols = array (
! 'n_given' => 'n_given',
! 'n_family' => 'n_family',
! 'org_name' => 'org_name',
! 'email' => 'email',
! 'email_home' => 'email_home'
! );
!
! $entries =
$d->read($start,$offset,$cols,$query,$qfilter,$sort,$order,$account_id);
!
! //------------------------------------------- nextmatch
--------------------------------------------
! $left =
$GLOBALS['phpgw']->nextmatchs->left('/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/addressbook.php',$start,$d->total_records,"&order=$order&filter=$filter&sort=$sort&query=$query");
! $right =
$GLOBALS['phpgw']->nextmatchs->right('/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/addressbook.php',$start,$d->total_records,"&order=$order&filter=$filter&sort=$sort&query=$query");
! $GLOBALS['phpgw']->template->set_var('left',$left);
! $GLOBALS['phpgw']->template->set_var('right',$right);
!
! if ($d->total_records >
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'])
! {
!
$GLOBALS['phpgw']->template->set_var('lang_showing',lang('showing x - x of
x',($start + 1),($start +
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs']),$d->total_records));
! }
! else
! {
!
$GLOBALS['phpgw']->template->set_var('lang_showing',lang('showing
x',$d->total_records));
! }
! // --------------------------------------- end nextmatch
------------------------------------------
!
! // ------------------- list header variable template-declaration
-----------------------
!
$GLOBALS['phpgw']->template->set_var('th_bg',$GLOBALS['phpgw_info']['theme']['th_bg']);
!
$GLOBALS['phpgw']->template->set_var('sort_firstname',$GLOBALS['phpgw']->nextmatchs->show_sort_order($sort,'n_given',$order,'/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/addressbook.php',lang('Firstname')));
!
$GLOBALS['phpgw']->template->set_var('sort_lastname',$GLOBALS['phpgw']->nextmatchs->show_sort_order($sort,'n_family',$order,'/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/addressbook.php',lang('Lastname')));
!
$GLOBALS['phpgw']->template->set_var('sort_company',$GLOBALS['phpgw']->nextmatchs->show_sort_order($sort,'org_name',$order,'/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/addressbook.php',lang('Company')));
! $GLOBALS['phpgw']->template->set_var('lang_email',lang('Select work
email address'));
! $GLOBALS['phpgw']->template->set_var('lang_hemail',lang('Select home
email address'));
!
$GLOBALS['phpgw']->template->set_var('cats_list',$c->formated_list('select','all',$cat_id,'True'));
! $GLOBALS['phpgw']->template->set_var('lang_select',lang('Select'));
!
!
//$GLOBALS['phpgw']->template->set_var('cats_action',$GLOBALS['phpgw']->link('/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/addressbook.php',"sort=$sort&order=$order&filter=$filter&start=$start&query=$query&cat_id=$cat_id"));
! // thanks to address@hidden for fixing drop down list filtering by
categories
!
$GLOBALS['phpgw']->template->set_var('cats_action',$GLOBALS['phpgw']->link('/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/addressbook.php',"sort=$sort&order=$order&filter=$filter&start=$start&query=$query"));
!
! // --------------------------- end header declaration
----------------------------------
! for ($i=0;$i<count($entries);$i++)
! {
! $tr_color =
$GLOBALS['phpgw']->nextmatchs->alternate_row_color($tr_color);
! $GLOBALS['phpgw']->template->set_var('tr_color',$tr_color);
! $firstname = $entries[$i]['n_given'];
! if (!$firstname)
! {
! $firstname = ' ';
! }
! $lastname = $entries[$i]['n_family'];
! if (!$lastname)
! {
! $lastname = ' ';
! }
! // thanks to address@hidden for adding company
! $company = $entries[$i]['org_name'];
! if (!$company)
! {
! $company = ' ';
! }
!
! $personal_firstname = '';
! $personal_lastname = '';
! $personal_part = '';
! if ((isset($firstname)) &&
! ($firstname != '') &&
! ($firstname != ' '))
! {
! $personal_firstname = $firstname.' ';
! }
! if ((isset($lastname)) &&
! ($lastname != '') &&
! ($lastname != ' '))
! {
! $personal_lastname = $lastname;
! }
! $personal_part = $personal_firstname.$personal_lastname;
!
! if (($personal_part == '') ||
! ($include_personal == False))
! {
! $id = $entries[$i]['id'];
! $email = $entries[$i]['email'];
! $hemail = $entries[$i]['email_home'];
! }
! else
! {
! $id = $entries[$i]['id'];
! if ((isset($entries[$i]['email'])) &&
! (trim($entries[$i]['email']) != ''))
! {
! $email = '"'.$personal_part.'"
<'.$entries[$i]['email'].'>';
! }
! else
! {
! $email = $entries[$i]['email'];
! }
! if ((isset($entries[$i]['email_home'])) &&
! (trim($entries[$i]['email_home']) != ''))
! {
! $hemail = '"'.$personal_part.'"
<'.$entries[$i]['email_home'].'>';
! }
! else
! {
! $hemail = $entries[$i]['email_home'];
! }
! }
!
! // --------------------- template declaration for list records
--------------------------
! $GLOBALS['phpgw']->template->set_var(array(
! 'firstname' => $firstname,
! 'lastname' => $lastname,
! 'company' => $company
! ));
!
! $GLOBALS['phpgw']->template->set_var('id',$id);
! $GLOBALS['phpgw']->template->set_var('email',$email);
! $GLOBALS['phpgw']->template->set_var('hemail',$hemail);
!
!
$GLOBALS['phpgw']->template->parse('list','addressbook_list',True);
! }
! // --------------------------- end record declaration
---------------------------
!
! $GLOBALS['phpgw']->template->set_var('lang_done',lang('Done'));
! $GLOBALS['phpgw']->template->parse('out','addressbook_list_t',True);
! $GLOBALS['phpgw']->template->p('out');
!
! $GLOBALS['phpgw']->common->phpgw_exit();
! ?>
--- 1,229 ----
! <?php
!
/**************************************************************************\
! * phpGroupWare - email/addressbook
*
! * http://www.phpgroupware.org
*
! * Written by Bettina Gille address@hidden *
! * -----------------------------------------------
*
! * This program is free software; you can redistribute it and/or modify
it *
! * under the terms of the GNU General Public License as published by
the *
! * Free Software Foundation; either version 2 of the License, or (at
your *
! * option) any later version.
*
!
\**************************************************************************/
!
! /* $Id$ */
!
! $GLOBALS['phpgw_info']['flags'] = array(
! 'noheader' => True,
! 'nonavbar' => True,
! 'currentapp' => 'email',
! 'enable_nextmatchs_class' => True
! );
!
! include('../header.inc.php');
!
! $GLOBALS['phpgw']->template->set_file(array(
! 'addressbook_list_t' => 'addressbook.tpl',
! 'addressbook_list' => 'addressbook.tpl'
! ));
!
$GLOBALS['phpgw']->template->set_block('addressbook_list_t','addressbook_list','list');
!
! $d = CreateObject('phpgwapi.contacts');
! $c = CreateObject('phpgwapi.categories');
! $c->app_name = 'addressbook';
!
! $include_personal = True;
!
! $charset = $GLOBALS['phpgw']->translation->translate('charset');
! $GLOBALS['phpgw']->template->set_var('charset',$charset);
!
$GLOBALS['phpgw']->template->set_var('title',$GLOBALS['phpgw_info']['site_title']);
!
$GLOBALS['phpgw']->template->set_var('bg_color',$GLOBALS['phpgw_info']['theme']['bg_color']);
!
$GLOBALS['phpgw']->template->set_var('lang_addressbook_action',lang('Address
book'));
!
$GLOBALS['phpgw']->template->set_var('font',$GLOBALS['phpgw_info']['theme']['font']);
!
! $GLOBALS['phpgw']->template->set_var('lang_search',lang('Search'));
!
$GLOBALS['phpgw']->template->set_var('search_action',$GLOBALS['phpgw']->link('/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/addressbook.php'));
! $GLOBALS['phpgw']->template->set_var('lang_select_cats',lang('Select
category'));
!
! if (! $start)
! {
! $start = 0;
! }
!
! if (!$filter)
! {
! $filter = 'none';
! }
!
! if (!$cat_id)
! {
! if ($filter == 'none')
! {
! $qfilter = 'tid=n';
! }
! elseif ($filter == 'private')
! {
! $qfilter =
'tid=n,owner='.$GLOBALS['phpgw_info']['user']['account_id'];
! }
! else
! {
! $qfilter = 'tid=n,owner='.$filter;
! }
! }
! else
! {
! if ($filter == 'none')
! {
! $qfilter = 'tid=n,cat_id='.$cat_id;
! }
! elseif ($filter == 'private')
! {
! $qfilter =
'tid=n,owner='.$GLOBALS['phpgw_info']['user']['account_id'].',cat_id='.$cat_id;
! }
! else
! {
! $qfilter = 'tid=n,owner='.$filter.'cat_id='.$cat_id;
! }
! }
!
! if
(($GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs']) &&
! ($GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'] >
0))
! {
! $offset =
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'];
! }
! else
! {
! $offset = 15;
! }
!
! $account_id = $GLOBALS['phpgw_info']['user']['account_id'];
!
! $cols = array (
! 'n_given' => 'n_given',
! 'n_family' => 'n_family',
! 'org_name' => 'org_name',
! 'email' => 'email',
! 'email_home' => 'email_home'
! );
!
! $entries =
$d->read($start,$offset,$cols,$query,$qfilter,$sort,$order,$account_id);
!
! //------------------------------------------- nextmatch
--------------------------------------------
! $left =
$GLOBALS['phpgw']->nextmatchs->left('/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/addressbook.php',$start,$d->total_records,"&order=$order&filter=$filter&sort=$sort&query=$query");
! $right =
$GLOBALS['phpgw']->nextmatchs->right('/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/addressbook.php',$start,$d->total_records,"&order=$order&filter=$filter&sort=$sort&query=$query");
! $GLOBALS['phpgw']->template->set_var('left',$left);
! $GLOBALS['phpgw']->template->set_var('right',$right);
!
! if ($d->total_records >
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'])
! {
!
$GLOBALS['phpgw']->template->set_var('lang_showing',lang('showing x - x of
x',($start + 1),($start +
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs']),$d->total_records));
! }
! else
! {
!
$GLOBALS['phpgw']->template->set_var('lang_showing',lang('showing
x',$d->total_records));
! }
! // --------------------------------------- end nextmatch
------------------------------------------
!
! // ------------------- list header variable template-declaration
-----------------------
!
$GLOBALS['phpgw']->template->set_var('th_bg',$GLOBALS['phpgw_info']['theme']['th_bg']);
!
$GLOBALS['phpgw']->template->set_var('sort_firstname',$GLOBALS['phpgw']->nextmatchs->show_sort_order($sort,'n_given',$order,'/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/addressbook.php',lang('Firstname')));
!
$GLOBALS['phpgw']->template->set_var('sort_lastname',$GLOBALS['phpgw']->nextmatchs->show_sort_order($sort,'n_family',$order,'/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/addressbook.php',lang('Lastname')));
!
$GLOBALS['phpgw']->template->set_var('sort_company',$GLOBALS['phpgw']->nextmatchs->show_sort_order($sort,'org_name',$order,'/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/addressbook.php',lang('Company')));
! $GLOBALS['phpgw']->template->set_var('lang_email',lang('Select work
email address'));
! $GLOBALS['phpgw']->template->set_var('lang_hemail',lang('Select home
email address'));
!
$GLOBALS['phpgw']->template->set_var('cats_list',$c->formated_list('select','all',$cat_id,'True'));
! $GLOBALS['phpgw']->template->set_var('lang_select',lang('Select'));
!
!
//$GLOBALS['phpgw']->template->set_var('cats_action',$GLOBALS['phpgw']->link('/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/addressbook.php',"sort=$sort&order=$order&filter=$filter&start=$start&query=$query&cat_id=$cat_id"));
! // thanks to address@hidden for fixing drop down list filtering by
categories
!
$GLOBALS['phpgw']->template->set_var('cats_action',$GLOBALS['phpgw']->link('/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/addressbook.php',"sort=$sort&order=$order&filter=$filter&start=$start&query=$query"));
!
! // --------------------------- end header declaration
----------------------------------
! for ($i=0;$i<count($entries);$i++)
! {
! $tr_color =
$GLOBALS['phpgw']->nextmatchs->alternate_row_color($tr_color);
! $GLOBALS['phpgw']->template->set_var('tr_color',$tr_color);
! $firstname = $entries[$i]['n_given'];
! if (!$firstname)
! {
! $firstname = ' ';
! }
! $lastname = $entries[$i]['n_family'];
! if (!$lastname)
! {
! $lastname = ' ';
! }
! // thanks to address@hidden for adding company
! $company = $entries[$i]['org_name'];
! if (!$company)
! {
! $company = ' ';
! }
!
! $personal_firstname = '';
! $personal_lastname = '';
! $personal_part = '';
! if ((isset($firstname)) &&
! ($firstname != '') &&
! ($firstname != ' '))
! {
! $personal_firstname = $firstname.' ';
! }
! if ((isset($lastname)) &&
! ($lastname != '') &&
! ($lastname != ' '))
! {
! $personal_lastname = $lastname;
! }
! $personal_part = $personal_firstname.$personal_lastname;
!
! if (($personal_part == '') ||
! ($include_personal == False))
! {
! $id = $entries[$i]['id'];
! $email = $entries[$i]['email'];
! $hemail = $entries[$i]['email_home'];
! }
! else
! {
! $id = $entries[$i]['id'];
! if ((isset($entries[$i]['email'])) &&
! (trim($entries[$i]['email']) != ''))
! {
! $email = '"'.$personal_part.'"
<'.$entries[$i]['email'].'>';
! }
! else
! {
! $email = $entries[$i]['email'];
! }
! if ((isset($entries[$i]['email_home'])) &&
! (trim($entries[$i]['email_home']) != ''))
! {
! $hemail = '"'.$personal_part.'"
<'.$entries[$i]['email_home'].'>';
! }
! else
! {
! $hemail = $entries[$i]['email_home'];
! }
! }
!
! // --------------------- template declaration for list records
--------------------------
! $GLOBALS['phpgw']->template->set_var(array(
! 'firstname' => $firstname,
! 'lastname' => $lastname,
! 'company' => $company
! ));
!
! $GLOBALS['phpgw']->template->set_var('id',$id);
! $GLOBALS['phpgw']->template->set_var('email',$email);
! $GLOBALS['phpgw']->template->set_var('hemail',$hemail);
!
!
$GLOBALS['phpgw']->template->parse('list','addressbook_list',True);
! }
! // --------------------------- end record declaration
---------------------------
!
! $GLOBALS['phpgw']->template->set_var('lang_done',lang('Done'));
! $GLOBALS['phpgw']->template->parse('out','addressbook_list_t',True);
! $GLOBALS['phpgw']->template->p('out');
!
! $GLOBALS['phpgw']->common->phpgw_exit();
! ?>
Index: attach_file.php
===================================================================
RCS file: /cvsroot/phpgroupware/email/attach_file.php,v
retrieving revision 1.27
retrieving revision 1.28
diff -C2 -r1.27 -r1.28
*** attach_file.php 25 Oct 2002 12:45:52 -0000 1.27
--- attach_file.php 14 Mar 2003 03:59:56 -0000 1.28
***************
*** 1,368 ****
! <?php
! /**************************************************************************\
! * phpGroupWare - E-Mail *
! * http://www.phpgroupware.org *
! * This file written by Joseph Engo <address@hidden> *
! * -------------------------------------------- *
! * This program is free software; you can redistribute it and/or modify it *
! * under the terms of the GNU General Public License as published by the *
! * Free Software Foundation; either version 2 of the License, or (at your *
! * option) any later version. *
! \**************************************************************************/
!
! /* $Id$ */
!
! /*!
! @function attach_file.php_the_file
! @abstract attach_file.php is DEPRECIATED, use menuaction
"email.boattach_file.attach" instead.
! */
!
! $phpgw_flags = Array(
! 'currentapp' => 'email',
! 'enable_network_class' => True,
! 'noheader' => True,
! 'nonavbar' => True
! );
!
! $GLOBALS['phpgw_info']['flags'] = $phpgw_flags;
!
! include('../header.inc.php');
!
! $fup_debug=0;
! //$fup_debug=2;
!
! // #### TESTING BO OBJECT, BYPASSES BYPASS THIS FILE
! echo 'this file "attach_file.php" is depreciated, use the BO class
instead<br>';
! $GLOBALS['phpgw']->common->phpgw_exit(False);
! return;
! // #### TESTING BO OBJECT, BYPASSES BYPASS THIS FILE
!
!
! // we need a msg object BUT NO LOGIN IS NEEDED
! $my_msg_bootstrap = '';
! $my_msg_bootstrap = CreateObject("email.msg_bootstrap");
! $my_msg_bootstrap->set_do_login(False);
! $my_msg_bootstrap->ensure_mail_msg_exists('email: attach_file.php', 0);
!
! $GLOBALS['phpgw']->template->set_file(
! Array(
! 'T_attach_file' => 'attach_file.tpl',
! 'T_attach_file_blocks' => 'attach_file_blocks.tpl'
! )
! );
!
$GLOBALS['phpgw']->template->set_block('T_attach_file_blocks','B_alert_msg','V_alert_msg');
!
$GLOBALS['phpgw']->template->set_block('T_attach_file_blocks','B_attached_list','V_attached_list');
!
$GLOBALS['phpgw']->template->set_block('T_attach_file_blocks','B_attached_none','V_attached_none');
!
$GLOBALS['phpgw']->template->set_block('T_attach_file_blocks','B_delete_btn','V_delete_btn');
!
! // initialize some variables
! $alert_msg = '';
! $totalfiles = 0;
!
! // ensure existance of PHPGROUPWARE temp dir
! // note: this is different from apache temp dir, and different from any
other temp file location set in php.ini
! if (!file_exists($GLOBALS['phpgw_info']['server']['temp_dir']))
! {
! mkdir($GLOBALS['phpgw_info']['server']['temp_dir'],0700);
! }
!
! // if we were NOT able to create this temp directory, then make an
ERROR report
! if (!file_exists($GLOBALS['phpgw_info']['server']['temp_dir']))
! {
! $alert_msg .= 'Error:'.'<br>'
! . 'Server is unable to access phpgw tmp
directory'.'<br>'
! . $GLOBALS['phpgw_info']['server']['temp_dir'].'<br>'
! . 'Please check your configuration'.'<br>'
! . '<br>';
! }
!
! if (!file_exists($GLOBALS['phpgw_info']['server']['temp_dir'] . SEP .
$GLOBALS['phpgw_info']['user']['sessionid']))
! {
! mkdir($GLOBALS['phpgw_info']['server']['temp_dir'] . SEP .
$GLOBALS['phpgw_info']['user']['sessionid'],0700);
! }
!
! //$uploaddir = $GLOBALS['phpgw_info']['server']['temp_dir'] . SEP .
$GLOBALS['phpgw_info']['user']['sessionid'] . SEP;
! $uploaddir = $GLOBALS['phpgw']->msg->att_files_dir;
!
! // if we were NOT able to create this temp directory, then make an
ERROR report
! if (!file_exists($uploaddir))
! {
! $alert_msg .= 'Error:'.'<br>'
! . 'Server is unable to access phpgw email tmp
directory'.'<br>'
! . $uploaddir.'<br>'
! . 'Please check your configuration'.'<br>'
! . '<br>';
! }
!
! /*
! //PHP VARIABLES NOTES:
! // $uploadedfile was the name of the file box in the submitted form,
and php3 gives it additional properties:
! // $uploadedfile_name $uploadedfile_size $uploadedfile_type
! // php4 also does this, but the preffered way is to use the new (for
php4) $HTTP_POST_FILES global array
! // $HTTP_POST_FILES['uploadedfile']['name'] .. .['type'] ...
['size'] ... ['tmp_name']
! // note that $uploadedfile_type and
$HTTP_POST_FILES['uploadedfile']['type'] *may* not be correct filled
! // UPDATE: php > 4.2 prefers "superglobal" $_FILES, actually 4.1+ can
use that $_FILES
! //
! // FILE SIZE NOTES:
! // file size limits may depend on: (a) <input type="hidden"
name="MAX_FILE_SIZE" value="whatever">
! // (b) these values in php.ini: "post_max_size" "upload_max_filesize"
"memory_limit" "max_execution_time"
! // also see http://www.php.net/bugs.php?id=8377 for the status of an
upload bug not fixed as of 4.0.4
! // also note that uploading file to *memory* is wasteful
! */
!
! // probably UNNECESSARY debug code, delete it after this is all stable
! if (($GLOBALS['phpgw']->msg->minimum_version("4.1.0"))
! && (!isset($GLOBALS['phpgw']->msg->ref_FILES)))
! {
! echo 'file attach_file ('.__LINE__.') ERROR:
$GLOBALS[phpgw]->msg->ref_FILES should be set here, but it IS NOT set<br>';
! }
!
! // the following code only applies to php < 4.1.0 where that
superglobal was not available
! // thanks Dave Hall for this code suggestion
! if (
! (! (isset($HTTP_POST_FILES) || isset($GLOBALS['HTTP_POST_FILES'])) )
! && ($GLOBALS['phpgw']->msg->minimum_version("4.1.0") == False)
! )
! {
! $_FILES = $GLOBALS['HTTP_POST_FILES'];
! global $_FILES;
! // REDEFINE THE REFERENCE TO THE FILES DATA
! $GLOBALS['phpgw']->msg->ref_FILES = &$_FILES;
! }
! // yes I am aware that the above code and the below code kind of deal
with the same thing
! // if the above code still does not give a good reference to FILES
data, below there is "oldschool" fallback code
! // also I do not want to force global something every script run when
it is only needed here
!
!
! // clean / prepare PHP provided file info
! // note that "uploadedfile" is the POST submit form identification for
the file
! if ( ($GLOBALS['phpgw']->msg->minimum_version("4.1.0"))
! // or we may have otherwise obtained a good reference above
! || (isset($GLOBALS['phpgw']->msg->ref_FILES['uploadedfile'])) )
! {
! $file_tmp_name =
$GLOBALS['phpgw']->msg->stripslashes_gpc(trim($GLOBALS['phpgw']->msg->ref_FILES['uploadedfile']['tmp_name']));
! $file_name =
$GLOBALS['phpgw']->msg->stripslashes_gpc(trim($GLOBALS['phpgw']->msg->ref_FILES['uploadedfile']['name']));
! $file_size =
$GLOBALS['phpgw']->msg->stripslashes_gpc(trim($GLOBALS['phpgw']->msg->ref_FILES['uploadedfile']['size']));
! $file_type =
$GLOBALS['phpgw']->msg->stripslashes_gpc(trim($GLOBALS['phpgw']->msg->ref_FILES['uploadedfile']['type']));
! if ($fup_debug > 1) { echo 'ref_FILE dump:
'.htmlspecialchars(serialize($GLOBALS['phpgw']->msg->ref_FILES)).'<br>'; }
! }
! else
! {
! // php less then 4.1 uses these pre-superglobals enviornment
vars
! $file_tmp_name =
$GLOBALS['phpgw']->msg->stripslashes_gpc(trim($uploadedfile));
! $file_name =
$GLOBALS['phpgw']->msg->stripslashes_gpc(trim($uploadedfile_name));
! $file_size =
$GLOBALS['phpgw']->msg->stripslashes_gpc(trim($uploadedfile_size));
! $file_type =
$GLOBALS['phpgw']->msg->stripslashes_gpc(trim($uploadedfile_type));
! }
!
! // sometimes PHP is very clue-less about MIME types, and gives NO
file_type
! // rfc default for unknown MIME type is:
! $mime_type_default = 'application/octet-stream';
! // so if PHP did not pass any file_type info, then substitute the rfc
default value
! if (trim($file_type) == '')
! {
! $file_type = $mime_type_default;
! }
!
! // Netscape 6 sometimes passes file_name with a full path, we need to
extract just the filename
! function wbasename($input)
! {
! if (strstr($input, SEP) == False)
! {
! // no filesystem seperator is present
! return $input;
! }
!
! for($i=0; $i < strlen($input); $i++ )
! {
! $pos = strpos($input, SEP, $i);
! if ($pos != false)
! {
! $lastpos = $pos;
! }
! }
! return substr($input, $lastpos + 1, strlen($input));
! }
// now use that function to get a clean file name
! if ($fup_debug > 1) { echo 'file_name (pre-wbasename): ' .$file_name
.'<br>'; }
! // Netscape 6 passes file_name with a full path, we need to extract
just the filename
! $file_name = wbasename($file_name);
!
! // Some server side attachment upload handling code is borrowed from
! // Squirrelmail <Luke Ehresman> http://www.squirrelmail.org
! // particularly the moving, temporary naming, and the ".info" file code.
! if ($action == lang('Delete'))
! {
! for ($i=0; $i<count($delete); $i++)
! {
! unlink($uploaddir.SEP.$delete[$i]);
! unlink($uploaddir.SEP.$delete[$i] . '.info');
! }
! }
!
! //if ($action == 'Attach File')
! if (($action == lang('Attach File'))
! && ($file_tmp_name != '')
! && ($file_tmp_name != 'none'))
! {
! srand((double)microtime()*1000000);
! $random_number = rand(100000000,999999999);
! $newfilename = md5($file_tmp_name.', '.$file_name.',
'.$GLOBALS['phpgw_info']['user']['sessionid'].time().getenv('REMOTE_ADDR').$random_number);
!
! // Check for uploaded file of 0-length, or no file (patch from
Zone added by Milosch)
! //if ($file_tmp_name == "none" && $file_size == 0) This could
work also
! if ($file_size == 0)
! {
! touch ($uploaddir.SEP.$newfilename);
! }
! else
! {
! copy($file_tmp_name, $uploaddir.SEP.$newfilename);
! }
!
! $ftp = fopen($uploaddir.SEP.$newfilename . '.info','wb');
! fputs($ftp,$file_type."\n".$file_name."\n");
! fclose($ftp);
! }
! elseif (($action == lang('Attach File')) &&
! (($file_tmp_name == '') || ($file_tmp_name == 'none')))
! {
! $langed_attach_file = lang("Attach File");
! $alert_msg = lang('Input Error:').'<br>'
! . lang('Please submit a filename to attach').'<br>'
! . lang('You must click').' "'.lang('Attach File').'"
'.lang('for the file to actually upload').'<br>'
! . '<br>';
! }
!
! $dh = opendir($uploaddir);
! //while ($file = readdir($dh)) //
http://www.php.net/manual/en/function.readdir.php says this is wrong ...
! while (false !== ($file = readdir($dh))) // is correct according to the
manual but only works with 4.0.0RC2+
! {
! if (($file != '.')
! && ($file != '..')
! && (ereg("\.info",$file)))
! {
! $file_info = file($uploaddir.SEP.$file);
!
! //get filesize in kb, but do not tell user a file is
0kb, because it is probably closer to 1kb
! $real_file = str_replace('.info','',$file);
! $real_file_size = ((int)
(@filesize($uploaddir.SEP.$real_file)/1024));
! if ($real_file_size < 1)
! {
! $real_file_size = 1;
! }
!
! if ($fup_debug > 2) { echo 'FILE contents DUMP: <pre>';
print_r(file($uploaddir.SEP.$real_file)); echo '</pre>'; }
! // for every file, fill the file list template with it
!
$GLOBALS['phpgw']->template->set_var('ckbox_delete_name','delete[]');
!
$GLOBALS['phpgw']->template->set_var('ckbox_delete_value',substr($file,0,-5));
!
$GLOBALS['phpgw']->template->set_var('hidden_delete_name',substr($file,0,-5));
!
$GLOBALS['phpgw']->template->set_var('hidden_delete_filename',
! $file_info[1]);
!
$GLOBALS['phpgw']->template->set_var('ckbox_delete_filename',
! //$file_info[1].' ('.((int)
(@filesize($uploaddir.SEP.$real_file)/1024)).'k)'); //also shows file size in kb
! $file_info[1].'
('.$real_file_size.'k)'); //also shows file size in kb
!
$GLOBALS['phpgw']->template->parse('V_attached_list','B_attached_list',True);
! $totalfiles++;
! }
! }
! closedir($dh);
! if ($totalfiles == 0)
! {
! // there is no list of files, clear that block
! $GLOBALS['phpgw']->template->set_var('V_attached_list','');
! // there is no delete button because there are no files to
delete, clear that block
! $GLOBALS['phpgw']->template->set_var('V_delete_btn','');
! // show the none block
! $GLOBALS['phpgw']->template->set_var('text_none',lang('None'));
!
$GLOBALS['phpgw']->template->parse('V_attached_none','B_attached_none');
! }
! else
! {
! // we have files, clear the "no files" block
! $GLOBALS['phpgw']->template->set_var('V_attached_none','');
! // fill the delete sublit form
!
$GLOBALS['phpgw']->template->set_var('btn_delete_name','action');
!
$GLOBALS['phpgw']->template->set_var('btn_delete_value',lang('Delete'));
!
$GLOBALS['phpgw']->template->parse('V_delete_btn','B_delete_btn');
! }
!
! $body_tags = 'bgcolor="'.$GLOBALS['phpgw_info']['theme']['bg_color'].'"
alink="'.$GLOBALS['phpgw_info']['theme']['alink'].'"
link="'.$GLOBALS['phpgw_info']['theme']['link'].'"
vlink="'.$GLOBALS['phpgw_info']['theme']['vlink'].'"';
! if (!$GLOBALS['phpgw_info']['server']['htmlcompliant'])
! {
! $body_tags .= ' topmargin="0" marginheight="0" marginwidth="0"
leftmargin="0"';
! }
!
! // begin DEBUG INFO
! $debuginfo .= '--uploadedfile info: <br>'
! . '$GLOBALS[phpgw_info][server][temp_dir]:
'.$GLOBALS['phpgw_info']['server']['temp_dir'].'<br>'
! . '$GLOBALS[phpgw_info][user][sessionid]:
'.$GLOBALS['phpgw_info']['user']['sessionid'].'<br>'
! . 'uploaddir: '.$uploaddir.'<br>'
! . 'file_tmp_name: ' .$file_tmp_name .'<br>'
! . 'file_name: ' .$file_name .'<br>'
! . 'file_size: ' .$file_size .'<br>'
! . 'file_type: ' .$file_type .'<br>'
! . '<br>'
! . 'totalfiles: ' .$totalfiles .'<br>'
! . 'file_info_count: '.count($file_info) .'<br>'
! . '<br>';
! if (count($file_info) > 0)
! {
! $debuginfo .= '<br> file_info[0]='.$file_info[0] .'<br>
file_info[1]='.$file_info[1];
! }
! $debuginfo .= '<br>';
! //print_debug('$debuginfo', $debuginfo);
! if ($fup_debug > 1) { echo '$debuginfo: '.$debuginfo.'<br>'; }
! // end DEBUG INFO
!
! $charset = lang('charset');
! $GLOBALS['phpgw']->template->set_var('charset',$charset);
!
$GLOBALS['phpgw']->template->set_var('page_title',$GLOBALS['phpgw_flags']['currentapp']
. ' - ' .lang('File attachment'));
!
$GLOBALS['phpgw']->template->set_var('font_family',$GLOBALS['phpgw_info']['theme']['font']);
! $GLOBALS['phpgw']->template->set_var('body_tags',$body_tags);
! if ($alert_msg != '')
! {
! $GLOBALS['phpgw']->template->set_var('alert_msg',$alert_msg);
! $GLOBALS['phpgw']->template->parse('V_alert_msg','B_alert_msg');
! }
! else
! {
! $GLOBALS['phpgw']->template->set_var('V_alert_msg','');
! }
! $GLOBALS['phpgw']->template->set_var('form_method','POST');
!
$GLOBALS['phpgw']->template->set_var('form_action',$GLOBALS['phpgw']->link('/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/attach_file.php'));
! $GLOBALS['phpgw']->template->set_var('text_attachfile',lang('Attach
file'));
! $GLOBALS['phpgw']->template->set_var('text_currattached',lang('Current
attachments (%1)',$totalfiles));
! $GLOBALS['phpgw']->template->set_var('txtbox_upload_desc',lang('File'));
!
$GLOBALS['phpgw']->template->set_var('txtbox_upload_name','uploadedfile');
! $GLOBALS['phpgw']->template->set_var('btn_attach_name','action');
! $GLOBALS['phpgw']->template->set_var('btn_attach_value',lang('Attach
File'));
! $GLOBALS['phpgw']->template->set_var('btn_done_name','done');
! $GLOBALS['phpgw']->template->set_var('btn_done_value',lang('Done'));
! $GLOBALS['phpgw']->template->set_var('btn_done_js','copyback()');
! $GLOBALS['phpgw']->template->set_var('form1_name','doit');
!
! $GLOBALS['phpgw']->template->pfp('out','T_attach_file');
!
! //$GLOBALS['phpgw']->common->phpgw_exit();
! if (is_object($GLOBALS['phpgw']->msg))
! {
! $terminate = True;
! }
! else
! {
! $terminate = False;
! }
!
! if ($terminate == True)
! {
! // close down ALL mailserver streams
! $GLOBALS['phpgw']->msg->end_request();
! // destroy the object
! $GLOBALS['phpgw']->msg = '';
! unset($GLOBALS['phpgw']->msg);
! }
!
! // shut down this transaction
! $GLOBALS['phpgw']->common->phpgw_exit(False);
! ?>
--- 1,368 ----
! <?php
! /**************************************************************************\
! * phpGroupWare - E-Mail *
! * http://www.phpgroupware.org *
! * This file written by Joseph Engo <address@hidden> *
! * -------------------------------------------- *
! * This program is free software; you can redistribute it and/or modify it *
! * under the terms of the GNU General Public License as published by the *
! * Free Software Foundation; either version 2 of the License, or (at your *
! * option) any later version. *
! \**************************************************************************/
!
! /* $Id$ */
!
! /*!
! @function attach_file.php_the_file
! @abstract attach_file.php is DEPRECIATED, use menuaction
"email.boattach_file.attach" instead.
! */
!
! $phpgw_flags = Array(
! 'currentapp' => 'email',
! 'enable_network_class' => True,
! 'noheader' => True,
! 'nonavbar' => True
! );
!
! $GLOBALS['phpgw_info']['flags'] = $phpgw_flags;
!
! include('../header.inc.php');
!
! $fup_debug=0;
! //$fup_debug=2;
!
! // #### TESTING BO OBJECT, BYPASSES BYPASS THIS FILE
! echo 'this file "attach_file.php" is depreciated, use the BO class
instead<br>';
! $GLOBALS['phpgw']->common->phpgw_exit(False);
! return;
! // #### TESTING BO OBJECT, BYPASSES BYPASS THIS FILE
!
!
! // we need a msg object BUT NO LOGIN IS NEEDED
! $my_msg_bootstrap = '';
! $my_msg_bootstrap = CreateObject("email.msg_bootstrap");
! $my_msg_bootstrap->set_do_login(False);
! $my_msg_bootstrap->ensure_mail_msg_exists('email: attach_file.php', 0);
!
! $GLOBALS['phpgw']->template->set_file(
! Array(
! 'T_attach_file' => 'attach_file.tpl',
! 'T_attach_file_blocks' => 'attach_file_blocks.tpl'
! )
! );
!
$GLOBALS['phpgw']->template->set_block('T_attach_file_blocks','B_alert_msg','V_alert_msg');
!
$GLOBALS['phpgw']->template->set_block('T_attach_file_blocks','B_attached_list','V_attached_list');
!
$GLOBALS['phpgw']->template->set_block('T_attach_file_blocks','B_attached_none','V_attached_none');
!
$GLOBALS['phpgw']->template->set_block('T_attach_file_blocks','B_delete_btn','V_delete_btn');
!
! // initialize some variables
! $alert_msg = '';
! $totalfiles = 0;
!
! // ensure existance of PHPGROUPWARE temp dir
! // note: this is different from apache temp dir, and different from any
other temp file location set in php.ini
! if (!file_exists($GLOBALS['phpgw_info']['server']['temp_dir']))
! {
! mkdir($GLOBALS['phpgw_info']['server']['temp_dir'],0700);
! }
!
! // if we were NOT able to create this temp directory, then make an
ERROR report
! if (!file_exists($GLOBALS['phpgw_info']['server']['temp_dir']))
! {
! $alert_msg .= 'Error:'.'<br>'
! . 'Server is unable to access phpgw tmp
directory'.'<br>'
! . $GLOBALS['phpgw_info']['server']['temp_dir'].'<br>'
! . 'Please check your configuration'.'<br>'
! . '<br>';
! }
!
! if (!file_exists($GLOBALS['phpgw_info']['server']['temp_dir'] . SEP .
$GLOBALS['phpgw_info']['user']['sessionid']))
! {
! mkdir($GLOBALS['phpgw_info']['server']['temp_dir'] . SEP .
$GLOBALS['phpgw_info']['user']['sessionid'],0700);
! }
!
! //$uploaddir = $GLOBALS['phpgw_info']['server']['temp_dir'] . SEP .
$GLOBALS['phpgw_info']['user']['sessionid'] . SEP;
! $uploaddir = $GLOBALS['phpgw']->msg->att_files_dir;
!
! // if we were NOT able to create this temp directory, then make an
ERROR report
! if (!file_exists($uploaddir))
! {
! $alert_msg .= 'Error:'.'<br>'
! . 'Server is unable to access phpgw email tmp
directory'.'<br>'
! . $uploaddir.'<br>'
! . 'Please check your configuration'.'<br>'
! . '<br>';
! }
!
! /*
! //PHP VARIABLES NOTES:
! // $uploadedfile was the name of the file box in the submitted form,
and php3 gives it additional properties:
! // $uploadedfile_name $uploadedfile_size $uploadedfile_type
! // php4 also does this, but the preffered way is to use the new (for
php4) $HTTP_POST_FILES global array
! // $HTTP_POST_FILES['uploadedfile']['name'] .. .['type'] ...
['size'] ... ['tmp_name']
! // note that $uploadedfile_type and
$HTTP_POST_FILES['uploadedfile']['type'] *may* not be correct filled
! // UPDATE: php > 4.2 prefers "superglobal" $_FILES, actually 4.1+ can
use that $_FILES
! //
! // FILE SIZE NOTES:
! // file size limits may depend on: (a) <input type="hidden"
name="MAX_FILE_SIZE" value="whatever">
! // (b) these values in php.ini: "post_max_size" "upload_max_filesize"
"memory_limit" "max_execution_time"
! // also see http://www.php.net/bugs.php?id=8377 for the status of an
upload bug not fixed as of 4.0.4
! // also note that uploading file to *memory* is wasteful
! */
!
! // probably UNNECESSARY debug code, delete it after this is all stable
! if (($GLOBALS['phpgw']->msg->minimum_version("4.1.0"))
! && (!isset($GLOBALS['phpgw']->msg->ref_FILES)))
! {
! echo 'file attach_file ('.__LINE__.') ERROR:
$GLOBALS[phpgw]->msg->ref_FILES should be set here, but it IS NOT set<br>';
! }
!
! // the following code only applies to php < 4.1.0 where that
superglobal was not available
! // thanks Dave Hall for this code suggestion
! if (
! (! (isset($HTTP_POST_FILES) || isset($GLOBALS['HTTP_POST_FILES'])) )
! && ($GLOBALS['phpgw']->msg->minimum_version("4.1.0") == False)
! )
! {
! $_FILES = $GLOBALS['HTTP_POST_FILES'];
! global $_FILES;
! // REDEFINE THE REFERENCE TO THE FILES DATA
! $GLOBALS['phpgw']->msg->ref_FILES = &$_FILES;
! }
! // yes I am aware that the above code and the below code kind of deal
with the same thing
! // if the above code still does not give a good reference to FILES
data, below there is "oldschool" fallback code
! // also I do not want to force global something every script run when
it is only needed here
!
!
! // clean / prepare PHP provided file info
! // note that "uploadedfile" is the POST submit form identification for
the file
! if ( ($GLOBALS['phpgw']->msg->minimum_version("4.1.0"))
! // or we may have otherwise obtained a good reference above
! || (isset($GLOBALS['phpgw']->msg->ref_FILES['uploadedfile'])) )
! {
! $file_tmp_name =
$GLOBALS['phpgw']->msg->stripslashes_gpc(trim($GLOBALS['phpgw']->msg->ref_FILES['uploadedfile']['tmp_name']));
! $file_name =
$GLOBALS['phpgw']->msg->stripslashes_gpc(trim($GLOBALS['phpgw']->msg->ref_FILES['uploadedfile']['name']));
! $file_size =
$GLOBALS['phpgw']->msg->stripslashes_gpc(trim($GLOBALS['phpgw']->msg->ref_FILES['uploadedfile']['size']));
! $file_type =
$GLOBALS['phpgw']->msg->stripslashes_gpc(trim($GLOBALS['phpgw']->msg->ref_FILES['uploadedfile']['type']));
! if ($fup_debug > 1) { echo 'ref_FILE dump:
'.htmlspecialchars(serialize($GLOBALS['phpgw']->msg->ref_FILES)).'<br>'; }
! }
! else
! {
! // php less then 4.1 uses these pre-superglobals enviornment
vars
! $file_tmp_name =
$GLOBALS['phpgw']->msg->stripslashes_gpc(trim($uploadedfile));
! $file_name =
$GLOBALS['phpgw']->msg->stripslashes_gpc(trim($uploadedfile_name));
! $file_size =
$GLOBALS['phpgw']->msg->stripslashes_gpc(trim($uploadedfile_size));
! $file_type =
$GLOBALS['phpgw']->msg->stripslashes_gpc(trim($uploadedfile_type));
! }
!
! // sometimes PHP is very clue-less about MIME types, and gives NO
file_type
! // rfc default for unknown MIME type is:
! $mime_type_default = 'application/octet-stream';
! // so if PHP did not pass any file_type info, then substitute the rfc
default value
! if (trim($file_type) == '')
! {
! $file_type = $mime_type_default;
! }
!
! // Netscape 6 sometimes passes file_name with a full path, we need to
extract just the filename
! function wbasename($input)
! {
! if (strstr($input, SEP) == False)
! {
! // no filesystem seperator is present
! return $input;
! }
!
! for($i=0; $i < strlen($input); $i++ )
! {
! $pos = strpos($input, SEP, $i);
! if ($pos != false)
! {
! $lastpos = $pos;
! }
! }
! return substr($input, $lastpos + 1, strlen($input));
! }
// now use that function to get a clean file name
! if ($fup_debug > 1) { echo 'file_name (pre-wbasename): ' .$file_name
.'<br>'; }
! // Netscape 6 passes file_name with a full path, we need to extract
just the filename
! $file_name = wbasename($file_name);
!
! // Some server side attachment upload handling code is borrowed from
! // Squirrelmail <Luke Ehresman> http://www.squirrelmail.org
! // particularly the moving, temporary naming, and the ".info" file code.
! if ($action == lang('Delete'))
! {
! for ($i=0; $i<count($delete); $i++)
! {
! unlink($uploaddir.SEP.$delete[$i]);
! unlink($uploaddir.SEP.$delete[$i] . '.info');
! }
! }
!
! //if ($action == 'Attach File')
! if (($action == lang('Attach File'))
! && ($file_tmp_name != '')
! && ($file_tmp_name != 'none'))
! {
! srand((double)microtime()*1000000);
! $random_number = rand(100000000,999999999);
! $newfilename = md5($file_tmp_name.', '.$file_name.',
'.$GLOBALS['phpgw_info']['user']['sessionid'].time().getenv('REMOTE_ADDR').$random_number);
!
! // Check for uploaded file of 0-length, or no file (patch from
Zone added by Milosch)
! //if ($file_tmp_name == "none" && $file_size == 0) This could
work also
! if ($file_size == 0)
! {
! touch ($uploaddir.SEP.$newfilename);
! }
! else
! {
! copy($file_tmp_name, $uploaddir.SEP.$newfilename);
! }
!
! $ftp = fopen($uploaddir.SEP.$newfilename . '.info','wb');
! fputs($ftp,$file_type."\n".$file_name."\n");
! fclose($ftp);
! }
! elseif (($action == lang('Attach File')) &&
! (($file_tmp_name == '') || ($file_tmp_name == 'none')))
! {
! $langed_attach_file = lang("Attach File");
! $alert_msg = lang('Input Error:').'<br>'
! . lang('Please submit a filename to attach').'<br>'
! . lang('You must click').' "'.lang('Attach File').'"
'.lang('for the file to actually upload').'<br>'
! . '<br>';
! }
!
! $dh = opendir($uploaddir);
! //while ($file = readdir($dh)) //
http://www.php.net/manual/en/function.readdir.php says this is wrong ...
! while (false !== ($file = readdir($dh))) // is correct according to the
manual but only works with 4.0.0RC2+
! {
! if (($file != '.')
! && ($file != '..')
! && (ereg("\.info",$file)))
! {
! $file_info = file($uploaddir.SEP.$file);
!
! //get filesize in kb, but do not tell user a file is
0kb, because it is probably closer to 1kb
! $real_file = str_replace('.info','',$file);
! $real_file_size = ((int)
(@filesize($uploaddir.SEP.$real_file)/1024));
! if ($real_file_size < 1)
! {
! $real_file_size = 1;
! }
!
! if ($fup_debug > 2) { echo 'FILE contents DUMP: <pre>';
print_r(file($uploaddir.SEP.$real_file)); echo '</pre>'; }
! // for every file, fill the file list template with it
!
$GLOBALS['phpgw']->template->set_var('ckbox_delete_name','delete[]');
!
$GLOBALS['phpgw']->template->set_var('ckbox_delete_value',substr($file,0,-5));
!
$GLOBALS['phpgw']->template->set_var('hidden_delete_name',substr($file,0,-5));
!
$GLOBALS['phpgw']->template->set_var('hidden_delete_filename',
! $file_info[1]);
!
$GLOBALS['phpgw']->template->set_var('ckbox_delete_filename',
! //$file_info[1].' ('.((int)
(@filesize($uploaddir.SEP.$real_file)/1024)).'k)'); //also shows file size in kb
! $file_info[1].'
('.$real_file_size.'k)'); //also shows file size in kb
!
$GLOBALS['phpgw']->template->parse('V_attached_list','B_attached_list',True);
! $totalfiles++;
! }
! }
! closedir($dh);
! if ($totalfiles == 0)
! {
! // there is no list of files, clear that block
! $GLOBALS['phpgw']->template->set_var('V_attached_list','');
! // there is no delete button because there are no files to
delete, clear that block
! $GLOBALS['phpgw']->template->set_var('V_delete_btn','');
! // show the none block
! $GLOBALS['phpgw']->template->set_var('text_none',lang('None'));
!
$GLOBALS['phpgw']->template->parse('V_attached_none','B_attached_none');
! }
! else
! {
! // we have files, clear the "no files" block
! $GLOBALS['phpgw']->template->set_var('V_attached_none','');
! // fill the delete sublit form
!
$GLOBALS['phpgw']->template->set_var('btn_delete_name','action');
!
$GLOBALS['phpgw']->template->set_var('btn_delete_value',lang('Delete'));
!
$GLOBALS['phpgw']->template->parse('V_delete_btn','B_delete_btn');
! }
!
! $body_tags = 'bgcolor="'.$GLOBALS['phpgw_info']['theme']['bg_color'].'"
alink="'.$GLOBALS['phpgw_info']['theme']['alink'].'"
link="'.$GLOBALS['phpgw_info']['theme']['link'].'"
vlink="'.$GLOBALS['phpgw_info']['theme']['vlink'].'"';
! if (!$GLOBALS['phpgw_info']['server']['htmlcompliant'])
! {
! $body_tags .= ' topmargin="0" marginheight="0" marginwidth="0"
leftmargin="0"';
! }
!
! // begin DEBUG INFO
! $debuginfo .= '--uploadedfile info: <br>'
! . '$GLOBALS[phpgw_info][server][temp_dir]:
'.$GLOBALS['phpgw_info']['server']['temp_dir'].'<br>'
! . '$GLOBALS[phpgw_info][user][sessionid]:
'.$GLOBALS['phpgw_info']['user']['sessionid'].'<br>'
! . 'uploaddir: '.$uploaddir.'<br>'
! . 'file_tmp_name: ' .$file_tmp_name .'<br>'
! . 'file_name: ' .$file_name .'<br>'
! . 'file_size: ' .$file_size .'<br>'
! . 'file_type: ' .$file_type .'<br>'
! . '<br>'
! . 'totalfiles: ' .$totalfiles .'<br>'
! . 'file_info_count: '.count($file_info) .'<br>'
! . '<br>';
! if (count($file_info) > 0)
! {
! $debuginfo .= '<br> file_info[0]='.$file_info[0] .'<br>
file_info[1]='.$file_info[1];
! }
! $debuginfo .= '<br>';
! //print_debug('$debuginfo', $debuginfo);
! if ($fup_debug > 1) { echo '$debuginfo: '.$debuginfo.'<br>'; }
! // end DEBUG INFO
!
! $charset = lang('charset');
! $GLOBALS['phpgw']->template->set_var('charset',$charset);
!
$GLOBALS['phpgw']->template->set_var('page_title',$GLOBALS['phpgw_flags']['currentapp']
. ' - ' .lang('File attachment'));
!
$GLOBALS['phpgw']->template->set_var('font_family',$GLOBALS['phpgw_info']['theme']['font']);
! $GLOBALS['phpgw']->template->set_var('body_tags',$body_tags);
! if ($alert_msg != '')
! {
! $GLOBALS['phpgw']->template->set_var('alert_msg',$alert_msg);
! $GLOBALS['phpgw']->template->parse('V_alert_msg','B_alert_msg');
! }
! else
! {
! $GLOBALS['phpgw']->template->set_var('V_alert_msg','');
! }
! $GLOBALS['phpgw']->template->set_var('form_method','POST');
!
$GLOBALS['phpgw']->template->set_var('form_action',$GLOBALS['phpgw']->link('/'.$GLOBALS['phpgw_info']['flags']['currentapp'].'/attach_file.php'));
! $GLOBALS['phpgw']->template->set_var('text_attachfile',lang('Attach
file'));
! $GLOBALS['phpgw']->template->set_var('text_currattached',lang('Current
attachments (%1)',$totalfiles));
! $GLOBALS['phpgw']->template->set_var('txtbox_upload_desc',lang('File'));
!
$GLOBALS['phpgw']->template->set_var('txtbox_upload_name','uploadedfile');
! $GLOBALS['phpgw']->template->set_var('btn_attach_name','action');
! $GLOBALS['phpgw']->template->set_var('btn_attach_value',lang('Attach
File'));
! $GLOBALS['phpgw']->template->set_var('btn_done_name','done');
! $GLOBALS['phpgw']->template->set_var('btn_done_value',lang('Done'));
! $GLOBALS['phpgw']->template->set_var('btn_done_js','copyback()');
! $GLOBALS['phpgw']->template->set_var('form1_name','doit');
!
! $GLOBALS['phpgw']->template->pfp('out','T_attach_file');
!
! //$GLOBALS['phpgw']->common->phpgw_exit();
! if (is_object($GLOBALS['phpgw']->msg))
! {
! $terminate = True;
! }
! else
! {
! $terminate = False;
! }
!
! if ($terminate == True)
! {
! // close down ALL mailserver streams
! $GLOBALS['phpgw']->msg->end_request();
! // destroy the object
! $GLOBALS['phpgw']->msg = '';
! unset($GLOBALS['phpgw']->msg);
! }
!
! // shut down this transaction
! $GLOBALS['phpgw']->common->phpgw_exit(False);
! ?>
Index: compose.php
===================================================================
RCS file: /cvsroot/phpgroupware/email/compose.php,v
retrieving revision 1.50
retrieving revision 1.51
diff -C2 -r1.50 -r1.51
*** compose.php 25 Oct 2002 12:59:11 -0000 1.50
--- compose.php 14 Mar 2003 03:59:59 -0000 1.51
***************
*** 1,93 ****
! <?php
!
/**************************************************************************\
! * phpGroupWare - E-Mail *
! * http://www.phpgroupware.org *
! * Based on Aeromail by Mark C3ushman <address@hidden> *
! * http://the.cushman.net/ *
! * Currently maintained by Angles <address@hidden> *
! * -------------------------------------------- *
! * This program is free software; you can redistribute it and/or modify
it *
! * under the terms of the GNU General Public License as published by the
*
! * Free Software Foundation; either version 2 of the License, or (at
your *
! * option) any later version. *
!
\**************************************************************************/
! /* $Id$ */
!
! Header('Cache-Control: no-cache');
! Header('Pragma: no-cache');
! Header('Expires: Sat, Jan 01 2000 01:01:01 GMT');
!
! $GLOBALS['phpgw_info']['flags'] = array(
! 'currentapp' => 'email',
! 'noheader' => True,
! 'nofooter' => True,
! 'nonavbar' => True,
! 'noappheader' => True,
! 'noappfooter' => True
! );
! include('../header.inc.php');
!
! // we need a msg object BUT NO LOGIN IS NEEDED
! $my_msg_bootstrap = '';
! $my_msg_bootstrap = CreateObject("email.msg_bootstrap");
! $my_msg_bootstrap->set_do_login(False);
! $my_msg_bootstrap->ensure_mail_msg_exists('email: compose.php', 0);
!
! // time limit should be controlled elsewhere
! //@set_time_limit(0);
! $pass_the_ball_uri = '';
!
! if ($GLOBALS['phpgw']->msg->get_isset_arg('fldball'))
! {
! $my_fldball = $GLOBALS['phpgw']->msg->get_arg_value('fldball');
! $pass_the_ball_uri = '&fldball[folder]='.$my_fldball['folder']
!
.'&fldball[acctnum]='.$my_fldball['acctnum'];
! }
! elseif ($GLOBALS['phpgw']->msg->get_isset_arg('msgball'))
! {
! $my_msgball = $GLOBALS['phpgw']->msg->get_arg_value('msgball');
! $pass_the_ball_uri = '&msgball[folder]='.$my_msgball['folder']
!
.'&msgball[acctnum]='.$my_msgball['acctnum']
!
.'&msgball[msgnum]='.$my_msgball['msgnum'];
! }
! else
! {
! $pass_the_ball_uri = '&fldball[folder]=INBOX'
! .'&fldball[acctnum]=0';
! }
!
! header('Location: '.$GLOBALS['phpgw']->link(
! '/index.php',
! 'menuaction=email.uicompose.compose'.
! $pass_the_ball_uri.
! '&to='.$to.
! '&cc='.$cc.
! '&bcc='.$bcc.
! '&subject='.$subject.
! '&body='.$body.
! '&personal='.$personal.
! '&sort='.$sort.
! '&order='.$order.
! '&start='.$start));
!
! if (is_object($GLOBALS['phpgw']->msg))
! {
! $terminate = True;
! }
! else
! {
! $terminate = False;
! }
!
! if ($terminate == True)
! {
! // close down ALL mailserver streams
! $GLOBALS['phpgw']->msg->end_request();
! // destroy the object
! $GLOBALS['phpgw']->msg = '';
! unset($GLOBALS['phpgw']->msg);
! }
! // shut down this transaction
! $GLOBALS['phpgw']->common->phpgw_exit(False);
!
! ?>
--- 1,93 ----
! <?php
!
/**************************************************************************\
! * phpGroupWare - E-Mail *
! * http://www.phpgroupware.org *
! * Based on Aeromail by Mark C3ushman <address@hidden> *
! * http://the.cushman.net/ *
! * Currently maintained by Angles <address@hidden> *
! * -------------------------------------------- *
! * This program is free software; you can redistribute it and/or modify
it *
! * under the terms of the GNU General Public License as published by the
*
! * Free Software Foundation; either version 2 of the License, or (at
your *
! * option) any later version. *
!
\**************************************************************************/
! /* $Id$ */
!
! Header('Cache-Control: no-cache');
! Header('Pragma: no-cache');
! Header('Expires: Sat, Jan 01 2000 01:01:01 GMT');
!
! $GLOBALS['phpgw_info']['flags'] = array(
! 'currentapp' => 'email',
! 'noheader' => True,
! 'nofooter' => True,
! 'nonavbar' => True,
! 'noappheader' => True,
! 'noappfooter' => True
! );
! include('../header.inc.php');
!
! // we need a msg object BUT NO LOGIN IS NEEDED
! $my_msg_bootstrap = '';
! $my_msg_bootstrap = CreateObject("email.msg_bootstrap");
! $my_msg_bootstrap->set_do_login(False);
! $my_msg_bootstrap->ensure_mail_msg_exists('email: compose.php', 0);
!
! // time limit should be controlled elsewhere
! //@set_time_limit(0);
! $pass_the_ball_uri = '';
!
! if ($GLOBALS['phpgw']->msg->get_isset_arg('fldball'))
! {
! $my_fldball = $GLOBALS['phpgw']->msg->get_arg_value('fldball');
! $pass_the_ball_uri = '&fldball[folder]='.$my_fldball['folder']
!
.'&fldball[acctnum]='.$my_fldball['acctnum'];
! }
! elseif ($GLOBALS['phpgw']->msg->get_isset_arg('msgball'))
! {
! $my_msgball = $GLOBALS['phpgw']->msg->get_arg_value('msgball');
! $pass_the_ball_uri = '&msgball[folder]='.$my_msgball['folder']
!
.'&msgball[acctnum]='.$my_msgball['acctnum']
!
.'&msgball[msgnum]='.$my_msgball['msgnum'];
! }
! else
! {
! $pass_the_ball_uri = '&fldball[folder]=INBOX'
! .'&fldball[acctnum]=0';
! }
!
! header('Location: '.$GLOBALS['phpgw']->link(
! '/index.php',
! 'menuaction=email.uicompose.compose'.
! $pass_the_ball_uri.
! '&to='.$to.
! '&cc='.$cc.
! '&bcc='.$bcc.
! '&subject='.$subject.
! '&body='.$body.
! '&personal='.$personal.
! '&sort='.$sort.
! '&order='.$order.
! '&start='.$start));
!
! if (is_object($GLOBALS['phpgw']->msg))
! {
! $terminate = True;
! }
! else
! {
! $terminate = False;
! }
!
! if ($terminate == True)
! {
! // close down ALL mailserver streams
! $GLOBALS['phpgw']->msg->end_request();
! // destroy the object
! $GLOBALS['phpgw']->msg = '';
! unset($GLOBALS['phpgw']->msg);
! }
! // shut down this transaction
! $GLOBALS['phpgw']->common->phpgw_exit(False);
!
! ?>
Index: index.php
===================================================================
RCS file: /cvsroot/phpgroupware/email/index.php,v
retrieving revision 1.89
retrieving revision 1.90
diff -C2 -r1.89 -r1.90
*** index.php 25 Oct 2002 12:45:52 -0000 1.89
--- index.php 14 Mar 2003 04:00:00 -0000 1.90
***************
*** 1,101 ****
! <?php
!
/**************************************************************************\
! * phpGroupWare - E-Mail
*
! * http://www.phpgroupware.org
*
! * Based on Aeromail by Mark C3ushman <address@hidden>
*
! * http://the.cushman.net/
*
! * Currently maintained by Angles <address@hidden> *
! *
------------------------------------------------------------------------ *
! * This program is free software; you can redistribute it and/or modify
it *
! * under the terms of the GNU General Public License as published by
the *
! * Free Software Foundation; either version 2 of the License, or (at
your *
! * option) any later version.
*
!
\**************************************************************************/
!
! /* $Id$ */
!
! Header('Cache-Control: no-cache');
! Header('Pragma: no-cache');
! Header('Expires: Sat, Jan 01 2000 01:01:01 GMT');
!
! $GLOBALS['phpgw_info']['flags'] = array(
! 'currentapp' => 'email',
! 'noheader' => True,
! 'nofooter' => True,
! 'nonavbar' => True,
! 'noappheader' => True,
! 'noappfooter' => True
! );
! include('../header.inc.php');
!
! /*
! time limit should be controlled elsewhere
! @set_time_limit(0);
!
! this index page is acting like a calling app which wants the HTML
produced by mail.uiindex.index
! but DOES NOT want mail.uiindex.index to actually echo or print out any
HTML
! we, the calling app, will handle the outputting of the HTML
! $is_modular = True;
! */
!
! $simple_redirect = True;
! //$simple_redirect = False;
!
! if ($simple_redirect == True)
! {
! //header('Location:
'.$GLOBALS['phpgw']->link('/index.php','menuaction=email.uiindex.index'));
!
$GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/index.php','menuaction=email.uiindex.index'));
! if (is_object($GLOBALS['phpgw']->msg))
! {
! // close down ALL mailserver streams
! $GLOBALS['phpgw']->msg->end_request();
! // destroy the object
! $GLOBALS['phpgw']->msg = '';
! unset($GLOBALS['phpgw']->msg);
! }
! // shut down this transaction
! $GLOBALS['phpgw']->common->phpgw_exit(False);
! }
! else
! {
! /*
! // OBSOLETED CODE
! // pretend we are a calling app outputting some HTML, including
the header and navbar
! $GLOBALS['phpgw']->common->phpgw_header();
! echo parse_navbar();
! // retrieve the html data from class uiindex
! $obj = CreateObject('email.uiindex');
! $obj->set_is_modular(True);
! $retured_html = $obj->index();
! // time for us to output the returned html data
! echo $retured_html;
! // now as the calling app, it's time to output the bottom of
the page
! $GLOBALS['phpgw']->common->phpgw_footer();
! */
!
! /*
! // NOTE: this does NOT WORK
! // make a uiinex object and make it do its job
! // it will output the header, navbar, class HTML data, and
footer
! class uiindex_holder
! {
! var $uiindex_obj = '';
! }
!
! $my_msg_bootstrap = '';
! $my_msg_bootstrap = CreateObject('email.msg_bootstrap');
! $my_msg_bootstrap->ensure_mail_msg_exists('index.php', 3);
!
! echo 'calling CreateObject email.uiindex <br>';
! $GLOBALS['phphw_uiindex'] = new uiindex_holder;
! $GLOBALS['phphw_uiindex']->uiindex_obj =
CreateObject('email.uiindex');
! echo 'done calling CreateObject email.uiindex <br>';
! $GLOBALS['phphw_uiindex']->uiindex_obj->index();
! // STRANGEly enough, menuaction=email.uiindex.index as
non-module STILL requires an
! // outside-the-class entity to call common->phpgw_footer(),
eventhough the class itself will
! // output the header and navbar, but it may not output
common->phpgw_footer() else page gets 2 footers
! //$GLOBALS['phpgw']->common->phpgw_footer();
! */
! }
!
! ?>
--- 1,101 ----
! <?php
!
/**************************************************************************\
! * phpGroupWare - E-Mail
*
! * http://www.phpgroupware.org
*
! * Based on Aeromail by Mark C3ushman <address@hidden>
*
! * http://the.cushman.net/
*
! * Currently maintained by Angles <address@hidden> *
! *
------------------------------------------------------------------------ *
! * This program is free software; you can redistribute it and/or modify
it *
! * under the terms of the GNU General Public License as published by
the *
! * Free Software Foundation; either version 2 of the License, or (at
your *
! * option) any later version.
*
!
\**************************************************************************/
!
! /* $Id$ */
!
! Header('Cache-Control: no-cache');
! Header('Pragma: no-cache');
! Header('Expires: Sat, Jan 01 2000 01:01:01 GMT');
!
! $GLOBALS['phpgw_info']['flags'] = array(
! 'currentapp' => 'email',
! 'noheader' => True,
! 'nofooter' => True,
! 'nonavbar' => True,
! 'noappheader' => True,
! 'noappfooter' => True
! );
! include('../header.inc.php');
!
! /*
! time limit should be controlled elsewhere
! @set_time_limit(0);
!
! this index page is acting like a calling app which wants the HTML
produced by mail.uiindex.index
! but DOES NOT want mail.uiindex.index to actually echo or print out any
HTML
! we, the calling app, will handle the outputting of the HTML
! $is_modular = True;
! */
!
! $simple_redirect = True;
! //$simple_redirect = False;
!
! if ($simple_redirect == True)
! {
! //header('Location:
'.$GLOBALS['phpgw']->link('/index.php','menuaction=email.uiindex.index'));
!
$GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/index.php','menuaction=email.uiindex.index'));
! if (is_object($GLOBALS['phpgw']->msg))
! {
! // close down ALL mailserver streams
! $GLOBALS['phpgw']->msg->end_request();
! // destroy the object
! $GLOBALS['phpgw']->msg = '';
! unset($GLOBALS['phpgw']->msg);
! }
! // shut down this transaction
! $GLOBALS['phpgw']->common->phpgw_exit(False);
! }
! else
! {
! /*
! // OBSOLETED CODE
! // pretend we are a calling app outputting some HTML, including
the header and navbar
! $GLOBALS['phpgw']->common->phpgw_header();
! echo parse_navbar();
! // retrieve the html data from class uiindex
! $obj = CreateObject('email.uiindex');
! $obj->set_is_modular(True);
! $retured_html = $obj->index();
! // time for us to output the returned html data
! echo $retured_html;
! // now as the calling app, it's time to output the bottom of
the page
! $GLOBALS['phpgw']->common->phpgw_footer();
! */
!
! /*
! // NOTE: this does NOT WORK
! // make a uiinex object and make it do its job
! // it will output the header, navbar, class HTML data, and
footer
! class uiindex_holder
! {
! var $uiindex_obj = '';
! }
!
! $my_msg_bootstrap = '';
! $my_msg_bootstrap = CreateObject('email.msg_bootstrap');
! $my_msg_bootstrap->ensure_mail_msg_exists('index.php', 3);
!
! echo 'calling CreateObject email.uiindex <br>';
! $GLOBALS['phphw_uiindex'] = new uiindex_holder;
! $GLOBALS['phphw_uiindex']->uiindex_obj =
CreateObject('email.uiindex');
! echo 'done calling CreateObject email.uiindex <br>';
! $GLOBALS['phphw_uiindex']->uiindex_obj->index();
! // STRANGEly enough, menuaction=email.uiindex.index as
non-module STILL requires an
! // outside-the-class entity to call common->phpgw_footer(),
eventhough the class itself will
! // output the header and navbar, but it may not output
common->phpgw_footer() else page gets 2 footers
! //$GLOBALS['phpgw']->common->phpgw_footer();
! */
! }
!
! ?>
Index: view_image.php
===================================================================
RCS file: /cvsroot/phpgroupware/email/view_image.php,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -r1.15 -r1.16
*** view_image.php 25 Oct 2002 12:45:52 -0000 1.15
--- view_image.php 14 Mar 2003 04:00:04 -0000 1.16
***************
*** 1,70 ****
! <?php
! /**************************************************************************\
! * phpGroupWare - E-Mail *
! * http://www.phpgroupware.org *
! * Based on Aeromail by Mark Cushman <address@hidden> *
! * http://the.cushman.net/ *
! * -------------------------------------------- *
! * This program is free software; you can redistribute it and/or modify it *
! * under the terms of the GNU General Public License as published by the *
! * Free Software Foundation; either version 2 of the License, or (at your *
! * option) any later version. *
! \**************************************************************************/
!
! /* $Id$ */
!
! $GLOBALS['phpgw_info']['flags'] = array(
! 'currentapp' => 'email',
! 'enable_network_class' => True,
! 'noheader' => True,
! 'nonavbar' => True
! );
! include('../header.inc.php');
! /*
! if (isset($GLOBALS['phpgw_info']['flags']['newsmode']) &&
$GLOBALS['phpgw_info']['flags']['newsmode'])
! {
! $GLOBALS['phpgw']->common->read_preferences('nntp');
! }
! @set_time_limit(0);
!
! echo 'Mailbox = '.$mailbox.'<br>'."\n";
! echo 'Mailbox = '.$GLOBALS['phpgw']->msg->mailsvr_stream.'<br>'."\n";
! echo 'Msgnum = '.$m.'<br>'."\n";
! echo 'Part Number = '.$p.'<br>'."\n";
! echo 'Subtype = '.$s.'<br>'."\n";
! */
! //$data =
$GLOBALS['phpgw']->dcom->fetchbody($GLOBALS['phpgw']->msg->mailsvr_stream, $m,
$p);
! $data = $GLOBALS['phpgw']->msg->phpgw_fetchbody($p);
! //$picture = $GLOBALS['phpgw']->dcom->base64($data);
! $picture = $GLOBALS['phpgw']->msg->de_base64($data);
!
! // echo strlen($picture)."<br>\n";
! // echo $data;
!
! Header('Content-length: '.strlen($picture));
! Header('Content-type: image/'.$s);
! Header('Content-disposition: attachment; filename="'.urldecode($n).'"');
! echo $picture;
! flush();
!
// IS THIS FILE EVER USED ANYMORE?
! if (is_object($GLOBALS['phpgw']->msg))
! {
! $terminate = True;
! }
! else
! {
! $terminate = False;
! }
!
! if ($terminate == True)
! {
! // close down ALL mailserver streams
! $GLOBALS['phpgw']->msg->end_request();
! // destroy the object
! $GLOBALS['phpgw']->msg = '';
! unset($GLOBALS['phpgw']->msg);
! }
! // shut down this transaction
! $GLOBALS['phpgw']->common->phpgw_exit(False);
! ?>
--- 1,70 ----
! <?php
! /**************************************************************************\
! * phpGroupWare - E-Mail *
! * http://www.phpgroupware.org *
! * Based on Aeromail by Mark Cushman <address@hidden> *
! * http://the.cushman.net/ *
! * -------------------------------------------- *
! * This program is free software; you can redistribute it and/or modify it *
! * under the terms of the GNU General Public License as published by the *
! * Free Software Foundation; either version 2 of the License, or (at your *
! * option) any later version. *
! \**************************************************************************/
!
! /* $Id$ */
!
! $GLOBALS['phpgw_info']['flags'] = array(
! 'currentapp' => 'email',
! 'enable_network_class' => True,
! 'noheader' => True,
! 'nonavbar' => True
! );
! include('../header.inc.php');
! /*
! if (isset($GLOBALS['phpgw_info']['flags']['newsmode']) &&
$GLOBALS['phpgw_info']['flags']['newsmode'])
! {
! $GLOBALS['phpgw']->common->read_preferences('nntp');
! }
! @set_time_limit(0);
!
! echo 'Mailbox = '.$mailbox.'<br>'."\n";
! echo 'Mailbox = '.$GLOBALS['phpgw']->msg->mailsvr_stream.'<br>'."\n";
! echo 'Msgnum = '.$m.'<br>'."\n";
! echo 'Part Number = '.$p.'<br>'."\n";
! echo 'Subtype = '.$s.'<br>'."\n";
! */
! //$data =
$GLOBALS['phpgw']->dcom->fetchbody($GLOBALS['phpgw']->msg->mailsvr_stream, $m,
$p);
! $data = $GLOBALS['phpgw']->msg->phpgw_fetchbody($p);
! //$picture = $GLOBALS['phpgw']->dcom->base64($data);
! $picture = $GLOBALS['phpgw']->msg->de_base64($data);
!
! // echo strlen($picture)."<br>\n";
! // echo $data;
!
! Header('Content-length: '.strlen($picture));
! Header('Content-type: image/'.$s);
! Header('Content-disposition: attachment; filename="'.urldecode($n).'"');
! echo $picture;
! flush();
!
// IS THIS FILE EVER USED ANYMORE?
! if (is_object($GLOBALS['phpgw']->msg))
! {
! $terminate = True;
! }
! else
! {
! $terminate = False;
! }
!
! if ($terminate == True)
! {
! // close down ALL mailserver streams
! $GLOBALS['phpgw']->msg->end_request();
! // destroy the object
! $GLOBALS['phpgw']->msg = '';
! unset($GLOBALS['phpgw']->msg);
! }
! // shut down this transaction
! $GLOBALS['phpgw']->common->phpgw_exit(False);
! ?>
--- test.php DELETED ---
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] CVS: email ChangeLog.beta1final--1.0,1.1,1.2 ChangeLog.codehere--1.1,1.2,1.3 ChangeLog.core--1.1,1.1,1.2 ChangeLog.lex--1.1,1.1,1.2 ChangeLog.ryan--1.1,1.1,1.2 addressbook-js.changelog.txt,1.1,1.2 addressbook-js.php,1.1,1.2 addressbook.php,1.37,1.38 attach_file.php,1.27,1.28 compose.php,1.50,1.51 index.php,1.89,1.90 view_image.php,1.15,1.16 test.php,1.1,NONE,
Ralf Becker <address@hidden> <=
- Prev by Date:
[Phpgroupware-cvs] CVS: email/setup phpgw_en.lang,1.17,1.18 phpgw_es.lang,1.10,1.11 phpgw_fr.lang,1.9,1.10 phpgw_it.lang,1.4,1.5 phpgw_ja.lang,1.6,1.7 phpgw_pt.lang,1.3,1.4 phpgw_sv.lang,1.3,1.4 setup.inc.php,1.17,1.18 phpgw_pl.lang,1.1,NONE
- Next by Date:
[Phpgroupware-cvs] CVS: email/inc class.boaction.inc.php,1.16,1.17 class.boattach_file.inc.php,1.3,1.4 class.bocompose.inc.php,1.7,1.8 class.bofilters.inc.php,1.13,1.14 class.bofolder.inc.php,1.7,1.8 class.boindex.inc.php,1.29,1.30class.bojsaddressbook.inc.php,1.1,1.2 class.bomessage.inc.php,1.13,1.14class.bopreferences.inc.php,1.22,1.23 class.bosend.inc.php,1.10,1.11 class.html_widgets.inc.php,1.2,1.3 class.mail_dcom.inc.php,1.9,1.10class.mail_dcom_base.inc.php,1.8,1.9 class.mail_dcom_base_sock.inc.php,1.23,1.24 class.mail_dcom_imap.inc.php,1.20,1.21 class.mail_dcom_imap_sock.inc.php,1.14,1.15 class.mail_dcom_nntp.inc.php,1.3,1.4 class.mail_dcom_nntp_sock.inc.php,1.4,1.5 class.mail_dcom_pop3.inc.php,1.10,1.11 class.mail_dcom_pop3_sock.inc.php,1.19,1.20 class.mail_filters.inc.php,1.6,1.7 class.mail_msg.inc.php,1.3,1.4 class.mail_msg_base.inc.php,1.77,1.78 class.mail_msg_display.inc.php,1.39,1.40 class.mail_msg_wrappers.inc.php,1.36,1.37class.mail_send.inc.php,1.10,1.11 class.msg_bootstrap.inc.php,1.1,1.2 class.spell.inc.php,1.1,1.2 class.spell_struct.inc.php,1.1,1.2class.spell_svc_none.inc.php,1.1,1.2 class.spell_svc_php.inc.php,1.1,1.2class.svc_nextmatches.inc.php,1.1,1.2 class.ui_mail_debug.inc.php,1.1,1.2 class.uiattach_file.inc.php,1.1,1.2 class.uicompose.inc.php,1.3,1.4 class.uifilters.inc.php,1.11,1.12 class.uifolder.inc.php,1.3,1.4 class.uiindex.inc.php,1.20,1.21class.uijsaddressbook.inc.php,1.2,1.3 class.uimessage.inc.php,1.8,1.9 class.uipreferences.inc.php,1.15,1.16 functions.inc.php,1.115,1.116 hook_admin.inc.php,1.5,1.6 hook_home.inc.php,1.55,1.56 hook_manual.inc.php,1.7,1.8 hook_notifywindow.inc.php,1.10,1.11 hook_notifywindow_simple.inc.php,1.8,1.9 hook_preferences.inc.php,1.13,1.14 selectboxes.js,1.1,1.2 hook_add_def_pref.inc.php,1.1,NONE hook_help.inc.php,1.1,NONE
- Previous by thread:
[Phpgroupware-cvs] CVS: email/setup phpgw_en.lang,1.17,1.18 phpgw_es.lang,1.10,1.11 phpgw_fr.lang,1.9,1.10 phpgw_it.lang,1.4,1.5 phpgw_ja.lang,1.6,1.7 phpgw_pt.lang,1.3,1.4 phpgw_sv.lang,1.3,1.4 setup.inc.php,1.17,1.18 phpgw_pl.lang,1.1,NONE
- Next by thread:
[Phpgroupware-cvs] CVS: email/inc class.boaction.inc.php,1.16,1.17 class.boattach_file.inc.php,1.3,1.4 class.bocompose.inc.php,1.7,1.8 class.bofilters.inc.php,1.13,1.14 class.bofolder.inc.php,1.7,1.8 class.boindex.inc.php,1.29,1.30class.bojsaddressbook.inc.php,1.1,1.2 class.bomessage.inc.php,1.13,1.14class.bopreferences.inc.php,1.22,1.23 class.bosend.inc.php,1.10,1.11 class.html_widgets.inc.php,1.2,1.3 class.mail_dcom.inc.php,1.9,1.10class.mail_dcom_base.inc.php,1.8,1.9 class.mail_dcom_base_sock.inc.php,1.23,1.24 class.mail_dcom_imap.inc.php,1.20,1.21 class.mail_dcom_imap_sock.inc.php,1.14,1.15 class.mail_dcom_nntp.inc.php,1.3,1.4 class.mail_dcom_nntp_sock.inc.php,1.4,1.5 class.mail_dcom_pop3.inc.php,1.10,1.11 class.mail_dcom_pop3_sock.inc.php,1.19,1.20 class.mail_filters.inc.php,1.6,1.7 class.mail_msg.inc.php,1.3,1.4 class.mail_msg_base.inc.php,1.77,1.78 class.mail_msg_display.inc.php,1.39,1.40 class.mail_msg_wrappers.inc.php,1.36,1.37class.mail_send.inc.php,1.10,1.11 class.msg_bootstrap.inc.php,1.1,1.2 class.spell.inc.php,1.1,1.2 class.spell_struct.inc.php,1.1,1.2class.spell_svc_none.inc.php,1.1,1.2 class.spell_svc_php.inc.php,1.1,1.2class.svc_nextmatches.inc.php,1.1,1.2 class.ui_mail_debug.inc.php,1.1,1.2 class.uiattach_file.inc.php,1.1,1.2 class.uicompose.inc.php,1.3,1.4 class.uifilters.inc.php,1.11,1.12 class.uifolder.inc.php,1.3,1.4 class.uiindex.inc.php,1.20,1.21class.uijsaddressbook.inc.php,1.2,1.3 class.uimessage.inc.php,1.8,1.9 class.uipreferences.inc.php,1.15,1.16 functions.inc.php,1.115,1.116 hook_admin.inc.php,1.5,1.6 hook_home.inc.php,1.55,1.56 hook_manual.inc.php,1.7,1.8 hook_notifywindow.inc.php,1.10,1.11 hook_notifywindow_simple.inc.php,1.8,1.9 hook_preferences.inc.php,1.13,1.14 selectboxes.js,1.1,1.2 hook_add_def_pref.inc.php,1.1,NONE hook_help.inc.php,1.1,NONE
- Index(es):