Fixed some bugs in TemplateHandler class

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9274 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ngleader 2011-09-22 08:36:51 +00:00
parent 18a01f4e35
commit a9660e3fe3
2 changed files with 41 additions and 17 deletions

View file

@ -389,15 +389,18 @@
if($cmd == 'import') $cmd = 'load';
}
$isRemoteFile = !!preg_match('@^https?://@i', $attr['target']);
if(!$isRemoteFile && !preg_match('@^\.?/@',$attr['target'])) $attr['target'] = './'.$attr['target'];
$metafile = '';
$pathinfo = pathinfo($attr['target']);
$relativeDir = $this->_getRelativeDir($pathinfo['dirname']);
if(!$isRemoteFile) $attr['target'] = $relativeDir.'/'.$pathinfo['basename'];
$isRemoteFile = !!preg_match('@^https?://@i', $attr['target']);
if(!$isRemoteFile) {
if(!preg_match('@^\.?/@',$attr['target'])) $attr['target'] = './'.$attr['target'];
$relativeDir = $this->_getRelativeDir($pathinfo['dirname']);
$attr['target'] = $relativeDir.'/'.$pathinfo['basename'];
}
switch($pathinfo['extension'])
{
@ -411,18 +414,19 @@
}
break;
case 'js':
if($cmd == 'unload') {
$result = "Context::unloadFile('{$attr['target']}','{$attr['targetie']}');";
if($cmd == 'load') {
$metafile = $attr['target'];
$result = "\$__tmp=array('{$attr['target']}','{$attr['type']}','{$attr['targetie']}','{$attr['index']}','{$attr['usecdn']}','{$attr['cdnprefix']}','{$attr['cdnversion']}');Context::loadFile(\$__tmp);unset(\$__tmp);";
} else {
$result = "\$__tmp=array('{$attr['target']}','{$attr['media']}','{$attr['targetie']}','{$attr['index']}','{$attr['usecdn']}','{$attr['cdnprefix']}','{$attr['cdnversion']}');Context::loadFile(\$__tmp);unset(\$__tmp);";
$result = "Context::unloadFile('{$attr['target']}','{$attr['targetie']}');";
}
break;
case 'css':
if($cmd == 'unload') {
$result = "Context::unloadFile('{$attr['target']}','{$attr['targetie']}','{$attr['media']}');";
} else {
if($cmd == 'load') {
$metafile = $attr['target'];
$result = "\$__tmp=array('{$attr['target']}','{$attr['type']}','{$attr['targetie']}','{$attr['index']}','{$attr['usecdn']}','{$attr['cdnprefix']}','{$attr['cdnversion']}');Context::loadFile(\$__tmp);unset(\$__tmp);";
$result = "\$__tmp=array('{$attr['target']}','{$attr['media']}','{$attr['targetie']}','{$attr['index']}','{$attr['usecdn']}','{$attr['cdnprefix']}','{$attr['cdnversion']}');Context::loadFile(\$__tmp);unset(\$__tmp);";
} else {
$result = "Context::unloadFile('{$attr['target']}','{$attr['targetie']}','{$attr['media']}');";
}
break;
}