Single Newsletter Item

Base class with common features for database based items and item collections.

author Timo A. Hummel <Timo.Hummel@4fb.de>
author Murat Purc
version 0.3
copyright four for business 2003

 Methods

Constructor Function

__construct(mixed $mId) 

Parameters

$mId

mixed

Specifies the ID of item to load

Exceptions

\Contenido_ItemException If table name or primary key is not set

Filters the passed data using the functions defines in the _arrInFilters array.

_inFilter(mixed $mData) : mixed
Inherited

see \setFilters
inherited_from \Item::_inFilter()

Parameters

$mData

mixed

Data to filter

Returns

mixedFiltered data

Replaces newsletter tag (e.g. MAIL_NAME) with data.

_replaceTag(string $sCode, bool $bIsHTML, string $sField, string $sData) 

If code is just text using str_replace; if it is HTML by using regular expressions

access private

Parameters

$sCode

string

sCode Code, where the tags will be replaced (by reference)

$bIsHTML

bool

bIsHTML Is code HTML?

$sField

string

sField Field name, without MAIL_ (e.g. just "name")

$sData

string

sData Data

Deletes a custom property.

deleteProperty(string $sType, string $sName) : bool
Inherited

inherited_from \Item::deleteProperty()

Parameters

$sType

string

Specifies the type

$sName

string

Specifies the name

Returns

bool

Deletes a custom property by its id.

deletePropertyById(int $idprop) : bool
Inherited

inherited_from \Item::deletePropertyById()

Parameters

$idprop

int

Id of property

Returns

bool

Escape string for using in SQL-Statement.

escape(string $sString) : string
Inherited

inherited_from \Contenido_ItemBaseAbstract::escape()
inherited_from \Item::escape()

Parameters

$sString

string

The string to escape

Returns

stringEscaped string

Wrapper for getField (less to type).

get(string $sField) : mixed
Inherited

inherited_from \Item::get()

Parameters

$sField

string

Specifies the field to retrieve

Returns

mixedValue of the field

Gets the value of a specific field.

getField(string $sField) : mixed
Inherited

inherited_from \Item::getField()

Parameters

$sField

string

Specifies the field to retrieve

Returns

mixedValue of the field

If newsletter is HTML newsletter and necessary data available returns final HTML message

getHTMLMessage() : string

Returns

stringHTML message

getMetaObject()

getMetaObject() 
Inherited

inherited_from \Item::getMetaObject()

Returns a custom property.

getProperty(string $sType, string $sName) : mixed
Inherited

inherited_from \Item::getProperty()

Parameters

$sType

string

Specifies the type

$sName

string

Specifies the name

Returns

mixedValue of the given property or false

Checks, if html newsletter article still exists

htmlArticleExists() : bool

Returns

bool

Checks if a the item is already loaded.

isLoaded() : bool
Inherited

inherited_from \Item::isLoaded()

Returns

bool

Loads an item by colum/field from the database.

loadBy(string $sField, mixed $mValue, bool $bSafe) : bool
Inherited

inherited_from \Item::loadBy()

Parameters

$sField

string

Specifies the field

$mValue

mixed

Specifies the value

$bSafe

bool

Use inFilter or not

Returns

boolTrue if the load was successful

Loads an item by ID from the database.

loadByPrimaryKey(string $mValue) : bool
Inherited

inherited_from \Item::loadByPrimaryKey()

Parameters

$mValue

string

Specifies the primary key value

Returns

boolTrue if the load was successful

Loads an item by it's recordset.

loadByRecordSet(array $aRecordSet) 
Inherited

inherited_from \Item::loadByRecordSet()

Parameters

$aRecordSet

array

The recordset of the item

send()

send(\$idcatart $idcatart, \$destination $destination, \$to $to, \$iChunkSize $iChunkSize, \$iChunk $iChunk, $sEncoding) 

deprecated >V4.6.15 - 21.05.2007 Sends a newsletter

Parameters

$idcatart

\$idcatart

integer specifies id of the 'BlackBox'-acrticle containing the 'BlackBox'-module for management

$destination

\$destination

