function drawDiagram(Parser $parser, PPFrame $frame) { global $wgTitle; $sumEditing = 0; $pagesList = CDParameters::getInstance()->getPagesList(); $pageWithChanges = array(); foreach ($pagesList as $thisPageTitle) { $names = getPageEditorsFromDb($thisPageTitle); $changesForUsersForPage = getCountsOfEditing($names); $thisPageTitleKey = $thisPageTitle->getText(); if ($thisPageTitle->getNsText() != "") { $thisPageTitleKey = $thisPageTitle->getNsText() . ":" . $thisPageTitleKey; // we can't use Title object this is a key with an array so we generate the Ns:Name key } $pageWithChanges[$thisPageTitleKey] = $changesForUsersForPage; $sumEditing += evaluateCountOfAllEdits($changesForUsersForPage); } $text = drawPreamble(); foreach ($pageWithChanges as $thisPageTitleKey => $changesForUsersForPage) { $drawer = CDDrawerFactory::getDrawer($changesForUsersForPage, $sumEditing, $thisPageTitleKey); $text .= $drawer->draw(); } $text .= "}</graphviz>"; // $text = getPie($changesForUsers, $sumEditing, $thisPageTitle); $parser->disableCache(); $parser->setTitle(Title::newFromText("Main_page")); $frame->getTitle(Title::newFromText("Main_page")); $text = $parser->recursiveTagParse($text, $frame); //this stuff just render my page return $text; }