Index: trunk/core/kernel/parser/template.php
===================================================================
diff -u -N -r6703 -r7391
--- trunk/core/kernel/parser/template.php (.../template.php) (revision 6703)
+++ trunk/core/kernel/parser/template.php (.../template.php) (revision 7391)
@@ -57,7 +57,7 @@
if ($application->isDebugMode()) {
$application->Debugger->appendTrace();
}
- trigger_error("File or block not found: $filename", ($silent ? E_USER_NOTICE : E_USER_ERROR) );
+ trigger_error("File or block not found: $filename at ".$application->Parser->TemplateName, ($silent ? E_USER_NOTICE : E_USER_ERROR) );
}
return false;
}
@@ -108,7 +108,18 @@
$module_filename = $filename;
}
- if ( $this->Application->IsAdmin() && $this->Application->findModule('Name', $first_dir)) {
+ // !preg_match for backward compatability with full-path plugins
+ if ($this->Application->IsAdmin() && $first_dir == 'plugins' && !preg_match('/admin_templates/', $module_filename)) {
+ if (preg_match('#^[\/]{0,1}([^\/]*)\/(.*)#', $module_filename, $regs)) {;
+ $path = MODULES_PATH.'/'.strtolower($first_dir).'/'.$regs[1].'/admin_templates';
+ $module_filename = $regs[2];
+ }
+ else {
+ $first_dir = '';
+ $module_filename = $filename;
+ }
+ }
+ elseif ( $this->Application->IsAdmin() && $this->Application->findModule('Name', $first_dir)) {
if ($first_dir == 'in-portal') {
$first_dir = 'kernel';
}