string specifies, who will receive the newsletter ("all", "default" = defaultgroup, "selection" = selected groups, "single" = one recepient [e.g. Welcome-Newsletter])

$to

\$to

array specifies, which group of recipients shall receive the newsletter ("all", "default" = defaultgroup, "4,5,6" = group IDs)

$iChunkSize

\$iChunkSize

integer specifies size of chunks when sending in chunks, 0 = don't send in chunks

$iChunk

\$iChunk

integer specifies current chunk number when sending in chunks result array array of recipient names/e-mails

$sEncoding

Sends test newsletter directly to specified recipients (single or group)

sendDirect(integer $iIDCatArt, integer $iIDNewsRcp, integer $iIDNewsGroup, array $aSendRcps, string $sEncoding) 

Note: Sending in chunks not supported! Only usable for tests and only a few recipients.

Parameters

$iIDCatArt

integer

idcatart of newsletter handler article

$iIDNewsRcp

integer

If specified, newsletter recipient id, ignored, if group specified

$iIDNewsGroup

integer

If specified, newsletter recipient group id

$aSendRcps

array

As reference: Filled with a list of succesfull recipients

$sEncoding

string

Message (and header) encoding, e.g. iso-8859-1

Sends test newsletter directly to specified email address

sendEMail(integer $iIDCatArt, string $sEMail, string $sName, $bSimulatePlugins, string $sEncoding) 

Parameters

$iIDCatArt

integer

idcatart of newsletter handler article

$sEMail

string

Recipient email address

$sName

string

Optional: Recipient name

$bSimulatePlugins

$sEncoding

string

Message (and header) encoding, e.g. iso-8859-1

Shortcut to setField.

set(string $sField, string $mValue, bool $bSafe) 
Inherited

inherited_from \Item::set()

Parameters

$sField

string

Field name

$mValue

string

Value to set

$bSafe

bool

Flag to run defined inFilter on passed value

Sets the value of a specific field.

setField(string $sField, string $mValue, bool $bSafe) 
Inherited

inherited_from \Item::setField()

Parameters

$sField

string

Field name

$mValue

string

Value to set

$bSafe

bool

Flag to run defined inFilter on passed value

Define the filter functions used when data is being stored or retrieved from the database.

setFilters(array $aInFilters, array $aOutFilters) : void
Inherited

Examples:

$obj->setFilters(array('addslashes'), array('stripslashes'));
$obj->setFilters(array('htmlencode', 'addslashes'), array('stripslashes', 'htmlencode'));

inherited_from \Item::setFilters()

Parameters

$aInFilters

array

Array with function names

$aOutFilters

array

Array with function names

Sets a custom property.

setProperty(string $sType, string $sName, mixed $mValue) : bool
Inherited

inherited_from \Item::setProperty()

Parameters

$sType

string

Specifies the type

$sName

string

Specifies the name

$mValue

mixed

Specifies the value

Returns

bool

Overriden store()-Method to set modified and modifiedby data and to ensure, that there is only one welcome newsletter

store() : bool

Returns

bool

Returns current item data as an assoziative array.

toArray() : array | false
Inherited

inherited_from \Item::toArray()

Returns

arrayfalse

Returns current item data as an object.

toObject() : \stdClass | false
Inherited

inherited_from \Item::toObject()

Returns

\stdClassfalse

_deChunkHTTPBody()

_deChunkHTTPBody($sHeader, $sBody, $sEOL) 

Parameters

$sHeader

$sBody

$sEOL

_getNewsletterTagData()

_getNewsletterTagData($sHTML, $sTag) 

Parameters

$sHTML

$sTag

Returns properties instance, instantiates it if not done before.

_getPropertiesCollectionInstance() : \PropertyCollection
Inherited

inherited_from \Contenido_ItemBaseAbstract::_getPropertiesCollectionInstance()
inherited_from \Item::_getPropertiesCollectionInstance()

Returns

Returns the second database instance, usable to run additional statements without losing current query results.

_getSecondDBInstance() : \DB_Contenido
Inherited

inherited_from \Contenido_ItemBaseAbstract::_getSecondDBInstance()
inherited_from \Item::_getSecondDBInstance()

Returns

Loads an item by passed where clause from the database.

