phpgroupware-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpgroupware-cvs] email/inc class.uijsaddressbook.inc.php, 1.7 class.ui


From: powerstat
Subject: [Phpgroupware-cvs] email/inc class.uijsaddressbook.inc.php, 1.7 class.uiattach_file.inc.php, 1.5 class.uifolder.inc.php, 1.8 class.uisearch.inc.php, 1.4 class.ui_mail_debug.inc.php, 1.5 class.uiindex.inc.php, 1.25 class.uipreferences.inc.php, 1.20 class.uifilters.inc.php, 1.17 class.uimessage.inc.php, 1.14 class.uicompose.inc.php, 1.8
Date: Wed, 11 May 2005 21:09:00 +0200

Update of email/inc

Modified Files:
     Branch: MAIN
            class.uijsaddressbook.inc.php lines: +48 -57
            class.uiattach_file.inc.php lines: +16 -14
            class.uifolder.inc.php lines: +18 -13
            class.uisearch.inc.php lines: +17 -13
            class.ui_mail_debug.inc.php lines: +18 -34
            class.uiindex.inc.php lines: +18 -13
            class.uipreferences.inc.php lines: +20 -13
            class.uifilters.inc.php lines: +26 -25
            class.uimessage.inc.php lines: +16 -15
            class.uicompose.inc.php lines: +17 -12

Log Message:
Added phpdocs

====================================================
Index: email/inc/class.uijsaddressbook.inc.php
diff -u email/inc/class.uijsaddressbook.inc.php:1.6 
email/inc/class.uijsaddressbook.inc.php:1.7
--- email/inc/class.uijsaddressbook.inc.php:1.6 Wed May  4 07:02:06 2005
+++ email/inc/class.uijsaddressbook.inc.php     Wed May 11 19:09:36 2005
@@ -1,61 +1,52 @@
 <?php
