Graph 如何以图形方式表示MediaWiki中每页的作者数?
我们有一个MediaWiki。我希望能够报告有多少合作正在进行,我想到了下面的图表:每页作者的数量。因此,数据如下所示:Graph 如何以图形方式表示MediaWiki中每页的作者数?,graph,mediawiki,wiki,Graph,Mediawiki,Wiki,我们有一个MediaWiki。我希望能够报告有多少合作正在进行,我想到了下面的图表:每页作者的数量。因此,数据如下所示: #Pages #Authors 20 1 10 2 25 3 这将表明20页只有一个作者,10页有2个,25页有3个 有人知道获取这些信息的方法吗 这些信息也需要随着时间的推移以某种方式显示出来——因此,如果有人知道如何做到这一点,我将不胜感激。(例如,上个月25%的页面有两个或更多作者,本月为30%)。这并不完全是您想要的,但这可能是一个好的开始。
#Pages #Authors
20 1
10 2
25 3
这将表明20页只有一个作者,10页有2个,25页有3个
有人知道获取这些信息的方法吗
这些信息也需要随着时间的推移以某种方式显示出来——因此,如果有人知道如何做到这一点,我将不胜感激。(例如,上个月25%的页面有两个或更多作者,本月为30%)。这并不完全是您想要的,但这可能是一个好的开始。这是一个简单的特殊页面,其唯一目的是显示页面名称和作者数量
$wgAutoloadClasses['SpecialPagesAuthors'] = $IP . '/additions.php';
$wgSpecialPages['PagesAuthors'] = 'SpecialPagesAuthors';
class SpecialPagesAuthors extends SpecialPage {
function __construct() {
parent::__construct( 'PagesAuthors' );
}
这基本上只是注册页面
function execute( $par ) {
global $wgOut;
$dbr = wfGetDB( DB_SLAVE );
$output = <<<WIKITEXT
{| class="wikitable"
! Page !! Authors
WIKITEXT;
foreach( $query_result as $row ) {
$title = Title::newFromRow( $row );
$page_title = $title->getPrefixedText();
$output .= <<<WIKITEXT
|-
| {$page_title} || {$row->unique_authors}
WIKITEXT;
}
$dbr->freeResult( $query_result );
在这里,我们查询数据库中的页面和作者数量(本质上是编辑页面的唯一用户名和IP的数量)
我的第二根风滚草呢@Matej:我对代码做了一些修改,并将其放在这里:非常感谢您的帮助。顺便问一下,你知道为什么页面标题是pagesauthors吗?否则,我将创建一个新的SO问题。它表示它正在查找用于页面标题的
pagesauthors
消息。只需在MediaWiki名称空间中创建一个名为pagesauthors
的页面,并使用所需的标题即可。有关更多信息,请参阅。
foreach( $query_result as $row ) {
$title = Title::newFromRow( $row );
$page_title = $title->getPrefixedText();
$output .= <<<WIKITEXT
|-
| {$page_title} || {$row->unique_authors}
WIKITEXT;
}
$dbr->freeResult( $query_result );
$output .= "|}";
$this->setHeaders();
$wgOut->addWikiText( $output );
}
}