Ejemplo n.º 1
0
 public function execute()
 {
     global $wgMessageCache;
     $params = $this->extractRequestParams();
     if (!is_null($params['lang'])) {
         global $wgLang;
         $wgLang = Language::factory($params['lang']);
     }
     //Determine which messages should we print
     $messages_target = array();
     if ($params['messages'] == '*') {
         $wgMessageCache->loadAllMessages();
         $message_names = array_keys(array_merge(Language::getMessagesFor('en'), $wgMessageCache->getExtensionMessagesFor('en')));
         sort($message_names);
         $messages_target = $message_names;
     } else {
         $messages_target = explode('|', $params['messages']);
     }
     //Filter messages
     if (isset($params['filter'])) {
         $messages_filtered = array();
         foreach ($messages_target as $message) {
             if (strpos($message, $params['filter']) !== false) {
                 //!== is used because filter can be at the beginnig of the string
                 $messages_filtered[] = $message;
             }
         }
         $messages_target = $messages_filtered;
     }
     //Get all requested messages
     $messages = array();
     $skip = !is_null($params['from']);
     foreach ($messages_target as $message) {
         // Skip all messages up to $params['from']
         if ($skip && $message === $params['from']) {
             $skip = false;
         }
         if (!$skip) {
             $messages[$message] = wfMsg($message);
         }
     }
     //Print the result
     $result = $this->getResult();
     $messages_out = array();
     foreach ($messages as $name => $value) {
         $message = array();
         $message['name'] = $name;
         if (wfEmptyMsg($name, $value)) {
             $message['missing'] = '';
         } else {
             $result->setContent($message, $value);
         }
         $fit = $result->addValue(array('query', $this->getModuleName()), null, $message);
         if (!$fit) {
             $this->setContinueEnumParameter('from', $name);
             break;
         }
     }
     $result->setIndexedTagName_internal(array('query', $this->getModuleName()), 'message');
 }
Ejemplo n.º 2
0
 public function execute()
 {
     $englishMessages = array_keys(Language::getMessagesFor('en'));
     foreach ($englishMessages as $key) {
         $this->output("{$key}\n");
     }
 }
Ejemplo n.º 3
0
 public function execute()
 {
     $messages = array();
     foreach (array_keys(Language::getMessagesFor('en')) as $key) {
         $messages[$key] = wfMsg($key);
     }
     $this->output("MediaWiki {$wgVersion} language file\n");
     $this->output(serialize($messages));
 }
 public function execute()
 {
     global $wgMessageCache;
     $params = $this->extractRequestParams();
     if (!is_null($params['lang'])) {
         global $wgLang;
         $wgLang = Language::factory($params['lang']);
     }
     //Determine which messages should we print
     $messages_target = array();
     if ($params['messages'] == '*') {
         $wgMessageCache->loadAllMessages();
         $message_names = array_keys(array_merge(Language::getMessagesFor('en'), $wgMessageCache->getExtensionMessagesFor('en')));
         sort($message_names);
         $messages_target = $message_names;
     } else {
         $messages_target = explode('|', $params['messages']);
     }
     //Filter messages
     if (isset($params['filter'])) {
         $messages_filtered = array();
         foreach ($messages_target as $message) {
             if (strpos($message, $params['filter']) !== false) {
                 //!== is used because filter can be at the beginnig of the string
                 $messages_filtered[] = $message;
             }
         }
         $messages_target = $messages_filtered;
     }
     $wgMessageCache->disableTransform();
     //Get all requested messages
     $messages = array();
     foreach ($messages_target as $message) {
         $message = trim($message);
         //Message list can be formatted like "msg1 | msg2 | msg3", so let's trim() it
         $messages[$message] = wfMsg($message);
     }
     //Print the result
     $result = $this->getResult();
     $messages_out = array();
     foreach ($messages as $name => $value) {
         $message = array();
         $message['name'] = $name;
         $result->setContent($message, $value);
         $messages_out[] = $message;
     }
     $result->setIndexedTagName($messages_out, 'message');
     $result->addValue('query', $this->getModuleName(), $messages_out);
 }
