[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] CVS: email/inc class.bofolder.inc.php,1.3,1.4 class.m
From: |
Angelo Tony Puglisi <address@hidden> |
Subject: |
[Phpgroupware-cvs] CVS: email/inc class.bofolder.inc.php,1.3,1.4 class.mail_msg_base.inc.php,1.55,1.56 class.mail_msg_display.inc.php,1.27,1.28 class.mail_msg_wrappers.inc.php,1.20,1.21 |
Date: |
Wed, 09 Jan 2002 05:55:32 -0500 |
Update of /cvsroot/phpgroupware//email/inc
In directory subversions:/tmp/cvs-serv28651/email/inc
Modified Files:
class.bofolder.inc.php class.mail_msg_base.inc.php
class.mail_msg_display.inc.php class.mail_msg_wrappers.inc.php
Log Message:
folder list cached to appsession
Index: class.bofolder.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware//email/inc/class.bofolder.inc.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** class.bofolder.inc.php 3 Jan 2002 10:03:27 -0000 1.3
--- class.bofolder.inc.php 9 Jan 2002 10:55:29 -0000 1.4
***************
*** 280,284 ****
// ---- Get a List Of All Folders AND Display them
----
! $folder_list =
$GLOBALS['phpgw']->msg->get_folder_list('');
if ($this->debug) { echo 'email.bofolder.folder_data:
$folder_list[] dump:<pre>'; print_r($folder_list); echo '</pre>'; }
--- 280,284 ----
// ---- Get a List Of All Folders AND Display them
----
! $folder_list =
$GLOBALS['phpgw']->msg->get_folder_list();
if ($this->debug) { echo 'email.bofolder.folder_data:
$folder_list[] dump:<pre>'; print_r($folder_list); echo '</pre>'; }
Index: class.mail_msg_base.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware//email/inc/class.mail_msg_base.inc.php,v
retrieving revision 1.55
retrieving revision 1.56
diff -C2 -r1.55 -r1.56
*** class.mail_msg_base.inc.php 9 Jan 2002 00:30:53 -0000 1.55
--- class.mail_msg_base.inc.php 9 Jan 2002 10:55:29 -0000 1.56
***************
*** 66,69 ****
--- 66,70 ----
var $session_cache_debug_nosave = False;
+ // DEPRECIATED: folder_list now cached to appsession / temporary cache
// (B) "folder list" caching (default value here, will be overridden by
preferences item "cache_data")
// currently caches "mailsvr_namespace" and "get_folder_list" responses
to the prefs DB
***************
*** 1207,1210 ****
--- 1208,1212 ----
// do we have cached data that we can use?
$class_cached_mailsvr_namespace =
$this->_direct_access_arg_value('mailsvr_namespace', $acctnum);
+ if ($this->debug_args_special_handlers > 1) { echo 'mail_msg:
get_mailsvr_namespace: check for L1 class var cached data:
$this->_direct_access_arg_value(mailsvr_namespace, '.$acctnum.'); returns:
'.serialize($class_cached_mailsvr_namespace).'<br>'; }
if ($class_cached_mailsvr_namespace != '')
{
***************
*** 1229,1232 ****
--- 1231,1250 ----
}
*/
+ // -----------
+ // TRY CACHED DATA FROM APPSESSION
+ // -----------
+ // try to restore "mailsvr_namespace" from saved appsession
data store
+ $appsession_cached_mailsvr_namespace =
$this->read_session_cache_item('mailsvr_namespace', $acctnum);
+ if ($appsession_cached_mailsvr_namespace)
+ {
+ // cache the result in "level one cache" class var
holder
+ if ($this->debug_args_special_handlers > 1) { echo
'mail_msg: get_mailsvr_namespace: put appsession retored data into "level 1
cache, class var" arg $this->set_arg_value(mailsvr_namespace,
'.$appsession_cached_mailsvr_namespace['mailsvr_namespace'].', '.$acctnum.'])
<br>'; }
+ $this->set_arg_value('mailsvr_namespace',
$appsession_cached_mailsvr_namespace['mailsvr_namespace'], $acctnum);
+
+ if ($this->debug_args_special_handlers > 0) { echo
'mail_msg: get_mailsvr_namespace: LEAVING, returned appsession cached data:
'.serialize($appsession_cached_mailsvr_namespace['mailsvr_namespace']).'<br>'; }
+ return
$appsession_cached_mailsvr_namespace['mailsvr_namespace'];
+ }
+
+
// no cached data of any kind we can use ...
***************
*** 1343,1347 ****
$this->set_cached_data($my_function_name,'string',$name_space);
*/
!
if ($this->debug_args_special_handlers > 0) { echo 'mail_msg:
get_mailsvr_namespace: LEAVING, returning $name_space:
'.serialize($name_space).'<br>'; }
return $name_space;
--- 1361,1371 ----
$this->set_cached_data($my_function_name,'string',$name_space);
*/
! // -----------
! // SAVE DATA TO APPSESSION CACHE
! // -----------
! // save "mailsvr_namespace" to appsession data store
! if ($this->debug_args_special_handlers > 1) { echo 'mail_msg:
get_mailsvr_namespace: set appsession cache
$this->save_session_cache_item(mailsvr_namespace, '.$name_space.',
'.$acctnum.']) <br>'; }
! $this->save_session_cache_item('mailsvr_namespace',
$name_space, $acctnum);
!
if ($this->debug_args_special_handlers > 0) { echo 'mail_msg:
get_mailsvr_namespace: LEAVING, returning $name_space:
'.serialize($name_space).'<br>'; }
return $name_space;
***************
*** 1559,1569 ****
may call directly if you can't to manually force_refresh any cached
data
*/
! function get_folder_list($mailsvr_stream='', $force_refresh=False)
{
// what acctnum is operative here, we can only get a folder
list for one account at a time (obviously)
! $this_acctnum = $this->get_acctnum();
!
if ($this->debug_args_special_handlers > 0) { echo 'mail_msg:
get_folder_list: ENTERING<br>'; }
! if ($this->debug_args_special_handlers > 1) { echo 'mail_msg:
get_folder_list: for the rest of this function we will use $this_acctnum:
['.$this_acctnum.'] <br>'; }
if (stristr($this->skip_args_special_handlers,
'get_folder_list'))
--- 1583,1596 ----
may call directly if you can't to manually force_refresh any cached
data
*/
! function get_folder_list($acctnum='', $force_refresh=False)
{
// what acctnum is operative here, we can only get a folder
list for one account at a time (obviously)
! if ((!isset($acctnum))
! || ((string)$acctnum == ''))
! {
! $acctnum = $this->get_acctnum();
! }
if ($this->debug_args_special_handlers > 0) { echo 'mail_msg:
get_folder_list: ENTERING<br>'; }
! if ($this->debug_args_special_handlers > 1) { echo 'mail_msg:
get_folder_list: for the rest of this function we will use $acctnum:
['.$acctnum.'] <br>'; }
if (stristr($this->skip_args_special_handlers,
'get_folder_list'))
***************
*** 1573,1602 ****
$fake_return[0]['folder_long'] = 'INBOX';
$fake_return[0]['folder_short'] = 'INBOX';
! $fake_return[0]['acctnum'] = $this_acctnum;
if ($this->debug_args_special_handlers > 0) { echo
'mail_msg: get_folder_list: LEAVING, debug SKIP, $fake_return:
'.serialize($fake_return).' <br>'; }
return $fake_return;
}
! if ($this->debug_args_special_handlers > 2) { echo 'mail_msg:
get_folder_list: $$this->_direct_access_arg_value(folder_list) dump:<pre>';
print_r($this->_direct_access_arg_value('folder_list')); echo '</pre>'; }
!
! if ((!$mailsvr_stream)
! || ($mailsvr_stream == ''))
! {
! $mailsvr_stream =
$this->get_arg_value('mailsvr_stream');
! }
! // check if class dcom reports that the folder list has changed
! //$tmp_a = $this->a[$this->acctnum];
! //if ((isset($tmp_a['dcom']))
! //&& ($tmp_a['dcom']->folder_list_changed == True))
! if ((is_object($GLOBALS['phpgw_dcom_'.$this_acctnum]->dcom))
! &&
($GLOBALS['phpgw_dcom_'.$this_acctnum]->dcom->folder_list_changed == True))
{
// class dcom recorded a change in the folder list
// supposed to happen when create or delete mailbox is
called
// reset the changed flag
! // $tmp_a['dcom']->folder_list_changed = False;
!
$GLOBALS['phpgw_dcom_'.$this_acctnum]->dcom->folder_list_changed = False;
// set up for a force_refresh
$force_refresh = True;
--- 1600,1620 ----
$fake_return[0]['folder_long'] = 'INBOX';
$fake_return[0]['folder_short'] = 'INBOX';
! $fake_return[0]['acctnum'] = $acctnum;
if ($this->debug_args_special_handlers > 0) { echo
'mail_msg: get_folder_list: LEAVING, debug SKIP, $fake_return:
'.serialize($fake_return).' <br>'; }
return $fake_return;
}
! if ($this->debug_args_special_handlers > 2) { echo 'mail_msg:
get_folder_list: $$this->_direct_access_arg_value(folder_list, '.$acctnum.')
dump:<pre>'; print_r($this->_direct_access_arg_value('folder_list', $acctnum));
echo '</pre>'; }
! $mailsvr_stream = $this->get_arg_value('mailsvr_stream',
$acctnum);
! // check if class dcom reports that the folder list has changed
! if ((is_object($GLOBALS['phpgw_dcom_'.$acctnum]->dcom))
! && ($GLOBALS['phpgw_dcom_'.$acctnum]->dcom->folder_list_changed
== True))
{
// class dcom recorded a change in the folder list
// supposed to happen when create or delete mailbox is
called
// reset the changed flag
!
$GLOBALS['phpgw_dcom_'.$acctnum]->dcom->folder_list_changed = False;
// set up for a force_refresh
$force_refresh = True;
***************
*** 1606,1609 ****
--- 1624,1628 ----
//$blank_list = array();
//$this->set_arg_value('folder_list', $blank_list);
+ /*
$my_function_name = 'get_folder_list';
//$this->remove_cached_data($my_function_name);
***************
*** 1611,1618 ****
// which is probably a good idea, we do not want
mismatched cached items
$this->remove_cached_data('');
}
// see if we have object class var cached data that we can use
! $class_cached_folder_list =
$this->_direct_access_arg_value('folder_list');
if ((count($class_cached_folder_list) > 0)
&& ($force_refresh == False))
--- 1630,1640 ----
// which is probably a good idea, we do not want
mismatched cached items
$this->remove_cached_data('');
+ */
+ // expire appsession cache
+ $this->expire_session_cache_item('folder_list',
$acctnum);
}
// see if we have object class var cached data that we can use
! $class_cached_folder_list =
$this->_direct_access_arg_value('folder_list', $acctnum);
if ((count($class_cached_folder_list) > 0)
&& ($force_refresh == False))
***************
*** 1623,1628 ****
return $class_cached_folder_list;
}
! elseif (($this->get_pref_value('mail_server_type') == 'pop3')
! || ($this->get_pref_value('mail_server_type') == 'pop3s'))
{
// normalize the folder_list property
--- 1645,1650 ----
return $class_cached_folder_list;
}
! elseif (($this->get_pref_value('mail_server_type', $acctnum) ==
'pop3')
! || ($this->get_pref_value('mail_server_type', $acctnum) ==
'pop3s'))
{
// normalize the folder_list property
***************
*** 1632,1638 ****
$my_folder_list[0]['folder_long'] = 'INBOX';
$my_folder_list[0]['folder_short'] = 'INBOX';
! $my_folder_list[0]['acctnum'] = $this_acctnum;
// save result to "Level 1 cache" class arg holder var
! $this->set_arg_value('folder_list', $my_folder_list);
if ($this->debug_args_special_handlers > 0) { echo
'mail_msg: get_folder_list: LEAVING, pop3 servers only have one folder:
INBOX<br>'; }
return $my_folder_list;
--- 1654,1660 ----
$my_folder_list[0]['folder_long'] = 'INBOX';
$my_folder_list[0]['folder_short'] = 'INBOX';
! $my_folder_list[0]['acctnum'] = $acctnum;
// save result to "Level 1 cache" class arg holder var
! $this->set_arg_value('folder_list', $my_folder_list,
$acctnum);
if ($this->debug_args_special_handlers > 0) { echo
'mail_msg: get_folder_list: LEAVING, pop3 servers only have one folder:
INBOX<br>'; }
return $my_folder_list;
***************
*** 1640,1643 ****
--- 1662,1666 ----
elseif ($force_refresh == False)
{
+ /*
// -----------
// TRY CACHED DATA FROM PREFS DB
***************
*** 1646,1666 ****
$my_function_name = 'get_folder_list';
$cached_data =
$this->get_cached_data($my_function_name,'array');
// if there's no data we'll get back a FALSE
if ($cached_data)
{
! if ($this->debug_args_special_handlers > 1) {
echo 'mail_msg: get_folder_list: using *Prefs DB* cached folder list data<br>';}
! if ($this->debug_args_special_handlers > 1) {
echo 'mail_msg: get_folder_list: setting object var
$this->a['.$this_acctnum.'][folder_list] to hold list data<br>';}
// cached folder list does NOT contain
"folder_short" data
// that cuts cached data in 1/2, no need to
cache something this easy to deduce
// therefor... add FOLDER SHORT element to
cached_data array structure
! if ($this->debug_args_special_handlers > 1) {
echo 'mail_msg: get_folder_list: adding [folder_short] element to
$this->a['.$this_acctnum.'][folder_list] array<br>';}
for ($i=0; $i<count($cached_data);$i++)
{
$cached_data[$i]['folder_short'] =
$this->get_folder_short($cached_data[$i]['folder_long']);
! if ($this->debug_args_special_handlers
> 2) { echo ' * *
$cached_data['.$i.'][folder_long]='.$cached_folder_list[$i]['folder_long'].' ;
$cached_folder_list['.$i.'][folder_short]='.$cached_folder_list[$i]['folder_short'].'<br>';}
}
- // cache the result in "Level 1 cache" class
object var
- $this->set_arg_value('folder_list',
$cached_data);
if ($this->debug_args_special_handlers > 2) {
echo 'mail_msg: get_folder_list: $cached_data *after* adding "folder_short"
data<pre>'; print_r($cached_data); echo '</pre>'; }
if ($this->debug_args_special_handlers > 0) {
echo 'mail_msg: get_folder_list: LEAVING, got data from cache<br>'; }
return $cached_data;
--- 1669,1710 ----
$my_function_name = 'get_folder_list';
$cached_data =
$this->get_cached_data($my_function_name,'array');
+ */
+ // -----------
+ // TRY CACHED DATA FROM APPSESSION
+ // -----------
+ // try to restore "folder_list" from saved appsession
data store
+ $appsession_cached_folder_list =
$this->read_session_cache_item('folder_list', $acctnum);
+ if ($appsession_cached_folder_list)
+ {
+ if ($this->debug_args_special_handlers > 1) {
echo 'mail_msg: get_folder_list: got appsession cached data<br>'; }
+ $cached_data =
$appsession_cached_folder_list['folder_list'];
+ if ($this->debug_args_special_handlers > 2) {
echo 'mail_msg: get_folder_list: appsession cached data dump<pre>';
print_r($cached_data); echo '</pre>'; }
+ // we no longer need this var
+ $appsession_cached_folder_list['folder_list'] =
'';
+ }
+ else
+ {
+ if ($this->debug_args_special_handlers > 1) {
echo 'mail_msg: get_folder_list: NO appsession cached data was available<br>'; }
+ $cached_data = False;
+ }
+
// if there's no data we'll get back a FALSE
if ($cached_data)
{
! //if ($this->debug_args_special_handlers > 1) {
echo 'mail_msg: get_folder_list: using *Prefs DB* cached folder list data<br>';}
! if ($this->debug_args_special_handlers > 1) {
echo 'mail_msg: get_folder_list: using appsession cached folder list data<br>';}
// cached folder list does NOT contain
"folder_short" data
// that cuts cached data in 1/2, no need to
cache something this easy to deduce
// therefor... add FOLDER SHORT element to
cached_data array structure
! if ($this->debug_args_special_handlers > 1) {
echo 'mail_msg: get_folder_list: adding [folder_short] element to
$this->a['.$acctnum.'][folder_list] array<br>';}
for ($i=0; $i<count($cached_data);$i++)
{
$cached_data[$i]['folder_short'] =
$this->get_folder_short($cached_data[$i]['folder_long']);
! if ($this->debug_args_special_handlers
> 2) { echo ' * *
$cached_data['.$i.'][folder_long]='.htmlspecialchars($cached_data[$i]['folder_long']).'
;
$cached_data['.$i.'][folder_short]='.htmlspecialchars($cached_data[$i]['folder_short']).'<br>';}
}
if ($this->debug_args_special_handlers > 2) {
echo 'mail_msg: get_folder_list: $cached_data *after* adding "folder_short"
data<pre>'; print_r($cached_data); echo '</pre>'; }
+ // cache the result in "Level 1 cache" class
object var
+ if ($this->debug_args_special_handlers > 1) {
echo 'mail_msg: get_folder_list: put folder_list into Level 1 class var "cache"
$this->set_arg_value(folder_list, $cached_data, '.$acctnum.');<br>';}
+ $this->set_arg_value('folder_list',
$cached_data, $acctnum);
if ($this->debug_args_special_handlers > 0) {
echo 'mail_msg: get_folder_list: LEAVING, got data from cache<br>'; }
return $cached_data;
***************
*** 1679,1688 ****
// Establish Email Server Connectivity Information
! $server_str = $this->get_arg_value('mailsvr_callstr');
! $name_space = $this->get_arg_value('mailsvr_namespace');
! $delimiter = $this->get_arg_value('mailsvr_delimiter');
// get a list of available folders from the server
! if ($this->get_pref_value('imap_server_type') == 'UWash')
{
if ($this->debug_args_special_handlers > 1) { echo
'mail_msg: get_folder_list: mailserver is of type UWash<br>';}
--- 1723,1732 ----
// Establish Email Server Connectivity Information
! $server_str = $this->get_arg_value('mailsvr_callstr', $acctnum);
! $name_space = $this->get_arg_value('mailsvr_namespace',
$acctnum);
! $delimiter = $this->get_arg_value('mailsvr_delimiter',
$acctnum);
// get a list of available folders from the server
! if ($this->get_pref_value('imap_server_type', $acctnum) ==
'UWash')
{
if ($this->debug_args_special_handlers > 1) { echo
'mail_msg: get_folder_list: mailserver is of type UWash<br>';}
***************
*** 1698,1703 ****
// UWash will consider it relative to the mailuser's
$HOME property as with "emails/*" (DOES THIS WORK ON ALL PLATFORMS??)
// BUT we use <tilde><slash> "~/" if no namespace is
given
! //$mailboxes =
$tmp_a['dcom']->listmailbox($mailsvr_stream, $server_str, "$name_space"
."$delimiter" ."*");
! $mailboxes =
$GLOBALS['phpgw_dcom_'.$this_acctnum]->dcom->listmailbox($mailsvr_stream,
$server_str, "$name_space" ."$delimiter" ."*");
// UWASH IMAP returns information in this format:
// {SERVER_NAME:PORT}FOLDERNAME
--- 1742,1746 ----
// UWash will consider it relative to the mailuser's
$HOME property as with "emails/*" (DOES THIS WORK ON ALL PLATFORMS??)
// BUT we use <tilde><slash> "~/" if no namespace is
given
! $mailboxes =
$GLOBALS['phpgw_dcom_'.$acctnum]->dcom->listmailbox($mailsvr_stream,
$server_str, "$name_space" ."$delimiter" ."*");
// UWASH IMAP returns information in this format:
// {SERVER_NAME:PORT}FOLDERNAME
***************
*** 1714,1722 ****
// so - it's safe to include the delimiter here, but
the INBOX will not be included in the list
// this is typically the ONLY TIME you would ever *not*
use the delimiter between the namespace and what comes after it
! //$mailboxes =
$this->a[$this_acctnum]['dcom']->listmailbox($mailsvr_stream, $server_str,
"$name_space" ."*");
// UPDATED information of this issue: to get shared
folders included in the return, better NOT include the "." delimiter
// example: Cyrus does not like anything but a "*" as
the pattern IF you want shared folders returned.
//$mailboxes =
$tmp_a['dcom']->listmailbox($mailsvr_stream, $server_str, "*");
! $mailboxes =
$GLOBALS['phpgw_dcom_'.$this_acctnum]->dcom->listmailbox($mailsvr_stream,
$server_str, "*");
// returns information in this format:
// {SERVER_NAME:PORT} NAMESPACE DELIMITER FOLDERNAME
--- 1757,1765 ----
// so - it's safe to include the delimiter here, but
the INBOX will not be included in the list
// this is typically the ONLY TIME you would ever *not*
use the delimiter between the namespace and what comes after it
! //$mailboxes =
$this->a[$acctnum]['dcom']->listmailbox($mailsvr_stream, $server_str,
"$name_space" ."*");
// UPDATED information of this issue: to get shared
folders included in the return, better NOT include the "." delimiter
// example: Cyrus does not like anything but a "*" as
the pattern IF you want shared folders returned.
//$mailboxes =
$tmp_a['dcom']->listmailbox($mailsvr_stream, $server_str, "*");
! $mailboxes =
$GLOBALS['phpgw_dcom_'.$acctnum]->dcom->listmailbox($mailsvr_stream,
$server_str, "*");
// returns information in this format:
// {SERVER_NAME:PORT} NAMESPACE DELIMITER FOLDERNAME
***************
*** 1738,1744 ****
$my_folder_list[0]['folder_long'] = 'INBOX';
$my_folder_list[0]['folder_short'] = 'INBOX';
! $my_folder_list[0]['acctnum'] = $this_acctnum;
// save result to "Level 1 cache" class arg holder var
! $this->set_arg_value('folder_list', $my_folder_list);
if ($this->debug_args_special_handlers > 1) { echo
'mail_msg: get_folder_list: error, no mailboxes returned from server, fallback
to "INBOX" as only folder, $this->set_arg_value(folder_list, $my_folder_list)
to hold that value<br>'; }
if ($this->debug_args_special_handlers > 0) { echo
'mail_msg: get_folder_list: LEAVING, with error, no mailboxes returned from
server, return list with only INBOX<br>'; }
--- 1781,1787 ----
$my_folder_list[0]['folder_long'] = 'INBOX';
$my_folder_list[0]['folder_short'] = 'INBOX';
! $my_folder_list[0]['acctnum'] = $acctnum;
// save result to "Level 1 cache" class arg holder var
! $this->set_arg_value('folder_list', $my_folder_list,
$acctnum);
if ($this->debug_args_special_handlers > 1) { echo
'mail_msg: get_folder_list: error, no mailboxes returned from server, fallback
to "INBOX" as only folder, $this->set_arg_value(folder_list, $my_folder_list)
to hold that value<br>'; }
if ($this->debug_args_special_handlers > 0) { echo
'mail_msg: get_folder_list: LEAVING, with error, no mailboxes returned from
server, return list with only INBOX<br>'; }
***************
*** 1784,1788 ****
// make a $my_folder_list array structure with ONLY FOLDER LONG
data
// save that to cache, that cuts cached data in 1/2
! // (LATER - we will add the "folder_short" data
for ($i=0; $i<count($mailboxes);$i++)
{
--- 1827,1831 ----
// make a $my_folder_list array structure with ONLY FOLDER LONG
data
// save that to cache, that cuts cached data in 1/2
! // (LATER - we will add the "folder_short" data)
for ($i=0; $i<count($mailboxes);$i++)
{
***************
*** 1790,1794 ****
if ($this->is_imap_folder($mailboxes[$i]))
{
!
//$this->a[$this_acctnum]['folder_list'][$i]['folder_long'] =
$this->get_folder_long($mailboxes[$i]);
// what we (well, me, Angles) calls a "folder
long" is the raw data returned from the server (fully qualified name)
// MINUS the bracketed server, so we are
calling "folder long" a NAMESPACE_DELIMITER_FOLDER string
--- 1833,1837 ----
if ($this->is_imap_folder($mailboxes[$i]))
{
!
//$this->a[$acctnum]['folder_list'][$i]['folder_long'] =
$this->get_folder_long($mailboxes[$i]);
// what we (well, me, Angles) calls a "folder
long" is the raw data returned from the server (fully qualified name)
// MINUS the bracketed server, so we are
calling "folder long" a NAMESPACE_DELIMITER_FOLDER string
***************
*** 1798,1805 ****
// AS SOON as possible, add data indicating
WHICH ACCOUNT this folder list came from
// while it is still somewhat easy to determine
this
! $my_folder_list[$next_idx]['acctnum'] =
$this_acctnum;
}
}
if ($this->debug_args_special_handlers > 2) { echo 'mail_msg:
get_folder_list: my_folder_list with only "folder_long" dump<pre>';
print_r($my_folder_list); echo '</pre>'; }
// -----------
// SAVE DATA TO PREFS DB CACHE (without the [folder_short] data)
--- 1841,1849 ----
// AS SOON as possible, add data indicating
WHICH ACCOUNT this folder list came from
// while it is still somewhat easy to determine
this
! $my_folder_list[$next_idx]['acctnum'] =
$acctnum;
}
}
if ($this->debug_args_special_handlers > 2) { echo 'mail_msg:
get_folder_list: my_folder_list with only "folder_long" dump<pre>';
print_r($my_folder_list); echo '</pre>'; }
+ /*
// -----------
// SAVE DATA TO PREFS DB CACHE (without the [folder_short] data)
***************
*** 1807,1810 ****
--- 1851,1861 ----
$my_function_name = 'get_folder_list';
$this->set_cached_data($my_function_name,'array',$my_folder_list);
+ */
+ // -----------
+ // SAVE DATA TO APPSESSION DB CACHE (without the [folder_short]
data)
+ // -----------
+ // save "folder_list" (without folder short data) to appsession
data store
+ if ($this->debug_args_special_handlers > 1) { echo 'mail_msg:
get_folder_list: set appsession cache
$this->save_session_cache_item(folder_list, $my_folder_list, '.$acctnum.'])
<br>'; }
+ $this->save_session_cache_item('folder_list', $my_folder_list,
$acctnum);
// add FOLDER SHORT element to folder_list array structure
***************
*** 1815,1824 ****
}
// cache the result to "level 1 cache" class arg holder var
! $this->set_arg_value('folder_list', $my_folder_list);
// finished, return the folder_list array atructure
if ($this->debug_args_special_handlers > 2) { echo 'mail_msg:
get_folder_list: finished, $my_folder_list dump:<pre>';
print_r($my_folder_list); echo '</pre>'; }
if ($this->debug_args_special_handlers > 0) { echo 'mail_msg:
get_folder_list: LEAVING, got folder data from server<br>'; }
- //$this->a[$this->acctnum] = $tmp_a;
return $my_folder_list;
}
--- 1866,1875 ----
}
// cache the result to "level 1 cache" class arg holder var
! if ($this->debug_args_special_handlers > 1) { echo 'mail_msg:
get_folder_list: set Level 1 class var "cache"
$this->set_arg_value(folder_list, $my_folder_list, '.$acctnum.') <br>'; }
! $this->set_arg_value('folder_list', $my_folder_list, $acctnum);
// finished, return the folder_list array atructure
if ($this->debug_args_special_handlers > 2) { echo 'mail_msg:
get_folder_list: finished, $my_folder_list dump:<pre>';
print_r($my_folder_list); echo '</pre>'; }
if ($this->debug_args_special_handlers > 0) { echo 'mail_msg:
get_folder_list: LEAVING, got folder data from server<br>'; }
return $my_folder_list;
}
***************
*** 1841,1847 ****
$mailsvr_stream =
$this->get_arg_value('mailsvr_stream');
}
!
! $folder_list = $this->get_folder_list($mailsvr_stream);
!
//$debug_folder_lookup = True;
$debug_folder_lookup = False;
--- 1892,1899 ----
$mailsvr_stream =
$this->get_arg_value('mailsvr_stream');
}
!
! //$folder_list = $this->get_folder_list($mailsvr_stream);
! $folder_list = $this->get_folder_list();
!
//$debug_folder_lookup = True;
$debug_folder_lookup = False;
Index: class.mail_msg_display.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware//email/inc/class.mail_msg_display.inc.php,v
retrieving revision 1.27
retrieving revision 1.28
diff -C2 -r1.27 -r1.28
*** class.mail_msg_display.inc.php 8 Jan 2002 15:06:03 -0000 1.27
--- class.mail_msg_display.inc.php 9 Jan 2002 10:55:29 -0000 1.28
***************
*** 145,149 ****
{
// get the actual list of folders we are going to put
into the combobox
! $folder_list = $this->get_folder_list('');
// iterate thru the folder list, building the HTML tags
using that data
--- 145,149 ----
{
// get the actual list of folders we are going to put
into the combobox
! $folder_list = $this->get_folder_list();
// iterate thru the folder list, building the HTML tags
using that data
Index: class.mail_msg_wrappers.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware//email/inc/class.mail_msg_wrappers.inc.php,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -r1.20 -r1.21
*** class.mail_msg_wrappers.inc.php 9 Jan 2002 00:30:53 -0000 1.20
--- class.mail_msg_wrappers.inc.php 9 Jan 2002 10:55:29 -0000 1.21
***************
*** 164,171 ****
}
$stream = $this->get_arg_value('mailsvr_stream',
$acctnum);
- //$tmp_a = $this->a[$this->acctnum];
- //$retval = $tmp_a['dcom']->get_body($stream,
$msgball['msgnum']);
$retval =
$GLOBALS['phpgw_dcom_'.$acctnum]->dcom->get_body($stream, $msgball['msgnum']);
- //$this->a[$this->acctnum] = $tmp_a;
return $retval;
}
--- 164,168 ----
***************
*** 194,202 ****
$part_no = $msgball['part_no'];
//echo 'mail_msg(_wrappers): phpgw_fetchbody:
processed: $acctnum: '.$acctnum.'; $stream: '.serialize($stream).'; $msgnum:
'.$msgnum.'; $part_no: '.$part_no.'<br> * $msgball dump<pre>';
print_r($msgball); echo '</pre>';
! //$tmp_a = $this->a[$this->acctnum];
! //$retval = $tmp_a['dcom']->fetchbody($stream, $msgnum,
$part_no, $flags);
! $retval =
$GLOBALS['phpgw_dcom_'.$acctnum]->dcom->fetchbody($stream, $msgnum, $part_no,
$flags);
! //$this->a[$this->acctnum] = $tmp_a;
! return $retval;
}
/*
--- 191,195 ----
$part_no = $msgball['part_no'];
//echo 'mail_msg(_wrappers): phpgw_fetchbody:
processed: $acctnum: '.$acctnum.'; $stream: '.serialize($stream).'; $msgnum:
'.$msgnum.'; $part_no: '.$part_no.'<br> * $msgball dump<pre>';
print_r($msgball); echo '</pre>';
! return
$GLOBALS['phpgw_dcom_'.$acctnum]->dcom->fetchbody($stream, $msgnum, $part_no,
$flags);
}
/*
***************
*** 245,252 ****
The data communications object (class mail_dcom) is supplied by
the class
*/
! function get_msgball_list()
{
// try to restore "msgball_list" from saved session
data store
! $cached_msgball_list =
$this->read_session_cache_item('msgball_list');
if ($cached_msgball_list)
{
--- 238,251 ----
The data communications object (class mail_dcom) is supplied by
the class
*/
! function get_msgball_list($acctnum='')
{
+ if ((!isset($acctnum))
+ || ((string)$acctnum == ''))
+ {
+ $acctnum = $this->get_acctnum();
+ }
+
// try to restore "msgball_list" from saved session
data store
! $cached_msgball_list =
$this->read_session_cache_item('msgball_list', $acctnum);
if ($cached_msgball_list)
{
***************
*** 256,263 ****
{
$server_msgnum_list = array();
! //$tmp_a = $this->a[$this->acctnum];
! //$server_msgnum_list =
$tmp_a['dcom']->sort($this->get_arg_value('mailsvr_stream'),
$this->get_arg_value('sort'), $this->get_arg_value('order'));
! $server_msgnum_list =
$GLOBALS['phpgw_dcom_'.$this->acctnum]->dcom->sort($this->get_arg_value('mailsvr_stream'),
$this->get_arg_value('sort'), $this->get_arg_value('order'));
! //$this->a[$this->acctnum] = $tmp_a;
// put more information about these particular
messages into the msgball_list[] structure
$msgball_list = array();
--- 255,259 ----
{
$server_msgnum_list = array();
! $server_msgnum_list =
$GLOBALS['phpgw_dcom_'.$acctnum]->dcom->sort($this->get_arg_value('mailsvr_stream',
$acctnum), $this->get_arg_value('sort', $acctnum),
$this->get_arg_value('order', $acctnum));
// put more information about these particular
messages into the msgball_list[] structure
$msgball_list = array();
***************
*** 267,277 ****
if ($loops > 0)
{
! $msg_folder =
$this->prep_folder_out($this->get_arg_value('folder'));
! $msg_acctnum = $this->get_acctnum();
for($i=0;$i<$loops;$i++)
{
$msgball_list[$i]['msgnum'] =
$server_msgnum_list[$i];
$msgball_list[$i]['folder'] =
$msg_folder;
! $msgball_list[$i]['acctnum'] =
$msg_acctnum;
// see php manual page
"function.parse-str.html" for explanation of the array'ing of the URI data
// NOTE: this uri NEVER begins
with a "&" here
--- 263,272 ----
if ($loops > 0)
{
! $msg_folder =
$this->prep_folder_out($this->get_arg_value('folder', $acctnum));
for($i=0;$i<$loops;$i++)
{
$msgball_list[$i]['msgnum'] =
$server_msgnum_list[$i];
$msgball_list[$i]['folder'] =
$msg_folder;
! $msgball_list[$i]['acctnum'] =
$acctnum;
// see php manual page
"function.parse-str.html" for explanation of the array'ing of the URI data
// NOTE: this uri NEVER begins
with a "&" here
***************
*** 284,288 ****
}
// save "msgball_list" to session data store
! $this->save_session_cache_item('msgball_list',
$msgball_list);
return $msgball_list;
}
--- 279,283 ----
}
// save "msgball_list" to session data store
! $this->save_session_cache_item('msgball_list',
$msgball_list, $acctnum);
return $msgball_list;
}
***************
*** 301,308 ****
function get_folder_size()
{
- //$tmp_a = $this->a[$this->acctnum];
- //$mailbox_detail =
$tmp_a['dcom']->mailboxmsginfo($this->get_arg_value('mailsvr_stream'));
$mailbox_detail =
$GLOBALS['phpgw_dcom_'.$this->acctnum]->dcom->mailboxmsginfo($this->get_arg_value('mailsvr_stream'));
- //$this->a[$this->acctnum] = $tmp_a;
return $mailbox_detail->Size;
}
--- 296,300 ----
***************
*** 328,341 ****
the integers after you have done any math code and
befor eyou display them to the user, it adds the thousands comma
*/
! function get_folder_status_info($force_refresh=False)
{
! if ($this->debug_session_caching > 0) { echo
'class_msg: get_folder_status_info: ENTERING, $force_refresh:
'.serialize($force_refresh).' <br>'; }
// do we have cached data in L1 cache / class object
var, that we can use
! $folder_status_info =
$this->get_arg_value('folder_status_info');
if ((!$force_refresh)
&& ($folder_status_info)
&& (count($folder_status_info) > 0)
! && ($folder_status_info['folder_checked'] ==
$this->get_arg_value('folder')))
{
// this data is cached, L1 cache, temp cache,
so it should still be "fresh"
--- 320,356 ----
the integers after you have done any math code and
befor eyou display them to the user, it adds the thousands comma
*/
! function get_folder_status_info($fldball='',
$force_refresh=False)
{
! if ($this->debug_session_caching > 0) { echo
'class_msg: get_folder_status_info: ENTERING, $fldball: '.serialize($fldball).'
; $force_refresh (DEPRECIATED): '.serialize($force_refresh).' <br>'; }
!
! if ( (!isset($fldball))
! || ($fldball == '') )
! {
! // we have NO instructions on a folder nor
acctnum, so make a blank fldball
! $fldball = array();
! $fldball['acctnum'] = '';
! $fldball['folder'] = '';
! }
! // now we know we have a fldball structure to work
with, analyse it
! if ((!isset($fldball['acctnum']))
! || ((string)$fldball['acctnum'] == ''))
! {
! $fldball['acctnum'] = $this->get_acctnum();
! }
! if ((!isset($fldball['folder']))
! || ((string)$fldball['folder'] == ''))
! {
! $fldball['folder'] =
$this->get_arg_value('folder', $fldball['acctnum']);
! }
! $stream = $this->get_arg_value('mailsvr_stream',
$fldball['acctnum']);
! $server_str = $this->get_arg_value('mailsvr_callstr',
$fldball['acctnum']);
! if ($this->debug_session_caching > 2) { echo
'class_msg: get_folder_status_info: will use $stream ['.serialize($stream).'] ;
$server_str ['.$server_str.'] ; $fldball: '.serialize($fldball).' <br>'; }
// do we have cached data in L1 cache / class object
var, that we can use
! $folder_status_info =
$this->get_arg_value('folder_status_info', $fldball['acctnum']);
if ((!$force_refresh)
&& ($folder_status_info)
&& (count($folder_status_info) > 0)
! && ($folder_status_info['folder_checked'] ==
$fldball['folder']))
{
// this data is cached, L1 cache, temp cache,
so it should still be "fresh"
***************
*** 347,351 ****
$return_data = Array();
$return_data['is_imap'] = False;
! $return_data['folder_checked'] =
$this->get_arg_value('folder');
$return_data['alert_string'] = '';
$return_data['number_new'] = 0;
--- 362,366 ----
$return_data = Array();
$return_data['is_imap'] = False;
! $return_data['folder_checked'] = $fldball['folder'];
$return_data['alert_string'] = '';
$return_data['number_new'] = 0;
***************
*** 355,363 ****
$return_data['uidvalidity'] = 0;
! $server_str = $this->get_arg_value('mailsvr_callstr');
! //$tmp_a = $this->a[$this->acctnum];
! //$mailbox_status =
$tmp_a['dcom']->status($this->get_arg_value('mailsvr_stream'),$server_str.$this->get_arg_value('folder'),SA_ALL);
! $mailbox_status =
$GLOBALS['phpgw_dcom_'.$this->acctnum]->dcom->status($this->get_arg_value('mailsvr_stream'),$server_str.$this->get_arg_value('folder'),SA_ALL);
! //$this->a[$this->acctnum] = $tmp_a;
// cache validity data - will be used to cache
msg_list_array data, which is good until UID_NEXT changes
--- 370,374 ----
$return_data['uidvalidity'] = 0;
! $mailbox_status =
$GLOBALS['phpgw_dcom_'.$fldball['acctnum']]->dcom->status($stream,$server_str.$fldball['folder'],SA_ALL);
// cache validity data - will be used to cache
msg_list_array data, which is good until UID_NEXT changes
***************
*** 365,370 ****
$return_data['uidvalidity'] =
$mailbox_status->uidvalidity;
! if (($this->get_pref_value('mail_server_type') ==
'imap')
! || ($this->get_pref_value('mail_server_type') ==
'imaps'))
{
$return_data['is_imap'] = True;
--- 376,382 ----
$return_data['uidvalidity'] =
$mailbox_status->uidvalidity;
! $mail_server_type =
$this->get_pref_value('mail_server_type', $fldball['acctnum']);
! if (($mail_server_type == 'imap')
! || ($mail_server_type == 'imaps'))
{
$return_data['is_imap'] = True;
***************
*** 404,419 ****
}
// cache data in a class var (L1 Cache)
! $this->set_arg_value('folder_status_info',
$return_data);
if ($this->debug_session_caching > 0) { echo
'class_msg: get_folder_status_info: LEAVING returning data obtained from
server<br>'; }
return $return_data;
}
function phpgw_status($feed_folder_long='')
{
$server_str = $this->get_arg_value('mailsvr_callstr');
- //$tmp_a = $this->a[$this->acctnum];
- //$retval =
$tmp_a['dcom']->status($this->get_arg_value('mailsvr_stream'),"$server_str"."$feed_folder_long",SA_ALL);
$retval =
$GLOBALS['phpgw_dcom_'.$this->acctnum]->dcom->status($this->get_arg_value('mailsvr_stream'),"$server_str"."$feed_folder_long",SA_ALL);
- //$this->a[$this->acctnum] = $tmp_a;
return $retval;
}
--- 416,430 ----
}
// cache data in a class var (L1 Cache)
! if ($this->debug_session_caching > 2) { echo
'class_msg: get_folder_status_info: saving to L1 class var cache,
$this->set_arg_value(folder_status_info, $return_data, '.$fldball['acctnum'].')
; $return_data dump:<pre>'; print_r($return_data); echo '</pre>'; }
! $this->set_arg_value('folder_status_info',
$return_data, $fldball['acctnum']);
if ($this->debug_session_caching > 0) { echo
'class_msg: get_folder_status_info: LEAVING returning data obtained from
server<br>'; }
return $return_data;
}
+ // FIXME: change arg to fldball
function phpgw_status($feed_folder_long='')
{
$server_str = $this->get_arg_value('mailsvr_callstr');
$retval =
$GLOBALS['phpgw_dcom_'.$this->acctnum]->dcom->status($this->get_arg_value('mailsvr_stream'),"$server_str"."$feed_folder_long",SA_ALL);
return $retval;
}
***************
*** 421,437 ****
function phpgw_server_last_error()
{
- //$tmp_a = $this->a[$this->acctnum];
- //$retval = $tmp_a['dcom']->server_last_error();
$retval =
$GLOBALS['phpgw_dcom_'.$this->acctnum]->dcom->server_last_error();
- //$this->a[$this->acctnum] = $tmp_a;
return $retval;
}
! function phpgw_ping()
{
! //$tmp_a = $this->a[$this->acctnum];
! //$retval =
$tmp_a['dcom']->noop_ping_test($this->get_arg_value('mailsvr_stream'));
! $retval =
$GLOBALS['phpgw_dcom_'.$this->acctnum]->dcom->noop_ping_test($this->get_arg_value('mailsvr_stream'));
! //$this->a[$this->acctnum] = $tmp_a;
return $retval;
}
--- 432,448 ----
function phpgw_server_last_error()
{
$retval =
$GLOBALS['phpgw_dcom_'.$this->acctnum]->dcom->server_last_error();
return $retval;
}
! function phpgw_ping($acctnum='')
{
! if ((!isset($acctnum))
! || ((string)$acctnum == ''))
! {
! $acctnum = $this->get_acctnum();
! }
! $stream = $this->get_arg_value('mailsvr_stream',
$acctnum);
! $retval =
$GLOBALS['phpgw_dcom_'.$acctnum]->dcom->noop_ping_test($stream);
return $retval;
}
***************
*** 439,446 ****
function phpgw_search($criteria,$flags='')
{
! //$tmp_a = $this->a[$this->acctnum];
! //$retval =
$tmp_a['dcom']->i_search($this->get_arg_value('mailsvr_stream'),$criteria,$flags);
! $retval =
$GLOBALS['phpgw_dcom_'.$this->acctnum]->dcom->i_search($this->get_arg_value('mailsvr_stream'),$criteria,$flags);
! //$this->a[$this->acctnum] = $tmp_a;
return $retval;
}
--- 450,455 ----
function phpgw_search($criteria,$flags='')
{
! $stream = $this->get_arg_value('mailsvr_stream');
! $retval =
$GLOBALS['phpgw_dcom_'.$this->acctnum]->dcom->i_search($stream,$criteria,$flags);
return $retval;
}
***************
*** 451,458 ****
$stream = $this->get_arg_value('mailsvr_stream',
$acctnum);
$folder = $target_fldball['folder'];
- //$tmp_a = $this->a[$this->acctnum];
- //$retval = $tmp_a['dcom']->createmailbox($stream,
$folder);
$retval =
$GLOBALS['phpgw_dcom_'.$acctnum]->dcom->createmailbox($stream, $folder);
- //$this->a[$this->acctnum] = $tmp_a;
return $retval;
}
--- 460,464 ----
***************
*** 460,470 ****
function phpgw_deletemailbox($target_fldball)
{
! $acctnum = (int)$target_fldball['acctnum'];
$stream = $this->get_arg_value('mailsvr_stream',
$acctnum);
$folder = $target_fldball['folder'];
- //$tmp_a = $this->a[$this->acctnum];
- //$retval = $tmp_a['dcom']->deletemailbox($stream,
$folder);
$retval =
$GLOBALS['phpgw_dcom_'.$acctnum]->dcom->deletemailbox($stream, $folder);
- //$this->a[$this->acctnum] = $tmp_a;
return $retval;
}
--- 466,473 ----
function phpgw_deletemailbox($target_fldball)
{
! $acctnum = $target_fldball['acctnum'];
$stream = $this->get_arg_value('mailsvr_stream',
$acctnum);
$folder = $target_fldball['folder'];
$retval =
$GLOBALS['phpgw_dcom_'.$acctnum]->dcom->deletemailbox($stream, $folder);
return $retval;
}
***************
*** 476,483 ****
$folder_old = $source_fldball['folder'];
$folder_new = $target_fldball['folder'];
- //$tmp_a = $this->a[$this->acctnum];
- //$retval = $tmp_a['dcom']->renamemailbox($stream,
$folder_old, $folder_new);
$retval =
$GLOBALS['phpgw_dcom_'.$acctnum]->dcom->renamemailbox($stream, $folder_old,
$folder_new);
- //$this->a[$this->acctnum] = $tmp_a;
return $retval;
}
--- 479,483 ----
***************
*** 530,540 ****
&& ($official_folder_long != ''))
{
! // delete session msg array data thAt is now
stale
$this->expire_session_cache_item('msgball_list');
// do the append
- //$tmp_a = $this->a[$this->acctnum];
- //$retval =
$tmp_a['dcom']->append($this->get_arg_value('mailsvr_stream'),
"$server_str"."$official_folder_long", $message, $flags);
$retval =
$GLOBALS['phpgw_dcom_'.$this->acctnum]->dcom->append($this->get_arg_value('mailsvr_stream'),
"$server_str"."$official_folder_long", $message, $flags);
- //$this->a[$this->acctnum] = $tmp_a;
return $retval;
}
--- 530,537 ----
&& ($official_folder_long != ''))
{
! // delete appsession msg array data thAt is now
stale
$this->expire_session_cache_item('msgball_list');
// do the append
$retval =
$GLOBALS['phpgw_dcom_'.$this->acctnum]->dcom->append($this->get_arg_value('mailsvr_stream'),
"$server_str"."$official_folder_long", $message, $flags);
return $retval;
}
***************
*** 554,561 ****
$this->expire_session_cache_item('msgball_list');
- //$tmp_a = $this->a[$this->acctnum];
- //$retval =
$tmp_a['dcom']->mail_move($this->get_arg_value('mailsvr_stream'), $msg_list,
$mailbox);
$retval =
$GLOBALS['phpgw_dcom_'.$this->acctnum]->dcom->mail_move($this->get_arg_value('mailsvr_stream'),
$msg_list, $mailbox);
- //$this->a[$this->acctnum] = $tmp_a;
return $retval;
}
--- 551,555 ----
***************
*** 1033,1080 ****
$got_args['mailsvr_account_username'] = '';
}
- /*
- // THESE menuaction args are being
DEPRECIATED
- // these are the supported menuaction
strings
- elseif ($this_arg_name ==
'index_menuaction')
- {
- $got_args['index_menuaction'] =
'menuaction=email.uiindex.index';
- //$got_args['index_menuaction']
.= '&acctnum='.$acctnum;
- }
- elseif ($this_arg_name ==
'mlist_menuaction')
- {
- $got_args['mlist_menuaction'] =
'menuaction=email.uiindex.mlist';
- //$got_args['index_menuaction']
.= '&acctnum='.$acctnum;
- }
- elseif ($this_arg_name ==
'delmov_menuaction')
- {
- $got_args['delmov_menuaction']
= 'menuaction=email.boaction.delmov';
- //$got_args['index_menuaction']
.= '&acctnum='.$acctnum;
- }
- elseif ($this_arg_name ==
'get_attach_menuaction')
- {
-
$got_args['get_attach_menuaction'] = 'menuaction=email.boaction.get_attach';
- //$got_args['index_menuaction']
.= '&acctnum='.$acctnum;
- }
- elseif ($this_arg_name ==
'view_html_menuaction')
- {
-
$got_args['view_html_menuaction'] = 'menuaction=email.boaction.view_html';
- //$got_args['index_menuaction']
.= '&acctnum='.$acctnum;
- }
- elseif ($this_arg_name ==
'folder_menuaction')
- {
- $got_args['folder_menuaction']
= 'menuaction=email.uifolder.folder';
- //$got_args['index_menuaction']
.= '&acctnum='.$acctnum;
- }
- elseif ($this_arg_name ==
'send_menuaction')
- {
- $got_args['send_menuaction'] =
'menuaction=email.bosend.send';
- //$got_args['index_menuaction']
.= '&acctnum='.$acctnum;
- }
- // use this uri in any auto-refresh
request - filled during "fill_sort_order_start_msgnum()"
- elseif ($this_arg_name ==
'index_refresh_uri')
- {
- $got_args['index_refresh_uri']
='';
- }
- */
// experimental: Set Flag indicative
we've run thru this function
elseif ($this_arg_name ==
'already_grab_class_args_gpc')
--- 1027,1030 ----
***************
*** 1140,1148 ****
// ALWAYS expire "folder_status_info" because many time
this expire function is called because of a message move or delete
$empty_array = array();
! $this->set_arg_value('folder_status_info',
$empty_array);
if ($this->debug_session_caching > 1) { echo 'mail_msg:
expire_session_cache_item: clearing L1 cache/class var $data_name =
['.$data_name.']<br>'; }
! if ($this->get_isset_arg($data_name))
{
! $old_content = $this->get_arg_value($data_name);
if ($this->debug_session_caching > 2) { echo
'mail_msg: expire_session_cache_item: L1 cache/class OLD value dump:<pre>';
print_r($old_content); echo '</pre>'; }
if (gettype($old_content) == 'array')
--- 1090,1098 ----
// ALWAYS expire "folder_status_info" because many time
this expire function is called because of a message move or delete
$empty_array = array();
! $this->set_arg_value('folder_status_info',
$empty_array, $acctnum);
if ($this->debug_session_caching > 1) { echo 'mail_msg:
expire_session_cache_item: clearing L1 cache/class var $data_name =
['.$data_name.']<br>'; }
! if ($this->get_isset_arg($data_name, $acctnum))
{
! $old_content = $this->get_arg_value($data_name,
$acctnum);
if ($this->debug_session_caching > 2) { echo
'mail_msg: expire_session_cache_item: L1 cache/class OLD value dump:<pre>';
print_r($old_content); echo '</pre>'; }
if (gettype($old_content) == 'array')
***************
*** 1155,1167 ****
}
// set the arg item to this blank value,
effectively clearing/expiring it
! $this->set_arg_value($data_name, $empty_data);
}
// --- now get rid of any "$data_name" value saved in
the session cache ---
// for session cache, we can simple set the value to an
empty string to blank it out
$empty_data = '';
! $this->set_arg_value('folder_status_info',
$empty_array);
// save blank data to session to erase/expire it
$empty_data = '';
!
$this->save_session_cache_item($data_name,$empty_data,$acctnum);
if ($this->debug_session_caching > 0) { echo 'mail_msg:
expire_session_cache_item: LEAVING<br>'; }
}
--- 1105,1117 ----
}
// set the arg item to this blank value,
effectively clearing/expiring it
! $this->set_arg_value($data_name, $empty_data,
$acctnum);
}
// --- now get rid of any "$data_name" value saved in
the session cache ---
// for session cache, we can simple set the value to an
empty string to blank it out
$empty_data = '';
! $this->set_arg_value('folder_status_info',
$empty_array, $acctnum);
// save blank data to session to erase/expire it
$empty_data = '';
! $this->save_session_cache_item($data_name, $empty_data,
$acctnum);
if ($this->debug_session_caching > 0) { echo 'mail_msg:
expire_session_cache_item: LEAVING<br>'; }
}
***************
*** 1169,1172 ****
--- 1119,1124 ----
function
save_session_cache_item($data_name='misc',$data,$acctnum='')
{
+ $has_handler = False;
+
if ((!isset($acctnum))
|| ((string)$acctnum == ''))
***************
*** 1174,1184 ****
$acctnum = $this->get_acctnum();
}
-
if ($this->debug_session_caching > 0) { echo 'mail_msg:
save_session_cache_item: ENTERED,
$this->session_cache_enabled='.serialize($this->session_cache_enabled).'<br>'; }
if (($this->session_cache_enabled)
&& (!$data))
{
// empty $data means "EXPIRE the data"
! $location =
'acctnum='.(string)$acct_num.';dataname='.$data_name;
$app = 'email';
$meta_data = '';
--- 1126,1138 ----
$acctnum = $this->get_acctnum();
}
if ($this->debug_session_caching > 0) { echo 'mail_msg:
save_session_cache_item: ENTERED,
$this->session_cache_enabled='.serialize($this->session_cache_enabled).'<br>'; }
+
if (($this->session_cache_enabled)
&& (!$data))
{
+ // we know what to do here, so this data "has a
handler"
+ $has_handler = True;
// empty $data means "EXPIRE the data"
! $location =
'acctnum='.(string)$acctnum.';data_name='.$data_name;
$app = 'email';
$meta_data = '';
***************
*** 1196,1249 ****
elseif ($this->session_cache_enabled)
{
! // set the data in appsession
! $folder_info = $this->get_folder_status_info();
!
! $meta_data = Array();
! $meta_data[$data_name] = $data;
! $meta_data['validity'] = Array();
if ($data_name == 'msgball_list')
{
! $meta_data['validity']['folder_long'] =
$this->get_arg_value('folder');
! $meta_data['validity']['sort'] =
$this->get_arg_value('sort');
! $meta_data['validity']['order'] =
$this->get_arg_value('order');
$meta_data['validity']['uidnext'] =
$folder_info['uidnext'];
$meta_data['validity']['uidvalidity'] =
$folder_info['uidvalidity'];
$meta_data['validity']['number_all'] =
$folder_info['number_all'];
!
$meta_data['validity']['get_mailsvr_callstr'] =
$this->get_arg_value('mailsvr_callstr');
!
$meta_data['validity']['mailsvr_account_username'] =
$this->get_arg_value('mailsvr_account_username');
}
! /*
! $accounts = array();
! $accounts[$acctnum] = array();
! $accounts[$acctnum]['data'] = array();
! $accounts[$acctnum]['data'][$data_name] = $data;
! $accounts[$acctnum]['data']['validity'] =
Array();
! if ($data_name == 'msgball_list')
{
!
$accounts[$acctnum]['data']['validity']['folder_long'] =
$this->get_arg_value('folder');
!
$accounts[$acctnum]['data']['validity']['sort'] = $this->get_arg_value('sort');
!
$accounts[$acctnum]['data']['validity']['order'] =
$this->get_arg_value('order');
!
$accounts[$acctnum]['data']['validity']['uidnext'] = $folder_info['uidnext'];
!
$accounts[$acctnum]['data']['validity']['uidvalidity'] =
$folder_info['uidvalidity'];
!
$accounts[$acctnum]['data']['validity']['get_mailsvr_callstr'] =
$this->get_arg_value('mailsvr_callstr');
!
$accounts[$acctnum]['data']['validity']['mailsvr_account_username'] =
$this->get_arg_value('mailsvr_account_username');
}
! */
! $location =
'acctnum='.(string)$acctnum.';dataname='.$data_name;
! $app = 'email';
! if ($this->debug_session_caching > 1) { echo
'mail_msg: save_session_cache_item: location: ['.$location.'] $app='.$app.';
$meta_data dump:<pre>'; print_r($meta_data); echo '</pre>'; }
! if ($this->session_cache_debug_nosave == False)
{
!
$GLOBALS['phpgw']->session->appsession($location,$app,$meta_data);
}
else
{
! echo 'mail_msg:
save_session_cache_item: session_cache_debug_nosave disallows actual saving of
data<br>';
}
- if ($this->debug_session_caching > 0) { echo
'mail_msg: save_session_cache_item: LEAVING, did set data<br>'; }
- }
- else
- {
- if ($this->debug_session_caching > 0) { echo
'mail_msg: save_session_cache_item: with error - UNHANDLED if...then
conditions<br>'; }
}
}
--- 1150,1216 ----
elseif ($this->session_cache_enabled)
{
! if ($this->debug_session_caching > 1) { echo
'mail_msg: save_session_cache_item: session_cache_enabled and data exists<br>';
}
! // process the data according to what it is
if ($data_name == 'msgball_list')
{
! if ($this->debug_session_caching > 1) {
echo 'mail_msg: save_session_cache_item: session_cache_enabled and data exists
AND has a handler<br>'; }
! // we know what to do here, so this
data "has a handler"
! $has_handler = True;
!
! // ---- set the data in appsession
----
! // we use folder_info for validity
testing of data "stale" or not when we retrieve the cached data later
! $folder_info =
$this->get_folder_status_info();
! // make the structure for the data
! $meta_data = Array();
! $meta_data[$data_name] = $data;
! $meta_data['validity'] = Array();
! $meta_data['validity']['folder_long'] =
$this->get_arg_value('folder', $acctnum);
! $meta_data['validity']['sort'] =
$this->get_arg_value('sort', $acctnum);
! $meta_data['validity']['order'] =
$this->get_arg_value('order', $acctnum);
$meta_data['validity']['uidnext'] =
$folder_info['uidnext'];
$meta_data['validity']['uidvalidity'] =
$folder_info['uidvalidity'];
$meta_data['validity']['number_all'] =
$folder_info['number_all'];
!
$meta_data['validity']['get_mailsvr_callstr'] =
$this->get_arg_value('mailsvr_callstr', $acctnum);
!
$meta_data['validity']['mailsvr_account_username'] =
$this->get_arg_value('mailsvr_account_username', $acctnum);
}
! elseif (($data_name == 'mailsvr_namespace')
! || ($data_name == 'folder_list'))
{
! if ($this->debug_session_caching > 1) {
echo 'mail_msg: save_session_cache_item: session_cache_enabled and data exists
AND has a handler<br>'; }
! // we know what to do here, so this
data "has a handler"
! $has_handler = True;
! // make the structure for the data
! $meta_data = Array();
! $meta_data[$data_name] = $data;
}
! else
{
! // this data_name has no specific
handler
! if ($this->debug_session_caching > 0) {
echo 'mail_msg: save_session_cache_item: error - NO HANDLER for
data_name='.$data_name.'<br>'; }
! // make an empty $meta_data Array as a
sign there's no data to save
! $meta_data = Array();
! }
!
! // save data, assuming we've "handled" it
! if ((isset($meta_data))
! && (count($meta_data) > 0))
! {
! $location =
'acctnum='.(string)$acctnum.';data_name='.$data_name;
! $app = 'email';
! if ($this->debug_session_caching > 1) {
echo 'mail_msg: save_session_cache_item: location: ['.$location.']
$app='.$app.'; $meta_data dump:<pre>'; print_r($meta_data); echo '</pre>'; }
! if ($this->session_cache_debug_nosave
== False)
! {
!
$GLOBALS['phpgw']->session->appsession($location,$app,$meta_data);
! }
! else
! {
! echo 'mail_msg:
save_session_cache_item: session_cache_debug_nosave disallows actual saving of
data<br>';
! }
! if ($this->debug_session_caching > 0) {
echo 'mail_msg: save_session_cache_item: LEAVING, did set data<br>'; }
}
else
{
! if ($this->debug_session_caching > 0) {
echo 'mail_msg: save_session_cache_item: unable to save data for data_name:
['.$data_name.'] $meta_data is an array wit count of 0, probably unhandled
data<br>'; }
}
}
}
***************
*** 1261,1295 ****
if ($this->session_cache_enabled)
{
! $folder_info = $this->get_folder_status_info();
! $location =
'acctnum='.(string)$acctnum.';dataname='.$data_name;
$app = 'email';
// get session data
$got_data =
$GLOBALS['phpgw']->session->appsession($location,$app);
-
if ($this->debug_session_caching > 1) { echo
'mail_msg: read_session_cache_item: location: ['.$location.'] $app='.$app.';
$got_data dump:<pre>'; print_r($got_data); echo '</pre>'; }
! // VERIFY this cached data is still valid
! if (($got_data)
! && ($data_name == 'msgball_list'))
! {
! if ($this->debug_session_caching > 1) {
echo 'mail_msg: read_session_cache_item: handling $data_name='.$data_name.'
session validity and/or relevance<br>'; }
! if
(($got_data['validity']['folder_long'] == $this->get_arg_value('folder'))
! && ($got_data['validity']['sort'] ==
$this->get_arg_value('sort'))
! && ($got_data['validity']['order'] ==
$this->get_arg_value('order'))
! && ($got_data['validity']['uidnext'] ==
$folder_info['uidnext'])
! &&
($got_data['validity']['uidvalidity'] == $folder_info['uidvalidity'])
! && ($got_data['validity']['number_all']
== $folder_info['number_all'])
! &&
($got_data['validity']['get_mailsvr_callstr'] ==
$this->get_arg_value('mailsvr_callstr'))
! &&
($got_data['validity']['mailsvr_account_username'] ==
$this->get_arg_value('mailsvr_account_username')))
{
! if
($this->debug_session_caching > 0) { echo 'mail_msg: read_session_cache_item:
LEAVING, successfully restored valid $data_name='.$data_name.' session
data<br>'; }
return $got_data;
}
else
{
! if
($this->debug_session_caching > 0) { echo 'mail_msg: read_session_cache_item:
LEAVING, returning False, $data_name='.$data_name.' session was stale<br>'; }
return False;
}
}
elseif ($got_data)
--- 1228,1291 ----
if ($this->session_cache_enabled)
{
! if ($this->debug_session_caching > 1) { echo
'mail_msg: read_session_cache_item: begin get data<br>'; }
! $location =
'acctnum='.(string)$acctnum.';data_name='.$data_name;
$app = 'email';
// get session data
$got_data =
$GLOBALS['phpgw']->session->appsession($location,$app);
if ($this->debug_session_caching > 1) { echo
'mail_msg: read_session_cache_item: location: ['.$location.'] $app='.$app.';
$got_data dump:<pre>'; print_r($got_data); echo '</pre>'; }
! // use a specific handler for the data
! if ($data_name == 'msgball_list')
! {
! if ($this->debug_session_caching > 1) {
echo 'mail_msg: read_session_cache_item: handler exists for $data_name
['.$data_name.']<br>'; }
! // folder_info used to test validity
(stale or not) of the cached msgball_list data
! $folder_info =
$this->get_folder_status_info();
!
! // VERIFY this cached data is still
valid
! if ($got_data)
{
! if
($this->debug_session_caching > 1) { echo 'mail_msg: read_session_cache_item:
handling $data_name='.$data_name.' session validity and/or relevance<br>'; }
! if
(($got_data['validity']['folder_long'] == $this->get_arg_value('folder',
$acctnum))
! &&
($got_data['validity']['sort'] == $this->get_arg_value('sort', $acctnum))
! &&
($got_data['validity']['order'] == $this->get_arg_value('order', $acctnum))
! &&
($got_data['validity']['uidnext'] == $folder_info['uidnext'])
! &&
($got_data['validity']['uidvalidity'] == $folder_info['uidvalidity'])
! &&
($got_data['validity']['number_all'] == $folder_info['number_all'])
! &&
($got_data['validity']['get_mailsvr_callstr'] ==
$this->get_arg_value('mailsvr_callstr', $acctnum))
! &&
($got_data['validity']['mailsvr_account_username'] ==
$this->get_arg_value('mailsvr_account_username', $acctnum)))
! {
! if
($this->debug_session_caching > 0) { echo 'mail_msg: read_session_cache_item:
LEAVING, successfully restored valid $data_name='.$data_name.' session data,
$acctnum: ['.$acctnum.']<br>'; }
! return $got_data;
! }
! else
! {
! if
($this->debug_session_caching > 0) { echo 'mail_msg: read_session_cache_item:
LEAVING, returning False, $data_name='.$data_name.' session was STALE,
$acctnum: ['.$acctnum.']<br>'; }
! return False;
! }
! }
! else
! {
! if
($this->debug_session_caching > 0) { echo 'mail_msg: read_session_cache_item:
LEAVING, returning False, $data_name='.$data_name.' had NO data stored,
$acctnum: ['.$acctnum.']<br>'; }
! return False;
! }
! }
! elseif (($data_name == 'mailsvr_namespace')
! || ($data_name == 'folder_list'))
! {
! if ($this->debug_session_caching > 1) {
echo 'mail_msg: read_session_cache_item: handler exists for $data_name
['.$data_name.']<br>'; }
! // this is not really a special handler
! if ($got_data)
! {
! if
($this->debug_session_caching > 0) { echo 'mail_msg: read_session_cache_item:
restored $data_name='.$data_name.' data dump:<pre>'; print_r($got_data); echo
'</pre>'; }
! if
($this->debug_session_caching > 0) { echo 'mail_msg: read_session_cache_item:
LEAVING, successfully restored $data_name='.$data_name.' session data,
$acctnum: ['.$acctnum.']<br>'; }
return $got_data;
}
else
{
! if
($this->debug_session_caching > 0) { echo 'mail_msg: read_session_cache_item:
LEAVING, returning False, $data_name='.$data_name.' had NO data stored,
$acctnum: ['.$acctnum.']<br>'; }
return False;
}
+
}
elseif ($got_data)
***************
*** 1914,1918 ****
{
if ($this->debug_args_oop_access > 0) {
echo 'mail_msg(_wrappers): get_arg_value: LEAVING with HANDOFF to
get_folder_list()<br>'; }
! return $this->get_folder_list();
}
/*
--- 1910,1914 ----
{
if ($this->debug_args_oop_access > 0) {
echo 'mail_msg(_wrappers): get_arg_value: LEAVING with HANDOFF to
get_folder_list()<br>'; }
! return $this->get_folder_list($acctnum);
}
/*
***************
*** 2000,2003 ****
--- 1996,2000 ----
{
if ($this->debug_args_oop_access > 1) {
$this->_get_arg_is_known($arg_name, 'set_arg_value'); }
+ if ($this->debug_args_oop_access > 0) { echo
'mail_msg(_wrappers): set_arg_value: ENTERING, $arg_name: ['.$arg_name.'] ;
$this_value: ['.$this_value.'] ; $acctnum: ['.$acctnum.']<br>'; }
if ((!isset($acctnum))
***************
*** 2021,2024 ****
--- 2018,2022 ----
// SET it, any special processing should be
taken care just above here
$this->a[$acctnum]['args'][$arg_name] =
$this_value;
+ if ($this->debug_args_oop_access > 0) { echo
'mail_msg(_wrappers): set_arg_value: LEAVING, returning TRUE, set data
$this->a['.$acctnum.'][args]['.$arg_name.']:
['.$this->a[$acctnum]['args'][$arg_name].']<br>'; }
// return True to indicate success
return True;
***************
*** 2027,2030 ****
--- 2025,2029 ----
{
// return False to indicate invalid input
$arg_name
+ if ($this->debug_args_oop_access > 0) { echo
'mail_msg(_wrappers): set_arg_value: LEAVING, returning FALSE, invalid
$arg_name: ['.$arg_name.']<br>'; }
return False;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] CVS: email/inc class.bofolder.inc.php,1.3,1.4 class.mail_msg_base.inc.php,1.55,1.56 class.mail_msg_display.inc.php,1.27,1.28 class.mail_msg_wrappers.inc.php,1.20,1.21,
Angelo Tony Puglisi <address@hidden> <=
- Prev by Date:
[Phpgroupware-cvs] CVS: phpgroupware/doc cvs_full_checkout.php,1.6,1.7 cvs_full_checkout.pl,1.2,1.3
- Next by Date:
[Phpgroupware-cvs] CVS: calendar/inc class.uicalendar.inc.php,1.65,1.66 class.bocalendar.inc.php,1.68,1.69
- Previous by thread:
[Phpgroupware-cvs] CVS: phpgroupware/doc cvs_full_checkout.php,1.6,1.7 cvs_full_checkout.pl,1.2,1.3
- Next by thread:
[Phpgroupware-cvs] CVS: calendar/inc class.uicalendar.inc.php,1.65,1.66 class.bocalendar.inc.php,1.68,1.69
- Index(es):