Sandbox

From ChekMate Security Group

Sandbox2

Contents

Italy

TimeZone Extension

London (2008-10-10 23:03:43)

Calgary (2008-10-10 18:03:43)


Box File Test

File: /etc/profile
<?php
$wgExtensionFunctions[] = "loadSpecialListSubpages";
require_once("includes/SpecialPage.php");

class SpecialListSubPages extends SpecialPage {

        function SpecialListSubPages() {
                SpecialPage::SpecialPage('ListSubPages', '', false);
                $this->includable(true);
        }

        function execute( $parent = null ) {
                global $wgRequest, $wgOut, $wgUser;
                $fname = 'listsubpages';


                // Handle Errors
                $target = $this->including() ? $wgRequest->getVal( 'title' ) :
                                (isset( $parent ) ? $parent : $wgRequest->getVal( 'target' ));

                if (is_null($target)) {
                        $wgOut->errorpage( 'notargettitle', 'notargettext' );
                        return;
                }

                $target = Title::newFromURL( $target );
                if( !$target ) {
                        $wgOut->errorpage( 'notargettitle', 'notargettext' );
                        return;
                }

                $skin = $wgUser->getSkin();
                if (!$this->including()) {
                        // Start Page
                        $wgOut->setPagetitle( $target->getPrefixedText() );

                        $wgOut->addHTML('< ' . $skin->makeKnownLinkObj($target, '', '' ) . "<br />\n");
                }

                // Do query
                list($limit, $offset) = $wgRequest->getLimitOffset();

                $dbr =& wfGetDB( DB_READ );

                $result = $dbr->select( 'page' ,
                                array( 'page_namespace', 'page_title' ),
                                array(  'page_namespace' => $target->getNamespace(),
                                        "page_title LIKE " . $dbr->addQuotes($target->getDbKey() . '/%') ),
                                $fname,
                                        array( 'ORDER BY'=>'page_touched DESC','LIMIT' => "$offset,$limit" ) );

                // Output results
                $wgOut->addWikiText('= ' . $target->getDbKey() . '\'s Blog =');

                if ( 0 == $dbr->numRows( $result ) ) {
                  $d = date( 'Y F d H:i:s T' );
                  if ($wgUser->getName() == $target->getDbKey()) {
                    $wgOut->addWikiText('[[User:' . $wgUser->getName() . '/BlogEntry: ' . $d . ' | Add New Blog Entry]]');
                  }
                  $wgOut->addWikiText("Currently No Blog Entries.");
                  return;
                }

                $prevnext = wfViewPrevNext( $offset, $limit, $specialTitle,
                                           'target=' . urlencode( $target->getPrefixedDbKey() ),
                                           ( $dbr->numRows( $res ) <= $limit ) );
                $wgOut->addHTML( $prevnext );

                $rows = array();

                $d = date( 'Y F d H:i:s T' );
                if ($wgUser->getName() == $target->getDbKey()) {
                  $wgOut->addWikiText('[[User:' . $wgUser->getName() . '/BlogEntry: ' . $d . ' | Add New Blog Entry]]');
                }


                while ($row = $dbr->fetchObject($result)) {
                  if (ereg("BlogEntry",$row->page_title)) {
                    $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 loadSpecialListSubpages()
{
        SpecialPage::addPage(new SpecialListSubpages);
}

?>

WhosOnline Testing

Check out MW: ImageMap Extension.

Test1232

An example: Guests: 1 Registered: 0 ()

Guests: 1 Registered: 0 ()

Network Map

neato

Dot

Circo

TwoPi

FDP