/** * Detect custom repository class name by entity class name * * @param string $class Entity class name * * @return string */ protected function detectCustomRepositoryClassName($class) { $class = \Includes\Utils\Converter::getPureClassName($class); $class = \Includes\Utils\Converter::prepareClassName(str_replace('\\Model\\', '\\Model\\Repo\\', $class), false); if (!\XLite\Core\Operator::isClassExists($class)) { $class = '\\XLite\\Model\\Repo\\Base\\' . (preg_match('/\\wTranslation$/Ss', $class) ? 'Translation' : 'Common'); } elseif (\Includes\Pattern\Factory::getClassHandler($class)->isAbstract()) { $class = null; } return $class; }