Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

BaseMessage Class Reference
[Base Objects]

Inheritance diagram for BaseMessage:

MyObject BaseObject MyModule BaseModule List of all members.

Detailed Description

Basic, but full featured Message class.

This is used in tandem with the BaseInbox and BaseOutbox modules to provide a fully functional private message system. Its pretty much plug and play, while allowing you to customize.

Todo:
Extend this from BaseComment

add create table stuff for in/outboxes

Definition at line 11 of file base-message.inc.php.

Public Member Functions

 __construct ($data=null, $table= 'messages', $inboxTable= 'inbox', $outboxTable= 'outbox')
 delete ()
 delete our message, and in/outboxes, and kids too
 initEditPage ()
 prep our edit page, can we reply, etc.
 canEdit ()
 can we edit our message? default: no
 editFormAddFields ($form)
 add our fields to our edit form: recipients, subject, message, etc.
 createReplyForm ($recipients)
 create a form for replying
 editFormLoad ($form)
 load in our recipients and stuff
 editPagePostSaveSync ($form)
 post processing, add recipients, etc.
 initViewPage ()
 prep view page: assert login, etc.
 canView ()
 can we view it? must be recipient or sender
 drawViewPage ()
 show our threaded message.
 drawRecipients ()
 draw our recipients
 drawMessage ($kids=false)
 draw our message
 drawChildMessages ()
 draw the child messages of a message
 drawHeaderRow ($type)
 draw the header row for in/outbox display
 drawRow ($type, $on)
 draw our row
 markRead ($force=false)
 mark this message as read.
 getChildren ()
 get children of the message.
 getRssItem ()
 get message data for syndication
 getPublicData ()
 get message data for API's (will be protected though)
 getName ($link=false)
 get name of message
 getCreateFieldsArray ()
 get an array of fields in the table that stores the messages
 getCreateIndexesArray ()
 get an array of indexes on fields in the messages table

Public Attributes

 $read = false
 boolean if its read or not
 $inboxTable
 table to store inbox relationships
 $outboxTable
 table to store outbox relationships

Protected Member Functions

 getRecipients ()
 get recipient ids of the message
 getEditPageParamXml ()
 get edit page params to allow us to pass in user id, parent_id, etc
 createRecipientsList ($recipients)
 stub function for you to add custom recipients in.
 addSender ($id)
 add outbox record for sender
 addRecipient ($id)
 add recipient for message to inbox
 emailRecipient ($id)
 email new message notification.
 getRecipientIds ($ignoreMe=false)
 get ids of our recipients
 drawTitleBar ()
 draw our title bar.
 drawMessageDetails ()
 draw the details div of our message
 drawMessageBody ()
 draw the body of the message w/ optional signature
 drawMessageSignature ()
 optional message signature
 drawMessageReplyForm ()
 draw message reply forms for both single and multiple (if possible)


Member Function Documentation

BaseMessage::__construct data = null,
table = 'messages',
inboxTable = 'inbox',
outboxTable = 'outbox'
 

See also:
BaseObject::__construct
Parameters:
$inboxTable name of the inbox table
$outboxTable name of the outbox table

Definition at line 34 of file base-message.inc.php.

References getRecipients(), and BaseModule::needsJs().

BaseMessage::addRecipient id  )  [protected]
 

add recipient for message to inbox

Parameters:
$id the id of the user

Definition at line 337 of file base-message.inc.php.

References dbExecute(), and emailRecipient().

Referenced by editPagePostSaveSync().

BaseMessage::addSender id  )  [protected]
 

add outbox record for sender

Parameters:
$id id of sender

Definition at line 322 of file base-message.inc.php.

References dbExecute().

Referenced by editPagePostSaveSync().

BaseMessage::canEdit  ) 
 

can we edit our message? default: no

Reimplemented from BaseObject.

Definition at line 130 of file base-message.inc.php.

BaseMessage::canView  ) 
 

can we view it? must be recipient or sender

Reimplemented from BaseObject.

Definition at line 398 of file base-message.inc.php.

Referenced by drawMessage().

BaseMessage::createRecipientsList recipients  )  [protected]
 

stub function for you to add custom recipients in.

Parameters:
$recipients an array of recipients as user_id => name
Returns:
an array of recipients as user_id => name

Definition at line 203 of file base-message.inc.php.

Referenced by editFormAddFields().

BaseMessage::createReplyForm recipients  ) 
 

create a form for replying

Parameters:
$recipients an array of recipients ids for message
Returns:
a Form object

Definition at line 214 of file base-message.inc.php.

References BaseModule::getUrl().

Referenced by drawMessageReplyForm().

BaseMessage::delete  ) 
 

delete our message, and in/outboxes, and kids too

Reimplemented from BaseObject.

Definition at line 56 of file base-message.inc.php.

References dbExecute(), and getChildren().

BaseMessage::drawChildMessages  ) 
 

draw the child messages of a message

Todo:
make this more like BaseComment, or extend from it

Definition at line 646 of file base-message.inc.php.

References dbFetchAssoc(), dbGetNumRows(), and dbQuery().

Referenced by drawMessage().

BaseMessage::drawHeaderRow type  ) 
 

draw the header row for in/outbox display

Parameters:
$type either inbox or outbox

Definition at line 676 of file base-message.inc.php.

BaseMessage::drawMessage kids = false  ) 
 

draw our message

Parameters:
$kids the array of messages to use

Definition at line 483 of file base-message.inc.php.

References canView(), drawChildMessages(), drawMessageBody(), drawMessageDetails(), drawMessageReplyForm(), drawTitleBar(), and markRead().

Referenced by drawViewPage().

BaseMessage::drawMessageBody  )  [protected]
 

