mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-07-05 16:04:24 +03:00
Inheritance + ORM fixes
This commit is contained in:
parent
7bf7511880
commit
fe8529f8f2
|
@ -676,10 +676,20 @@ class Engine extends Object {
|
||||||
: 'Module'.$sModule.'_Entity'.$sEntity;
|
: 'Module'.$sModule.'_Entity'.$sEntity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If plugin Entity doesn't exist, maybe the default one does?
|
* If Plugin Entity doesn't exist, search among it's Module delegates
|
||||||
*/
|
*/
|
||||||
if(isset($sPlugin) && !self::GetClassPath($sClass)) {
|
if(isset($sPlugin) && !self::GetClassPath($sClass)) {
|
||||||
$sClass = 'Module'.$sModule.'_Entity'.$sEntity;
|
$aModulesChain = Engine::GetInstance()->Plugin_GetDelegationChain('module','Plugin'.$sPlugin.'_Module'.$sModule);
|
||||||
|
foreach($aModulesChain as $sModuleName) {
|
||||||
|
$sClassTest=$sModuleName.'_Entity'.$sEntity;
|
||||||
|
if(self::GetClassPath($sClassTest)) {
|
||||||
|
$sClass=$sClassTest;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!self::GetClassPath($sClass)) {
|
||||||
|
$sClass='Module'.$sModule.'_Entity'.$sEntity;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -154,9 +154,12 @@ abstract class EntityORM extends Entity {
|
||||||
$sModuleName=Engine::GetModuleName($this);
|
$sModuleName=Engine::GetModuleName($this);
|
||||||
$sEntityName=Engine::GetEntityName($this);
|
$sEntityName=Engine::GetEntityName($this);
|
||||||
$sPluginPrefix=Engine::GetPluginPrefix($this);
|
$sPluginPrefix=Engine::GetPluginPrefix($this);
|
||||||
if(!class_exists($sPluginPrefix.$sModuleName) && $oRootDelegater=$this->Plugin_GetRootDelegater('entity',get_class($this))) {
|
/**
|
||||||
$sModuleName=Engine::GetModuleName($oRootDelegater);
|
* If Module not exists, try to find its root Delegater
|
||||||
$sPluginPrefix=Engine::GetPluginPrefix($oRootDelegater);
|
*/
|
||||||
|
if(!Engine::GetClassPath($sPluginPrefix.$sModuleName) && $oModuleRootDelegater=$this->Plugin_GetRootDelegater('module',$sPluginPrefix.$sModuleName)) {
|
||||||
|
$sModuleName=Engine::GetModuleName($oModuleRootDelegater);
|
||||||
|
$sPluginPrefix=Engine::GetPluginPrefix($oModuleRootDelegater);
|
||||||
}
|
}
|
||||||
return Engine::GetInstance()->_CallModule("{$sPluginPrefix}{$sModuleName}_{$sName}{$sEntityName}",array($this));
|
return Engine::GetInstance()->_CallModule("{$sPluginPrefix}{$sModuleName}_{$sName}{$sEntityName}",array($this));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue