Changelog
Jump to navigation
Jump to search
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 forms 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>