draw the body of the message w/ optional signature

Definition at line 599 of file base-message.inc.php.

References Linkify::bbcode(), and drawMessageSignature().

Referenced by drawMessage().

BaseMessage::drawMessageDetails  )  [protected]
 

draw the details div of our message

Definition at line 582 of file base-message.inc.php.

References drawRecipients(), and Time::formatRelative().

Referenced by drawMessage().

BaseMessage::drawMessageReplyForm  )  [protected]
 

draw message reply forms for both single and multiple (if possible)

Definition at line 619 of file base-message.inc.php.

References createReplyForm(), and getRecipientIds().

Referenced by drawMessage().

BaseMessage::drawMessageSignature  )  [protected]
 

optional message signature

extend to implement

Definition at line 612 of file base-message.inc.php.

Referenced by drawMessageBody().

BaseMessage::drawRecipients  ) 
 

draw our recipients

Definition at line 446 of file base-message.inc.php.

Referenced by drawMessageDetails(), and drawRow().

BaseMessage::drawRow type,
on
 

draw our row

Parameters:
$type inbox or outbox
$on on/off row alternation. for css classes.

Definition at line 701 of file base-message.inc.php.

References drawRecipients(), BaseModule::drawUrl(), and Time::formatRelative().

BaseMessage::drawTitleBar  )  [protected]
 

draw our title bar.

Definition at line 521 of file base-message.inc.php.

References Time::formatRelative(), and BaseModule::getUrl().

Referenced by drawMessage().

BaseMessage::drawViewPage  ) 
 

show our threaded message.

Definition at line 412 of file base-message.inc.php.

References drawMessage(), and BaseModule::drawUrl().

BaseMessage::editFormAddFields form  ) 
 

add our fields to our edit form: recipients, subject, message, etc.

Reimplemented from BaseObject.

Definition at line 145 of file base-message.inc.php.

References createRecipientsList(), and BaseModule::params().

BaseMessage::editFormLoad form  ) 
 

load in our recipients and stuff

Parameters:
$form form to load data into

Reimplemented from BaseObject.

Definition at line 260 of file base-message.inc.php.

References BaseModule::params().

BaseMessage::editPagePostSaveSync form  ) 
 

post processing, add recipients, etc.

See also:
editPagePostSaveSync()

Reimplemented from BaseObject.

Definition at line 302 of file base-message.inc.php.

References addRecipient(), and addSender().

BaseMessage::emailRecipient id  )  [protected]
 

email new message notification.

$id id of the user to send to

Definition at line 356 of file base-message.inc.php.

References Config::get().

Referenced by addRecipient().

BaseMessage::getChildren  ) 
 

get children of the message.

Todo:
double check if this works or is used
Returns:
array of child objects

Definition at line 769 of file base-message.inc.php.

References dbFetchAssoc(), and dbQuery().

Referenced by delete().

BaseMessage::getCreateFieldsArray  ) 
 

get an array of fields in the table that stores the messages

Returns:
an array of field definitions with keys that are the same as the field name.

Reimplemented from BaseObject.

Definition at line 827 of file base-message.inc.php.

BaseMessage::getCreateIndexesArray  ) 
 

get an array of indexes on fields in the messages table

Returns:
a keyed array with keys as the field/index name and values as the index creation sql.

Reimplemented from BaseObject.

Definition at line 844 of file base-message.inc.php.

BaseMessage::getEditPageParamXml  )  [protected]
 

get edit page params to allow us to pass in user id, parent_id, etc

Reimplemented from BaseObject.

Definition at line 96 of file base-message.inc.php.

BaseMessage::getName link = false  ) 
 

get name of message

Definition at line 817 of file base-message.inc.php.

BaseMessage::getPublicData  ) 
 

get message data for API's (will be protected though)

Reimplemented from BaseObject.

Definition at line 803 of file base-message.inc.php.

BaseMessage::getRecipientIds ignoreMe = false  )  [protected]
 

get ids of our recipients

Parameters:
$ignoreMe do we ignore the current user or not?
Returns:
an array of recipient ids

Definition at line 464 of file base-message.inc.php.

Referenced by drawMessageReplyForm().

BaseMessage::getRecipients  )  [protected]
 

get recipient ids of the message

Returns:
an array of recipients ids, or the id of lone one

Definition at line 83 of file base-message.inc.php.

Referenced by __construct(), and initViewPage().

BaseMessage::getRssItem  ) 
 

get message data for syndication

Reimplemented from BaseObject.

Definition at line 790 of file base-message.inc.php.

BaseMessage::initEditPage  ) 
 

prep our edit page, can we reply, etc.

Definition at line 109 of file base-message.inc.php.

References BaseModule::params().

BaseMessage::initViewPage  ) 
 

prep view page: assert login, etc.

Definition at line 381 of file base-message.inc.php.

References BaseModule::assertLogin(), getRecipients(), and BaseModule::params().

BaseMessage::markRead force = false  ) 
 

mark this message as read.

Parameters:
$force do we force it? otherwise will check if i'm a recipient

Definition at line 747 of file base-message.inc.php.

References dbExecute().

Referenced by drawMessage().


Member Data Documentation

BaseMessage::$inboxTable
 

table to store inbox relationships

Definition at line 21 of file base-message.inc.php.

BaseMessage::$outboxTable
 

table to store outbox relationships

Definition at line 26 of file base-message.inc.php.

BaseMessage::$read = false
 

boolean if its read or not

Definition at line 16 of file base-message.inc.php.


The documentation for this class was generated from the following file:
Generated on Fri Oct 27 12:26:41 2006 for BaseJumper by doxygen 1.3.9.1