00001 <?php
00040 class zTemplate extends zCore{
00049 function getContents($src, $flag=false){
00050 if(zTemplate::exists($src, $flag)){
00051 return file_get_contents(zTemplate::getPath($src, $flag));
00052 }else{
00053 perror('<code>zigmoyd.template</code><br />template '.$src.' doesn\'t exist');
00054 return false;
00055 }
00056 }
00065 function exists($src, $flag){
00066 return file_exists(zTemplate::getPath($src, $flag));
00067 }
00076 function getPath($src, $flag){
00077 global $app_data;
00078 $src = explode('.', trim(trim($src), '.'));
00079 if($flag){
00080 $srcPath = ZIGROOT.DRS.Z_DIR_TMPL.DRS.$src[0].'.tmpl.php';
00081 }else{
00082 switch(count($src)){
00083 case 1:
00084 $srcPath = ZIGROOT.DRS.Z_DIR_PROJECTS.DRS.fstab_getProjectDirByName($app_data['prj']).DRS.Z_DIR_TMPL.DRS.$src[0].'.tmpl.php';
00085 break;
00086 case 2:
00087 $srcPath = ZIGROOT.DRS.Z_DIR_PROJECTS.DRS.fstab_getProjectDirByName($src[0]).DRS.Z_DIR_TMPL.DRS.$src[1].'.tmpl.php';
00088 break;
00089 default:
00090 perror("Invalid Template Name $src");
00091 }
00092 }
00093 return $srcPath;
00094 }
00102 function coreNumeric(){
00103 $list_args = func_get_args();
00104 $replace = array();
00105 $search = array();
00106 for($i=1;$i<count($list_args);++$i){
00107 $val = $list_args[$i];
00108 if(is_array($val)){
00109 foreach(array_values($val) as $val)array_push($replace, $val);
00110 }else{
00111 array_push($replace, $val);
00112 }
00113 }
00114 foreach($replace as $i => $val){
00115 $search['{{'.$i.'}}'] = $val;
00116 }
00117 return $search;
00118 }
00126 function coreAssoc($dict){
00127 $search = array();
00128 foreach($dict as $key => $val){
00129 $search["{{{$key}}}"] = $val;
00130 }
00131 return $search;
00132 }
00145 function numeric($templateName, $placeHolders=array()){
00146 $list_args = func_get_args();
00147 $dict = call_user_func_array(array('zTemplate', 'coreNumeric'), $list_args);
00148 return str_replace(array_keys($dict), array_values($dict), zTemplate::getContents($list_args[0]));
00149 }
00162 function sysNumeric($templateName, $placeHolders=array()){
00163 $list_args = func_get_args();
00164 $dict = call_user_func_array(array('zTemplate', 'coreNumeric'), $list_args);
00165 return str_replace(array_keys($dict), array_values($dict), zTemplate::getContents($list_args[0], true));
00166 }
00178 function assoc($templateName, $placeHolders=array()){
00179 $dict = call_user_func_array(array('zTemplate', 'coreAssoc'), array($dict));
00180 return str_replace(array_keys($dict), array_values($dict), zTemplate::getContents($src));
00181 }
00193 function sysAssoc($templateName, $placeHolders=array()){
00194 $dict = call_user_func_array(array('zTemplate', 'coreAssoc'), array($dict));
00195 return str_replace(array_keys($dict), array_values($dict), zTemplate::getContents($src));
00196 }
00197 }
00199 ?>