コード例 #1
0
ファイル: Main.php プロジェクト: kirkbauer2/kirkxc
 /**
  * Returns repository class for model class of current node
  *
  * @param \Includes\Decorator\DataStructure\Graph\Classes $node Current node
  *
  * @return string
  */
 protected function getRepositoryClass(\Includes\Decorator\DataStructure\Graph\Classes $node)
 {
     $repositoryClass = null;
     if (!($node->isLowLevelNode() || $node->isTopLevelNode() || !$node->isDecorator())) {
         $children = $node->getChildren();
         $repositoryClass = isset($children[0]) ? $this->getRepositoryClass($children[0]) : $this->getDefaultRepositoryClass('');
     } else {
         $repositoryClass = \Includes\Utils\Converter::getPureClassName($node->getClass());
         $repositoryClass = \Includes\Utils\Converter::prepareClassName(str_replace('\\Model\\', '\\Model\\Repo\\', $repositoryClass), false);
         if (!\XLite\Core\Operator::isClassExists($repositoryClass)) {
             $repositoryClass = $this->getDefaultRepositoryClass($repositoryClass);
         }
     }
     return $repositoryClass;
 }
コード例 #2
0
ファイル: Database.php プロジェクト: kingsj/core
 /**
  * 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;
 }
コード例 #3
0
ファイル: Main.php プロジェクト: kirkbauer2/kirkxc
 /**
  * Return the array of substitutes for the "owner" template
  *
  * @param \Doctrine\ORM\Mapping\ClassMetadata $main Current multilang model class metadata
  *
  * @return array
  */
 protected function getOwnerSubstitutes(\Doctrine\ORM\Mapping\ClassMetadata $main)
 {
     return array('____OWNER_CLASS____' => \Includes\Utils\Converter::getPureClassName($main->name), '____MAIN_CLASS____' => \Includes\Utils\Converter::getPureClassName($main->name), '____MAIN_CLASS_ID____' => array_shift($main->identifier));
 }