diff --git a/lib/plugins/plugin.inc.php b/lib/plugins/plugin.inc.php index 2e8871f..853fb8f 100644 --- a/lib/plugins/plugin.inc.php +++ b/lib/plugins/plugin.inc.php @@ -356,12 +356,14 @@ class KTPlugin { if (empty($sFilename)) { $sFilename = $this->sFilename; } + if (!KTUtil::isAbsolutePath($sFilename)) { if ($this->sFilename) { $sDirPath = dirname($this->sFilename); $sFilename = sprintf("%s/%s", $sDirPath, $sFilename); } } + $sFilename = str_replace('\\', '/', $sFilename); return $sFilename; } diff --git a/lib/util/ktutil.inc b/lib/util/ktutil.inc index bb8f3b0..d69ef1a 100644 --- a/lib/util/ktutil.inc +++ b/lib/util/ktutil.inc @@ -749,6 +749,11 @@ class KTUtil { // {{{ isAbsolutePath static function isAbsolutePath($sPath) { + $sPath = str_replace('\\', '/', $sPath); + $sReal = str_replace('\\', '/', realpath($sPath)); + + return ($sReal == $sPath); + if (substr($sPath, 0, 1) == '/') { return true; } diff --git a/plugins/ktcore/KTDocumentActions.php b/plugins/ktcore/KTDocumentActions.php index a95a71b..1f19c5c 100644 --- a/plugins/ktcore/KTDocumentActions.php +++ b/plugins/ktcore/KTDocumentActions.php @@ -171,15 +171,17 @@ class KTDocumentVersionHistoryAction extends KTDocumentAction { if($isActive){ $oRegistry =& KTPluginRegistry::getSingleton(); - $oPlugin =& $oRegistry->getPlugin('document.comparison.plugin'); - $oPlugin->load(); - $sUrl = $oPlugin->getPagePath('DocumentComparison'); - $file = $oPlugin->_aPages['document.comparison.plugin/DocumentComparison'][2]; + $oPlugin =& $oRegistry->getPlugin('document.comparison.plugin'); + + if($oPlugin->load()){ + $sUrl = $oPlugin->getPagePath('DocumentComparison'); + $file = $oPlugin->_aPages['document.comparison.plugin/DocumentComparison'][2]; - include_once($file); + include_once($file); - // Check mime type of document for content comparison - list($bShowCompare, $bShowVersionCompare) = DocumentComparison::checkMimeType($this->oDocument); + // Check mime type of document for content comparison + list($bShowCompare, $bShowVersionCompare) = DocumentComparison::checkMimeType($this->oDocument); + } } $aTemplateData = array(