diff --git a/lib/plugins/plugin.inc.php b/lib/plugins/plugin.inc.php index f14502a..9fedc34 100644 --- a/lib/plugins/plugin.inc.php +++ b/lib/plugins/plugin.inc.php @@ -78,9 +78,9 @@ class KTPlugin { // Register helper in DB if(is_array($aLocation)){ - $sLocation = implode('_|', $aLocation); + $aLocation = serialize($aLocation); } - $params = $sLocation.'|'.$sPortletClassName.'|'.$sPortletNamespace.'|'.$sFilename.'|'.$this->sNamespace; + $params = $aLocation.'|'.$sPortletClassName.'|'.$sPortletNamespace.'|'.$sFilename.'|'.$this->sNamespace; $this->registerPluginHelper($sPortletNamespace, $sPortletClassName, $sFilename, $params, 'general', 'portlet'); } @@ -280,10 +280,10 @@ class KTPlugin { // Register helper in DB if(is_array($aInitialize)){ - $sInitialize = implode('_|', $aInitialize); + $aInitialize = serialize($aInitialize); } - $params = $sClassName.'|'.$sNamespace.'|'.$sFilename.'|'.$sInitialize; + $params = $sClassName.'|'.$sNamespace.'|'.$sFilename.'|'.$aInitialize; $this->registerPluginHelper($sNamespace, $sClassName, $sFilename, $params, 'general', 'criterion'); } @@ -396,8 +396,11 @@ class KTPlugin { switch ($sClassType) { case 'portlet': - $aLocation = explode('_|', $aParams[0]); - $aParams[0] = $aLocation; + $aLocation = unserialize($aParams[0]); + if($aLocation !== false){ + $aParams[0] = $aLocation; + } + $this->_aPortlets[$sName] = $aParams; break; @@ -466,8 +469,11 @@ class KTPlugin { break; case 'criterion': - $aInit = explode('_|', $aParams[3]); - $aParams[3] = $aInit; + $aInit = unserialize($aParams[3]); + if($aInit !== false){ + $aParams[3] = $aInit; + } + $this->_aCriteria[$sName] = $aParams; break; diff --git a/lib/plugins/pluginutil.inc.php b/lib/plugins/pluginutil.inc.php index d18a3db..3d29f1d 100644 --- a/lib/plugins/pluginutil.inc.php +++ b/lib/plugins/pluginutil.inc.php @@ -171,8 +171,11 @@ class KTPluginUtil { switch ($sClassType) { case 'portlet': - $aLocation = explode('_|', $aParams[0]); - $aParams[0] = $aLocation; + $aLocation = unserialize($aParams[0]); + if($aLocation !== false){ + $aParams[0] = $aLocation; + } + call_user_func_array(array(&$oPRegistry, 'registerPortlet'), $aParams); break; @@ -241,8 +244,10 @@ class KTPluginUtil { break; case 'criterion': - $aInit = explode('_|', $aParams[3]); - $aParams[3] = $aInit; + $aInit = unserialize($aParams[3]); + if($aInit !== false){ + $aParams[3] = $aInit; + } call_user_func_array(array(&$oCriteriaRegistry, 'registerCriterion'), $aParams); break;