Ejemplo n.º 5
0
/**
 * Constructor.
 */
function wfSpecialAllmessages()
{
    global $wgOut, $wgRequest, $wgMessageCache, $wgTitle;
    global $wgUseDatabaseMessages, $wgLang;
    # The page isn't much use if the MediaWiki namespace is not being used
    if (!$wgUseDatabaseMessages) {
        $wgOut->addWikiMsg('allmessagesnotsupportedDB');
        return;
    }
    wfProfileIn(__METHOD__);
    wfProfileIn(__METHOD__ . '-setup');
    $ot = $wgRequest->getText('ot');
    $navText = wfMsg('allmessagestext');
    # Make sure all extension messages are available
    $wgMessageCache->loadAllMessages();
    $sortedArray = array_merge(Language::getMessagesFor('en'), $wgMessageCache->getExtensionMessagesFor('en'));
    ksort($sortedArray);
    $messages = array();
    foreach ($sortedArray as $key => $value) {
        $messages[$key]['enmsg'] = $value;
        $messages[$key]['statmsg'] = wfMsgReal($key, array(), false, false, false);
        $messages[$key]['msg'] = wfMsgNoTrans($key);
        $sortedArray[$key] = NULL;
        // trade bytes from $sortedArray to this
    }
    unset($sortedArray);
    // trade bytes from $sortedArray to this
    wfProfileOut(__METHOD__ . '-setup');
    wfProfileIn(__METHOD__ . '-output');
    $wgOut->addScriptFile('allmessages.js');
    if ($ot == 'php') {
        $navText .= wfAllMessagesMakePhp($messages);
        $wgOut->addHTML($wgLang->pipeList(array('PHP', '<a href="' . $wgTitle->escapeLocalUrl('ot=html') . '">HTML</a>', '<a href="' . $wgTitle->escapeLocalUrl('ot=xml') . '">XML</a>' . '<pre>' . htmlspecialchars($navText) . '</pre>')));
    } else {
        if ($ot == 'xml') {
            $wgOut->disable();
            header('Content-type: text/xml');
            echo wfAllMessagesMakeXml($messages);
        } else {
            $wgOut->addHTML($wgLang->pipeList(array('<a href="' . $wgTitle->escapeLocalUrl('ot=php') . '">PHP</a>', 'HTML', '<a href="' . $wgTitle->escapeLocalUrl('ot=xml') . '">XML</a>')));
            $wgOut->addWikiText($navText);
            $wgOut->addHTML(wfAllMessagesMakeHTMLText($messages));
        }
    }
    wfProfileOut(__METHOD__ . '-output');
    wfProfileOut(__METHOD__);
}
Ejemplo n.º 6
0
/**
 * Constructor.
 */
function wfSpecialAllmessages()
{
    global $wgOut, $wgRequest, $wgMessageCache, $wgTitle;
    global $wgUseDatabaseMessages;
    # The page isn't much use if the MediaWiki namespace is not being used
    if (!$wgUseDatabaseMessages) {
        $wgOut->addWikiMsg('allmessagesnotsupportedDB');
        return;
    }
    wfProfileIn(__METHOD__);
    wfProfileIn(__METHOD__ . '-setup');
    $ot = $wgRequest->getText('ot');
    $navText = wfMsg('allmessagestext');
    # Make sure all extension messages are available
    $wgMessageCache->loadAllMessages();
    $wgOut->addScript("<script src='/skins/common/allmessages.js'></script>");
    $sortedArray = array_merge(Language::getMessagesFor('en'), $wgMessageCache->getExtensionMessagesFor('en'));
    ksort($sortedArray);
    $messages = array();
    $wgMessageCache->disableTransform();
    foreach ($sortedArray as $key => $value) {
        $messages[$key]['enmsg'] = $value;
        $messages[$key]['statmsg'] = wfMsgNoDb($key);
        $messages[$key]['msg'] = wfMsg($key);
    }
    $wgMessageCache->enableTransform();
    wfProfileOut(__METHOD__ . '-setup');
    wfProfileIn(__METHOD__ . '-output');
    if ($ot == 'php') {
        $navText .= wfAllMessagesMakePhp($messages);
        $wgOut->addHTML('PHP | <a href="' . $wgTitle->escapeLocalUrl('ot=html') . '">HTML</a> | ' . '<a href="' . $wgTitle->escapeLocalUrl('ot=xml') . '">XML</a>' . '<pre>' . htmlspecialchars($navText) . '</pre>');
    } else {
        if ($ot == 'xml') {
            $wgOut->disable();
            header('Content-type: text/xml');
            echo wfAllMessagesMakeXml($messages);
        } else {
            $wgOut->addHTML('<a href="' . $wgTitle->escapeLocalUrl('ot=php') . '">PHP</a> | ' . 'HTML |  <a href="' . $wgTitle->escapeLocalUrl('ot=xml') . '">XML</a>');
            $wgOut->addWikiText($navText);
            $wgOut->addHTML(wfAllMessagesMakeHTMLText($messages));
        }
    }
    wfProfileOut(__METHOD__ . '-output');
    wfProfileOut(__METHOD__);
}
Ejemplo n.º 7
0
/**
 *
 */
