Open Source Billing
This commit is contained in:
40
modules/email/classes/Model/Email/Template/Translate.php
Normal file
40
modules/email/classes/Model/Email/Template/Translate.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php defined('SYSPATH') or die('No direct access allowed.');
|
||||
|
||||
/**
|
||||
*
|
||||
* @package Email
|
||||
* @category Models
|
||||
* @author Deon George
|
||||
* @copyright (c) 2009-2013 Open Source Billing
|
||||
* @license http://dev.osbill.net/license.html
|
||||
*/
|
||||
class Model_Email_Template_Translate extends ORM_OSB {
|
||||
// This module doesnt keep track of column updates automatically
|
||||
protected $_created_column = FALSE;
|
||||
protected $_updated_column = FALSE;
|
||||
|
||||
public function variables($field) {
|
||||
$results = array();
|
||||
$matches = array();
|
||||
|
||||
preg_match_all('/%([A-Z0-9_]+)%/U',$this->$field,$matches,PREG_OFFSET_CAPTURE);
|
||||
|
||||
foreach ($matches[1] as $k => $v)
|
||||
$results[$v[1]] = $v[0];
|
||||
|
||||
$results = array_unique($results);
|
||||
asort($results);
|
||||
|
||||
return $results;
|
||||
}
|
||||
|
||||
public function resolve($data,$column) {
|
||||
$output = $this->display($column);
|
||||
|
||||
foreach ($this->variables($column) as $k => $v)
|
||||
$output = str_replace('%'.$v.'%',$data[$v],$output);
|
||||
|
||||
return $output;
|
||||
}
|
||||
}
|
||||
?>
|
Reference in New Issue
Block a user