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'; }