function wfSpecialAllmessages()
{
    global $wgOut, $wgRequest, $wgMessageCache, $wgTitle;
    global $wgUseDatabaseMessages;
    # The page isn't much use if the MediaWiki namespace is not being used
    if (!$wgUseDatabaseMessages) {
        $wgOut->addWikiText(wfMsg('allmessagesnotsupportedDB'));
        return;
    }
    $fname = "wfSpecialAllMessages";
    wfProfileIn($fname);
    wfProfileIn("{$fname}-setup");
    $ot = $wgRequest->getText('ot');
    $navText = wfMsg('allmessagestext');
    # Make sure all extension messages are available
    MessageCache::loadAllMessages();
    $first = true;
    $sortedArray = array_merge(Language::getMessagesFor('en'), $wgMessageCache->getExtensionMessagesFor('en'));
    ksort($sortedArray);
    $messages = array();
    $wgMessageCache->disableTransform();
    foreach ($sortedArray as $key => $value) {
        $messages[$key]['enmsg'] = $value;
        $messages[$key]['statmsg'] = wfMsgNoDb($key);
        $messages[$key]['msg'] = wfMsg($key);
    }
    $wgMessageCache->enableTransform();
    wfProfileOut("{$fname}-setup");
    wfProfileIn("{$fname}-output");
    if ($ot == 'php') {
        $navText .= makePhp($messages);
        $wgOut->addHTML('PHP | <a href="' . $wgTitle->escapeLocalUrl('ot=html') . '">HTML</a><pre>' . htmlspecialchars($navText) . '</pre>');
    } else {
        $wgOut->addHTML('<a href="' . $wgTitle->escapeLocalUrl('ot=php') . '">PHP</a> | HTML');
        $wgOut->addWikiText($navText);
        $wgOut->addHTML(makeHTMLText($messages));
    }
    wfProfileOut("{$fname}-output");
    wfProfileOut($fname);
}
<?php

/**
 * @todo document
 * @addtogroup Maintenance
 */
