'Default restrictions', 'author' => 'Zhen Lin', 'description' => '' ); $wgHooks['userCan'][] = 'wfDefaultRestrictionsHook1'; $wgHooks['ArticleInsertComplete'][] = 'wfDefaultRestrictionsHook2'; } function wfDefaultRestrictionsHook1(&$title, &$user, $action, &$result) { global $wgDefaultRestrictions, $wgCreateRestrictions; $id = $title->getArticleID(); if ($id != 0) { $result = null; return; } $res = $wgDefaultRestrictions[$title->mNamespace]; if (! isset($res)) $res = ''; if (! $title->mRestrictionsLoaded) $title->loadRestrictions($res); if ($action == 'create') { $res = $wgCreateRestrictions[$title->mNamespace]; if (isset($res)) { $result = $user->isAllowed($res); return; } } $result = null; return; } function wfDefaultRestrictionsHook2(&$article, &$user, $text, $summary, $isminor, $iswatch, $section) { global $wgDefaultRestrictions; $id = $article->mTitle->mArticleID; if ($id == 0) return; $res = $wgDefaultRestrictions[$article->mTitle->mNamespace]; if (! isset($res)) return; $dbw =& wfGetDB(DB_MASTER); $dbw->update('page', array(/* SET */ 'page_restrictions' => $res ), array( /* WHERE */ 'page_id' => $id ), 'Article::protect' ); return; } ?>