private function importLanguage(Project $project, $language)
 {
     $this->logger->info("Set language to {$language} for {$project->getUnixName()}");
     try {
         $this->language_manager->saveLanguageOption($project, $language);
     } catch (Mediawiki_UnsupportedLanguageException $e) {
         $this->logger->warn("Could not set up the language for {$project->getUnixName()} mediawiki, {$language} is not sopported.");
     }
 }
예제 #2
0
 private function getLanguageForProject(Project $project)
 {
     $used_language = $this->language_manager->getUsedLanguageForProject($project);
     if ($used_language) {
         return $used_language;
     }
     $languages = $this->language_manager->getAvailableLanguages();
     if (count($languages) == 1) {
         $this->language_manager->saveLanguageOption($project, $languages[0]);
         return $languages[0];
     }
     return;
 }
예제 #3
0
 private function setLanguageFromTemplate()
 {
     $template_project = ProjectManager::instance()->getProject($this->project->getTemplate());
     if (!$template_project) {
         return;
     }
     $this->language_manager->saveLanguageOption($this->project, $this->language_manager->getUsedLanguageForProject($template_project));
 }
 public function save_language(ServiceMediawiki $service, HTTPRequest $request)
 {
     $this->assertUserIsProjectAdmin($service, $request);
     if ($request->isPost()) {
         $project = $request->getProject();
         $language = $request->get('language');
         try {
             $this->language_manager->saveLanguageOption($project, $language);
         } catch (Mediawiki_UnsupportedLanguageException $exception) {
             $GLOBALS['Response']->addFeedback(Feedback::ERROR, $GLOBALS['Language']->getText('plugin_mediawiki', 'unsupported_language', array($exception->getLanguage())));
         }
     }
     $GLOBALS['Response']->redirect(MEDIAWIKI_BASE_URL . '/forge_admin?' . http_build_query(array('group_id' => $request->get('group_id'), 'pane' => 'language')));
 }