/** */
require_once dirname(__FILE__) . '/../commandLine.inc';
$wgMessageCache->disableTransform();
$messages = array();
$wgEnglishMessages = array_keys(Language::getMessagesFor('en'));
foreach ($wgEnglishMessages as $key) {
    $messages[$key] = wfMsg($key);
}
print "MediaWiki {$wgVersion} language file\n";
print serialize($messages);
Ejemplo n.º 9
0
 public function execute()
 {
     $params = $this->extractRequestParams();
     global $wgLang;
     $oldLang = null;
     if (!is_null($params['lang'])) {
         $oldLang = $wgLang;
         // Keep $wgLang for restore later
         $wgLang = Language::factory($params['lang']);
     }
     $prop = array_flip((array) $params['prop']);
     // Determine which messages should we print
     if (in_array('*', $params['messages'])) {
         $message_names = array_keys(Language::getMessagesFor('en'));
         sort($message_names);
         $messages_target = $message_names;
     } else {
         $messages_target = $params['messages'];
     }
     // Filter messages
     if (isset($params['filter'])) {
         $messages_filtered = array();
         foreach ($messages_target as $message) {
             // !== is used because filter can be at the beginning of the string
             if (strpos($message, $params['filter']) !== false) {
                 $messages_filtered[] = $message;
             }
         }
         $messages_target = $messages_filtered;
     }
     // Get all requested messages and print the result
     $skip = !is_null($params['from']);
     $useto = !is_null($params['to']);
     $result = $this->getResult();
     foreach ($messages_target as $message) {
         // Skip all messages up to $params['from']
         if ($skip && $message === $params['from']) {
             $skip = false;
         }
         if ($useto && $message > $params['to']) {
             break;
         }
         if (!$skip) {
             $a = array('name' => $message);
             $args = null;
             if (isset($params['args']) && count($params['args']) != 0) {
                 $args = $params['args'];
             }
             // Check if the parser is enabled:
             if ($params['enableparser']) {
                 $msg = wfMsgExt($message, array('parsemag'), $args);
             } elseif ($args) {
                 $msgString = wfMsgGetKey($message, true, false, false);
                 $msg = wfMsgReplaceArgs($msgString, $args);
             } else {
                 $msg = wfMsgGetKey($message, true, false, false);
             }
             if (wfEmptyMsg($message, $msg)) {
                 $a['missing'] = '';
             } else {
                 ApiResult::setContent($a, $msg);
                 if (isset($prop['default'])) {
                     $default = wfMsgGetKey($message, false, false, false);
                     if ($default !== $msg) {
                         if (wfEmptyMsg($message, $default)) {
                             $a['defaultmissing'] = '';
                         } else {
                             $a['default'] = $default;
                         }
                     }
                 }
             }
             $fit = $result->addValue(array('query', $this->getModuleName()), null, $a);
             if (!$fit) {
                 $this->setContinueEnumParameter('from', $message);
                 break;
             }
         }
     }
     $result->setIndexedTagName_internal(array('query', $this->getModuleName()), 'message');
     if (!is_null($oldLang)) {
         $wgLang = $oldLang;
         // Restore $oldLang
     }
 }
Ejemplo n.º 10
0
 *
 * @package MediaWiki
 * @subpackage Maintenance
 */
