Exemple #1
0
 /**
  * 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;
 }