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); }
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;