public function index() { global $wgSuppressWikiHeader, $wgSuppressPageHeader, $wgSuppressFooter, $wgSuppressAds, $wgSuppressToolbar, $fbOnLoginJsOverride, $wgRequest, $wgUser; wfProfileIn(__METHOD__); // hide some default oasis UI things $wgSuppressWikiHeader = true; $wgSuppressPageHeader = true; $wgSuppressFooter = false; $wgSuppressAds = true; $wgSuppressToolbar = true; // store the fact we're on CNW F::app()->wg->atCreateNewWikiPage = true; // reuiqred for FB Connect to work $this->response->addAsset('extensions/wikia/UserLogin/js/UserLoginFacebookPageInit.js'); // fbconnected means user has gone through step 2 to login via facebook. // Therefore, we need to reload some values and start at the step after signup/login $fbconnected = $wgRequest->getVal('fbconnected'); $fbreturn = $wgRequest->getVal('fbreturn'); if (!empty($fbconnected) && $fbconnected === '1' || !empty($fbreturn) && $fbreturn === '1') { $this->LoadState(); $this->currentStep = 'DescWiki'; } else { $this->currentStep = ''; } // form field values $hubs = WikiFactoryHub::getInstance(); $this->aCategories = $hubs->getCategories(); $this->aTopLanguages = explode(',', wfMsg('autocreatewiki-language-top-list')); $languages = wfGetFixedLanguageNames(); asort($languages); $this->aLanguages = $languages; $useLang = $wgRequest->getVal('uselang', $wgUser->getOption('language')); // falling back to english (BugId:3538) if (!array_key_exists($useLang, $this->aLanguages)) { $useLang = 'en'; } $params['wikiLanguage'] = empty($useLang) ? $this->wg->LanguageCode : $useLang; // precedence: selected form field, uselang, default wiki lang // facebook callback overwrite on login. CreateNewWiki re-uses current login stuff. $fbOnLoginJsOverride = 'WikiBuilder.fbLoginCallback();'; // export info if user is logged in $this->isUserLoggedIn = $wgUser->isLoggedIn(); // remove wikia plus for now for all languages $this->skipWikiaPlus = true; $this->keys = CreateNewWikiObfuscate::generateValidSeeds(); $_SESSION['cnw-answer'] = CreateNewWikiObfuscate::generateAnswer($this->keys); // prefill $params['wikiName'] = $wgRequest->getVal('wikiName', ''); $params['wikiDomain'] = $wgRequest->getVal('wikiDomain', ''); $this->params = $params; $this->signupUrl = ''; if (!empty($this->wg->EnableUserLoginExt)) { $signupTitle = Title::newFromText('UserSignup', NS_SPECIAL); $this->signupUrl = $signupTitle->getFullURL(); } wfProfileOut(__METHOD__); }
public function index() { global $wgSuppressWikiHeader, $wgSuppressPageHeader, $wgSuppressFooter, $wgSuppressAds, $wgSuppressToolbar, $fbOnLoginJsOverride, $wgRequest, $wgUser; wfProfileIn(__METHOD__); // hide some default oasis UI things $wgSuppressWikiHeader = true; $wgSuppressPageHeader = true; $wgSuppressFooter = false; $wgSuppressAds = true; $wgSuppressToolbar = true; // store the fact we're on CNW $this->wg->atCreateNewWikiPage = true; if (!$this->wg->User->isLoggedIn() && !empty($this->wg->EnableFacebookClientExt)) { // required for FB Connect to work $this->response->addAsset('extensions/wikia/UserLogin/js/UserLoginFacebookPageInit.js'); } // fbconnected means user has gone through step 2 to login via facebook. // Therefore, we need to reload some values and start at the step after signup/login $fbconnected = $wgRequest->getVal('fbconnected'); $fbreturn = $wgRequest->getVal('fbreturn'); if (!empty($fbconnected) && $fbconnected === '1' || !empty($fbreturn) && $fbreturn === '1') { $this->LoadState(); $currentStep = 'DescWiki'; } else { $currentStep = ''; } $this->setupVerticalsAndCategories(); $this->aTopLanguages = explode(',', wfMsg('autocreatewiki-language-top-list')); $languages = wfGetFixedLanguageNames(); asort($languages); $this->aLanguages = $languages; $useLang = $wgRequest->getVal('uselang', $wgUser->getGlobalPreference('language')); // squash language dialects (same wiki language for different dialects) $useLang = $this->squashLanguageDialects($useLang); // falling back to english (BugId:3538) if (!array_key_exists($useLang, $this->aLanguages)) { $useLang = 'en'; } $params['wikiLanguage'] = empty($useLang) ? $this->wg->LanguageCode : $useLang; // precedence: selected form field, uselang, default wiki lang // export info if user is logged in $this->isUserLoggedIn = $wgUser->isLoggedIn(); // remove wikia plus for now for all languages $skipWikiaPlus = true; $keys = CreateNewWikiObfuscate::generateValidSeeds(); $_SESSION['cnw-answer'] = CreateNewWikiObfuscate::generateAnswer($this->keys); $this->wg->Out->addJsConfigVars(['wgLangAllAgesOpt' => self::LANG_ALL_AGES_OPT]); // prefill $params['wikiName'] = $wgRequest->getVal('wikiName', ''); $params['wikiDomain'] = $wgRequest->getVal('wikiDomain', ''); $params['LangAllAgesOpt'] = self::LANG_ALL_AGES_OPT; $this->params = $params; $this->signupUrl = ''; $signupTitle = Title::newFromText('UserSignup', NS_SPECIAL); if ($wgRequest->getInt('nocaptchatest')) { $this->signupUrl = $signupTitle->getFullURL('nocaptchatest=1'); } else { $this->signupUrl = $signupTitle->getFullURL(); } // Make various parsed messages and status available in JS // Necessary because JSMessages does not support parsing $this->wikiBuilderCfg = array('name-wiki-submit-error' => wfMessage('cnw-name-wiki-submit-error')->escaped(), 'desc-wiki-submit-error' => wfMessage('cnw-desc-wiki-submit-error')->escaped(), 'currentstep' => $currentStep, 'skipwikiaplus' => $skipWikiaPlus, 'descriptionplaceholder' => wfMessage('cnw-desc-placeholder')->escaped(), 'cnw-error-general' => wfMessage('cnw-error-general')->parse(), 'cnw-error-general-heading' => wfMessage('cnw-error-general-heading')->escaped(), 'cnw-keys' => $keys); // theme designer application theme settings $this->applicationThemeSettings = SassUtil::getApplicationThemeSettings(); wfProfileOut(__METHOD__); }