public function itSavesNothingIfThereAreNoProjectLanguageAndMoreThanOneSystemLanguage()
 {
     ForgeConfig::set('sys_supported_languages', 'it_IT,ja_JP');
     stub($this->dao)->getUsedLanguageForProject()->returns(false);
     expect($this->dao)->updateLanguageOption()->never();
     $this->language_manager->getUsedLanguageForProject($this->project);
 }
 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.");
     }
 }
 private function getAvailableLanguagesWithWelcomePages(Project $project)
 {
     $available_languages = $this->language_manager->getAvailableLanguages();
     $languages_with_welcome_page = array();
     foreach ($available_languages as $available_language) {
         if (array_key_exists($available_language, self::$WELCOME_PAGES)) {
             $languages_with_welcome_page[] = array('page_name' => self::$WELCOME_PAGES[$available_language], 'url' => $this->getUrlForWikiPage($project, self::$WELCOME_PAGES[$available_language]));
         }
     }
     return $languages_with_welcome_page;
 }
 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')));
 }
 public function isMLEBExtensionAvailableForProject(Project $project)
 {
     return $this->isMLEBExtensionInstalled() && $this->version_manager->getVersionForProject($project) == MediawikiVersionManager::MEDIAWIKI_123_VERSION && $this->getMLEBUsageForProject($project) && $this->language_manager->getUsedLanguageForProject($project);
 }
Esempio n. 7
0
 require_once __DIR__ . '/../include/MediawikiFusionForgeProjectRetriever.php';
 require_once __DIR__ . '/../include/MediawikiDao.class.php';
 require_once __DIR__ . '/../include/MediawikiLanguageDao.php';
 require_once __DIR__ . '/../include/MediawikiUserGroupsMapper.class.php';
 require_once __DIR__ . '/../include/MediawikiSiteAdminResourceRestrictor.php';
 require_once MEDIAWIKI_BASE_DIR . '/MediawikiManager.class.php';
 require_once MEDIAWIKI_BASE_DIR . '/MediawikiLanguageManager.php';
 require_once MEDIAWIKI_BASE_DIR . '/MediawikiMLEBExtensionManagerLoader.php';
 /**
  * HACK
  */
 require_once MEDIAWIKI_BASE_DIR . '/../../fusionforge_compat/include/fusionforge_compatPlugin.class.php';
 $ff_plugin = new fusionforge_compatPlugin();
 $ff_plugin->loaded();
 $manager = new MediawikiManager(new MediawikiDao());
 $language_manager = new MediawikiLanguageManager(new MediawikiLanguageDao());
 $project_retriever = new MediawikiFusionForgeProjectRetriever();
 $forbidden_permissions = array('editmyusercss', 'editmyuserjs', 'viewmyprivateinfo', 'editmyprivateinfo');
 $read_permissions = array('read', 'viewmywatchlist', 'editmywatchlist');
 $write_permissions = array('edit', 'createpage', 'move', 'createtalk', 'writeapi');
 //Trust Mediawiki security
 $xml_security = new XML_Security();
 $xml_security->enableExternalLoadOfEntities();
 sysdebug_lazymode(true);
 if (forge_get_config('sys_https_host')) {
     $wgServer = 'https://' . forge_get_config('sys_https_host');
 } else {
     $wgServer = 'http://' . forge_get_config('sys_default_domain');
 }
 if (!isset($fusionforgeproject)) {
     $fusionforgeproject = null;