-       
/**************************************************************************\
-       * phpGroupWare -  Addressbook Chooser                                   
             *
-       * http://www.phpgroupware.org                                           
   *
-        * Written by Alex Borges <address@hidden>                          *
-       * Inherited some code from the addressbook.php file
-       * Low Level Design also by    Dave Hall address@hidden                  
        *
-       * UI Design and market research by Gerardo Ramirez 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$ */
-/*!
-  @class bojsaddressbook
-  @abstract User interface (which means input and output) logic goes here
-  @author Lex
-  @ discussion  Understand that
-  this is my first attempt to a bo,ui pair of objects
-  that will do the job. I turned to do this because
-  this thingie has to be available for use by all the
-  phpgw 0.9.14 apps.
-  My approach is to use abstraction as much as possible.
-  This class will handle all user interaction logic.
-  ONLY USER INTERACTION. This means that this class has practically no
-  state except for the categories cache. What im trying to say here is
-  that this class does not query, does not call the contacts backend at all
-  it only visually represents whatever the bo class has in its state.
-
-  Now, for how this works:
-  Look at the templates. There is a frameset template that decares two frames.
-  The mainframe, and the secondary frame.
-
-  The frameset:
-       The frameset template is the main startpoint for this whole system. This
-       template declares the main and secondary frames. More importantly, this 
frame
-       declares all functions that are events in the framework. Look into the 
comments
-       in the frameset template to understand this event framework.
-  The mainframe:
-       The mainframe is not a large computer. It is an html frame that actaully
-       presents all the user interface to the browser. In the frameset template
-       you can see it declared as holding 100% of the screen. And is the frame
-       where all the buttons go. Its template file is addressbook-js.tpl
-       It should be named addressbook-js-mainframe.tpl in the next release
-
-  The secondaryframe:
-       This frame does not have a corresponding template. It serves only as a
-       medium of communication with this class by the js framework. This frame
-       is directed to the diferent public functions in this class designed to
-       generate javascript arrays, strings and onLoad="funcall" type function 
calls
-       to the mainframe. The whole idea is that we server back data in js and 
tell
-       the main frame its data is here by sending a call by the onLoad event 
(which is
-       called just after we finish passing our data.
-
- */
-
+       /**
+       * EMail - Addressbook Chooser
+       *
+       * @author Written by Alex Borges <address@hidden>
+       * @author Dave Hall <address@hidden>
+       * @author Gerardo Ramirez <address@hidden>
+       * @copyright Copyright (C) 2001-2002 Angelo Tony Puglisi (Angles)
+       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
+       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
+       * @package email
+       * @version $Id$
+       */
+
+
+       /**
+       * Addressbook Chooser
+       *
+       * This class has practically no state except for the categories cache.
+       * What im trying to say here is that this class does not query, does not
+       * call the contacts backend at all  it only visually represents whatever
+       * the bo class has in its state.
+       *
+       * Look at the templates. There is a frameset template that decares two 
frames.
+       * The mainframe, and the secondary frame.
+       *
+       * The frameset:
+       * The frameset template is the main startpoint for this whole system. 
This
+       * template declares the main and secondary frames. More importantly, 
this frame
+       * declares all functions that are events in the framework. Look into 
the comments
+       * in the frameset template to understand this event framework.
+       *
+       * The mainframe:
+       * The mainframe is not a large computer. It is an html frame that 
actaully
+       * presents all the user interface to the browser. In the frameset 
template
+       * you can see it declared as holding 100% of the screen. And is the 
frame
+       * where all the buttons go. Its template file is addressbook-js.tpl
+       * It should be named addressbook-js-mainframe.tpl in the next release
+       *
+       * The secondaryframe:
+       * This frame does not have a corresponding template. It serves only as a
+       * medium of communication with this class by the js framework. This 
frame
+       * is directed to the diferent public functions in this class designed to
+       * generate javascript arrays, strings and onLoad="funcall" type 
function calls
+       * to the mainframe. The whole idea is that we server back data in js 
and tell
+       * the main frame its data is here by sending a call by the onLoad event 
(which
+       * is called just after we finish passing our data.
+       * @package email
+       */
        class uijsaddressbook
        {
                var $public_functions=array ('show' => True,

====================================================
Index: email/inc/class.uiattach_file.inc.php
diff -u email/inc/class.uiattach_file.inc.php:1.4 
email/inc/class.uiattach_file.inc.php:1.5
--- email/inc/class.uiattach_file.inc.php:1.4   Sun Mar 13 23:22:44 2005
+++ email/inc/class.uiattach_file.inc.php       Wed May 11 19:09:36 2005
@@ -1,20 +1,22 @@
 <?php
-       
/**************************************************************************\
-       * AngleMail - email UI Class for Attaching Files                        
                        *
-       * http://www.anglemail.org                                              
                        *
-       * File adapted directly from phpGroupWare file email/attach_file.php    
        *
-       * http://www.phpgroupware.org                                           
                        *
-       * This file deals only with the UI display of the bo class file         
        *
-       * Copyright 2002 Angles Puglisi                                         
        *
-       * --------------------------------------------                          
                        *
-       *  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.                                           
                *
-       
\**************************************************************************/
+       /**
+       * EMail - UI Class for Attaching Files
+       *
+       * @author Angelo (Angles) Puglisi <address@hidden>
+       * @copyright Copyright (C) 2002 Angelo Tony Puglisi (Angles)
+       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
+       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
+       * @package email
+       * @version $Id$
+       * @internal Based on AngleMail http://www.anglemail.org/
+       */

-       /* $Id$ */

+       /**
+       * UI Class for Attaching Files
+       *
+       * @package email
+       */
        class uiattach_file
        {
                var $public_functions = array(

====================================================
Index: email/inc/class.uifolder.inc.php
diff -u email/inc/class.uifolder.inc.php:1.7 
email/inc/class.uifolder.inc.php:1.8
--- email/inc/class.uifolder.inc.php:1.7        Sun Mar 13 23:22:44 2005
+++ email/inc/class.uifolder.inc.php    Wed May 11 19:09:36 2005
@@ -1,17 +1,22 @@
 <?php
-       
/**************************************************************************\
-       * phpGroupWare - email UI Class for Message Lists                       
        *
-       * http://www.phpgroupware.org                                           
        *
-       * Written by Angelo (Angles) Puglisi <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$ */
-
+       /**
+       * EMail - UI Class for Message Lists
+       *
+       * @author Angelo (Angles) Puglisi <address@hidden>
+       * @copyright Copyright (C) 2001-2002 Angelo Tony Puglisi (Angles)
+       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
+       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
+       * @package email
+       * @version $Id$
+       * @internal Based on AngleMail http://www.anglemail.org/
+       */
+
+
+       /**
+       * UI Class for Message Lists
+       *
+       * @package email
+       */
        class uifolder
        {
                var $bo;

====================================================
Index: email/inc/class.uisearch.inc.php
diff -u email/inc/class.uisearch.inc.php:1.3 
email/inc/class.uisearch.inc.php:1.4
--- email/inc/class.uisearch.inc.php:1.3        Sun Mar 13 23:22:44 2005
+++ email/inc/class.uisearch.inc.php    Wed May 11 19:09:36 2005
@@ -1,17 +1,21 @@
 <?php
-       
/**************************************************************************\
-       * phpGroupWare - email/search                                           
   *
-       * Written by Rohan Almeida (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$ */
-
-
+       /**
+       * EMail - Search
+       *
+       * @author Rohan Almeida <address@hidden>
+       * @copyright Copyright (C) xxxx Rohan Almeida
+       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
+       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
+       * @package email
+       * @version $Id$
+       */
+
+
+       /**
+       * Search
+       *
+       * @package email
+       */
        class uisearch
        {
                var $debug = False;

====================================================
Index: email/inc/class.ui_mail_debug.inc.php
diff -u email/inc/class.ui_mail_debug.inc.php:1.4 
email/inc/class.ui_mail_debug.inc.php:1.5
--- email/inc/class.ui_mail_debug.inc.php:1.4   Sun Mar 13 23:22:44 2005
+++ email/inc/class.ui_mail_debug.inc.php       Wed May 11 19:09:36 2005
@@ -1,45 +1,29 @@
 <?php
-       
/**************************************************************************\
-       * AngleMail - E-Mail Module for phpGroupWare                            
        *
-       * http://www.anglemail.org                                              
                        *
-       * http://www.phpgroupware.org                                           
                        *
+       /**
+       * EMail - Debug Utility Functions and Information and Document Access
+       *
+       * @author Angelo (Angles) Puglisi <address@hidden>
+       * @copyright Copyright (C) 2002 Angelo Tony Puglisi (Angles)
+       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
+       * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General 
Public License
+       * @package email
+       * @version $Id$
+       * @internal Based on AngleMail http://www.anglemail.org/
        */
-       
/**************************************************************************\
-       * AngleMail - E-Mail Debug Page                                         
                *
-       * This file written by "Angles" Angelo Puglisi <address@hidden> *
-       * Debug Utility Functions and Information and Document Access           
        *
-       * Copyright (C) 2002 Angelo Tony Puglisi (Angles)                       
                *
-       * 
------------------------------------------------------------------------        
      *
-       * This library is free software; you can redistribute it and/or modify 
it               *
-       * under the terms of the GNU Lesser General Public License as published 
by      *
-       * the Free Software Foundation; either version 2.1 of the License,      
                *
-       * or any later version.                                                 
                                *
-       * This library is distributed in the hope that it will be useful, but   
                *
-       * WITHOUT ANY WARRANTY; without even the implied warranty of    *
-       * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  *
-       * See the GNU Lesser General Public License for more details.           
        *
-       * You should have received a copy of the GNU Lesser General Public 
License      *
-       * along with this library; if not, write to the Free Software 
Foundation,               *
-       * Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA         
        *
-       
\**************************************************************************/
-
-       /* $Id$ */
+

-       /*!
-       @class ui_mail_debug
-       @abstract Useful debug and inline docs access page.
-       @discussion Uncomment the "public_functions" line to enable the Email 
Debug Page.
-       Should be disabled by default, this is a developers tool.
-       @author Angles
+       /**
+       * Debug Utility Functions and Information and Document Access
+       *
+       * Uncomment the "public_functions" line to enable the Email Debug Page.
+       * Should be disabled by default, this is a developers tool.
+       * @package email
        */
        class ui_mail_debug
        {
-               
/**************************************************************************\
-               *       VARS
-               
\**************************************************************************/
+               // VARS

                /*!
-               @capability Debug Page
                @discussion Uncomment the next line of code to enable the Email 
Debug Page.
                This is file email / class.ui_mail_debug.inc.php
                */

====================================================
Index: email/inc/class.uiindex.inc.php
diff -u email/inc/class.uiindex.inc.php:1.24 
email/inc/class.uiindex.inc.php:1.25
--- email/inc/class.uiindex.inc.php:1.24        Sun Mar 13 23:22:44 2005
+++ email/inc/class.uiindex.inc.php     Wed May 11 19:09:36 2005
@@ -1,17 +1,22 @@
 <?php
-       
/**************************************************************************\
-       * phpGroupWare - email UI Class for Message Lists                       
        *
-       * http://www.phpgroupware.org                                           
        *
-       * Written by Angelo (Angles) Puglisi <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$ */
-
+       /**
+       * EMail - UI Class for Message Lists
+       *
+       * @author Angelo (Angles) Puglisi <address@hidden>
+       * @copyright Copyright (C) 2001-2002 Angelo Tony Puglisi (Angles)
+       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
+       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
+       * @package email
+       * @version $Id$
+       * @internal Based on AngleMail http://www.anglemail.org/
+       */
+
+
+       /**
+       * UI Class for Message Lists
+       *
+       * @package email
+       */
        class uiindex
        {
                var $bo;

====================================================
Index: email/inc/class.uipreferences.inc.php
diff -u email/inc/class.uipreferences.inc.php:1.19 
email/inc/class.uipreferences.inc.php:1.20
--- email/inc/class.uipreferences.inc.php:1.19  Sun Mar 13 23:22:44 2005
+++ email/inc/class.uipreferences.inc.php       Wed May 11 19:09:36 2005
@@ -1,18 +1,25 @@
 <?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$ */
+       /**
+       * EMail - Preferences
+       *
+       * @author Mark Cushman <address@hidden>
+       * @author Angelo (Angles) Puglisi <address@hidden>
+       * @copyright Copyright (C) xxxx Mark Cushman
+       * @copyright Copyright (C) 2001-2002 Angelo Tony Puglisi (Angles)
+       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
+       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
+       * @package email
+       * @version $Id$
+       * @internal Based on AngleMail http://www.anglemail.org/
+       * @internal Based on Aeromail http://the.cushman.net/
+       */
+

+       /**
+       * Preferences
+       *
+       * @package email
+       */
        class uipreferences
        {
                var $public_functions = array(

====================================================
Index: email/inc/class.uifilters.inc.php
diff -u email/inc/class.uifilters.inc.php:1.16 
email/inc/class.uifilters.inc.php:1.17
--- email/inc/class.uifilters.inc.php:1.16      Sun Mar 13 23:22:44 2005
+++ email/inc/class.uifilters.inc.php   Wed May 11 19:09:36 2005
@@ -1,31 +1,32 @@
 <?php
-       
/**************************************************************************\
-       * AngleMail - Sieve Email Filters and Search Mode                       
                *
-       * http://www.anglemail.org                                              
                        *
-       * Written by Angelo (Angles) Puglisi <address@hidden>           *
-       * Copyright (C) 2001, 2002 Angelo Puglisi (Angles)                      
                *
-       * --------------------------------------------                          
                        *
-       *  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.                                           
                                *
-       
\**************************************************************************/
+       /**
+       * EMail - Sieve Email Filters and Search Mode
+       *
+       * @author Angelo (Angles) Puglisi <address@hidden>
+       * @copyright Copyright (C) 2001-2002 Angelo Tony Puglisi (Angles)
+       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
+       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
+       * @package email
+       * @version $Id$
+       * @internal Based on AngleMail http://www.anglemail.org/
+       */

-       /* $Id$ */

-       /*!
-       @class uifilters
-       @abstract UI code for display of filter list and creating or editing 
individual filters.
-       NOTE that class bofilters will leave the pref filter data with any html 
encoding AS-IS if
-       it sees "uifilters" in the menuaction. So the UI functions should call 
functions in this
-       class because "ui" is in the menuaction. HOWEVER any real action or use 
or submission
-       of the filter data MUST actually call a function in class "bofilters" 
so that the lack of
-       "uifilters" in the menuaction triggers the database defanging (html 
decoding) of the
-       pref filter data. So actually showing the filters requires leaving the 
html encoding intact.
-       This encoding is referring to the pref table "database defanging" of 
certain offensive chars,
-       like slashes and quote chars.
-       @author Angles
-       */
+       /**
+       * Sieve Email Filters and Search Mode
+       *
+       * UI code for display of filter list and creating or editing individual 
filters.
+       * NOTE that class bofilters will leave the pref filter data with any 
html
+       * encoding AS-IS if it sees "uifilters" in the menuaction. So the UI 
functions
+       * should call functions in this class because "ui" is in the menuaction.
+       * HOWEVER any real action or use or submission of the filter data MUST 
actually
+       * call a function in class "bofilters" so that the lack of "uifilters" 
in the
+       * menuaction triggers the database defanging (html decoding) of the 
pref filter
+       * data. So actually showing the filters requires leaving the html 
encoding
+       * intact. This encoding is referring to the pref table "database 
defanging" of
+       * certain offensive chars, like slashes and quote chars.
+       * @package email
+       */
        class uifilters
        {
                var $public_functions = array(

====================================================
Index: email/inc/class.uimessage.inc.php
diff -u email/inc/class.uimessage.inc.php:1.13 
email/inc/class.uimessage.inc.php:1.14
--- email/inc/class.uimessage.inc.php:1.13      Sun Mar 13 23:22:44 2005
+++ email/inc/class.uimessage.inc.php   Wed May 11 19:09:36 2005
@@ -1,21 +1,22 @@
 <?php
-       
/**************************************************************************\
-       * phpGroupWare - email UI Class for Message Lists                       
        *
-       * http://www.phpgroupware.org                                           
        *
-       * Written by Angelo (Angles) Puglisi <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.                                           
                *
-       
\**************************************************************************/
+       /**
+       * EMail - UI Class for Message Lists
+       *
+       * @author Angelo (Angles) Puglisi <address@hidden>
+       * @copyright Copyright (C) 2001-2002 Angelo Tony Puglisi (Angles)
+       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
+       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
+       * @package email
+       * @version $Id$
+       * @internal Based on AngleMail http://www.anglemail.org/
+       */

-       /* $Id$ */

-       /*!
-       @class uimessage
-       @abstract ?
-       */
+       /**
+       * UI Class for Message Lists
+       *
+       * @package email
+       */
        class uimessage
        {
                var $bo;

====================================================
Index: email/inc/class.uicompose.inc.php
diff -u email/inc/class.uicompose.inc.php:1.7 
email/inc/class.uicompose.inc.php:1.8
--- email/inc/class.uicompose.inc.php:1.7       Sun Mar 13 23:22:44 2005
+++ email/inc/class.uicompose.inc.php   Wed May 11 19:09:36 2005
@@ -1,17 +1,22 @@
 <?php
-       
/**************************************************************************\
-       * phpGroupWare - email UI Class for Message Lists                       
        *
-       * http://www.phpgroupware.org                                           
        *
-       * Written by Angelo (Angles) Puglisi <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$ */
+       /**
+       * EMail - UI Class for Message Lists
+       *
+       * @author Angelo (Angles) Puglisi <address@hidden>
+       * @copyright Copyright (C) 2001-2002 Angelo Tony Puglisi (Angles)
+       * @copyright Copyright (C) 2003-2005 Free Software Foundation, Inc. 
http://www.fsf.org/
+       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
+       * @package email
+       * @version $Id$
+       * @internal Based on AngleMail http://www.anglemail.org/
+       */
+

+       /**
+       * UI Class for Message Lists
+       *
+       * @package email
+       */
        class uicompose
        {
                var $bo;






reply via email to

[Prev in Thread] Current Thread [Next in Thread]