$current_locale = $locale; if (!Project::isSupportedLocale($current_website, $current_locale)) { exit($html_output . '<p>This locale is not supported on mozilla.org</p>'); } // Create a list of opt-in pages $optin_pages = []; foreach (Project::getWebsiteFiles($current_website) as $current_filename) { if (in_array('opt-in', Project::getFileFlags($current_website, $current_filename, $current_locale))) { $optin_pages[$current_filename] = Project::getSupportedLocales($current_website, $current_filename, $langfiles_subsets); } } if (count($optin_pages) == 0) { exit($html_output . '<p>There are no optional pages available at the moment.</p>'); } $html_output .= "<h1>List of optional pages for <span>{$current_locale}</span></h1>\n <table class='optinpages'>\n <thead>\n <tr>\n <th>Filename</th>\n <th>URL</th>\n <th>Strings</th>\n <th>Words</th>\n <th>Opted-in</th>\n <th>Actions</th>\n </tr>\n </thead>\n <tbody>\n"; $bugzilla_locale = urlencode(Bugzilla::getBugzillaLocaleField($current_locale, 'www')); $available_optins = []; foreach ($optin_pages as $current_filename => $supported_locales) { $reference_locale = Project::getReferenceLocale($current_website); $reference_data = LangManager::loadSource($current_website, $reference_locale, $current_filename); $get_words = function ($item) { return str_word_count(strip_tags($item)); }; $nb_words = array_sum(array_map($get_words, $reference_data['strings'])); $nb_strings = count($reference_data['strings']); if (in_array($current_locale, $supported_locales)) { $status = '<span class=\'yes\'>yes</span>'; $actions = '-'; } else { $available_optins[] = $current_filename; $status = '<span class=\'no\'>no</span> ';