_loadByWhereClause(string $sWhere) : bool
Inherited

This function is expensive, since it executes allways a query to the database to retrieve the primary key, even if the record set is aleady cached. NOTE: Passed value has to be escaped before. This will not be done by this function.

inherited_from \Item::_loadByWhereClause()

Parameters

$sWhere

string

The where clause like 'idart = 123 AND idlang = 1'

Returns

boolTrue if the load was successful

Function which is called whenever an item is loaded.

_onLoad() : void
Inherited

Inherited classes should override this function if desired.

inherited_from \Item::_onLoad()

Filters the passed data using the functions defines in the _arrOutFilters array.

_outFilter(mixed $mData) : mixed
Inherited

see \setFilters
inherited_from \Item::_outFilter()

Parameters

$mData

mixed

Data to filter

Returns

mixedFiltered data

_setMetaObject()

_setMetaObject($sObjectName) 
Inherited

inherited_from \Item::_setMetaObject()

Parameters

$sObjectName

 Properties

 

Storage of the primary key

$primaryKey : string
Inherited

inherited_from \Contenido_ItemBaseAbstract::$$primaryKey
inherited_from \Item::$$primaryKey
 

Storage of the source table to use for the user informations

$values : array
Inherited

inherited_from \Item::$$values
 

Checks for the virginity of created objects. If true, the object is virgin and no operations on it except load-Functions are allowed.

$virgin : bool
Inherited

inherited_from \Contenido_ItemBaseAbstract::$$virgin
inherited_from \Item::$$virgin
 

List of funcion names of the filters used when data is stored to the db.

$_arrInFilters : array
Inherited

inherited_from \Item::$$_arrInFilters
 

List of funcion names of the filtersused when data is retrieved from the db

$_arrOutFilters : array
Inherited

inherited_from \Item::$$_arrOutFilters
 

Classname of current instance

$_className : string
Inherited

inherited_from \Contenido_ItemBaseAbstract::$$_className
inherited_from \Item::$$_className
 

Class name of meta object

$_metaObject : string
Inherited

inherited_from \Item::$$_metaObject
 

Item cache instance

$_oCache : \Contenido_ItemCache
Inherited

inherited_from \Contenido_ItemBaseAbstract::$$_oCache
inherited_from \Item::$$_oCache
 

Error storage

$_sError : string

access private
 

GenericDB settings, see $cfg['sql']

$_settings : array
Inherited

inherited_from \Contenido_ItemBaseAbstract::$$_settings
inherited_from \Item::$$_settings
 

Cache the result items FIXME seems to not used, remove it!

$cache : array
Inherited

inherited_from \Contenido_ItemBaseAbstract::$$cache
inherited_from \Item::$$cache
 

Database instance, contains the database object

$db : \DB_Contenido
Inherited

inherited_from \Contenido_ItemBaseAbstract::$$db
inherited_from \Item::$$db
 

Storage of the last occured error

$lasterror : string
Inherited

inherited_from \Contenido_ItemBaseAbstract::$$lasterror
inherited_from \Item::$$lasterror
 

Lifetime of results/created objects? FIXME Not used at the moment!

$lifetime : int
Inherited

inherited_from \Contenido_ItemBaseAbstract::$$lifetime
inherited_from \Item::$$lifetime
 

Storage of the fields which were modified, where the keys are the fieldnames and the values just simple booleans.

$modifiedValues : array
Inherited

inherited_from \Item::$$modifiedValues
 

Stores the old primary key, just in case somebody wants to change it

$oldPrimaryKey : string
Inherited

inherited_from \Item::$$oldPrimaryKey
 

Property collection instance

$properties : \PropertyCollection
Inherited

inherited_from \Contenido_ItemBaseAbstract::$$properties
inherited_from \Item::$$properties
 

Second DB instance, is required for some additional queries without losing an current existing query result.

$secondDb : \DB_Contenido
Inherited

inherited_from \Contenido_ItemBaseAbstract::$$secondDb
inherited_from \Item::$$secondDb
 

Storage of the source table to use for the information

$table : string
Inherited

inherited_from \Contenido_ItemBaseAbstract::$$table
inherited_from \Item::$$table