Revision: 48582
Author: thomasv
Date: 2009-03-19 15:04:39 +0000 (Thu, 19 Mar 2009)
Log Message:
-----------
changing the pagelist syntax; handle the case of empty pages
Modified Paths:
--------------
trunk/extensions/ProofreadPage/ProofreadPage.php
Modified: trunk/extensions/ProofreadPage/ProofreadPage.php
===================================================================
--- trunk/extensions/ProofreadPage/ProofreadPage.php 2009-03-19 14:18:24 UTC
(rev 48581)
+++ trunk/extensions/ProofreadPage/ProofreadPage.php 2009-03-19 15:04:39 UTC
(rev 48582)
@@ -587,41 +587,70 @@
for( $i=1; $i<$count+1 ; $i++) {
$pdbk = "$page_namespace:$name" . '/'. $i ;
+ //default
+ $single=false;
+ $mode = 'normal';
+ $links = true;
- $single=false;
foreach ( $args as $num => $param ) {
- if($i == $num) {
- $param = explode(";",$param);
- if(isset($param[1])) $mode = $param[1];
else $mode='normal';
- if(is_numeric($param[0])) $offset = $i
- $param[0];
- else $single=$param[0];
+
+ if( ( preg_match( "/^([0-9]*)to([0-9]*)$/", $num, $m
) && ( $i>=$m[1] && $i<=$m[2] ) )
+ || ( is_numeric($num) && ($i == $num) ) ) {
+ $params = explode(";",$param);
+ foreach ( $params as $iparam ) {
+ switch($iparam){
+ case 'roman':
+ $mode = 'roman';
+ break;
+ case 'highroman':
+ $mode = 'highroman';
+ break;
+ case 'empty':
+ $links = false;
+ break;
+ default:
+ if(is_numeric($iparam))
+ $offset = $i -
$iparam[0];
+ else
+ $single =
$iparam[0];
+
+ }
+ }
}
- }
+ }
- if( $single ) { $view = $single; $single=false;
$offset=$offset+1;}
+ if( $single ) {
+ $view = $single;
+ $offset=$offset+1;
+ }
else {
- $view = ($i - $offset);
- if($mode == 'highroman') $view =
' '.toRoman($view);
- elseif($mode == 'roman') $view =
' '.strtolower(toRoman($view));
- elseif($mode == 'normal') $view = ''.$view;
- else $view = $mode.$view;
+ $view = ($i - $offset);
+ if($mode == 'highroman') $view =
' '.toRoman($view);
+ elseif($mode == 'roman') $view =
' '.strtolower(toRoman($view));
+ elseif($mode == 'normal') $view = ''.$view;
+ elseif($mode == 'empty') $view = ''.$view;
+ else $view = $mode.$view;
}
$n = strlen($count) - strlen($view);
- if( $n && ($mode == 'normal') ){
+ if( $n && ($mode == 'normal' || $mode == 'empty') ){
$txt = '<span style="visibility:hidden;">';
for( $j=0; $j<$n; $j++) $txt = $txt.'0';
$view = $txt.'</span>'.$view;
}
$title = Title::newFromText( $pdbk );
- if ( !isset( $colours[$pdbk] ) ) {
- $link = $sk->makeBrokenLinkObj( $title, $view );
- } else {
- $link = $sk->makeColouredLinkObj( $title,
$colours[$pdbk], $view );
+
+ if($links==false) $return.= $view." ";
+ else{
+ if ( !isset( $colours[$pdbk] ) ) {
+ $link = $sk->makeBrokenLinkObj( $title,
$view );
+ }
+ else {
+ $link = $sk->makeColouredLinkObj(
$title, $colours[$pdbk], $view );
+ }
+ $return .= "{$link} ";
}
- $return .= "{$link} ";
}
-
}
return $return;
}
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs