/**
  * Creates as much languages as possible
  */
 public function setUp()
 {
     parent::setUp();
     $this->languageService = $this->getRepository()->getContentLanguageService();
     $languageCreate = $this->languageService->newLanguageCreateStruct();
     $languageCreate->enabled = true;
     // SKIP If using sqlite, PHP 5.3 and 64bit, tests will fail as int column seems to be limited to 32bit on 64bit
     if (PHP_VERSION_ID < 50400 && PHP_INT_SIZE === 8) {
         $setupFactory = $this->getSetupFactory();
         if ($setupFactory instanceof LegacySetupFactory && $setupFactory->getDB() === 'sqlite') {
             $this->markTestSkipped("Skip on Sqlite, PHP 5.3 and 64bit, as int column is limited to 32bit on 64bit");
         }
     }
     // Create as much languages as possible
     for ($i = count($this->languageService->loadLanguages()) + 1; $i <= 8 * PHP_INT_SIZE - 2; ++$i) {
         $languageCreate->name = "Language {$i}";
         $languageCreate->languageCode = sprintf("lan-%02d", $i);
         try {
             $this->createdLanguages[] = $this->languageService->createLanguage($languageCreate);
         } catch (\Exception $e) {
             if (PHP_INT_SIZE === 8 && $i === 32) {
                 throw new \Exception("PHP/HHVM is 64bit, but seems INT column in db only supports 32bit", 0, $e);
             }
             throw new \Exception("Unknown issue on iteration {$i}, PHP_INT_SIZE: " . PHP_INT_SIZE, 0, $e);
         }
     }
 }
示例#2
0
 public function getConfig()
 {
     $languages = array();
     foreach ($this->languageService->loadLanguages() as $language) {
         $languages[] = array('id' => $language->id, 'name' => $language->name, 'languageCode' => $language->languageCode, 'enabled' => $language->enabled);
     }
     return $languages;
 }
 protected function getSelectionChoices()
 {
     $choices = [];
     foreach ($this->languageService->loadLanguages() as $language) {
         $choices[$language->languageCode] = $language->name;
     }
     return $choices;
 }
 /**
  * Renders the language list.
  *
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function listAction()
 {
     $languageList = $this->languageService->loadLanguages();
     $deleteFormsByLanguageId = [];
     foreach ($languageList as $language) {
         $languageId = $language->id;
         $deleteFormsByLanguageId[$languageId] = $this->createForm(new LanguageDeleteType($this->languageService), ['languageId' => $languageId])->createView();
     }
     return $this->render('eZPlatformUIBundle:Language:list.html.twig', ['canEdit' => $this->isGranted(new Attribute('language', 'edit')), 'canAssign' => $this->isGranted(new Attribute('language', 'assign')), 'languageList' => $languageList, 'deleteFormsByLanguageId' => $deleteFormsByLanguageId]);
 }
 /**
  * Creates as much languages as possible
  */
 public function setUp()
 {
     parent::setUp();
     $this->languageService = $this->getRepository()->getContentLanguageService();
     $languageCreate = $this->languageService->newLanguageCreateStruct();
     $languageCreate->enabled = true;
     // Create as much languages as possible
     for ($i = count($this->languageService->loadLanguages()) + 1; $i <= 8 * PHP_INT_SIZE - 2; ++$i) {
         $languageCreate->name = "Language {$i}";
         $languageCreate->languageCode = sprintf("lan-%02d", $i);
         $this->createdLanguages[] = $this->languageService->createLanguage($languageCreate);
     }
 }
 /**
  * @inheritdoc
  */
 public function visit(TreeNodeInterface $node, &$data)
 {
     $languages = $this->languageService->loadLanguages();
     $existingLanguageCodes = [];
     foreach ($languages as $language) {
         $existingLanguageCodes[] = $language->languageCode;
     }
     // If language already exists, skip it
     if (in_array($data['language_code'], $existingLanguageCodes)) {
         return;
     }
     $struct = $this->languageService->newLanguageCreateStruct();
     $this->fillValueObject($struct, $data);
     $this->languageService->createLanguage($struct);
 }
 /**
  * Loads all Languages
  *
  * @return \eZ\Publish\API\Repository\Values\Content\Language[]
  */
 public function loadLanguages()
 {
     return $this->service->loadLanguages();
 }