Difference between revisions of "Changelog"
Jump to navigation
Jump to search
(→Done) |
|||
Line 8: | Line 8: | ||
==Done== | ==Done== | ||
+ | <post> | ||
*Side bar links | *Side bar links | ||
**Remove 'Community Portal' | **Remove 'Community Portal' | ||
**Add 'The Forum' | **Add 'The Forum' | ||
**Add 'All Pages' | **Add 'All Pages' | ||
+ | <post> | ||
+ | <pre> | ||
+ | File: $WIKI_ROOT/templates/xhtml_slim.pt | ||
+ | -70/71?: (whatever the link for community portal was, it's gone now so I dont know what exactly it said..) | ||
+ | |||
+ | =116: <li id="t-specialpages"><a href="${nav_urls/specialpages/href}" | ||
+ | =117: i18n:translate="string:specialpages">Special Pages</a></li> | ||
+ | +118: <li id="t-allpages"><a href="index.php?title=Special:Allpages">All Pages</a></li> | ||
+ | +119: <li id="t-forum"><a href="/forum">The Forum</a></li> | ||
+ | =120: </ul> | ||
+ | =121: </div> | ||
+ | </pre> | ||
+ | </post> | ||
+ | </post> | ||
+ | |||
+ | |||
+ | <post> | ||
*Add an extension for use of a <nowiki><code> </code></nowiki> tag to display plain html stuff (for use with form's and such, sorry it doesnt do php). | *Add an extension for use of a <nowiki><code> </code></nowiki> tag to display plain html stuff (for use with form's and such, sorry it doesnt do php). | ||
+ | <post> | ||
+ | <pre> | ||
+ | File: $WIKI_ROOT/extensions/RenderHtml.php (new file) | ||
+ | 1 <?php | ||
+ | 2 $wgExtensionFunctions[] = "wfRenderHtmlFunction"; | ||
+ | 3 | ||
+ | 4 function wfRenderHtmlFunction() { | ||
+ | 5 global $wgParser; | ||
+ | 6 $wgParser->setHook( "code", "RenderHtml" ); | ||
+ | 7 } | ||
+ | 8 | ||
+ | 9 function RenderHtml( $input ) | ||
+ | 10 { | ||
+ | 11 return $input; | ||
+ | 12 } | ||
+ | 13 ?> | ||
+ | </pre> | ||
+ | <pre> | ||
+ | File: $WIKI_ROOT/LocalSettings.php | ||
+ | |||
+ | =93: $wgRightsIcon = "${wgStylePath}/images/gnu-fdl.png"; | ||
+ | =94: # $wgRightsCode = "gfdl"; # Not yet used | ||
+ | +95: inlcude("extensions/RenderHtml.php"); | ||
+ | =96: ?> | ||
+ | =97: (End of file) | ||
+ | </pre> | ||
+ | </post> | ||
+ | </post> | ||
+ | |||
+ | |||
+ | <post> | ||
*Add an extension for a <nowiki><post> </post></nowiki> tag to be used in discusions. It will put a arrow next to the post to hide/unhide comments, simmilar to the 'advanced' version of the 'Recent changes' page. (working but not yet complete) check out this topic's discussion for an example of how to use. | *Add an extension for a <nowiki><post> </post></nowiki> tag to be used in discusions. It will put a arrow next to the post to hide/unhide comments, simmilar to the 'advanced' version of the 'Recent changes' page. (working but not yet complete) check out this topic's discussion for an example of how to use. | ||
+ | <post> | ||
+ | <pre> | ||
+ | File: $WIKI_ROOT/extensions/Post.php (new file) | ||
+ | 1 <?php | ||
+ | 2 $wgExtensionFunctions[] = "wfPostFunctions"; | ||
+ | 3 | ||
+ | 4 function wfPostFunctions() { | ||
+ | 5 global $wgParser; | ||
+ | 6 $wgParser->setHook( "post", "RenderPost" ); | ||
+ | 7 } | ||
+ | 8 | ||
+ | 9 function parse_post($to_parse) { | ||
+ | 10 global $wgParser, $wgParserCache, $wgUser, $wgTitle; | ||
+ | 11 $parserOutput = new OutputPage; | ||
+ | 12 $parserOutput = $wgParser->parse( $to_parse, $wgTitle, $parserOutput->mParserOptions, $linestart ); | ||
+ | 13 $parserOutput->mLanguageLinks += $parserOutput->getLanguageLinks(); | ||
+ | 14 $parserOutput->mCategoryLinks += $parserOutput->getCategoryLinks(); | ||
+ | 15 return $parserOutput->getText(); | ||
+ | 16 } | ||
+ | 17 | ||
+ | 18 function RenderPost( $input ) | ||
+ | 19 { | ||
+ | 20 $posts = explode('<post>', $input, 2); | ||
+ | 21 $comments = explode('</post>', $posts[1]); | ||
+ | 22 if ($comments[1] == '') { | ||
+ | 23 $top = "<div>".parse_post($posts[0])."<span style=\"font-size:10pt; font-style:italic; margin-left:0px;\">No Comments</a></span>"; | ||
+ | 24 $middle = ''; | ||
+ | 25 $bottom = "</div>"; | ||
+ | 26 } | ||
+ | 27 else { | ||
+ | 28 global $pn; | ||
+ | 29 $pn++; | ||
+ | 30 $sig = parse_post("--~~~~"); | ||
+ | 31 $sig = ''; | ||
+ | 32 $post = parse_post($posts[0]); | ||
+ | 33 $top = " | ||
+ | 34 <div> | ||
+ | 35 $post | ||
+ | 36 <span id=\"sc$pn\">$sig | ||
+ | 37 <a href=\"javascript:toggleVisibility('ps$pn', 'sc$pn', 'hc$pn')\" style=\"font-size:10pt; font-style:italic; margin-left:0px;\"> | ||
+ | 38 Show Comments | ||
+ | 39 </a> | ||
+ | 40 </span> | ||
+ | 41 <span id=\"hc$pn\" style=\"display:none;\">$sig | ||
+ | 42 <a href=\"javascript:toggleVisibility('ps$pn', 'sc$pn', 'hc$pn')\" style=\"font-size:10pt; font-style:italic; margin-left:0px;\"> | ||
+ | 43 Hide Comments | ||
+ | 44 </a> | ||
+ | 45 </span> | ||
+ | 46 <div id=\"ps$pn\" style=\"display:none; margin-left:25px;\"> | ||
+ | 47 "; | ||
+ | 48 | ||
+ | 49 $middle = parse_post("<post>".$posts[1]); | ||
+ | 50 | ||
+ | 51 $bottom = "\t</div> | ||
+ | 52 </div>"; | ||
+ | 53 } | ||
+ | 54 $output = $top.$middle.$bottom; | ||
+ | 55 return $output; | ||
+ | 56 } | ||
+ | 57 ?> | ||
+ | </pre> | ||
+ | <pre> | ||
+ | File: $WIKI_ROOT/LocalSettings.php | ||
+ | |||
+ | =94: # $wgRightsCode = "gfdl"; # Not yet used | ||
+ | =95: include("extensions/RenderHtml.php"); | ||
+ | +96: include("extensions/Post.php"); | ||
+ | =97: ?> | ||
+ | =98: (End of file) | ||
+ | </pre> | ||
+ | <pre> | ||
+ | File: $WIKI_ROOT/includes/Parser.php | ||
+ | |||
+ | (For now here's the updated extractTags function (the old one wouldn't allow there to be tag's within tags)) | ||
+ | |||
+ | 153 /* static */ function extractTags($tag, $text, &$content, $uniq_prefix = ""){ | ||
+ | 154 $rnd = $uniq_prefix . '-' . $tag . Parser::getRandomString(); | ||
+ | 155 if ( !$content ) { | ||
+ | 156 $content = array( ); | ||
+ | 157 } | ||
+ | 158 $n = 1; | ||
+ | 159 $stripped = ''; | ||
+ | 160 | ||
+ | 161 if($tag==STRIP_COMMENTS) { | ||
+ | 162 while ( '' != $text ) { | ||
+ | 163 $p = preg_split( '/<!--/i', $text, 2 ); | ||
+ | 164 $stripped .= $p[0]; | ||
+ | 165 if ( ( count( $p ) < 2 ) || ( '' == $p[1] ) ) { | ||
+ | 166 $text = ''; | ||
+ | 167 } else { | ||
+ | 168 $q = preg_split( '/-->/i', $p[1], 2 ); | ||
+ | 169 $marker = $rnd . sprintf('%08X', $n++); | ||
+ | 170 $content[$marker] = $q[0]; | ||
+ | 171 $stripped .= $marker; | ||
+ | 172 $text = $q[1]; | ||
+ | 173 } | ||
+ | 174 } | ||
+ | 175 } | ||
+ | 176 else { | ||
+ | 177 $p = preg_split( "/<\\s*$tag\\s*>/i", $text); // splits everything by start tags | ||
+ | 178 $stripped .= $p[0]; // takes care of anything before the first tag | ||
+ | 179 $starts = 1; | ||
+ | 180 $ends = 0; | ||
+ | 181 $marker = $rnd . sprintf('%08X', $n++); | ||
+ | 182 while ( '' != $p[$starts] ) { // loop through tag's finding end's and such | ||
+ | 183 $q = preg_split( "/<\\/\\s*$tag\\s*>/i", $p[$starts]); | ||
+ | 184 $ends = $ends + count($q) - 1; | ||
+ | 185 if ($starts <= $ends) { | ||
+ | 186 $cnt = $q[0]; | ||
+ | 187 for($i = 1; $i < count($q)-1; $i++) { | ||
+ | 188 $cnt .= '</'.$tag.'>'; | ||
+ | 189 $cnt .= $q[$i]; | ||
+ | 190 } | ||
+ | 191 $content[$marker] .= $cnt; | ||
+ | 192 $stripped .= $marker . $q[count($q)-1]; | ||
+ | 193 $text = $q[1]; | ||
+ | 194 $starts++; | ||
+ | 195 $marker = $rnd . sprintf('%08X', $n++); | ||
+ | 196 } | ||
+ | 197 else { | ||
+ | 198 $content[$marker] .= $p[$starts].'<'.$tag.'>'; | ||
+ | 199 $starts++; | ||
+ | 200 } | ||
+ | 201 } | ||
+ | 202 } | ||
+ | 203 | ||
+ | 204 /* ##### Begin Old Code ##### | ||
+ | 205 while ( '' != $text ) { | ||
+ | 206 if($tag==STRIP_COMMENTS) { | ||
+ | 207 $p = preg_split( '/<!--/i', $text, 2 ); | ||
+ | 208 } else { | ||
+ | 209 $p = preg_split( "/<\\s*$tag\\s*>/i", $text, 2 ); | ||
+ | 210 } | ||
+ | 211 $stripped .= $p[0]; | ||
+ | 212 if ( ( count( $p ) < 2 ) || ( '' == $p[1] ) ) { | ||
+ | 213 $text = ''; | ||
+ | 214 } else { | ||
+ | 215 if($tag==STRIP_COMMENTS) { | ||
+ | 216 $q = preg_split( '/-->/i', $p[1], 2 ); | ||
+ | 217 } else { | ||
+ | 218 $q = preg_split( "/<\\/\\s*$tag\\s*>/i", $p[1], 2 ); | ||
+ | 219 } | ||
+ | 220 $marker = $rnd . sprintf('%08X', $n++); | ||
+ | 221 $content[$marker] = $q[0]; | ||
+ | 222 $stripped .= $marker; | ||
+ | 223 $text = $q[1]; | ||
+ | 224 } | ||
+ | 225 } | ||
+ | 226 */ | ||
+ | 227 return $stripped; | ||
+ | 228 } | ||
+ | </pre> | ||
+ | </post> | ||
+ | </post> | ||
+ | |||
+ | |||
+ | <post> | ||
*Sort the All Pages list vertically rather than horizontally. | *Sort the All Pages list vertically rather than horizontally. | ||
+ | <post> | ||
+ | <pre> | ||
+ | File: $WIKI_ROOT/includes/SpecialAllpages.php | ||
+ | |||
+ | (For now here's the updated indexShowChunk function, I think this is all that I changed, (we'll see when this place get supgraded to 1.4.0)) | ||
+ | |||
+ | 108 function indexShowChunk( $from ) | ||
+ | 109 { | ||
+ | 110 global $wgOut, $wgUser, $indexMaxperpage, $wgLang; | ||
+ | 111 $sk = $wgUser->getSkin(); | ||
+ | 112 $maxPlusOne = $indexMaxperpage + 1; | ||
+ | 113 | ||
+ | 114 $out = ""; | ||
+ | 115 $sql = "SELECT cur_title FROM cur WHERE cur_namespace=0 AND cur_title >= '" | ||
+ | 116 . wfStrencode( $from ) . "' ORDER BY cur_title LIMIT " . $maxPlusOne; | ||
+ | 117 $res = wfQuery( $sql, DB_READ, "indexShowChunk" ); | ||
+ | 118 | ||
+ | 119 $n = 1; | ||
+ | 120 | ||
+ | 121 //bufferer all links | ||
+ | 122 while( ($n < $indexMaxperpage) && ($s = wfFetchObject( $res )) ) { | ||
+ | 123 $t[$n] = Title::makeTitle( 0, $s->cur_title ); | ||
+ | 124 if( $t[$n] ) { | ||
+ | 125 $ll[$n] = $sk->makeKnownLinkObj( $t[$n] ); | ||
+ | 126 } else { | ||
+ | 127 $ll[$n] = "[[" . htmlspecialchars( $s->cur_title ) . "]]"; | ||
+ | 128 } | ||
+ | 129 $n++; | ||
+ | 130 } | ||
+ | 131 $n = count($ll); | ||
+ | 132 //packer | ||
+ | 133 | ||
+ | 134 $cols = 3; //variable number of coloms to display | ||
+ | 135 $sort_vert='true'; | ||
+ | 136 $col = 1; | ||
+ | 137 $row = 1; | ||
+ | 138 $c = 1; | ||
+ | 139 | ||
+ | 140 if ($sort_vert == 'true') { | ||
+ | 141 while ( $c<=$n ) { | ||
+ | 142 for ($row=1; $row-1 < (($n)/$cols); $row++) { | ||
+ | 143 $link[$row][$col] = $ll[$c]; | ||
+ | 144 $c++; | ||
+ | 145 } | ||
+ | 146 $col++; | ||
+ | 147 } | ||
+ | 148 } else { | ||
+ | 149 while ($c<=$n) { | ||
+ | 150 for ($col=1; $col <= $cols; $col++) { | ||
+ | 151 $link[$row][$col] = $ll[$c]; | ||
+ | 152 $c++; | ||
+ | 153 } | ||
+ | 154 $row++; | ||
+ | 155 } | ||
+ | 156 } | ||
+ | 157 | ||
+ | 158 //get ready to output | ||
+ | 159 $row = 1; | ||
+ | 160 $c = 1; | ||
+ | 161 $out = '<table border="0" width="100%">'."\n"; | ||
+ | 162 | ||
+ | 163 //output | ||
+ | 164 while ($c<=$n) { | ||
+ | 165 $out .= '<tr>'; | ||
+ | 166 for ($col=1; ($col<=$cols); $col++) { | ||
+ | 167 if($link[$row][$col]) { | ||
+ | 168 $out .= '<td>'.$link[$row][$col].'</td>'; | ||
+ | 169 $c++; | ||
+ | 170 } | ||
+ | 171 else { | ||
+ | 172 $out .= '<td></td>'; | ||
+ | 173 $c++; | ||
+ | 174 } | ||
+ | 175 } | ||
+ | 176 $out .= "</tr>\n"; | ||
+ | 177 $row++; | ||
+ | 178 } | ||
+ | 179 | ||
+ | 180 $out .= "</table>\n"; | ||
+ | 181 | ||
+ | 182 $out2 = "<div style='text-align: right; font-size: smaller; margin-bottom: 1em;'>" . | ||
+ | 183 $sk->makeKnownLink( $wgLang->specialPage( "Allpages" ), | ||
+ | 184 wfMsg ( 'allpages' ) ); | ||
+ | 185 if ( ($n == $indexMaxperpage) && ($s = wfFetchObject( $res )) ) { | ||
+ | 186 $out2 .= " | " . $sk->makeKnownLink( | ||
+ | 187 $wgLang->specialPage( "Allpages" ), | ||
+ | 188 wfMsg ( 'nextpage', $s->cur_title ), | ||
+ | 189 "from=" . urlencode( $s->cur_title ) ); | ||
+ | 190 } | ||
+ | 191 $out2 .= "</div>"; | ||
+ | 192 | ||
+ | 193 $wgOut->addHtml( $out2 . $out ); | ||
+ | 194 } | ||
+ | </pre> | ||
+ | </post> | ||
+ | </post> |
Revision as of 01:46, 23 March 2005
This is a list of changes made to the moacad wiki source as opposed to normal wikimedia source.
Planned
- Make image uploads go to a different server
In Progress
- Default picture
Done
<post>
- Side bar links
- Remove 'Community Portal'
- Add 'The Forum'
- Add 'All Pages'
<post>
File: $WIKI_ROOT/templates/xhtml_slim.pt -70/71?: (whatever the link for community portal was, it's gone now so I dont know what exactly it said..) =116: <li id="t-specialpages"><a href="${nav_urls/specialpages/href}" =117: i18n:translate="string:specialpages">Special Pages</a></li> +118: <li id="t-allpages"><a href="index.php?title=Special:Allpages">All Pages</a></li> +119: <li id="t-forum"><a href="/forum">The Forum</a></li> =120: </ul> =121: </div>
</post> </post>
<post>
- Add an extension for use of a <code> </code> tag to display plain html stuff (for use with form's and such, sorry it doesnt do php).
<post>
File: $WIKI_ROOT/extensions/RenderHtml.php (new file) 1 <?php 2 $wgExtensionFunctions[] = "wfRenderHtmlFunction"; 3 4 function wfRenderHtmlFunction() { 5 global $wgParser; 6 $wgParser->setHook( "code", "RenderHtml" ); 7 } 8 9 function RenderHtml( $input ) 10 { 11 return $input; 12 } 13 ?>
File: $WIKI_ROOT/LocalSettings.php =93: $wgRightsIcon = "${wgStylePath}/images/gnu-fdl.png"; =94: # $wgRightsCode = "gfdl"; # Not yet used +95: inlcude("extensions/RenderHtml.php"); =96: ?> =97: (End of file)
</post> </post>
<post>
- Add an extension for a <post> </post> tag to be used in discusions. It will put a arrow next to the post to hide/unhide comments, simmilar to the 'advanced' version of the 'Recent changes' page. (working but not yet complete) check out this topic's discussion for an example of how to use.
<post>
File: $WIKI_ROOT/extensions/Post.php (new file) 1 <?php 2 $wgExtensionFunctions[] = "wfPostFunctions"; 3 4 function wfPostFunctions() { 5 global $wgParser; 6 $wgParser->setHook( "post", "RenderPost" ); 7 } 8 9 function parse_post($to_parse) { 10 global $wgParser, $wgParserCache, $wgUser, $wgTitle; 11 $parserOutput = new OutputPage; 12 $parserOutput = $wgParser->parse( $to_parse, $wgTitle, $parserOutput->mParserOptions, $linestart ); 13 $parserOutput->mLanguageLinks += $parserOutput->getLanguageLinks(); 14 $parserOutput->mCategoryLinks += $parserOutput->getCategoryLinks(); 15 return $parserOutput->getText(); 16 } 17 18 function RenderPost( $input ) 19 { 20 $posts = explode('<post>', $input, 2); 21 $comments = explode('</post>', $posts[1]); 22 if ($comments[1] == '') { 23 $top = "<div>".parse_post($posts[0])."<span style=\"font-size:10pt; font-style:italic; margin-left:0px;\">No Comments</a></span>"; 24 $middle = ''; 25 $bottom = "</div>"; 26 } 27 else { 28 global $pn; 29 $pn++; 30 $sig = parse_post("--~~~~"); 31 $sig = ''; 32 $post = parse_post($posts[0]); 33 $top = " 34 <div> 35 $post 36 <span id=\"sc$pn\">$sig 37 <a href=\"javascript:toggleVisibility('ps$pn', 'sc$pn', 'hc$pn')\" style=\"font-size:10pt; font-style:italic; margin-left:0px;\"> 38 Show Comments 39 </a> 40 </span> 41 <span id=\"hc$pn\" style=\"display:none;\">$sig 42 <a href=\"javascript:toggleVisibility('ps$pn', 'sc$pn', 'hc$pn')\" style=\"font-size:10pt; font-style:italic; margin-left:0px;\"> 43 Hide Comments 44 </a> 45 </span> 46 <div id=\"ps$pn\" style=\"display:none; margin-left:25px;\"> 47 "; 48 49 $middle = parse_post("<post>".$posts[1]); 50 51 $bottom = "\t</div> 52 </div>"; 53 } 54 $output = $top.$middle.$bottom; 55 return $output; 56 } 57 ?>
File: $WIKI_ROOT/LocalSettings.php =94: # $wgRightsCode = "gfdl"; # Not yet used =95: include("extensions/RenderHtml.php"); +96: include("extensions/Post.php"); =97: ?> =98: (End of file)
File: $WIKI_ROOT/includes/Parser.php (For now here's the updated extractTags function (the old one wouldn't allow there to be tag's within tags)) 153 /* static */ function extractTags($tag, $text, &$content, $uniq_prefix = ""){ 154 $rnd = $uniq_prefix . '-' . $tag . Parser::getRandomString(); 155 if ( !$content ) { 156 $content = array( ); 157 } 158 $n = 1; 159 $stripped = ''; 160 161 if($tag==STRIP_COMMENTS) { 162 while ( '' != $text ) { 163 $p = preg_split( '/<!--/i', $text, 2 ); 164 $stripped .= $p[0]; 165 if ( ( count( $p ) < 2 ) || ( '' == $p[1] ) ) { 166 $text = ''; 167 } else { 168 $q = preg_split( '/-->/i', $p[1], 2 ); 169 $marker = $rnd . sprintf('%08X', $n++); 170 $content[$marker] = $q[0]; 171 $stripped .= $marker; 172 $text = $q[1]; 173 } 174 } 175 } 176 else { 177 $p = preg_split( "/<\\s*$tag\\s*>/i", $text); // splits everything by start tags 178 $stripped .= $p[0]; // takes care of anything before the first tag 179 $starts = 1; 180 $ends = 0; 181 $marker = $rnd . sprintf('%08X', $n++); 182 while ( '' != $p[$starts] ) { // loop through tag's finding end's and such 183 $q = preg_split( "/<\\/\\s*$tag\\s*>/i", $p[$starts]); 184 $ends = $ends + count($q) - 1; 185 if ($starts <= $ends) { 186 $cnt = $q[0]; 187 for($i = 1; $i < count($q)-1; $i++) { 188 $cnt .= '</'.$tag.'>'; 189 $cnt .= $q[$i]; 190 } 191 $content[$marker] .= $cnt; 192 $stripped .= $marker . $q[count($q)-1]; 193 $text = $q[1]; 194 $starts++; 195 $marker = $rnd . sprintf('%08X', $n++); 196 } 197 else { 198 $content[$marker] .= $p[$starts].'<'.$tag.'>'; 199 $starts++; 200 } 201 } 202 } 203 204 /* ##### Begin Old Code ##### 205 while ( '' != $text ) { 206 if($tag==STRIP_COMMENTS) { 207 $p = preg_split( '/<!--/i', $text, 2 ); 208 } else { 209 $p = preg_split( "/<\\s*$tag\\s*>/i", $text, 2 ); 210 } 211 $stripped .= $p[0]; 212 if ( ( count( $p ) < 2 ) || ( '' == $p[1] ) ) { 213 $text = ''; 214 } else { 215 if($tag==STRIP_COMMENTS) { 216 $q = preg_split( '/-->/i', $p[1], 2 ); 217 } else { 218 $q = preg_split( "/<\\/\\s*$tag\\s*>/i", $p[1], 2 ); 219 } 220 $marker = $rnd . sprintf('%08X', $n++); 221 $content[$marker] = $q[0]; 222 $stripped .= $marker; 223 $text = $q[1]; 224 } 225 } 226 */ 227 return $stripped; 228 }
</post> </post>
<post>
- Sort the All Pages list vertically rather than horizontally.
<post>
File: $WIKI_ROOT/includes/SpecialAllpages.php (For now here's the updated indexShowChunk function, I think this is all that I changed, (we'll see when this place get supgraded to 1.4.0)) 108 function indexShowChunk( $from ) 109 { 110 global $wgOut, $wgUser, $indexMaxperpage, $wgLang; 111 $sk = $wgUser->getSkin(); 112 $maxPlusOne = $indexMaxperpage + 1; 113 114 $out = ""; 115 $sql = "SELECT cur_title FROM cur WHERE cur_namespace=0 AND cur_title >= '" 116 . wfStrencode( $from ) . "' ORDER BY cur_title LIMIT " . $maxPlusOne; 117 $res = wfQuery( $sql, DB_READ, "indexShowChunk" ); 118 119 $n = 1; 120 121 //bufferer all links 122 while( ($n < $indexMaxperpage) && ($s = wfFetchObject( $res )) ) { 123 $t[$n] = Title::makeTitle( 0, $s->cur_title ); 124 if( $t[$n] ) { 125 $ll[$n] = $sk->makeKnownLinkObj( $t[$n] ); 126 } else { 127 $ll[$n] = "[[" . htmlspecialchars( $s->cur_title ) . "]]"; 128 } 129 $n++; 130 } 131 $n = count($ll); 132 //packer 133 134 $cols = 3; //variable number of coloms to display 135 $sort_vert='true'; 136 $col = 1; 137 $row = 1; 138 $c = 1; 139 140 if ($sort_vert == 'true') { 141 while ( $c<=$n ) { 142 for ($row=1; $row-1 < (($n)/$cols); $row++) { 143 $link[$row][$col] = $ll[$c]; 144 $c++; 145 } 146 $col++; 147 } 148 } else { 149 while ($c<=$n) { 150 for ($col=1; $col <= $cols; $col++) { 151 $link[$row][$col] = $ll[$c]; 152 $c++; 153 } 154 $row++; 155 } 156 } 157 158 //get ready to output 159 $row = 1; 160 $c = 1; 161 $out = '<table border="0" width="100%">'."\n"; 162 163 //output 164 while ($c<=$n) { 165 $out .= '<tr>'; 166 for ($col=1; ($col<=$cols); $col++) { 167 if($link[$row][$col]) { 168 $out .= '<td>'.$link[$row][$col].'</td>'; 169 $c++; 170 } 171 else { 172 $out .= '<td></td>'; 173 $c++; 174 } 175 } 176 $out .= "</tr>\n"; 177 $row++; 178 } 179 180 $out .= "</table>\n"; 181 182 $out2 = "<div style='text-align: right; font-size: smaller; margin-bottom: 1em;'>" . 183 $sk->makeKnownLink( $wgLang->specialPage( "Allpages" ), 184 wfMsg ( 'allpages' ) ); 185 if ( ($n == $indexMaxperpage) && ($s = wfFetchObject( $res )) ) { 186 $out2 .= " | " . $sk->makeKnownLink( 187 $wgLang->specialPage( "Allpages" ), 188 wfMsg ( 'nextpage', $s->cur_title ), 189 "from=" . urlencode( $s->cur_title ) ); 190 } 191 $out2 .= "</div>"; 192 193 $wgOut->addHtml( $out2 . $out ); 194 }
</post> </post>