]> git.sur5r.net Git - bacula/bacula/blob - gui/baculum/framework/Data/SqlMap/Statements/TSimpleDynamicSql.php
baculum: New Baculum API and Baculum Web
[bacula/bacula] / gui / baculum / framework / Data / SqlMap / Statements / TSimpleDynamicSql.php
1 <?php
2 /**
3  * TSimpleDynamicSql class file.
4  *
5  * @author Wei Zhuo <weizhuo[at]gmail[dot]com>
6  * @link https://github.com/pradosoft/prado
7  * @copyright Copyright &copy; 2005-2016 The PRADO Group
8  * @license https://github.com/pradosoft/prado/blob/master/COPYRIGHT
9  * @package System.Data.SqlMap.Statements
10  */
11
12 /**
13  * TSimpleDynamicSql class.
14  *
15  * @author Wei Zhuo <weizho[at]gmail[dot]com>
16  * @package System.Data.SqlMap.Statements
17  * @since 3.1
18  */
19 class TSimpleDynamicSql extends TStaticSql
20 {
21         private $_mappings=array();
22
23         public function __construct($mappings)
24         {
25                 $this->_mappings = $mappings;
26         }
27
28         public function replaceDynamicParameter($sql, $parameter)
29         {
30                 foreach($this->_mappings as $property)
31                 {
32                         $value = TPropertyAccess::get($parameter, $property);
33                         $sql = preg_replace('/'.TSimpleDynamicParser::DYNAMIC_TOKEN.'/', str_replace('$', '\$', $value), $sql, 1);
34                 }
35                 return $sql;
36         }
37 }
38