From ChekMate Security Group
<?php
$wgExtensionFunctions[] = "loadSpecialListAllBlogs";
require_once("includes/SpecialPage.php");
class SpecialListAllBlogs extends SpecialPage {
function SpecialListAllBlogs() {
SpecialPage::SpecialPage('ListAllBlogs', '', false);
$this->includable(true);
}
function execute( $parent = null ) {
global $wgRequest, $wgOut, $wgUser;
$fname = 'listallblogs';
// Handle Errors
$target = $this->including() ? $wgRequest->getVal( 'title' ) :
(isset( $parent ) ? $parent : $wgRequest->getVal( 'target' ));
if (is_null($target)) {
return;
}
$target = Title::newFromURL( $target );
$skin = $wgUser->getSkin();
# if (!$this->including()) {
// Start Page
$wgOut->setPagetitle("Most Recent Blogs" );
$wgOut->addWikiText("__NOTOC__");
# $wgOut->addHTML('< ' . $skin->makeKnownLinkObj($target, '', '' ) . "<br />\n");
# }
// Do query
list($limit, $offset) = $wgRequest->getLimitOffset();
$dbr =& wfGetDB( DB_READ );
$limit = 10;
$offset = 0;
$result = $dbr->select( 'page' ,
array( 'page_namespace', 'page_title', 'page_touched' ),
array( 'page_namespace' => '2',
"page_title LIKE '%BlogEntry%'"),
$fname,
array( 'ORDER BY'=>'page_touched DESC', 'LIMIT' => "$offset,$limit" ) );
// Output results
if ( 0 == $dbr->numRows( $result ) ) {
$d = date( 'Y F d H:i:s T' );
$wgOut->addWikiText("Currently No Blog Entries.");
return;
}
$rows = array();
$d = date( 'Y F d H:i:s T' );
while ($row = $dbr->fetchObject($result)) {
$wgOut->addHTML('<table width=100% border=1 cellpadding=5 cellspacing=0 ><tr><td>');
$link = Title::makeTitle( $row->page_namespace, $row->page_title);
list($user1,$date1) = explode("/BlogEntry:_",$row->page_title,2);
$date1 = preg_replace('/_/', ' ', $date1);
$wgOut->addHTML("<table width=100%><tr><td align=left><font size=4><a href=\"/wiki/index.php/User:". $row->page_title ."\">$date1</a></font><br>Posted By: <a href=\"/wiki/index.php/User:$user1\">$user1</a></td><td valign=top align=right><a href=\"/wiki/index.php/User_talk:". $row->page_title ."\">Discussion</a><br><a href=\"/wiki/index.php/Special:ListSubPages/User:$user1\">$user1's Blog</a><td></tr></table>");
$tempvalue = "{{:User:" . $row->page_title . "}}";
$wgOut->addWikiText($tempvalue);
$wgOut->addHTML("<table width=100%><tr><td align=right>Blog Entry: ".$skin->makeKnownLinkObj($link)."</td></tr></table>");
$wgOut->addHTML('</td></tr></table><p>');
}
$dbr->freeResult($result);
$wgOut->addHTML($prevnext);
}
}
function loadSpecialListAllBlogs()
{
SpecialPage::addPage(new SpecialListAllBlogs);
}
?>