Include Datamapper ORM

This commit is contained in:
Karsten Heiken
2011-05-29 14:57:33 +02:00
parent 58317382f4
commit 98434eddbb
19 changed files with 10091 additions and 1 deletions

View File

@@ -0,0 +1,76 @@
<?php
/**
* Translate Extension for DataMapper classes.
*
* Translate DataMapper model fields containing language strings
*
* @license MIT License
* @package DMZ-Included-Extensions
* @category DMZ
* @author WanWizard
* @version 1.0
*/
// --------------------------------------------------------------------------
/**
* DMZ_Translate Class
*
* @package DMZ-Included-Extensions
*/
class DMZ_Translate {
/**
* do language translations of the field list.
*
* @param DataMapper $object The DataMapper Object to convert
* @param array $fields Array of fields to include. If empty, includes all database columns.
* @return object, the Datamapper object
*/
function translate( $object, $fields = array() )
{
// make sure $fields is an array
$fields = (array) $fields;
// assume all database columns if $fields is not provided.
if(empty($fields))
{
$fields = $object->fields;
}
// loop through the fields
foreach($fields as $f)
{
// first, deal with the loaded fields
if ( isset($object->{$f}) )
{
$line = lang($object->{$f});
if ( $line )
{
$object->{$f};
}
}
// then, loop through the all array
foreach($object->all as $key => $all_object)
{
if ( isset($all_object->{$f}) )
{
$line = lang($all_object->{$f});
if ( $line )
{
$object->all[$key]->{$f} = $line;
}
}
}
}
// return the Datamapper object
return $object;
}
}
/* End of file translate.php */
/* Location: ./application/datamapper/translate.php */