0

私のウィキで保護されていないすべてのページのリストを取得する方法を探しています。MediaWiki には、すべてのページのリストを表示するための特別なページと、保護されたページのリストを表示するための特別なページがあります。基本的に 2 つのリストを比較して、保護されていないページを出力するスクリプトを作成する方法はありますか?

注: C++、C、Java、Python の経験はありますが、PHP で書いたことは一度もありません...

4

2 に答える 2

1

最も簡単な方法は次のとおりです。(自分で $allPages と $protectedPages のリストを設定します)

$allPages = array('url1', 'url2', 'url3');
$protectedPages = array('url2');

// this array_diff() will give you the an array of the difference in each array
$unprotectedPages = array_diff($allPages, $protectedPages);
print_r($unprotectedPages);
于 2013-03-06T05:06:12.623 に答える
0

それがあなたのウィキなら、特別なページにこだわる必要はありません。データベースを見て、次のようなことができます。

SELECT page_namespace, page_title 
FROM page p JOIN page_restrictions pr ON p.page_id = pr.page_id;
于 2013-03-06T22:04:02.523 に答える