コード例 #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
ファイル: Upgrade.php プロジェクト: kirkbauer2/kirkxc
 /**
  * Check if module will be disabled after upgrade
  *
  * :TRICKY: check if the "getMajorVersion" is not declared in the main module class
  *
  * @param \XLite\Model\Module $module Module to check
  *
  * @return boolean
  */
 protected function isModuleToDisable(\XLite\Model\Module $module)
 {
     $versionCore = \XLite\Upgrade\Cell::getInstance()->getCoreMajorVersion();
     $versionModule = $module->getMajorVersion();
     $classModule = \Includes\Utils\ModulesManager::getClassNameByModuleName($module->getActualName());
     $reflection = new \ReflectionMethod($classModule, 'getMajorVersion');
     $classModule = \Includes\Utils\Converter::prepareClassName($classModule);
     $classActual = \Includes\Utils\Converter::prepareClassName($reflection->getDeclaringClass()->getName());
     return version_compare($versionModule, $versionCore, '<') || $classModule !== $classActual;
 }
コード例 #3
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;
 }
コード例 #4
0
ファイル: Operator.php プロジェクト: kirkbauer2/kirkxc
 /**
  * Check if class is an LC one
  *
  * @param string $name Class name
  *
  * @return boolean
  */
 public static function checkIfLCClass($name)
 {
     return 0 === strpos(\Includes\Utils\Converter::prepareClassName($name), LC_NAMESPACE);
 }