require_once dirname(__FILE__) . '/../commandLine.inc';
if (isset($args[0])) {
    $code = $args[0];
} else {
    $code = $wgLang->getCode();
}
if ($code == 'en') {
    print "Current selected language is English. Cannot check translations.\n";
    exit;
}
$filename = Language::getMessagesFileName($code);
if (file_exists($filename)) {
    require $filename;
} else {
    $messages = array();
}
$count = $total = 0;
$wgEnglishMessages = Language::getMessagesFor('en');
$wgLocalMessages = $messages;
foreach ($wgLocalMessages as $key => $msg) {
    ++$total;
    if (!isset($wgEnglishMessages[$key])) {
        print "* {$key}\n";
        ++$count;
    }
}
print "{$count} messages of {$total} are unused in the language {$code}\n";
Ejemplo n.º 11
0
    function execute($par)
    {
        global $wgOut, $wgRequest, $wgUser;
        global $wgExtensionMessagesFiles, $wgMessageCache;
        if (!in_array('sysop', $wgUser->getGroups())) {
            $wgOut->setArticleRelated(false);
            $wgOut->setRobotpolicy('noindex,nofollow');
            $wgOut->showErrorPage('nosuchspecialpage', 'nospecialpagetext');
            return;
        }
        $target = isset($par) ? $par : $wgRequest->getVal('target');
        $filename = $wgRequest->getVal('mwextension');
        if ($target || $filename) {
            if ($target && !$filename) {
                foreach ($wgExtensionMessagesFiles as $m) {
                    if (stripos($m, $target) !== false) {
                        $filename = $m;
                        break;
                    }
                }
            }
        }
        $wgOut->addHTML('<link rel="stylesheet" href="/extensions/min/f/extensions/wikihow/mwmessages.css,/skins/WikiHow/popupEdit.css" type="text/css" />');
        $wgOut->addScript('<script type="text/javascript" src="/extensions/min/f/skins/WikiHow/popupEdit.js"></script>');
        $wgOut->addHTML("<div class='mwmessages'/><form action='/Special:MWMessages' method='POST' name='mwmessagesform'>");
        $wgOut->addHTML("Browse by Extension<br/><select name='mwextension' onchange='document.mwmessagesform.submit();'>");
        foreach ($wgExtensionMessagesFiles as $m) {
            $key = preg_replace("@.*/@", "", $m);
            $key = preg_replace("@\\..*@", "", $key);
            $addinfo = MWMessages::getExtensionInfo($key);
            if ($filename == $m) {
                $wgOut->addHTML("<OPTION VALUE='{$m}' SELECTED>{$key}{$addinfo}</OPTION>\n");
            } else {
                $wgOut->addHTML("<OPTION VALUE='{$m}'>{$key}{$addinfo}</OPTION>\n");
            }
        }
        $wgOut->addHTML("</select><input type='submit' value='Go'>");
        $wgOut->addHTML("</form>");
        if ($wgRequest->wasPosted()) {
            $search = $wgRequest->getVal('mwmessagessearch');
            if ($search) {
                $wgMessageCache->mAllMessagesLoaded = false;
                $wgMessageCache->loadAllMessages();
                $lang = 'en';
                $sortedArray = array_merge(Language::getMessagesFor('en'), $wgMessageCache->getExtensionMessagesFor('en'));
                $wgOut->addHTML("<table class='mwmessages'>\n\t\t\t\t\t\t<tr><td><b>Lang</b></td><td><b>Key</b></td><td><b>Value</b></td></tr>");
                foreach ($sortedArray as $key => $val) {
                    $val = wfMsg($key);
                    if (stripos($val, $search) !== false) {
                        $t = Title::makeTitle(NS_MEDIAWIKI, $key);
                        $qe_url = '<a href="#" onclick="initPopupEdit(\'' . Title::makeTitle(NS_SPECIAL, 'QuickEdit')->getFullURL() . '?type=editform&target=' . $t->getPrefixedURL() . '\') ;">' . $key . '</a>';
                        $wgOut->addHTML("<tr><td class='mw_lang'>{$lang}</td><td class='mw_key'>{$qe_url}</td><td class='mw_val'>" . htmlspecialchars($val) . "</td></tr>");
                    }
                }
                $dbr = wfGetDB(DB_SLAVE);
                $res = $dbr->select('page', array('page_title', 'page_namespace'), array('page_namespace' => NS_MEDIAWIKI));
                while ($row = $dbr->fetchObject($res)) {
                    $t = Title::makeTitle($row->page_namespace, $row->page_title);
                    if (!$t) {
                        continue;
                    }
                    $r = Revision::newFromTitle($t);
                    if (!$r) {
                        continue;
                    }
                    $val = $r->getText();
                    if (stripos($val, $search) !== false) {
                        $qe_url = '<a href="#" onclick="initPopupEdit(\'' . Title::makeTitle(NS_SPECIAL, 'QuickEdit')->getFullURL() . '?type=editform&target=' . $t->getPrefixedURL() . '\') ;">' . $row->page_title . '</a>';
                        $wgOut->addHTML("<tr><td class='mw_lang'>{$lang}</td><td class='mw_key'>{$qe_url}</td><td class='mw_val'>" . htmlspecialchars($val) . "</td></tr>");
                    }
                }
                $wgOut->addHTML("</table>");
            }
        }
        if ($filename) {
            // reset messages
            $messages = array();
            require_once $filename;
            $wgOut->addHTML("<table class='mwmessages'>\n\t\t\t\t\t<tr><td><b>Lang</b></td><td><b>Key</b></td><td><b>Value</b></td></tr>");
            $index = 0;
            foreach ($messages as $lang => $arrs) {
                foreach ($arrs as $key => $val) {
                    $newval = wfMsg($key);
                    if ($newval != "&lt;{$key}&gt;") {
                        $val = $newval;
                    }
                    $t = Title::makeTitle(NS_MEDIAWIKI, $key);
                    $qe_url = '<a href="#" onclick="initPopupEdit(\'' . Title::makeTitle(NS_SPECIAL, 'QuickEdit')->getFullURL() . '?type=editform&target=' . $t->getPrefixedURL() . '\'); setText(' . $index . ');">' . $key . '</a>';
                    $wgOut->addHTML("<tr><td class='mw_lang'>{$lang}</td><td class='mw_key'>{$qe_url}</td><td class='mw_val' id='mw_{$index}'>" . htmlspecialchars($val) . "</td></tr>");
                    $index++;
                }
            }
            $wgOut->addHTML("</table>");
        }
        $wgOut->addHTML("</div><br/><br/><div class='mwmessages'>Or search for a message that's not an extension message:<br/><br/>\n\t\t\t\t<form action='/Special:MWMessages' method='POST' name='mwmessagesform_search'>\n\t\t\t\t<center>\n\t\t\t\t<input type='text' name='mwmessagessearch' value=\"" . htmlspecialchars($wgRequest->getVal('mwmessagessearch')) . "\" style='width:300px;font-size:110%;'>\n\t\t\t\t<input type='submit' value='Search for messages'/>\n\t\t\t\t</center>\n\t\t\t\t</form>\n\t\t\t</div>\n\t\t\t");
        $wgOut->addScript('
<script type="text/javascript">
		var gAutoSummaryText = "Updating mediawiki message with MWMessages extensions";
		var gQuickEditComplete = "' . wfMsg('Quickedit-complete') . '";
		var gId = null;
		var gHTML = null;
		var mw_request = null;

		function setIt() {
			var x = document.getElementById("wpTextbox1");
			if (x && x.value == ""){
				x.value = gHTML;
			} else {
				window.setTimeout("setIt();", 100);
			}
		}

		function mw_handleDecode() {
			if ( mw_request.readyState == 4 && mw_request.status == 200) {
				gHTML = mw_request.responseText;
				setIt();
			}
		}
		function setText(id) {
			gId = id;
			mw_request = sajax_init_object();
			var parameters = "html=" + encodeURIComponent(document.getElementById("mw_" + gId).innerHTML);
			var url = "http://" + window.location.hostname + "/Special:MWMessagesDecode";
			mw_request.open("POST", url);
			mw_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			mw_request.send(parameters);
			mw_request.onreadystatechange = mw_handleDecode;
		}
</script>
<div id="editModalPage">
		<div class="editModalBackground" id="editModalBackground"></div>
		<div class="editModalContainer" id="editModalContainer" style="width: 700px; height: 600px">
				<div class="editModalTitle"><span style="float: left;padding-left: 10px;"><strong></strong></span><a onclick="popupEditClose();">X</a></div>
				<div class="editModalBody">
						<div id="article_contents" style="width:680px;height:560px;overflow:auto">
						</div>
				</div>
		</div>
</div>');
    }
Ejemplo n.º 12
0
 function getDefinitions()
 {
     $data = file_get_contents(dirname(__FILE__) . '/wikimedia-mostused-2011.txt');
     $data = str_replace("\r", '', $data);
     $messages = explode("\n", $data);
     $contents = Language::getMessagesFor($this->getSourceLanguage());
     $definitions = array();
     foreach ($messages as $key) {
         if (isset($contents[$key])) {
             $definitions[$key] = $contents[$key];
         }
     }
     return $definitions;
 }
Ejemplo n.º 13
0
 public function execute()
 {
     $params = $this->extractRequestParams();
     if (is_null($params['lang'])) {
         global $wgLang;
         $langObj = $wgLang;
     } else {
         $langObj = Language::factory($params['lang']);
     }
     if ($params['enableparser']) {
         if (!is_null($params['title'])) {
             $title = Title::newFromText($params['title']);
             if (!$title) {
                 $this->dieUsageMsg(array('invalidtitle', $params['title']));
             }
         } else {
             $title = Title::newFromText('API');
         }
     }
     $prop = array_flip((array) $params['prop']);
     // Determine which messages should we print
     if (in_array('*', $params['messages'])) {
         $message_names = array_keys(Language::getMessagesFor('en'));
         sort($message_names);
         $messages_target = $message_names;
     } else {
         $messages_target = $params['messages'];
     }
     // Filter messages that have the specified prefix
     // Because we sorted the message array earlier, they will appear in a clump:
     if (isset($params['prefix'])) {
         $skip = false;
         $messages_filtered = array();
         foreach ($messages_target as $message) {
             // === 0: must be at beginning of string (position 0)
             if (strpos($message, $params['prefix']) === 0) {
                 if (!$skip) {
                     $skip = true;
                 }
                 $messages_filtered[] = $message;
             } elseif ($skip) {
                 break;
             }
         }
         $messages_target = $messages_filtered;
     }
     // Filter messages that contain specified string
     if (isset($params['filter'])) {
         $messages_filtered = array();
         foreach ($messages_target as $message) {
             // !== is used because filter can be at the beginning of the string
             if (strpos($message, $params['filter']) !== false) {
                 $messages_filtered[] = $message;
             }
         }
         $messages_target = $messages_filtered;
     }
     // Whether we have any sort of message customisation filtering
     $customiseFilterEnabled = $params['customised'] !== 'all';
     if ($customiseFilterEnabled) {
         global $wgContLang;
         $lang = $langObj->getCode();
         $customisedMessages = AllmessagesTablePager::getCustomisedStatuses(array_map(array($langObj, 'ucfirst'), $messages_target), $lang, $lang != $wgContLang->getCode());
         $customised = $params['customised'] === 'modified';
     }
     // Get all requested messages and print the result
     $skip = !is_null($params['from']);
     $useto = !is_null($params['to']);
     $result = $this->getResult();
     foreach ($messages_target as $message) {
         // Skip all messages up to $params['from']
         if ($skip && $message === $params['from']) {
             $skip = false;
         }
         if ($useto && $message > $params['to']) {
             break;
         }
         if (!$skip) {
             $a = array('name' => $message);
             $args = array();
             if (isset($params['args']) && count($params['args']) != 0) {
                 $args = $params['args'];
             }
             if ($customiseFilterEnabled) {
                 $messageIsCustomised = isset($customisedMessages['pages'][$langObj->ucfirst($message)]);
                 if ($customised === $messageIsCustomised) {
                     if ($customised) {
                         $a['customised'] = '';
                     }
                 } else {
                     continue;
                 }
             }
             $msg = wfMessage($message, $args)->inLanguage($langObj);
             if (!$msg->exists()) {
                 $a['missing'] = '';
             } else {
                 // Check if the parser is enabled:
                 if ($params['enableparser']) {
                     $msgString = $msg->title($title)->text();
                 } else {
                     $msgString = $msg->plain();
                 }
                 ApiResult::setContent($a, $msgString);
                 if (isset($prop['default'])) {
                     $default = wfMessage($message)->inLanguage($langObj)->useDatabase(false);
                     if (!$default->exists()) {
                         $a['defaultmissing'] = '';
                     } elseif ($default->plain() != $msgString) {
                         $a['default'] = $default->plain();
                     }
                 }
             }
             $fit = $result->addValue(array('query', $this->getModuleName()), null, $a);
             if (!$fit) {
                 $this->setContinueEnumParameter('from', $message);
                 break;
             }
         }
     }
     $result->setIndexedTagName_internal(array('query', $this->getModuleName()), 'message');
 }
Ejemplo n.º 14
0
 /**
  * Not really needed anymore
  */
 function getKeys()
 {
     global $wgContLang;
     if (!$this->mKeys) {
         $this->mKeys = array();
         $allMessages = Language::getMessagesFor('en');
         foreach ($allMessages as $key => $value) {
             $title = $wgContLang->ucfirst($key);
             array_push($this->mKeys, $title);
         }
     }
     return $this->mKeys;
 }