3. place holders created by the parser
*/
global $wgParser;
- if (isset($wgParser) && $wgParser->UniqPrefix()!='')
+ if (isset($wgParser) && $wgParser->UniqPrefix()!=''){
$marker = '|' . $wgParser->UniqPrefix() . '[\-a-zA-Z0-9]+';
- else
+ } else
$marker = "";
// this one is needed when the text is inside an html markup
$codefix = '<code>.+?<\/code>|';
// disable convertsion of <script type="text/javascript"> ... </script>
$scriptfix = '<script.*?>.*?<\/script>|';
+ // disable conversion of <pre xxxx> ... </pre>
+ $prefix = '<pre.*?>.*?<\/pre>|';
- $reg = '/'.$codefix . $scriptfix . '<[^>]+>|&[a-zA-Z#][a-z0-9]+;' . $marker . $htmlfix . '/s';
+ $reg = '/'.$codefix . $scriptfix . $prefix . '<[^>]+>|&[a-zA-Z#][a-z0-9]+;' . $marker . $htmlfix . '/s';
$matches = preg_split($reg, $text, -1, PREG_SPLIT_OFFSET_CAPTURE);
* @param string $text Text to convert
* @param string $variant Variant language code
* @return string Translated text
+ * @private
*/
function translate( $text, $variant ) {
wfProfileIn( __METHOD__ );
/**
* Convert text using a parser object for context
+ * @public
*/
function parserConvert( $text, &$parser ) {
global $wgDisableLangConversion;
/**
* Parse flags with syntax -{FLAG| ... }-
- *
+ * @private
*/
function parseFlags($marked){
$flags = array();
}
if ( count($flags)==0 )
$flags = array('S');
-
return array($rules,$flags);
}
+ /**
+ * @private
+ */
function getRulesDesc($bidtable,$unidtable){
$text='';
foreach($bidtable as $k => $v)
$text .= $this->mVariantNames[$k].':'.$v.';';
foreach($unidtable as $k => $a)
foreach($a as $from=>$to)
- $text.=$from.'â\87\92'.$this->mVariantNames[$k].':'.$to.';';
+ $text.=$from.'â\87\81E.$this->mVariantNames[$k].':'.$to.';';
return $text;
}
// proces H,- flag or T only: output nothing
$disp = '';
} elseif ( in_array('S',$flags) ){
- // the text converted
- if($doConvert){
+ if( count($bidtable) + count($unidtable) == 0 ){
+ $disp = $rules;
+ } elseif ($doConvert){// the text converted
// display current variant in bidirectional array
$disp = $this->getTextInCArray($variant,$bidtable);
// or display current variant in fallbacks
$disp = array_values($unidtable);
$disp = array_values($disp[0]);
$disp = $disp[0];
- }
+ }
}
} else {// no convert
$disp = $rules;
return $disp;
}
- function applyManualFlag($flags,$bidtable,$unidtable,$variant=false){
+ /**
+ * @access private
+ */
+ function applyManualFlag($rules,$flags,$bidtable,$unidtable,$variant=false){
if(!$variant) $variant = $this->getPreferredVariant();
$is_title_flag = in_array('T', $flags);
$bidtable,$unidtable,
$variant,
$this->mDoContentConvert);
- $this->applyManualFlag($flags,$bidtable,$unidtable);
+ $this->applyManualFlag($rules,$flags,$bidtable,$unidtable);
return $disp;
}
+ /**
+ * convert title
+ * @private
+ */
function convertTitle($text){
// check for __NOTC__ tag
if( !$this->mDoTitleConvert ) {
*
* @param string $text text to be tagged for no conversion
* @return string the tagged text
+ * @public
*/
function markNoConversion($text, $noParse=false) {
# don't mark if already marked
/**
* Armour rendered math against conversion
* Wrap math into rawoutput -{R| math }- syntax
+ * @public
*/
function armourMath($text){
$ret = $this->mMarkup['begin'] . 'R|' . $text . $this->mMarkup['end'];