/**
  * Возвращает имя таблицы для сущности
  *
  * @param EntityORM $oEntity Объект сущности
  * @return string
  */
 public static function GetTableName($oEntity)
 {
     /**
      * Варианты таблиц:
      *    prefix_user -> если модуль совпадает с сущностью
      *    prefix_user_invite -> если модуль не сопадает с сущностью
      * Если сущность плагина:
      *    prefix_pluginname_user
      *    prefix_pluginname_user_invite
      */
     $sClass = Engine::getInstance()->Plugin_GetDelegater('entity', is_object($oEntity) ? get_class($oEntity) : $oEntity);
     $sPluginName = func_underscore(Engine::GetPluginName($sClass));
     $sModuleName = func_underscore(Engine::GetModuleName($sClass));
     $sEntityName = func_underscore(Engine::GetEntityName($sClass));
     if (strpos($sEntityName, $sModuleName) === 0) {
         $sTable = func_underscore($sEntityName);
     } else {
         $sTable = func_underscore($sModuleName) . '_' . func_underscore($sEntityName);
     }
     if ($sPluginName) {
         $sTable = $sPluginName . '_' . $sTable;
     }
     /**
      * Если название таблиц переопределено в конфиге, то возвращаем его
      */
     if (Config::Get('db.table.' . $sTable)) {
         return Config::Get('db.table.' . $sTable);
     } else {
         return Config::Get('db.table.prefix') . $sTable;
     }
 }
Exemplo n.º 2
0
 /**
  * Получить имя ключа из текущего, вызывающего метод, контекста
  *
  * @param $oCaller        контекст, вызывающий метод (для движка можно указывать null)
  * @return string
  */
 protected function GetKeyForCaller($oCaller = null)
 {
     $this->CheckCaller($oCaller);
     /*
      * Получаем имя плагина, если возможно
      */
     if (!($sCaller = strtolower(Engine::GetPluginName($oCaller)))) {
         /*
          * Если имени нет - значит это вызов ядра
          */
         return self::DEFAULT_KEY_NAME;
     }
     return self::PLUGIN_PREFIX . $sCaller;
 }