PHP Class Prado\I18N\core\MessageSource_MySQL

Retrive the message translation from a MySQL database. See the MessageSource::factory() method to instantiate this class.
Inheritance: extends MessageSource
Mostra file Open project: pradosoft/prado

Protected Properties

Property Type Description
$db db A resource link to the database
$dns array The DSN array property, parsed by PEAR's DB DSN parser.
$source string The datasource string, full DSN to the database.

Public Methods

Method Description
__construct ( $source ) Constructor.
__destruct ( ) Destructor, close the database connection.
catalogues ( ) : array Returns a list of catalogue as key and all it variants as value.
connection ( ) : db Get the database connection.
delete ( $message, $catalogue = 'messages' ) : boolean Delete a particular message from the specified catalogue.
save ( $catalogue = 'messages' ) : boolean Save the list of untranslated blocks to the translation source.
update ( $text, $target, $comments, $catalogue = 'messages' ) : boolean Update the translation.

Protected Methods

Method Description
connect ( ) : resource Connect to the MySQL datasource
getCatalogueList ( $catalogue ) : array Get all the variants of a particular catalogue.
getLastModified ( $source ) : integer Get the last modified unix-time for this particular catalogue+variant.
isValidSource ( $variant ) : boolean Check if a particular catalogue+variant exists in the database.
loadData ( $variant ) : array Get an array of messages for a particular catalogue and cultural variant.

Private Methods

Method Description
getCatalogueDetails ( $catalogue = 'messages' ) : array Retrive catalogue details, array($cat_id, $variant, $count).
updateCatalogueTime ( $cat_id, $variant ) : boolean Update the catalogue last modified time.

Method Details

__construct() public method

Create a new message source using MySQL.
public __construct ( $source )

__destruct() public method

Destructor, close the database connection.
public __destruct ( )

catalogues() public method

Returns a list of catalogue as key and all it variants as value.
public catalogues ( ) : array
return array list of catalogues

connect() protected method

Connect to the MySQL datasource
protected connect ( ) : resource
return resource MySQL connection.

connection() public method

Get the database connection.
public connection ( ) : db
return db database connection.

delete() public method

Delete a particular message from the specified catalogue.
public delete ( $message, $catalogue = 'messages' ) : boolean
return boolean true if deleted, false otherwise.

getCatalogueList() protected method

Get all the variants of a particular catalogue.
protected getCatalogueList ( $catalogue ) : array
return array list of all variants for this catalogue.

getLastModified() protected method

We need to query the database to get the date_modified.
protected getLastModified ( $source ) : integer
return integer last modified in unix-time format.

isValidSource() protected method

Check if a particular catalogue+variant exists in the database.
protected isValidSource ( $variant ) : boolean
return boolean true if the catalogue+variant is in the database, false otherwise.

loadData() protected method

Get an array of messages for a particular catalogue and cultural variant.
protected loadData ( $variant ) : array
return array translation messages.

save() public method

If the translation was not found, you should add those strings to the translation source via the append() method.
public save ( $catalogue = 'messages' ) : boolean
return boolean true if saved successfuly, false otherwise.

update() public method

Update the translation.
public update ( $text, $target, $comments, $catalogue = 'messages' ) : boolean
return boolean true if translation was updated, false otherwise.

Property Details

$db protected_oe property

A resource link to the database
protected db $db
return db

$dns protected_oe property

The DSN array property, parsed by PEAR's DB DSN parser.
protected array $dns
return array

$source protected_oe property

The datasource string, full DSN to the database.
protected string $source
return string