diff --git a/www-apps/mediawiki/ChangeLog b/www-apps/mediawiki/ChangeLog index c1f117e1..5e7bacc8 100644 --- a/www-apps/mediawiki/ChangeLog +++ b/www-apps/mediawiki/ChangeLog @@ -2,6 +2,11 @@ # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 # $Header: /var/cvsroot/gentoo-x86/www-apps/mediawiki/ChangeLog,v 1.136 2010/04/15 20:25:15 maekke Exp $ + 25 Sep 2010; Mario Fetka -mediawiki-1.15.4.ebuild, + mediawiki-1.15.5.ebuild, +mediawiki-1.16.0.ebuild, + +files/mediawiki-1.16.0-restrict-0.8.4.patch: + bump + 23 Sep 2010; Mario Fetka mediawiki-1.15.4.ebuild: add php 5.3 diff --git a/www-apps/mediawiki/Manifest b/www-apps/mediawiki/Manifest index c9ab00f1..9cf05a80 100644 --- a/www-apps/mediawiki/Manifest +++ b/www-apps/mediawiki/Manifest @@ -1,9 +1,10 @@ AUX mediawiki-1.15.1-restrict-0.8.4.patch 85120 RMD160 08867fba1a7d10c4bcf9879f467ae0e68b39fb49 SHA1 7577154e26e3b746fcb4b389eaa80c7b02e6258c SHA256 2d3abad56abdfce4a162bd895e00832a0fc5427965da76a641b16901c85fea62 +AUX mediawiki-1.16.0-restrict-0.8.4.patch 84833 RMD160 a7e5eafdbda697fb2a64a572281d66d0d1873479 SHA1 2649725552e4007bfb4adc299fe4df981a08b461 SHA256 abbe96e98118f27437e59d9318c7203ab53fcc5b609236a9663a6990b8155d4c AUX postinstall-1.13-en.txt 2751 RMD160 4f6c918bc1b897ed017ab8129a6d5387e982e07a SHA1 a4afb248ab7cb7abe25aa9d69533a7fd52401d73 SHA256 cebfe53c219cd6acacffcf0ed24493c0aa3180c89fa954e4a7e458dd0feb62c9 AUX postupgrade-1.13-en.txt 1651 RMD160 aaae13a05a0984dfb327b9b5e2c6faa0d3c0c037 SHA1 a97fb9f33d964a795ec159df0628e1897b12e257 SHA256 be7ed53ebce19077a55ce3fbd7eafca7843fffc0c5e821549a4e2e1db9c560bf -DIST mediawiki-1.15.4.tar.gz 11531488 RMD160 f4879c0f9cb1b8a6f5682f9fad14010703d49c27 SHA1 c00267663a0a05ace4bd28b53b0b3b0f08dad551 SHA256 c9ef415f13efc6b450276d0e7d0d488f4a113bf9c999f411ebb12b0b693a8eae DIST mediawiki-1.15.5.tar.gz 11595008 RMD160 5113beb1df46c56275a90d5a1cb85c2b01ca541f SHA1 b157fe37bb89c78e5ffa0f27b14beb886db3a5f4 SHA256 f838c94af81e018dcf11f77674d2a363e97b8832d0d66416294fd301db720ab5 -EBUILD mediawiki-1.15.4.ebuild 4258 RMD160 a8b374e520d34ef5fded2eb81acb0383d09c2e8e SHA1 74ffa0724df1186070adfa5aea4de1096d6dbceb SHA256 3eeeddc65d3a34091b4c19f7ff7af84e1873b8150e30a55527700d25bb603d80 -EBUILD mediawiki-1.15.5.ebuild 4258 RMD160 a8b374e520d34ef5fded2eb81acb0383d09c2e8e SHA1 74ffa0724df1186070adfa5aea4de1096d6dbceb SHA256 3eeeddc65d3a34091b4c19f7ff7af84e1873b8150e30a55527700d25bb603d80 -MISC ChangeLog 23627 RMD160 c5978cf92217f670a88dacb2570fe35904e9c72e SHA1 f902fcb8a27b094cd393164706c46b7ec111147b SHA256 f353cd5d1df475d2e5a225fdca2da0692a4690654b4bd3727e0b9c8f791b70f5 +DIST mediawiki-1.16.0.tar.gz 12647934 RMD160 dc65164fd92bdfbc22992652cd31789d08527936 SHA1 41d6dc0530eb00fd96f48690b8d7041d2b7fd7f3 SHA256 81abaf3393cfbffb464f9c2da8c091983b49bbbb09d156669b443042cd48ac92 +EBUILD mediawiki-1.15.5.ebuild 3681 RMD160 0ef03e444398f7d8a7fc5a02246a0876247cc7b5 SHA1 dfd4f1488ebfa3035a848e5c6cd63b2ffd404f76 SHA256 99b14e89759095793dd9f1e4f1d889c5fc66e71273e77c23fcbb7283ac69d48a +EBUILD mediawiki-1.16.0.ebuild 3681 RMD160 d2eecd8473a604f72549226a0dbd1365c9fedf0f SHA1 1583baad148caf499635b2785bc5f92d753fc695 SHA256 c0ad324cd9a2d20202ffdce7d1da0a7258e283e15949c75993c299eab5f67623 +MISC ChangeLog 23813 RMD160 f242b0bef2d5e058ce150861d084e3c51160d603 SHA1 ddd03cf23605ca47b7c7469cd3c9389ef1df02ea SHA256 fd16642ef5e80354c51fccfe6d4ffc8d99b3beff42a50c01a164db260d899a4e MISC metadata.xml 418 RMD160 337019d783d66bbadf67162c84d6d3b8b3a8f0f4 SHA1 b49b71fd11a91a2e5f8953cf9a1643abee3c67b3 SHA256 68dd9b135528db0c39e306e60b4e910b402ee121fa1b0dc17107d1ba7c66d0eb diff --git a/www-apps/mediawiki/files/mediawiki-1.16.0-restrict-0.8.4.patch b/www-apps/mediawiki/files/mediawiki-1.16.0-restrict-0.8.4.patch new file mode 100644 index 00000000..47d68f1c --- /dev/null +++ b/www-apps/mediawiki/files/mediawiki-1.16.0-restrict-0.8.4.patch @@ -0,0 +1,1789 @@ +Submitted By: Your Name (your at email dot address) +Date: 2010-09-25 +Initial Package Version: 0.8.4 +Origin: http://www.mediawiki.org/wiki/Extension:Page_access_restriction +Upstream Status: never accepted +Description: This is a patch to enable page restriction under the MediaWiki software. +Pages can be articles or categories. +It adds a new |restrict| tab link allowing members of the group restrict to restrict pages. +Users member of the group viewrestrict can read (and modify) the restricted pages. +Other users cannot see, search, export, etc, the restricted pages. +You can still |protect| them for editing. + +diff -Naur mediawiki-1.16.0.orig/README.restriction-patch mediawiki-1.16.0/README.restriction-patch +--- mediawiki-1.16.0.orig/README.restriction-patch 1970-01-01 00:00:00.000000000 +0000 ++++ mediawiki-1.16.0/README.restriction-patch 2010-09-25 09:54:45.405359799 +0000 +@@ -0,0 +1,141 @@ ++ ++Article restriction patch for MediaWiki ++--------------------------------------- ++ ++Here is a patch to enable article restriction under MediaWiki. Pages can be articles or categories. It adds a new |restrict| tab link allowing members of the group ''restrict'' to restrict pages. Users member of the group ''viewrestrict'' can read (and modify) the restricted pages. Others users cannot see, search, export, etc, the restricted pages. You can still |protect| them for editing. A restricted page is distinguished by a red background tab, and you have a special page (Special:Restrictedpages) to list the restricted pages. All restriction/unrestriction actions are loggued in the wiki log. It is also possible to restrict pages by providing a regular expression array matching titles. Optionaly the user's pages can be restricted to their owner. Currently it is localized in English, German, Dutch, Swedish, Finnish, Russian, Hebrew and French. ++ ++This feature is mainly useful for intranet relying on WikiMedia as a non-encyclopedic content management system, like e-learning platforms or informational systems. To respect the wiki philosophy, it is not appropriate to use it to restrict public access! ++ ++To install restriction-patch, download MediaWiki (do a security backup if you patch your own installation). ++ ++- Apply patch : ++ ++ mv restriction-version.mediawiki-version.patch ./mediawiki-version ++ cd ./mediawiki-version ++ patch -p0 < restriction-version.mediawiki-version.patch ++ ++- Configure : ++ ++Restriction is disabled by default. Add in your ''./LocalSettings.php'' file (below require_once( "includes/DefaultSettings.php" );) : ++ ++ /** ++ * If true, a new menu action allows to restrict pages access to 'restrict' group users. If false, all previously restricted pages are accessible again. ++ */ ++ $wgEnableRestrict = true; ++ ++ /** ++ * If true, new pages are restricted by default for 'restrict' group users. ++ */ ++ $wgRestrictNewPages = false; ++ ++ /** ++ * If true restrict user pages to their owner (as well as viewrestrict/restrict members) ++ */ ++ $wgUserPageRestrict = false; ++ ++ /** ++ * when wgUserPageRestrict is enabled, still allow user pages to be read by others ++ */ ++ $wgUserReadRestrict = false; ++ ++ /** ++ * Regular expression array to restrict matching pages ++ * eg. $wgRegexRestrict = array("^Secure:", "^Secret "); // restrict all pages where title is like 'Secure:...' or 'Secret ...' ++ * Warning : titles can still be retrieved via the search engine (to be fixed) ++ */ ++ $wgRegexRestrict = array(); ++ ++ /** ++ * If true do not add recent changes entry for restricted pages ++ */ ++ $wgNoRecentChangesRestrict = true; ++ ++ /** ++ * If true hide log entries related to restriction, except for 'restrict' or 'viewrestrict' users (Special:Log page) ++ */ ++ $wgHideRestrictLog = true; ++ ++ ++Go to the ''User rights management'' page (in special pages) and add users in group ''restrict'' (allow to view and restrict pages) or ''viewrestrict'' (allow only to view restricted pages). If $wgUserPageRestrict is true, user pages are restricted to their respective owner, as well as members of the ''viewrestrict'' group. ++ ++Don't write sensible information in page titles, they could be retrieved in some cases. This is beta and GPL, test and feedback welcome ! ++ ++ ++Jerome Combaz (restrict-mediawiki/at/conseil-recherche-innovation.net) ++ ++ ++ Download patch, updates, screenshots and comments here : ++ http://conseil-recherche-innovation.net/index.php/1974/04/11/41-restrict-pages-under-mediawiki-15 ++ ++ ++ChangeLog ++--------- ++Version beta-0.8.4 for MW 1.16.0 (2010-09-25) ++- Made the patch work for MW 1.16.0 (Mario Fetka) ++ ++Version beta-0.8.4 for MW 1.15.1 (2010-02-06) ++- Made the patch work for MW 1.15.1 (Mario Fetka) ++ ++Version beta-0.8.4 for MW 1.13.2 (2008-12-03) ++- Made the patch work for MW 1.13.2 (Mario Fetka) ++- add the SpecialRestrictedPages.php ++ ++Version beta-0.8.4 for MW 1.12.0 (2008-04-24) ++- Made the patch work for MW 1.12.0 (Jan Krcmar) ++ ++Version beta-0.8.2 for MW 1.10.0 (2007-05-21) ++- Added UserReadRestrict function which allows users to read but not edit other users pages. ++- members of groups with ['edituser'] can edit other users pages. (Ryan Fulcher, D0li0@MW) ++ ++Version beta-0.8 for MW 1.10.0 (2007-05-21) ++- Made the patch work for MW 1.10.0 (Ryan Fulcher, D0li0@MW) ++ ++Version beta-0.8.1 for MW 1.7.1 (~2006-11-22) ++- Added inverse regex function, begin regex with !! to inverse the matching (134.91.37.96) ++ ++Version beta-0.8 for MW 1.7.1 (2006-10-06) ++- Made the patch work for MW 1.7.1 (Jesper Zedlitz) ++ ++Version beta-0.72 for MW 1.6.6/1.6.7/1.6.8 (09-01-2006) ++- Spanish translation (thanks to Victor Fari� from Queres tecnologias) ++- Czech translation (thanks to Michal Ciza) ++ ++Version beta-0.71 for MW 1.6.6/1.6.7 (07-13-2006) ++- Two bugs in Articles.php and Skin.php (thanks to Owen, see http://conseil-recherche-innovation.net/index.php/1974/04/11/41-restrict-pages-under-mediawiki-15#c489) ++ ++Version beta-0.70 for MW 1.6.6/1.6.7 (06-06-2006) ++- SQL requests are not modified anymore to check the restriction (better sustenability of the patch) ++- Now restricted pages and *regex* restricted pages are treated in the same way. So none of pages title should be listed whatever the protection mechanism choosed, nor during a search request ++- Regex restriction include the namespace, so it is now possible to restrict whole namespaces (eg. "^Talk:" restrict all talk pages) ++- Image partialy restricted (not listed but file accessible via HTTP) ++- The SpecialVersion page informs that MW is patched ++- Correction of text error on the unrestrict page (thanks to Mathaba) ++- Polish translation (thanks to Janusz 'Ency' Dorozynski) ++ ++Version beta-0.64 for MW 1.6.3 (05-01-2006) ++- Bug when displaying SpecialCategories page (thanks to T O X I N) ++- Hebrew translation (thanks to Yuval Hager) ++- Bug in OutputPage.php (thanks again to Yuval Hager) ++ ++Version beta-0.63 for MW 1.6.3 (04-20-2006) ++- Upgrade for 1.6.3 (thanks to Anthony for his help) ++- Russian translation (thanks to T O X I N) ++- Finnish translation (thanks to Tuomas Helin) ++ ++Version beta-0.62 for MW 1.5.5/1.5.6 (02-13-2006) 1.5.7 (03-05-2006) ++- Catalan translation (thanks to Pau Cabot) ++- Small mistake (comma) in swedish translation ++ ++Version beta-0.61 for MW 1.5.5/1.5.6 (01-18-2006) ++- Swedish translation (thanks to Samuel Lampa) ++- Dutch translation (thanks to Peter De Baets) ++ ++Version beta-0.6 for MW 1.5.3 (12-15-2005) ++- $wgHideRestrictLog option is back ++ ++Version beta-0.59 for MW 1.5.1/1.5.2 (10-31-2005) ++- Allow to restrict new pages by default ($wgRestrictNewPages option) ++- Bug : 'ArticleProtectComplete' hook function remplaced by 'ArticleRestrictComplete' (stupid mistake !) ++ ++Version beta-0.58 for MW 1.5.0 (10-07-2005) ++- Restriction by regular expression test on title. +diff -Naur mediawiki-1.16.0.orig/includes/Article.php mediawiki-1.16.0/includes/Article.php +--- mediawiki-1.16.0.orig/includes/Article.php 2010-07-07 01:08:01.000000000 +0000 ++++ mediawiki-1.16.0/includes/Article.php 2010-09-25 08:21:08.038562225 +0000 +@@ -840,7 +840,11 @@ + # Another whitelist check in case oldid is altering the title + if ( !$this->mTitle->userCanRead() ) { + wfDebug( __METHOD__ . ": denied on secondary read check\n" ); +- $wgOut->loginToUse(); ++ if ( $this->mTitle->isRestricted() ) { ++ $wgOut->restrictGroupRequired(); ++ } else { ++ $wgOut->loginToUse(); ++ } + $wgOut->output(); + $wgOut->disable(); + wfProfileOut( __METHOD__ ); +@@ -1866,7 +1870,7 @@ + * Compatibility note: this function previously returned a boolean value indicating success/failure + */ + public function doEdit( $text, $summary, $flags = 0, $baseRevId = false, $user = null ) { +- global $wgUser, $wgDBtransactions, $wgUseAutomaticEditSummaries; ++ global $wgUser, $wgDBtransactions, $wgUseAutomaticEditSummaries, $wgEnableRestrict, $wgNoRecentChangesRestrict, $wgRestrictNewPages; + + # Low-level sanity check + if ( $this->mTitle->getText() == '' ) { +@@ -1982,13 +1986,15 @@ + wfRunHooks( 'NewRevisionFromEditComplete', array( $this, $revision, $baseRevId, $user ) ); + # Update recentchanges + if ( !( $flags & EDIT_SUPPRESS_RC ) ) { +- # Mark as patrolled if the user can do so +- $patrolled = $wgUseRCPatrol && $this->mTitle->userCan( 'autopatrol' ); +- # Add RC row to the DB +- $rc = RecentChange::notifyEdit( $now, $this->mTitle, $isminor, $user, $summary, +- $this->mLatest, $this->getTimestamp(), $bot, '', $oldsize, $newsize, +- $revisionId, $patrolled +- ); ++ if (!$wgEnableRestrict || !$wgNoRecentChangesRestrict || !$this->mTitle->isRestricted()) { ++ # Mark as patrolled if the user can do so ++ $patrolled = $wgUseRCPatrol && $this->mTitle->userCan( 'autopatrol' ); ++ # Add RC row to the DB ++ $rc = RecentChange::notifyEdit( $now, $this->mTitle, $isminor, $user, $summary, ++ $this->mLatest, $this->getTimestamp(), $bot, '', $oldsize, $newsize, ++ $revisionId, $patrolled ++ ); ++ } + # Log auto-patrolled edits + if ( $patrolled ) { + PatrolLog::record( $rc, true ); +@@ -2035,7 +2041,7 @@ + + # Add the page record; stake our claim on this title! + # This will return false if the article already exists +- $newid = $this->insertOn( $dbw ); ++ $newid = $this->insertOn( $dbw, ($wgRestrictNewPages && $wgUser->isAllowed('restrict') ? 'view=1' : '') ); + + if ( $newid === false ) { + $dbw->rollback(); +@@ -2270,6 +2276,142 @@ + } + + /** ++ * Restrict a page ++ * (restrict-patch by Jerome Combaz) ++ */ ++ function restrict( $limit = true ) { ++ global $wgUser, $wgOut, $wgRequest, $wgEnableRestrict; ++ ++ if ( ! $wgEnableRestrict == true ) return; ++ ++ if ( ! $wgUser->isAllowed('restrict') ) { ++ $wgOut->restrictGroupRequired(); ++ return; ++ } ++ if ( wfReadOnly() ) { ++ $wgOut->readOnlyPage(); ++ return; ++ } ++ $id = $this->mTitle->getArticleID(); ++ if ( 0 == $id ) { ++ $wgOut->fatalError( wfMsg( 'badarticleerror' ) ); ++ return; ++ } ++ ++ $confirm = $wgRequest->wasPosted() && ++ $wgUser->matchEditToken( $wgRequest->getVal( 'wpEditToken' ) ); ++ $reason = $wgRequest->getText( 'wpReasonRestrict' ); ++ ++ if ( $confirm ) { ++ $dbw =& wfGetDB( DB_MASTER ); ++ $dbw->update( 'page', ++ array( /* SET */ ++ 'page_touched' => $dbw->timestamp(), ++ 'page_restrictions' => (string)$limit ++ ), array( /* WHERE */ ++ 'page_id' => $id ++ ), 'Article::restrict' ++ ); ++ ++ $getredit = $this->mTitle->getRestrictions('edit'); ++ $edit = "edit=".current($getredit); ++ $getrmove = $this->mTitle->getRestrictions('move'); ++ $move = "move=".current($getrmove); ++ $view = ($limit ? 'view=1' : 'view=0'); ++ $restrictions = implode(':', array($edit, $move, $view)); ++ ++ if (wfRunHooks('ArticleRestrict', array(&$this, &$wgUser, $limit == true, $reason))) { ++ ++ $dbw =& wfGetDB( DB_MASTER ); ++ $dbw->update( 'page', ++ array( /* SET */ ++ 'page_touched' => $dbw->timestamp(), ++ 'page_restrictions' => $restrictions ++ ), array( /* WHERE */ ++ 'page_id' => $id ++ ), 'Article::restrict' ++ ); ++ ++ wfRunHooks('ArticleRestrictComplete', array(&$this, &$wgUser, $limit == true, $reason, $moveonly)); ++ ++ $log = new LogPage( 'restrict' ); ++ if ( $limit === '' ) { ++ $log->addEntry( 'unrestrict', $this->mTitle, $reason ); ++ } else { ++ $log->addEntry( 'restrict', $this->mTitle, $reason ); ++ } ++ $wgOut->redirect( $this->mTitle->getFullURL() ); ++ } ++ return; ++ } else { ++ return $this->confirmRestrict( '', '', $limit ); ++ } ++ } ++ ++ /** ++ * Output restriction confirmation dialog ++ */ ++ function confirmRestrict( $par, $reason, $limit ) { ++ global $wgOut, $wgUser; ++ ++ wfDebug( "Article::confirmRestrict\n" ); ++ ++ $sub = htmlspecialchars( $this->mTitle->getPrefixedText() ); ++ $wgOut->setRobotpolicy( 'noindex,nofollow' ); ++ ++ $check = ''; ++ $protcom = ''; ++ $moveonly = ''; ++ ++ if ( $limit === '' ) { ++ $wgOut->setPageTitle( wfMsg( 'confirmunrestrict' ) ); ++ $wgOut->setSubtitle( wfMsg( 'unrestrictsub', $sub ) ); ++ $wgOut->addWikiText( wfMsg( 'confirmunrestricttext' ) ); ++ $protcom = htmlspecialchars( wfMsg( 'unrestrictcomment' ) ); ++ $formaction = $this->mTitle->escapeLocalURL( 'action=unrestrict' . $par ); ++ } else { ++ $wgOut->setPageTitle( wfMsg( 'confirmrestrict' ) ); ++ $wgOut->setSubtitle( wfMsg( 'restrictsub', $sub ) ); ++ $wgOut->addWikiText( wfMsg( 'confirmrestricttext' ) ); ++ $protcom = htmlspecialchars( wfMsg( 'restrictcomment' ) ); ++ $formaction = $this->mTitle->escapeLocalURL( 'action=restrict' . $par ); ++ } ++ ++ $confirm = htmlspecialchars( wfMsg( 'confirm' ) ); ++ $token = htmlspecialchars( $wgUser->editToken() ); ++ ++ $wgOut->addHTML( " ++
++ ++ ++ ++ ++ ++ ++ ++ ++ ++
++ ++ ++ ++
  ++ ++
++ ++
" ); ++ ++ $wgOut->returnToMain( false ); ++ } ++ ++ /** ++ * Unrestrict the pages ++ */ ++ function unrestrict() { ++ return $this->restrict( '' ); ++ } ++ ++ /** + * Update the article's restriction field, and leave a log entry. + * + * @param $limit Array: set of restriction keys +@@ -2329,6 +2471,10 @@ + + $current = Article::flattenRestrictions( $current ); + ++ if(current($this->mTitle->getRestrictions('view'))) { ++ $updated .= ":view=1"; ++ } ++ + $changed = ( $changed || $current != $updated ); + $changed = $changed || ( $updated && $this->mTitle->areRestrictionsCascading() != $cascade ); + $protect = ( $updated != '' ); +diff -Naur mediawiki-1.16.0.orig/includes/DefaultSettings.php mediawiki-1.16.0/includes/DefaultSettings.php +--- mediawiki-1.16.0.orig/includes/DefaultSettings.php 2010-07-28 07:11:03.000000000 +0000 ++++ mediawiki-1.16.0/includes/DefaultSettings.php 2010-09-25 08:10:32.733716562 +0000 +@@ -3183,6 +3183,7 @@ + 'upload', + 'move', + 'import', ++ 'restrict', + 'patrol', + 'merge', + 'suppress', +@@ -3258,6 +3259,7 @@ + 'upload' => 'uploadlogpagetext', + 'move' => 'movelogpagetext', + 'import' => 'importlogpagetext', ++ 'restrict'=> 'restrictlogtext', + 'patrol' => 'patrol-log-header', + 'merge' => 'mergelogpagetext', + 'suppress' => 'suppressionlogtext', +@@ -3277,6 +3279,8 @@ + 'protect/modify' => 'modifiedarticleprotection', + 'protect/unprotect' => 'unprotectedarticle', + 'protect/move_prot' => 'movedarticleprotection', ++ 'restrict/restrict' => 'restrictedarticle', ++ 'restrict/unrestrict'=> 'unrestrictedarticle', + 'rights/rights' => 'rightslogentry', + 'delete/delete' => 'deletedarticle', + 'delete/restore' => 'undeletedarticle', +@@ -3796,6 +3800,56 @@ + $wgRestrictDisplayTitle = true; + + /** ++ * ++ * Restriction patch (by Jerome Combaz) ++ * see http://www.mediawiki.org/wiki/Extension:Page_access_restriction ++ * ++ */ ++ ++/** ++ * If true, a new menu action allows to restrict pages access to 'restrict' group users ++ */ ++$wgEnableRestrict = false; ++ ++/** ++ * If true, new pages are restricted by default for 'restrict' group users ++ */ ++$wgRestrictNewPages = false; ++ ++/** ++ * Restrict user pages to their owner (as well as viewrestrict/restrict members) ++ */ ++$wgUserPageRestrict = false; ++ ++/** ++ * when wgUserPageRestrict is enabled, still allow user pages to be read by others ++ */ ++$wgUserReadRestrict = false; ++ ++/** ++ * Regular expression array to restrict matching pages ++ * eg. $wgRegexRestrict = array("^Secure:", "^Secret "); // restrict all pages where title is like 'Secure:...' or 'Secret ...' ++ */ ++$wgRegexRestrict = array(); ++ ++/** ++ * Hide recent changes entry for restricted pages ++ */ ++$wgNoRecentChangesRestrict = true; ++ ++/** ++ * Hide log entries related to restriction except for 'restrict' or 'viewrestrict' users (Special:Log page) ++ */ ++$wgHideRestrictLog = true; ++ ++/** ++ * MediaWiki permissions setup ++ */ ++$wgGroupPermissions['restrict']['restrict'] = ++$wgGroupPermissions['restrict']['viewrestrict'] = true; ++$wgGroupPermissions['viewrestrict']['viewrestrict'] = true; ++ ++/** + * Array of usernames which may not be registered or logged in from + * Maintenance scripts can still use these + */ +diff -Naur mediawiki-1.16.0.orig/includes/Export.php mediawiki-1.16.0/includes/Export.php +--- mediawiki-1.16.0.orig/includes/Export.php 2010-01-06 19:59:42.000000000 +0000 ++++ mediawiki-1.16.0/includes/Export.php 2010-09-25 08:10:32.741716548 +0000 +@@ -123,6 +123,9 @@ + + public function pageByName( $name ) { + $title = Title::newFromText( $name ); ++ if ($title->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) { ++ return new WikiError( wfMsgHtml( 'restricttext' ) ); ++ } + if( is_null( $title ) ) { + return new WikiError( "Can't export invalid title" ); + } else { +diff -Naur mediawiki-1.16.0.orig/includes/LogPage.php mediawiki-1.16.0/includes/LogPage.php +--- mediawiki-1.16.0.orig/includes/LogPage.php 2010-02-22 02:15:30.000000000 +0000 ++++ mediawiki-1.16.0/includes/LogPage.php 2010-09-25 08:10:32.755716523 +0000 +@@ -46,7 +46,7 @@ + * Constructor + * + * @param string $type One of '', 'block', 'protect', 'rights', 'delete', +- * 'upload', 'move' ++ * 'upload', 'move', 'restrict' + * @param bool $rc Whether to update recent changes as well as the logging table + * @param bool $udp Whether to send to the UDP feed if NOT sent to RC + */ +@@ -367,7 +367,7 @@ + + /** + * Add a log entry +- * @param string $action one of '', 'block', 'protect', 'rights', 'delete', 'upload', 'move', 'move_redir' ++ * @param string $action one of '', 'block', 'protect', 'rights', 'delete', 'upload', 'move', 'move_redir', 'restrict' + * @param object &$target A title object. + * @param string $comment Description associated + * @param array $params Parameters passed later to wfMsg.* functions +diff -Naur mediawiki-1.16.0.orig/includes/OutputPage.php mediawiki-1.16.0/includes/OutputPage.php +--- mediawiki-1.16.0.orig/includes/OutputPage.php 2010-07-27 03:34:41.000000000 +0000 ++++ mediawiki-1.16.0/includes/OutputPage.php 2010-09-25 08:10:37.340708231 +0000 +@@ -1786,6 +1786,22 @@ + throw new MWException( "Call to deprecated OutputPage::developerRequired() method\n" ); + } + ++ function restrictGroupRequired() { ++ global $wgUser, $wgTitle; ++ ++ $this->setPageTitle( wfMsg( 'restricttitle' ) ); ++ $this->setHTMLTitle( wfMsg( 'errorpagetitle' ) ); ++ $this->setRobotpolicy( 'noindex,nofollow' ); ++ $this->setArticleRelated( false ); ++ $this->mBodytext = ''; ++ ++ $sk = $wgUser->getSkin(); ++ $ap = $sk->makeKnownLink( wfMsgForContent( 'administrators' ), '' ); ++ $this->addHTML( wfMsg( 'restricttext', $ap ) ); ++ $this->returnToMain( false ); ++ } ++ ++ + /** + * Produce the stock "please login to use the wiki" page + */ +diff -Naur mediawiki-1.16.0.orig/includes/QueryPage.php mediawiki-1.16.0/includes/QueryPage.php +--- mediawiki-1.16.0.orig/includes/QueryPage.php 2010-01-23 20:07:17.000000000 +0000 ++++ mediawiki-1.16.0/includes/QueryPage.php 2010-09-25 08:10:37.345708223 +0000 +@@ -181,6 +181,7 @@ + * @param $result Object: database row + */ + function formatResult( $skin, $result ) { ++ if ($nt->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) return "".wfMsgHtml( 'restricttitle' ).""; + return ''; + } + +@@ -510,6 +511,7 @@ + return null; + } + $title = Title::MakeTitle( intval( $row->namespace ), $row->title ); ++ if ($title->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) return NULL; + if( $title ) { + $date = isset( $row->timestamp ) ? $row->timestamp : ''; + $comments = ''; +diff -Naur mediawiki-1.16.0.orig/includes/Skin.php mediawiki-1.16.0/includes/Skin.php +--- mediawiki-1.16.0.orig/includes/Skin.php 2010-06-29 06:43:37.000000000 +0000 ++++ mediawiki-1.16.0/includes/Skin.php 2010-09-25 08:27:18.911851523 +0000 +@@ -1362,7 +1362,7 @@ + } + + function bottomLinks() { +- global $wgOut, $wgUser, $wgUseTrackbacks; ++ global $wgOut, $wgUser, $wgUseTrackbacks, $wgEnableRestrict; + $sep = wfMsgExt( 'pipe-separator', 'escapenoentities' ) . "\n"; + + $s = ''; +@@ -1408,6 +1408,9 @@ + if( $wgUser->isAllowed( 'protect' ) ) { + $s .= $sep . $this->protectThisPage(); + } ++ if( $wgEnableRestrict == true && $wgUser->isAllowed('restrict')) { ++ $s .= $sep . $this->restrictThisPage(); ++ } + if( $wgUser->isAllowed( 'move' ) ) { + $s .= $sep . $this->moveThisPage(); + } +@@ -1749,6 +1752,31 @@ + } else { + $s = ''; + } ++ return $s; ++ } ++ ++ /** ++ * (restrict-patch by Jerome Combaz) ++ * @access private ++ */ ++ function restrictThisPage() { ++ global $wgUser, $wgOut, $wgTitle, $wgRequest; ++ ++ $diff = $wgRequest->getVal( 'diff' ); ++ if ( $wgTitle->getArticleId() && ( ! $diff ) && $wgUser->isAllowed('restrict') ) { ++ $n = $wgTitle->getPrefixedText(); ++ ++ if ( $wgTitle->isRestricted() ) { ++ $t = wfMsg( 'unrestrictthispage' ); ++ $q = 'action=unrestrict'; ++ } else { ++ $t = wfMsg( 'restrictthispage' ); ++ $q = 'action=restrict'; ++ } ++ $s = $this->makeKnownLink( $n, $t, $q ); ++ } else { ++ $s = ''; ++ } + return $s; + } + +diff -Naur mediawiki-1.16.0.orig/includes/SkinTemplate.php mediawiki-1.16.0/includes/SkinTemplate.php +--- mediawiki-1.16.0.orig/includes/SkinTemplate.php 2010-04-20 12:54:12.000000000 +0000 ++++ mediawiki-1.16.0/includes/SkinTemplate.php 2010-09-25 08:29:10.354635408 +0000 +@@ -705,7 +705,7 @@ + * @private + */ + function buildContentActionUrls() { +- global $wgContLang, $wgLang, $wgOut, $wgUser, $wgRequest, $wgArticle; ++ global $wgContLang, $wgLang, $wgOut, $wgUser, $wgRequest, $wgArticle, $wgEnableRestrict; + + wfProfileIn( __METHOD__ ); + +@@ -747,6 +747,44 @@ + : wfMsg( 'create' ), + 'href' => $this->mTitle->getLocalUrl( $this->editUrlOptions() ) + ); ++ ++ // page restriction ++ if($wgEnableRestrict == true){ ++ if($wgUser->isAllowed('restrict')){ ++ if(!$this->mTitle->isRestricted()){ ++ $content_actions['restrict'] = array( ++ 'class' => ($action == 'restrict') ? 'selected' : false, ++ 'text' => wfMsg('restrict'), ++ 'href' => $this->mTitle->getLocalUrl( 'action=restrict' ) ++ ); ++ ++ } else { ++ if ($this->mTitle->isRegexRestricted()){ ++ $content_actions['unrestrict'] = array( ++ 'class' => ($action == 'unrestrict') ? 'selected' : false, ++ 'text' => wfMsg('restricttitle'), ++ 'href' => $this->mTitle->getLocalUrl( '' ) ++ ); ++ } else { ++ $content_actions['unrestrict'] = array( ++ 'class' => ($action == 'unrestrict') ? 'selected' : false, ++ 'text' => wfMsg('unrestrict'), ++ 'href' => $this->mTitle->getLocalUrl( 'action=unrestrict' ) ++ ); ++ } ++ } ++ } else { ++ if($wgUser->isAllowed('viewrestrict')){ ++ if($this->mTitle->isRestricted()){ ++ $content_actions['unrestrict'] = array( ++ 'class' => ($action == 'unrestrict') ? 'selected' : false, ++ 'text' => wfMsg('restricttitle'), ++ 'href' => $this->mTitle->getLocalUrl( '' ) ++ ); ++ } ++ } ++ } ++ } + + // adds new section link if page is a current revision of a talk page or + if ( ( $wgArticle && $wgArticle->isCurrent() && $istalk ) || $wgOut->showNewSectionLink() ) { +diff -Naur mediawiki-1.16.0.orig/includes/SpecialPage.php mediawiki-1.16.0/includes/SpecialPage.php +--- mediawiki-1.16.0.orig/includes/SpecialPage.php 2010-01-15 17:28:40.000000000 +0000 ++++ mediawiki-1.16.0/includes/SpecialPage.php 2010-09-25 08:10:37.396708130 +0000 +@@ -199,8 +199,8 @@ + */ + static function initList() { + global $wgSpecialPages; +- global $wgDisableCounters, $wgDisableInternalSearch, $wgEmailAuthentication; +- ++ global $wgDisableCounters, $wgDisableInternalSearch, $wgEmailAuthentication, $wgEnableRestrict; ++ + if ( self::$mListInitialised ) { + return; + } +@@ -222,6 +222,10 @@ + self::$mList['Invalidateemail'] = 'EmailInvalidation'; + } + ++ if( $wgEnableRestrict ) { ++ self::$mList['Restrictedpages'] = array('SpecialPage', 'Restrictedpages' ); ++ } ++ + # Add extension special pages + self::$mList = array_merge( self::$mList, $wgSpecialPages ); + +diff -Naur mediawiki-1.16.0.orig/includes/Title.php mediawiki-1.16.0/includes/Title.php +--- mediawiki-1.16.0.orig/includes/Title.php 2010-02-12 21:45:14.000000000 +0000 ++++ mediawiki-1.16.0/includes/Title.php 2010-09-25 08:10:37.406708113 +0000 +@@ -1038,7 +1038,16 @@ + * @return \type{\bool} + */ + public function isNamespaceProtected() { +- global $wgNamespaceProtection, $wgUser; ++ global $wgNamespaceProtection, $wgUser, $wgUserPageRestrict; ++ ++ if ( $wgUserPageRestrict == true ) { ++ if ( $this->getNamespace() == NS_USER && ! (substr_count($this->getText(), $wgUser->getName()))) { ++ if ( ( ! $wgUser->isAllowed('viewrestrict') ) && ( ! $wgUser->isAllowed('edituser') ) ) { ++ return false; ++ } ++ } ++ } ++ + if( isset( $wgNamespaceProtection[ $this->mNamespace ] ) ) { + foreach( (array)$wgNamespaceProtection[ $this->mNamespace ] as $right ) { + if( $right != '' && !$wgUser->isAllowed( $right ) ) +@@ -1401,7 +1410,39 @@ + wfProfileOut( __METHOD__ ); + return $errors; + } ++ ++ /* ++ * Does the title correspond to a restricted article? ++ * (restrict-patch by Jerome Combaz) ++ * @return boolean ++ * @access public ++ */ ++ function isRestricted() { ++ global $wgEnableRestrict; ++ if ( $wgEnableRestrict == true ) { ++ $a = $this->getRestrictions("view"); ++ if ( $this->isRegexRestricted() || (!empty($a) && $a[0] == true) ) return true; ++ } ++ return false; ++ } + ++ function isRegexRestricted() { ++ global $wgEnableRestrict, $wgRegexRestrict; ++ if ( $wgEnableRestrict == true ) { ++ foreach ( $wgRegexRestrict as $k=>$v ) { ++ // Reverse restriction START ++ // If an entry starts with "!!" and the remaining string matches the namespace, ++ // the page is NOT restricted ++ if (substr($v, 0, 2) == "!!") { ++ if (ereg (substr($v, 2), $this->makeName( $this->mNamespace, $this->mTextform) ) ) return false; ++ } else ++ // Reverse restriction END ++ if ( ereg ( $v, $this->makeName( $this->mNamespace, $this->mTextform) ) ) return true; ++ } ++ } ++ return false; ++ } ++ + /** + * Is this title subject to title protection? + * @return \type{\mixed} An associative array representing any existent title +@@ -1519,7 +1560,7 @@ + * @todo fold these checks into userCan() + */ + public function userCanRead() { +- global $wgUser, $wgGroupPermissions; ++ global $wgUser, $wgGroupPermissions, $wgUserPageRestrict, $wgUserReadRestrict, $wgUserPagePrivate; + + static $useShortcut = null; + +@@ -1553,6 +1594,32 @@ + return $result; + } + ++ // restricted page ? ++ if ( $this->isRestricted() && ! $wgUser->isAllowed('viewrestrict') ) { ++ return false; ++ } ++ ++ // restricted user pages ? ++ if ( $wgUserPageRestrict == true ) { ++ if ( $wgUserReadRestrict == false ) { ++ if ( $this->getNamespace() == NS_USER && $wgUser->getName() != $this->getText() ) { ++ if ( ! $wgUser->isAllowed('viewrestrict') ) { ++ return false; ++ } ++ } ++ } else { ++ if ( $this->getNamespace() == NS_USER && $wgUser->getName() != $this->getText() ) { ++ if ($wgUserPagePrivate) { ++ foreach ( $wgUserPagePrivate as $k=>$v ) { ++ if ( ereg (substr($v, 2), $this->makeName( $this->mNamespace, $this->mTextform) ) ++ && ! (substr_count($this->getText(), $wgUser->getName() ) ) ) ++ return false; ++ } ++ } ++ } ++ } ++ } ++ + # Shortcut for public wikis, allows skipping quite a bit of code + if ( $useShortcut ) + return true; +diff -Naur mediawiki-1.16.0.orig/includes/User.php mediawiki-1.16.0/includes/User.php +--- mediawiki-1.16.0.orig/includes/User.php 2010-04-07 00:10:48.000000000 +0000 ++++ mediawiki-1.16.0/includes/User.php 2010-09-25 08:10:37.416708094 +0000 +@@ -162,6 +162,7 @@ + 'override-export-depth', + 'patrol', + 'protect', ++ 'restrict', + 'proxyunbannable', + 'purge', + 'read', +diff -Naur mediawiki-1.16.0.orig/includes/Wiki.php mediawiki-1.16.0/includes/Wiki.php +--- mediawiki-1.16.0.orig/includes/Wiki.php 2010-01-17 18:25:44.000000000 +0000 ++++ mediawiki-1.16.0/includes/Wiki.php 2010-09-25 08:29:50.257558036 +0000 +@@ -157,7 +157,11 @@ + # catch special pages etc. We check again in Article::view()) + if( !is_null( $title ) && !$title->userCanRead() ) { + global $wgDeferredUpdateList; +- $output->loginToUse(); ++ if ( $title->isRestricted() ) { ++ $output->restrictGroupRequired(); ++ } else { ++ $output->loginToUse(); ++ } + $this->finalCleanup( $wgDeferredUpdateList, $output ); + $output->disable(); + return false; +@@ -505,6 +509,8 @@ + case 'rollback': + case 'protect': + case 'unprotect': ++ case 'restrict': ++ case 'unrestrict': + case 'info': + case 'markpatrolled': + case 'render': +diff -Naur mediawiki-1.16.0.orig/includes/parser/Parser.php mediawiki-1.16.0/includes/parser/Parser.php +--- mediawiki-1.16.0.orig/includes/parser/Parser.php 2010-05-12 02:12:12.000000000 +0000 ++++ mediawiki-1.16.0/includes/parser/Parser.php 2010-09-25 08:10:37.450708034 +0000 +@@ -2985,7 +2985,7 @@ + wfDebug( __METHOD__.": template inclusion denied for " . $title->getPrefixedDBkey() ); + } else { + list( $text, $title ) = $this->getTemplateDom( $title ); +- if ( $text !== false ) { ++ if ( $text !== false && $title->userCanRead() ) { + $found = true; + $isChildObj = true; + } +@@ -3103,9 +3103,14 @@ + if ( isset( $this->mTplDomCache[$titleText] ) ) { + return array( $this->mTplDomCache[$titleText], $title ); + } +- +- // Cache miss, go to the database +- list( $text, $title ) = $this->fetchTemplateAndTitle( $title ); ++ ++ // page restriction ++ if (!$title->userCanRead()) { ++ $text = false; ++ } else { ++ // Cache miss, go to the database ++ list( $text, $title ) = $this->fetchTemplateAndTitle( $title ); ++ } + + if ( $text === false ) { + $this->mTplDomCache[$titleText] = false; +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialAllpages.php mediawiki-1.16.0/includes/specials/SpecialAllpages.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialAllpages.php 2009-12-11 21:07:27.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialAllpages.php 2010-09-25 08:39:04.700483450 +0000 +@@ -305,21 +305,23 @@ + $out = Xml::openElement( 'table', array( 'class' => 'mw-allpages-table-chunk' ) ); + while( ( $n < $this->maxPerPage ) && ( $s = $res->fetchObject() ) ) { + $t = Title::makeTitle( $s->page_namespace, $s->page_title ); +- if( $t ) { +- $link = ( $s->page_is_redirect ? '
' : '' ) . +- $sk->linkKnown( $t, htmlspecialchars( $t->getText() ) ) . +- ($s->page_is_redirect ? '
' : '' ); +- } else { +- $link = '[[' . htmlspecialchars( $s->page_title ) . ']]'; +- } +- if( $n % 3 == 0 ) { +- $out .= ''; +- } +- $out .= "$link"; +- $n++; +- if( $n % 3 == 0 ) { +- $out .= "\n"; +- } ++ if (! $GLOBALS['wgEnableRestrict'] or ! $t->isRestricted() or $wgUser->isAllowed('viewrestrict')) { ++ if( $t ) { ++ $link = ( $s->page_is_redirect ? '
' : '' ) . ++ $sk->linkKnown( $t, htmlspecialchars( $t->getText() ) ) . ++ ($s->page_is_redirect ? '
' : '' ); ++ } else { ++ $link = '[[' . htmlspecialchars( $s->page_title ) . ']]'; ++ } ++ if( $n % 3 == 0 ) { ++ $out .= ''; ++ } ++ $out .= "$link"; ++ $n++; ++ if( $n % 3 == 0 ) { ++ $out .= "\n"; ++ } ++ } // restrict patch + } + if( ($n % 3) != 0 ) { + $out .= "\n"; +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialAncientpages.php mediawiki-1.16.0/includes/specials/SpecialAncientpages.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialAncientpages.php 2009-08-17 00:59:25.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialAncientpages.php 2010-09-25 08:41:08.118244365 +0000 +@@ -63,6 +63,7 @@ + + $d = $wgLang->timeanddate( wfTimestamp( TS_MW, $result->value ), true ); + $title = Title::makeTitle( $result->namespace, $result->title ); ++ if ($GLOBALS['wgEnableRestrict'] and $title->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) return "".wfMsgHtml( 'restricttitle' ).""; + $link = $skin->linkKnown( + $title, + htmlspecialchars( $wgContLang->convert( $title->getPrefixedText() ) ) +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialBrokenRedirects.php mediawiki-1.16.0/includes/specials/SpecialBrokenRedirects.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialBrokenRedirects.php 2009-06-13 00:02:31.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialBrokenRedirects.php 2010-09-25 08:52:21.056941410 +0000 +@@ -64,19 +64,36 @@ + return '' . $skin->link( $fromObj ) . ''; + } + +- $from = $skin->linkKnown( +- $fromObj, +- null, +- array(), +- array( 'redirect' => 'no' ) +- ); +- $links = array(); +- $links[] = $skin->linkKnown( +- $fromObj, +- wfMsgHtml( 'brokenredirects-edit' ), +- array(), +- array( 'action' => 'edit' ) +- ); ++ if ($GLOBALS['wgEnableRestrict'] and $fromObj->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) { ++ $from = $skin->linkKnown( ++ $fromObj, ++ "".wfMsgHtml( 'restricttitle' )."", ++ array(), ++ array() ++ ); ++ $links = array(); ++ $links[] = $skin->linkKnown( ++ $fromObj, ++ null, ++ array(), ++ array() ++ ); ++ } else { ++ $from = $skin->linkKnown( ++ $fromObj, ++ null, ++ array(), ++ array( 'redirect' => 'no' ) ++ ); ++ $links = array(); ++ $links[] = $skin->linkKnown( ++ $fromObj, ++ wfMsgHtml( 'brokenredirects-edit' ), ++ array(), ++ array( 'action' => 'edit' ) ++ ); ++ } ++ + $to = $skin->link( + $toObj, + null, +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialCategories.php mediawiki-1.16.0/includes/specials/SpecialCategories.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialCategories.php 2009-10-09 12:52:16.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialCategories.php 2010-09-25 08:54:08.605733269 +0000 +@@ -87,6 +87,7 @@ + function formatRow($result) { + global $wgLang; + $title = Title::makeTitle( NS_CATEGORY, $result->cat_title ); ++ if ($GLOBALS['wgEnableRestrict'] and $title->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) return "".wfMsgHtml( 'restricttitle' ).""; + $titleText = $this->getSkin()->link( $title, htmlspecialchars( $title->getText() ) ); + $count = wfMsgExt( 'nmembers', array( 'parsemag', 'escape' ), + $wgLang->formatNum( $result->cat_pages ) ); +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialContributions.php mediawiki-1.16.0/includes/specials/SpecialContributions.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialContributions.php 2010-05-12 02:12:12.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialContributions.php 2010-09-25 09:45:14.131669335 +0000 +@@ -551,12 +551,20 @@ + + $page = Title::newFromRow( $row ); + $page->resetArticleId( $row->rev_page ); // use process cache +- $link = $sk->link( +- $page, +- htmlspecialchars( $page->getPrefixedText() ), +- array(), +- $page->isRedirect() ? array( 'redirect' => 'no' ) : array() +- ); ++ if ($GLOBALS['wgEnableRestrict'] and $page->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) { ++ $link = $sk->link( ++ $page, ++ "".wfMsgHtml( 'restricttitle' )."", ++ array(), ++ array() ++ } else { ++ $link = $sk->link( ++ $page, ++ htmlspecialchars( $page->getPrefixedText() ), ++ array(), ++ $page->isRedirect() ? array( 'redirect' => 'no' ) : array() ++ ); ++ } + # Mark current revisions + $difftext = $topmarktext = ''; + if( $row->rev_id == $row->page_latest ) { +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialDisambiguations.php mediawiki-1.16.0/includes/specials/SpecialDisambiguations.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialDisambiguations.php 2009-07-21 12:31:51.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialDisambiguations.php 2010-09-25 09:05:09.912318296 +0000 +@@ -87,11 +87,19 @@ + $title = Title::newFromID( $result->value ); + $dp = Title::makeTitle( $result->namespace, $result->title ); + +- $from = $skin->link( $title ); +- $edit = $skin->link( $title, wfMsgExt( 'parentheses', array( 'escape' ), wfMsg( 'editlink' ) ) , array(), array( 'redirect' => 'no', 'action' => 'edit' ) ); ++ if ($GLOBALS['wgEnableRestrict'] and $title->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) { ++ $from = "".wfMsgHtml( 'restricttitle' ).""; ++ $edit =""; ++ } else { ++ $from = $skin->link( $title ); ++ $edit = $skin->link( $title, wfMsgExt( 'parentheses', array( 'escape' ), wfMsg( 'editlink' ) ) , array(), array( 'redirect' => 'no', 'action' => 'edit' ) ); ++ } + $arr = $wgContLang->getArrow(); +- $to = $skin->link( $dp ); +- ++ if ($GLOBALS['wgEnableRestrict'] and $dp->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) { ++ $to = "".wfMsgHtml( 'restricttitle' ).""; ++ } else { ++ $to = $skin->link( $dp ); ++ } + return "$from $edit $arr $to"; + } + } +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialDoubleRedirects.php mediawiki-1.16.0/includes/specials/SpecialDoubleRedirects.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialDoubleRedirects.php 2009-07-21 12:17:32.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialDoubleRedirects.php 2010-09-25 08:10:37.511707922 +0000 +@@ -23,6 +23,7 @@ + } + + function getSQLText( &$dbr, $namespace = null, $title = null ) { ++ global $wgEnableRestrict, $wgUser; + + list( $page, $redirect ) = $dbr->tableNamesN( 'page', 'redirect' ); + +@@ -38,7 +39,8 @@ + " AND ra.rd_title=pb.page_title" . + " AND rb.rd_from=pb.page_id" . + " AND rb.rd_namespace=pc.page_namespace" . +- " AND rb.rd_title=pc.page_title"; ++ " AND rb.rd_title=pc.page_title" . ++ (($wgEnableRestrict == true and ! $wgUser->isAllowed('viewrestrict') ) ? " AND pa.page_restrictions NOT LIKE '%view=1%'" : ""); + + if( $limitToTitle ) { + $encTitle = $dbr->addQuotes( $title ); +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialListredirects.php mediawiki-1.16.0/includes/specials/SpecialListredirects.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialListredirects.php 2009-05-08 23:24:31.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialListredirects.php 2010-09-25 09:06:45.357107813 +0000 +@@ -32,6 +32,7 @@ + + # Make a link to the redirect itself + $rd_title = Title::makeTitle( $result->namespace, $result->title ); ++ if ($GLOBALS['wgEnableRestrict'] and $rd_title->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) return "".wfMsgHtml( 'restricttitle' ).""; + $rd_link = $skin->link( + $rd_title, + null, +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialLog.php mediawiki-1.16.0/includes/specials/SpecialLog.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialLog.php 2009-10-15 11:36:30.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialLog.php 2010-09-25 08:10:37.523707901 +0000 +@@ -26,9 +26,9 @@ + * constructor + */ + function wfSpecialLog( $par = '' ) { +- global $wgRequest, $wgOut, $wgUser, $wgLogTypes; +- ++ global $wgRequest, $wgOut, $wgUser, $wgLogTypes, $wgEnableRestrict, $wgHideRestrictLog; + # Get parameters ++ if ( ($wgEnableRestrict and $wgHideRestrictLog == true and !($wgUser->isAllowed('restrict') || $wgUser->isAllowed('viewrestrict'))) or ! $wgEnableRestrict ) $this->whereClauses[] = 'log_type != "restrict"'; + $parms = explode( '/', ($par = ( $par !== null ) ? $par : '' ) ); + $symsForAll = array( '*', 'all' ); + if ( $parms[0] != '' && ( in_array( $par, $wgLogTypes ) || in_array( $par, $symsForAll ) ) ) { +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialMIMEsearch.php mediawiki-1.16.0/includes/specials/SpecialMIMEsearch.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialMIMEsearch.php 2009-07-13 10:34:31.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialMIMEsearch.php 2010-09-25 08:10:37.528707891 +0000 +@@ -64,6 +64,7 @@ + global $wgContLang, $wgLang; + + $nt = Title::makeTitle( $result->namespace, $result->title ); ++ if ($GLOBALS['wgEnableRestrict'] and $nt->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) return "".wfMsgHtml( 'restricttitle' ).""; + $text = $wgContLang->convert( $nt->getText() ); + $plink = $skin->link( + Title::newFromText( $nt->getPrefixedText() ), +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialMostcategories.php mediawiki-1.16.0/includes/specials/SpecialMostcategories.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialMostcategories.php 2008-09-08 22:08:39.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialMostcategories.php 2010-09-25 08:10:37.532707884 +0000 +@@ -39,7 +39,7 @@ + function formatResult( $skin, $result ) { + global $wgLang; + $title = Title::makeTitleSafe( $result->namespace, $result->title ); +- ++ if ($GLOBALS['wgEnableRestrict'] and $titel->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) return "".wfMsgHtml( 'restricttitle' ).""; + $count = wfMsgExt( 'ncategories', array( 'parsemag', 'escape' ), $wgLang->formatNum( $result->value ) ); + $link = $skin->link( $title ); + return wfSpecialList( $link, $count ); +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialMostlinked.php mediawiki-1.16.0/includes/specials/SpecialMostlinked.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialMostlinked.php 2010-02-08 20:41:05.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialMostlinked.php 2010-09-25 09:08:05.381931632 +0000 +@@ -89,6 +89,7 @@ + function formatResult( $skin, $result ) { + global $wgLang; + $title = Title::makeTitleSafe( $result->namespace, $result->title ); ++ if ($GLOBALS['wgEnableRestrict'] and $title->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) return "".wfMsgHtml( 'restricttitle' ).""; + if ( !$title ) { + return ''; + } +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialMostlinkedcategories.php mediawiki-1.16.0/includes/specials/SpecialMostlinkedcategories.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialMostlinkedcategories.php 2009-05-08 23:24:31.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialMostlinkedcategories.php 2010-09-25 08:10:37.546707859 +0000 +@@ -56,6 +56,7 @@ + global $wgLang, $wgContLang; + + $nt = Title::makeTitle( $result->namespace, $result->title ); ++ if ($GLOBALS['wgEnableRestrict'] and $nt->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) return "".wfMsgHtml( 'restricttitle' ).""; + $text = $wgContLang->convert( $nt->getText() ); + + $plink = $skin->link( $nt, htmlspecialchars( $text ) ); +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialMostrevisions.php mediawiki-1.16.0/includes/specials/SpecialMostrevisions.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialMostrevisions.php 2009-06-07 18:45:52.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialMostrevisions.php 2010-09-25 08:10:37.551707849 +0000 +@@ -40,6 +40,7 @@ + global $wgLang, $wgContLang; + + $nt = Title::makeTitle( $result->namespace, $result->title ); ++ if ($GLOBALS['wgEnableRestrict'] and $nt->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) return "".wfMsgHtml( 'restricttitle' ).""; + $text = $wgContLang->convert( $nt->getPrefixedText() ); + + $plink = $skin->linkKnown( $nt, $text ); +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialNewimages.php mediawiki-1.16.0/includes/specials/SpecialNewimages.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialNewimages.php 2010-02-13 23:58:30.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialNewimages.php 2010-09-25 09:09:54.586691637 +0000 +@@ -127,7 +127,10 @@ + $nt = Title::newFromText( $name, NS_FILE ); + $ul = $sk->link( Title::makeTitle( NS_USER, $ut ), $ut ); + +- $gallery->add( $nt, "$ul
\n".htmlspecialchars($wgLang->timeanddate( $s->img_timestamp, true ))."
\n" ); ++ // page restrict ++ if (! $GLOBALS['wgEnableRestrict'] or ! $nt->isRestricted() or $GLOBALS['wgUser']->isAllowed('viewrestrict')) { ++ $gallery->add( $nt, "$ul
\n".htmlspecialchars($wgLang->timeanddate( $s->img_timestamp, true ))."
\n" ); ++ } + + $timestamp = wfTimestamp( TS_MW, $s->img_timestamp ); + if( empty( $firstTimestamp ) ) { +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialNewpages.php mediawiki-1.16.0/includes/specials/SpecialNewpages.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialNewpages.php 2009-12-11 21:07:27.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialNewpages.php 2010-09-25 09:11:19.856504576 +0000 +@@ -251,6 +251,7 @@ + $dm = $wgContLang->getDirMark(); + + $title = Title::makeTitleSafe( $result->rc_namespace, $result->rc_title ); ++ if ($GLOBALS['wgEnableRestrict'] and $title->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) return "".wfMsgHtml( 'restricttitle' ).""; + $time = htmlspecialchars( $wgLang->timeAndDate( $result->rc_timestamp, true ) ); + + $query = array( 'redirect' => 'no' ); +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialPopularpages.php mediawiki-1.16.0/includes/specials/SpecialPopularpages.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialPopularpages.php 2009-06-07 18:45:52.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialPopularpages.php 2010-09-25 09:12:57.559290594 +0000 +@@ -48,6 +48,7 @@ + function formatResult( $skin, $result ) { + global $wgLang, $wgContLang; + $title = Title::makeTitle( $result->namespace, $result->title ); ++ if ($GLOBALS['wgEnableRestrict'] and $title->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) return "".wfMsgHtml( 'restricttitle' ).""; + $link = $skin->linkKnown( + $title, + htmlspecialchars( $wgContLang->convert( $title->getPrefixedText() ) ) +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialPrefixindex.php mediawiki-1.16.0/includes/specials/SpecialPrefixindex.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialPrefixindex.php 2009-10-21 19:53:03.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialPrefixindex.php 2010-09-25 09:53:09.446576654 +0000 +@@ -134,15 +134,19 @@ + + while( ( $n < $this->maxPerPage ) && ( $s = $res->fetchObject() ) ) { + $t = Title::makeTitle( $s->page_namespace, $s->page_title ); +- if( $t ) { +- $link = ($s->page_is_redirect ? '
' : '' ) . +- $sk->linkKnown( +- $t, +- htmlspecialchars( $t->getText() ) +- ) . +- ($s->page_is_redirect ? '
' : '' ); ++ if ($GLOBALS['wgEnableRestrict'] and $t->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) { ++ $link = "".wfMsgHtml( 'restricttitle' ).""; + } else { +- $link = '[[' . htmlspecialchars( $s->page_title ) . ']]'; ++ if( $t ) { ++ $link = ($s->page_is_redirect ? '
' : '' ) . ++ $sk->linkKnown( ++ $t, ++ htmlspecialchars( $t->getText() ) ++ ) . ++ ($s->page_is_redirect ? '
' : '' ); ++ } else { ++ $link = '[[' . htmlspecialchars( $s->page_title ) . ']]'; ++ } + } + if( $n % 3 == 0 ) { + $out .= ''; +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialRandompage.php mediawiki-1.16.0/includes/specials/SpecialRandompage.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialRandompage.php 2009-08-17 15:23:51.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialRandompage.php 2010-09-25 08:10:37.945707138 +0000 +@@ -41,7 +41,7 @@ + + $title = $this->getRandomTitle(); + +- if( is_null( $title ) ) { ++ if( is_null( $title ) || ($GLOBALS['wgEnableRestrict'] and $title->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) ) { + $this->setHeaders(); + $wgOut->addWikiMsg( strtolower( $this->mName ) . '-nopages', + $this->getNsList(), count( $this->namespaces ) ); +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialRecentchangeslinked.php mediawiki-1.16.0/includes/specials/SpecialRecentchangeslinked.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialRecentchangeslinked.php 2010-02-10 04:13:43.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialRecentchangeslinked.php 2010-09-25 09:14:43.840058242 +0000 +@@ -51,7 +51,7 @@ + return false; + } + $title = Title::newFromURL( $target ); +- if( !$title || $title->getInterwiki() != '' ){ ++ if( !$title || ($GLOBALS['wgEnableRestrict'] and $title->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) || $title->getInterwiki() != '' ){ + $wgOut->wrapWikiMsg( "
\n$1

", 'allpagesbadtitle' ); + return false; + } +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialRestrictedpages.php mediawiki-1.16.0/includes/specials/SpecialRestrictedpages.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialRestrictedpages.php 1970-01-01 00:00:00.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialRestrictedpages.php 2010-09-25 08:10:38.300706497 +0000 +@@ -0,0 +1,80 @@ ++'.wfMsg('restrictedpagespagetext'); ++ if (! empty($wgRegexRestrict) ) { ++ $string .= "

\n

".wfMsg('regexrestrictedpagespagetext'); ++ foreach( $wgRegexRestrict as $k => $v ) $string .= "{$v}, "; ++ $string = substr( $string, 0, -2); ++ } ++ ++ $string .= "

\n
"; ++ ++ return $string; ++ } ++ ++ function getSQL() { ++ global $wgEnableRestrict, $wgUser; ++ ++ $db =& wfGetDB( DB_SLAVE ); ++ $page = $db->tableName( 'page' ); ++ return ++ "SELECT 'Restrictedpages' as type, ++ page_namespace as namespace, ++ page_title as title, ++ page_title as value ++ FROM $page ++ WHERE page_namespace=".NS_MAIN." AND page_is_redirect=0 AND page_restrictions LIKE '%view=1%'"; ++ } ++ ++ function sortDescending() { ++ return false; ++ } ++ ++ function formatResult( $skin, $result ) { ++ global $wgLang, $wgContLang; ++ ++ $d = $wgLang->timeanddate( wfTimestamp( TS_MW, $result->value ), true ); ++ $link = $skin->makeKnownLink( $result->title, $wgContLang->convert( $result->title) ); ++ return "{$link} ({$d})"; ++ } ++} ++ ++function wfSpecialRestrictedpages() { ++ list( $limit, $offset ) = wfCheckLimits(); ++ ++ $app = new RestrictedPagesPage(); ++ ++ $app->doQuery( $offset, $limit ); ++} ++ ++?> +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialSearch.php mediawiki-1.16.0/includes/specials/SpecialSearch.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialSearch.php 2010-01-27 03:06:56.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialSearch.php 2010-09-25 09:17:25.563664424 +0000 +@@ -444,6 +444,7 @@ + + $sk = $wgUser->getSkin(); + $t = $result->getTitle(); ++ if ($GLOBALS['wgEnableRestrict'] and $t->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) return "
  • ".wfMsgHtml( 'restricttitle' )."
  • \n"; + + $titleSnippet = $result->getTitleSnippet($terms); + +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialShortpages.php mediawiki-1.16.0/includes/specials/SpecialShortpages.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialShortpages.php 2009-06-07 18:45:52.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialShortpages.php 2010-09-25 08:10:38.341706421 +0000 +@@ -71,6 +71,7 @@ + $dm = $wgContLang->getDirMark(); + + $title = Title::makeTitleSafe( $result->namespace, $result->title ); ++ if ($GLOBALS['wgEnableRestrict'] and $title->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) return "".wfMsgHtml( 'restricttitle' ).""; + if ( !$title ) { + return ''; + } +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialUnusedcategories.php mediawiki-1.16.0/includes/specials/SpecialUnusedcategories.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialUnusedcategories.php 2009-05-08 23:24:31.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialUnusedcategories.php 2010-09-25 09:19:19.944382376 +0000 +@@ -34,6 +34,7 @@ + + function formatResult( $skin, $result ) { + $title = Title::makeTitle( NS_CATEGORY, $result->title ); ++ if ($GLOBALS['wgEnableRestrict'] and $title->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) return "".wfMsgHtml( 'restricttitle' ).""; + return $skin->link( $title, $title->getText() ); + } + } +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialUnwatchedpages.php mediawiki-1.16.0/includes/specials/SpecialUnwatchedpages.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialUnwatchedpages.php 2009-06-07 19:08:06.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialUnwatchedpages.php 2010-09-25 08:10:38.348706409 +0000 +@@ -42,6 +42,7 @@ + global $wgContLang; + + $nt = Title::makeTitle( $result->namespace, $result->title ); ++ if ($GLOBALS['wgEnableRestrict'] and $nt->isRestricted() and ! $GLOBALS['wgUser']->isAllowed('viewrestrict')) return "".wfMsgHtml( 'restricttitle' ).""; + $text = $wgContLang->convert( $nt->getPrefixedText() ); + + $plink = $skin->linkKnown( +diff -Naur mediawiki-1.16.0.orig/includes/specials/SpecialVersion.php mediawiki-1.16.0/includes/specials/SpecialVersion.php +--- mediawiki-1.16.0.orig/includes/specials/SpecialVersion.php 2010-02-06 01:50:30.000000000 +0000 ++++ mediawiki-1.16.0/includes/specials/SpecialVersion.php 2010-09-25 09:22:32.750909973 +0000 +@@ -115,7 +115,7 @@ + foreach( $software as $name => $version ) { + $out .= " + " . $name . " +- " . $version . " ++ " . $version . " (patched to enable [http://www.mediawiki.org/wiki/Extension:Page_access_restriction page accessrestriction]) + \n"; + } + return $out . Xml::closeElement( 'table' ); +diff -Naur mediawiki-1.16.0.orig/languages/messages/MessagesCa.php mediawiki-1.16.0/languages/messages/MessagesCa.php +--- mediawiki-1.16.0.orig/languages/messages/MessagesCa.php 2010-07-27 20:05:07.000000000 +0000 ++++ mediawiki-1.16.0/languages/messages/MessagesCa.php 2010-09-25 08:10:38.421706276 +0000 +@@ -2672,6 +2672,35 @@ + 'math_bad_output' => "No ha estat possible crear el directori d'eixida de math o escriure-hi dins.", + 'math_notexvc' => "No s'ha trobat el fitxer executable ''texvc''; si us plau, vegeu math/README per a configurar-lo.", + ++# Traducció del pedaç de les restriccions ++# http://www.mediawiki.org/wiki/Extension:Page_access_restriction ++# http://conseil-recherche-innovation.net/index.php/1974/04/11/41-restrict-pages-under-mediawiki-15 ++# Pau 05-02-06 ++'restrict' => 'Restringeix', ++'restrictthispage' => 'Restringeix aquesta pàgina', ++'unrestrict' => 'Desrentringeix', ++'unrestrictthispage' => 'Permet el lliure accés aquesta pàgina', ++'restricttitle' => 'Pàgina restringida', ++'restricttext' => 'Aquesta pàgina és restringida. Per veure-la, heu d\'esser membres del grup \'restrict\' o del grup \'viewrestrict\'.', ++'restrictedpages' => 'Pàgines restringides', ++'restrictlogpage' => 'Log_restriccions', ++'restrictlogtext' => 'A continuació, teniu una llista de restriccions de pàgina. Vegeu [[{{ns:4}}:Restricted page]] per més informació.', ++'restrictedarticle' => '[[$1]] restringida', ++'unrestrictedarticle' => '[[$1]] desrentringida', ++'restrictsub' => '(Restringeix \'[[$1]]\')', ++'confirmrestrict' => 'Confirma la restricció', ++'confirmrestricttext' => 'Segur que voleu restringir aquesta pàgina?', ++'restrictcomment' => 'Raó per la restricció', ++'unrestrictsub' => '(Desrestringeix \'[[$1]]\')', ++'confirmunrestricttext' => 'Segur que voleu desrestringir aquesta pàgina?', ++'confirmunrestrict' => 'Confirmeu la desrestricció', ++'unrestrictcomment' => 'Raó per la desrestricció', ++'restrictreason' => '(doneu una raó)', ++'tooltip-restrict' => 'Restringeix aquesta pàgina', ++'notallowedtomoverestrictedpagetext' => 'Per moure aquesta pàgina, heu de ser membre del grup \'restrict\'.', ++'restrictedpagespagetext' => 'Aquesta pàgina llista totes les pàgines restringides del wiki. ', ++'regexrestrictedpagespagetext' => 'Totes les pàgines amb títols que compleixin aquesta/aquestes expressió(ns) regulars també seran restringides: ', ++ + # Patrolling + 'markaspatrolleddiff' => 'Marca com a supervisat', + 'markaspatrolledtext' => 'Marca la pàgina com a supervisada', +diff -Naur mediawiki-1.16.0.orig/languages/messages/MessagesCs.php mediawiki-1.16.0/languages/messages/MessagesCs.php +--- mediawiki-1.16.0.orig/languages/messages/MessagesCs.php 2010-07-27 20:05:07.000000000 +0000 ++++ mediawiki-1.16.0/languages/messages/MessagesCs.php 2010-09-25 09:25:38.849457476 +0000 +@@ -634,6 +634,32 @@ + 'page-atom-feed' => 'Atom kanál stránky „$1“', + 'red-link-title' => '$1 (stránka neexistuje)', + ++#Restrict patch (http://www.mediawiki.org/wiki/Extension:Page_access_restriction) ++'restrict' => 'Omezit přístup', ++'restrictthispage' => 'Omezit přístup na tuto stránku', ++'unrestrict' => 'Zveřejnit', ++'unrestrictthispage' => 'Zveřejnit tuto stránku', ++'restricttitle' => 'Stránka s omezeným přístupem', ++'restricttext' => 'Na tuto stránku je omezený přístup. Zřejmě nemáte oprávnění k jejímu čtení', ++'restrictedpages' => 'Stránky s omezeným přístupem', ++'restrictlogpage' => 'Restriction_log', ++'restrictlogtext' => 'Zde je seznam omezení stránky. Pro více informací se podívejte na [[{{ns:4}}:Restricted page]] .', ++'restrictedarticle' => 'omezený [[$1]]', ++'unrestrictedarticle' => 'neomezený [[$1]]', ++'restrictsub' => '(Omezit přístup \'[[$1]]\')', ++'confirmrestrict' => 'Potvrzení omezení přístupu', ++'confirmrestricttext' => 'Opravdu chcete omezit přístup k této stránce?', ++'restrictcomment' => 'Důvod pro omezení', ++'unrestrictsub' => '(Neomezovat \'[[$1]]\')', ++'confirmunrestricttext' => 'Opravdu chcete zveřejnit tuto stránku?', ++'confirmunrestrict' => 'Potvrzení zveřejnění', ++'unrestrictcomment' => 'Důvod zveřejnění', ++'restrictreason' => '(udejte důvod)', ++'tooltip-restrict' => 'Omezit přístup', ++'notallowedtomoverestrictedpagetext' => 'Pro přesunutí této stránky musíte být členem skupiny \'restrict\' ', ++'restrictedpagespagetext' => 'Na této stránce je seznam všech omezených stránek ve wiki.', ++'regexrestrictedpagespagetext' => 'Všechny stránky s názvem obsahující tento/tyto výraz(y) jsou také omezeny : ', ++ + # Short words for each namespace, by default used in the namespace tab in monobook + 'nstab-main' => 'Stránka', + 'nstab-user' => 'Uživatelova stránka', +@@ -3457,3 +3483,4 @@ + 'htmlform-selectorother-other' => 'Jiná hodnota', + + ); ++ +diff -Naur mediawiki-1.16.0.orig/languages/messages/MessagesDe.php mediawiki-1.16.0/languages/messages/MessagesDe.php +--- mediawiki-1.16.0.orig/languages/messages/MessagesDe.php 2010-07-27 20:05:07.000000000 +0000 ++++ mediawiki-1.16.0/languages/messages/MessagesDe.php 2010-09-25 08:10:38.499706136 +0000 +@@ -341,6 +341,31 @@ + ); + + $messages = array( ++/* Restrict patch (http://www.mediawiki.org/wiki/Extension:Page_access_restriction) */ ++'restrict' => 'Sperren', ++'restrictthispage' => 'Diese Seite sperren', ++'unrestrict' => 'Sperrung aufheben', ++'unrestrictthispage' => 'Sperrung der Seite aufheben', ++'restricttitle' => 'Gesperrte Seite', ++'restricttext' => 'Diese Seite ist gesperrt. Um sie zu betrachten, musst du ein Mitglied der Gruppe \'restrict\' oder \'viewrestrict\' sein.', ++'restrictedpages' => 'Gesperrte Seiten', ++'restrictlogpage' => 'Log der Sperrungen', ++'restrictlogtext' => 'Unten folgt eine Liste mit gesperrten Seiten. Vgl. [[{{ns:4}}:Gesperrte Seiten]] für mehr Information.', ++'restrictedarticle' => 'Gesperrt: [[$1]]', ++'unrestrictedarticle' => 'Ungesperrt: [[$1]]', ++'restrictsub' => '(Gesperrt: \'[[$1]]\')', ++'confirmrestrict' => 'Sperrung bestätigen', ++'confirmrestricttext' => 'Willst du die Seite wirklich sperren?', ++'restrictcomment' => 'Grund für die Sperrung', ++'unrestrictsub' => '(Entsperren \'[[$1]]\')', ++'confirmunrestricttext' => 'Willst du die Seite wirklich entsperren?', ++'confirmunrestrict' => 'Entsperrung bestätigen', ++'unrestrictcomment' => 'Grund für Entsperrung', ++'restrictreason' => '(einen Grund angeben)', ++'tooltip-restrict' => 'Diese Seite sperren', ++'notallowedtomoverestrictedpagetext' => 'Um diese Seite zu verschieben, musst du ein Mitglied der Gruppe \'restrict\' sein.', ++'regexrestrictedpagespagetext' => 'Diese Seite listet alle gepserrten Seiten in diesem wiki.', ++ + # User preference toggles + 'tog-underline' => 'Links unterstreichen:', + 'tog-highlightbroken' => 'Links auf nicht vorhandene Seiten hervorheben Beispiel (Alternative: wie dieser?)', +diff -Naur mediawiki-1.16.0.orig/languages/messages/MessagesEn.php mediawiki-1.16.0/languages/messages/MessagesEn.php +--- mediawiki-1.16.0.orig/languages/messages/MessagesEn.php 2010-07-27 20:10:40.000000000 +0000 ++++ mediawiki-1.16.0/languages/messages/MessagesEn.php 2010-09-25 08:10:38.540706061 +0000 +@@ -3947,6 +3947,32 @@ + 'percent' => '$1%', # only translate this message to other languages if you have to change it + 'parentheses' => '($1)', # only translate this message to other languages if you have to change it + ++#Restrict patch (http://www.mediawiki.org/wiki/Extension:Page_access_restriction) ++'restrict' => 'Restrict', ++'restrictthispage' => 'Restrict this page', ++'unrestrict' => 'Unrestrict', ++'unrestrictthispage' => 'Unrestrict this page', ++'restricttitle' => 'Restricted page', ++'restricttext' => 'This page is restricted. To view it you have to be member of the \'restrict\' group or \'viewrestrict\' group.', ++'restrictedpages' => 'Restricted pages', ++'restrictlogpage' => 'Restriction_log', ++'restrictlogtext' => 'Below is a list of page restrictions. See [[{{ns:4}}:Restricted page]] for more information.', ++'restrictedarticle' => 'restricted [[$1]]', ++'unrestrictedarticle' => 'unrestricted [[$1]]', ++'restrictsub' => '(Restrict \'[[$1]]\')', ++'confirmrestrict' => 'Confirm the restriction', ++'confirmrestricttext' => 'Do you really want to restrict this page?', ++'restrictcomment' => 'Reason for restricting', ++'unrestrictsub' => '(Unrestrict \'[[$1]]\')', ++'confirmunrestricttext' => 'Do you really want to unrestrict this page?', ++'confirmunrestrict' => 'Confirm unrestriction', ++'unrestrictcomment' => 'Reason for unrestricting', ++'restrictreason' => '(give a reason)', ++'tooltip-restrict' => 'Restrict this page', ++'notallowedtomoverestrictedpagetext' => 'To move this page, you have to be member of the \'restrict\' group.', ++'restrictedpagespagetext' => 'This page lists all restricted pages in the wiki. ', ++'regexrestrictedpagespagetext' => 'All page titles matching this/these regular expression(s) are also restricted : ', ++ + # Multipage image navigation + 'imgmultipageprev' => '← previous page', + 'imgmultipagenext' => 'next page →', +diff -Naur mediawiki-1.16.0.orig/languages/messages/MessagesEs.php mediawiki-1.16.0/languages/messages/MessagesEs.php +--- mediawiki-1.16.0.orig/languages/messages/MessagesEs.php 2010-07-27 20:05:07.000000000 +0000 ++++ mediawiki-1.16.0/languages/messages/MessagesEs.php 2010-09-25 08:10:38.552706040 +0000 +@@ -3417,4 +3417,32 @@ + 'htmlform-reset' => 'Deshacer cambios', + 'htmlform-selectorother-other' => 'Otro', + ++# Traducción de restriccion de paginas para mediawiki ++# http://www.mediawiki.org/wiki/Extension:Page_access_restriction ++# Coffman 18-07-06 ++'restrict' => 'Restringir', ++'restrictthispage' => 'Restringir esta página', ++'unrestrict' => 'Quitar restricción', ++'unrestrictthispage' => 'Quitar restricción en esta página', ++'restricttitle' => 'Página restringida', ++'restricttext' => 'Esta página esta restringida. Para verla tienes que pertenecer al grupo \'restrict\' o al grupo \'viewrestrict\'.', ++'restrictedpages' => 'Páginas restringidas', ++'restrictlogpage' => 'Restriction_log', ++'restrictlogtext' => 'A continuación está una lista de las páginas restringidas. Mira [[{{ns:4}}:Restricted page]] para más información.', ++'restrictedarticle' => 'restringido [[$1]]', ++'unrestrictedarticle' => 'no restringido [[$1]]', ++'restrictsub' => '(Restringir \'[[$1]]\')', ++'confirmrestrict' => 'Confirma la restricción', ++'confirmrestricttext' => '¿ Quieres realmente restringir esta página ?', ++'restrictcomment' => 'Razon de la restricción', ++'unrestrictsub' => '(Quitar restriccion \'[[$1]]\')', ++'confirmunrestricttext' => '¿ Quieres realmente quitar la restricción de esta página ?', ++'confirmunrestrict' => 'Confirma que quieres quitar la restricción', ++'unrestrictcomment' => 'Razon para quitar la restricción', ++'restrictreason' => '(da una razon)', ++'tooltip-restrict' => 'Restringir esta página', ++'notallowedtomoverestrictedpagetext' => 'Para mover esta página, debes ser miembro del grupo \'restrict\'.', ++'restrictedpagespagetext' => 'Esta página lista todas las páginas restringidas del wiki. ', ++'regexrestrictedpagespagetext' => 'Todas las páginas cuyos títulos cumplan alguna de estas expresiones regulares están restringidas : ', ++ + ); +diff -Naur mediawiki-1.16.0.orig/languages/messages/MessagesFi.php mediawiki-1.16.0/languages/messages/MessagesFi.php +--- mediawiki-1.16.0.orig/languages/messages/MessagesFi.php 2010-07-27 20:05:07.000000000 +0000 ++++ mediawiki-1.16.0/languages/messages/MessagesFi.php 2010-09-25 08:10:38.561706025 +0000 +@@ -3299,4 +3299,32 @@ + 'htmlform-reset' => 'Kumoa muutokset', + 'htmlform-selectorother-other' => 'Muu', + ++#Restrict patch (http://www.mediawiki.org/wiki/Extension:Page_access_restriction) ++'restrict' => 'Rajoita', ++'restrictthispage' => 'Rajoita sivua', ++'unrestrict' => 'Poista rajoitukset', ++'unrestrictthispage' => 'Poista rajoitukset sivulta', ++'restricttitle' => 'Rajoitettu aihe', ++//##title is different from page in Finnish, I had to make a semantic change: page = sivu, title = aihe . Hope it works.## ++'restricttext' => 'Tällä sivulla on rajoituksia. Nähdäksesi sivun sinun on oltava \'restrict\' tai \'viewrestrict\' -ryhmän jäsen.', ++'restrictedpages' => 'Rajoitetut sivut', ++'restrictlogpage' => 'Rajoitusten_seuranta', ++'restrictlogtext' => 'Alla on listaus sivun rajoituksista. Lue enemmän [[{{ns:4}}:rajoitetuista sivuista]] täältä.', ++'restrictedarticle' => 'rajoitettu [[$1]]', ++'unrestrictedarticle' => 'rajoittamaton [[$1]]', ++'restrictsub' => '(Rajoita aihetta: \'[[$1]]\')', ++//##I had to include "aihe"; $1 refers to a variable, which is probably a new topic/ title (=aihe). Finnish language uses postpositioned suffixes (which are difficult to include in code without making silly sounding sentences). Like this: aihe = title, aiheesta = about a title, aiheeseen = to the title. See what I mean?## ++'confirmrestrict' => 'Vahvista rajoitukset', ++'confirmrestricttext' => 'Haluatko varmasti luoda rajoituksia tälle sivulle?', ++'restrictcomment' => 'Kommentti', ++'unrestrictsub' => '(Poista rajoitus aiheesta: \'[[$1]]\')', ++'confirmunrestricttext' => 'Haluatko varmasti poistaa rajoitukset?', ++'confirmunrestrict' => 'Vahvista rajoitus', ++'unrestrictcomment' => 'Kommentti', ++'restrictreason' => '(syy)', ++'tooltip-restrict' => 'Rajoita', ++'notallowedtomoverestrictedpagetext' => 'Siirtääksesi tätä sivua sinun on oltava jäsen \'restrict\' ryhmässä.', ++'restrictedpagespagetext' => 'Tämä sivu listaa kaikki wikissä olevat rajoitetut sivut...', ++'regexrestrictedpagespagetext' => 'Tätä lauseketta vastaavilla sivuilla on rajoituksia:', ++ + ); +diff -Naur mediawiki-1.16.0.orig/languages/messages/MessagesFr.php mediawiki-1.16.0/languages/messages/MessagesFr.php +--- mediawiki-1.16.0.orig/languages/messages/MessagesFr.php 2010-07-27 20:05:07.000000000 +0000 ++++ mediawiki-1.16.0/languages/messages/MessagesFr.php 2010-09-25 08:10:38.582705985 +0000 +@@ -3088,6 +3088,32 @@ + 'exif-orientation-7' => 'Tournée de 90° dans le sens horaire et inversée verticalement', + 'exif-orientation-8' => 'Tournée de 90° dans le sens antihoraire', + ++#Restrict patch (http://www.mediawiki.org/wiki/Extension:Page_access_restriction) ++'restrict' => 'Restreindre', ++'restrictthispage' => 'Restreindre cette page', ++'unrestrict' => 'Autoriser', ++'unrestrictthispage' => 'Autoriser cette page', ++'restricttitle' => 'Page restreinte', ++'restricttext' => 'L\'accès à cette page a été restreint. Pour pouvoir y accéder vous devez être membre du groupe \'restrict\' ou \'viewrestrict\'', ++'restrictedpages' => 'Pages restreintes', ++'restrictlogpage' => 'Log_de_restriction', ++'restrictlogtext' => 'Voir les [[{{ns:4}}:Page restreinte|directives concernant les pages restreintes]].', ++'restrictedarticle' => 'a restreint [[$1]]', ++'unrestrictedarticle' => 'a autorisé [[$1]]', ++'restrictsub' => '(Restreint \'[[$1]]\')', ++'confirmrestrict' => 'Confirmer la restriction', ++'confirmrestricttext' => 'Voulez vous vraiment restreindre l\'accès à cette page ?', ++'restrictcomment' => 'Raison de la restriction', ++'unrestrictsub' => '(Autorise \'[[$1]]\')', ++'confirmunrestricttext' => 'Voulez-vous vraiment autoriser l\'accès à cette page ?', ++'confirmunrestrict' => 'Confirmer l\'autorisation', ++'unrestrictcomment' => 'Raison de l\'autorisation', ++'restrictreason' => '(indiquez une raison)', ++'tooltip-restrict' => 'Restreindre cette page', ++'notallowedtomoverestrictedpagetext' => 'Pour pouvoir déplacer cette page, vous devez être membre du groupe \'restrict\'', ++'restrictedpagespagetext' => 'Cette page liste les pages restreintes de ce wiki.', ++'regexrestrictedpagespagetext' => 'Les pages dont le titre correspond à cette/ces expressions(s) régulière(s) sont également restreintes : ', ++ + 'exif-planarconfiguration-1' => 'Données contiguës', + 'exif-planarconfiguration-2' => 'Données séparées', + +diff -Naur mediawiki-1.16.0.orig/languages/messages/MessagesHe.php mediawiki-1.16.0/languages/messages/MessagesHe.php +--- mediawiki-1.16.0.orig/languages/messages/MessagesHe.php 2010-07-27 20:05:07.000000000 +0000 ++++ mediawiki-1.16.0/languages/messages/MessagesHe.php 2010-09-25 08:10:38.607705940 +0000 +@@ -3263,6 +3263,32 @@ + 'confirm-purge-top' => 'לנקות את המטמון של דף זה?', + 'confirm-purge-bottom' => 'ניקוי המטמון של דף גורם לגרסה החדשה ביותר להופיע.', + ++#Restrict patch ( http://www.mediawiki.org/wiki/Extension:Page_access_restriction ) ++'restrict' => '', ++'restrictthispage' => ' ף ', ++'unrestrict' => ' ', ++'unrestrictthispage' => ' ת ף ', ++'restricttitle' => 'ף ', ++'restricttext' => 'ף צפ. ע נת רת ע ת ר קצת \'restrict\' \'viewrestrict\'.', ++'restrictedpages' => 'פ ', ++'restrictlogpage' => ' ת', ++'restrictlogtext' => ' פ . ר [[{{ns:4}}:Restricted page]] ע נסף.', ++'restrictedarticle' => ' ת [[$1]]', ++'unrestrictedarticle' => ' ע [[$1]]', ++'restrictsub' => '( \'[[$1]]\')', ++'confirmrestrict' => ' ת שרצנכ ף ?', ++'confirmrestricttext' => 'שר ת ', ++'restrictcomment' => 'סת ', ++'unrestrictsub' => '( ת \'[[$1]]\')', ++'confirmunrestricttext' => ' ת שרצנכ ת ף ?', ++'confirmunrestrict' => 'שר ת ', ++'unrestrictcomment' => 'סת ', ++'restrictreason' => 'ס', ++'tooltip-restrict' => ' ע ', ++'notallowedtomoverestrictedpagetext' => 'ע נת ער ף ע ת ר קצת \'restrict\'', ++'restrictedpagespagetext' => 'ר רשת כ פ ק', ++'regexrestrictedpagespagetext' => 'כ פ שת רר כ :', ++ + # Multipage image navigation + 'imgmultipageprev' => '→ לדף הקודם', + 'imgmultipagenext' => 'לדף הבא ←', +diff -Naur mediawiki-1.16.0.orig/languages/messages/MessagesNl.php mediawiki-1.16.0/languages/messages/MessagesNl.php +--- mediawiki-1.16.0.orig/languages/messages/MessagesNl.php 2010-07-27 20:05:07.000000000 +0000 ++++ mediawiki-1.16.0/languages/messages/MessagesNl.php 2010-09-25 08:10:38.641705880 +0000 +@@ -2941,6 +2941,33 @@ + 'math_bad_output' => 'De map voor bestanden met wiskundige formules bestaat niet of kan niet gemaakt worden.', + 'math_notexvc' => 'Kan het programma texvc niet vinden; stel alles in volgens de beschrijving in math/README.', + ++#Restrict patch (http://www.mediawiki.org/wiki/Extension:Page_access_restriction) ++'restrict' => 'Beperk', ++'restrictthispage' => 'Beperk deze pagina', ++'unrestrict' => 'Onbeperk', ++'unrestrictthispage' => 'Onbeperk deze pagina', ++'restricttitle' => 'Beperkte pagina', ++'restricttext' => 'Deze pagina is beperkt. Om deze te zien moet u lid zijn van de \'restrict\' groep of \'viewrestrict\' groep.', ++'restrictedpages' => 'Beperkte paginas', ++'restrictlogpage' => 'Beperkingen_log', ++'restrictlogtext' => 'Hier is een lijst met pagina beperkingen. Zie [[{{ns:4}}:Restricted page]] voor meer informatie.', ++'restrictedarticle' => 'beperkt [[$1]]', ++'unrestrictedarticle' => 'onbeperkt [[$1]]', ++'restrictsub' => '(Beperk \'[[$1]]\')', ++'confirmrestrict' => 'Bevestig de beperking', ++'confirmrestricttext' => 'Wilt u deze pagina echt beperken?', ++'restrictcomment' => 'Reden voor de beperking', ++'unrestrictsub' => '(Unrestrict \'[[$1]]\')', ++'confirmunrestricttext' => 'Wilt u deze pagina echt onbeperken?', ++'confirmunrestrict' => 'Bevestig de onbeperking', ++'unrestrictcomment' => 'Reden voor de onbeperking', ++'restrictreason' => '(geef een reden)', ++'tooltip-restrict' => 'Beperk deze pagina', ++'notallowedtomoverestrictedpagetext' => 'Om de locatie van deze pagina te veranderen, moet u lid zijn van de \'restrict\' groep.', ++'restrictedpagespagetext' => 'Deze pagina geeft een lijst van alle beperkte paginas in deze wiki. ', ++'regexrestrictedpagespagetext' => 'Alle pagina titels die aan deze uitdrukking voldoen zijn ook beperkt : ', ++ ++ + # Patrolling + 'markaspatrolleddiff' => 'Markeren als gecontroleerd', + 'markaspatrolledtext' => 'Deze pagina als gecontroleerd markeren', +diff -Naur mediawiki-1.16.0.orig/languages/messages/MessagesPl.php mediawiki-1.16.0/languages/messages/MessagesPl.php +--- mediawiki-1.16.0.orig/languages/messages/MessagesPl.php 2010-07-27 20:05:07.000000000 +0000 ++++ mediawiki-1.16.0/languages/messages/MessagesPl.php 2010-09-25 08:10:38.657705851 +0000 +@@ -2798,6 +2798,34 @@ + 'math_notexvc' => 'Brak programu texvc. + Zapoznaj się z math/README w celu konfiguracji.', + ++#Polish translation by Janusz 'Ency' Dorożyński 2006-05-16 ++#Restrict patch (http://www.mediawiki.org/wiki/Extension:Page_access_restriction) ++'restrict' => 'Zastrzeżenie', ++'restrictthispage' => 'Zastrzeżenie tej strony', ++'unrestrict' => 'Zdjęcie zastrzeżenia', ++'unrestrictthispage' => 'Zdjęcie zastrzeżenia tej strony', ++'restricttitle' => 'Strona zastrzeżona', ++'restricttext' => 'Ta strona jest zastrzeżona. Aby mieć do niej wgląd musisz być w grupie użytkowników \'restrict\' lub \'viewrestrict\'.', ++'restrictedpages' => 'Strony zastrzeżone', ++'restrictlogpage' => 'Dziennik (log) zastrzeżeń', ++'restrictlogtext' => 'Poniżej jest lista zastrzeżeń stron. Zobacz [[{{ns:4}}:Strony zastrzeżone]] z dodatkowymi informacjami.', ++'restrictedarticle' => 'zastrzeżono [[$1]]', ++'unrestrictedarticle' => 'zdjęto zastrzeżenie [[$1]]', ++'restrictsub' => '(Zastrzeżenie \'[[$1]]\')', ++'confirmrestrict' => 'Potwierdź zastrzeżenie', ++'confirmrestricttext' => 'Czy naprawdę chcesz zastrzec tę stronę?', ++'restrictcomment' => 'Powod zastrzeżenia', ++'unrestrictsub' => '(Zdjęcie zastrzeżenia \'[[$1]]\')', ++'confirmunrestricttext' => 'Czy naprawdę chcesz zdjąć zastrzeżenie tej stronę?', ++'confirmunrestrict' => 'Potwierdź zdjęcie zastrzeżenia', ++'unrestrictcomment' => 'Powód zdjęcia zastrzeżenia', ++'restrictreason' => '(podaj powód)', ++'tooltip-restrict' => 'Zastrzeż tę stronę', ++'notallowedtomoverestrictedpagetext' => 'Przeniesienie tej strony mogą wykonać tylko użytkownicy z grupy \'restrict\'.', ++'restrictedpagespagetext' => 'Ta strona podaje listę wszystkich zastrzeżonych stron tej wiki.', ++'regexrestrictedpagespagetext' => 'Zastrzeżenie dotyczy wszytkich tytułów artykułów spełniających warunki regularnych wyrażeń: ' ++ ++ + # Patrolling + 'markaspatrolleddiff' => 'oznacz edycję jako „sprawdzoną”', + 'markaspatrolledtext' => 'Oznacz tę stronę jako „sprawdzoną”', +diff -Naur mediawiki-1.16.0.orig/languages/messages/MessagesRu.php mediawiki-1.16.0/languages/messages/MessagesRu.php +--- mediawiki-1.16.0.orig/languages/messages/MessagesRu.php 2010-07-27 20:05:07.000000000 +0000 ++++ mediawiki-1.16.0/languages/messages/MessagesRu.php 2010-09-25 08:10:38.683705803 +0000 +@@ -3226,6 +3226,32 @@ + 'confirm-purge-top' => 'Очистить кеш этой страницы?', + 'confirm-purge-bottom' => 'После очистки кеша страницы будет показана её последняя версия.', + ++#Restrict patch (http://www.mediawiki.org/wiki/Extension:Page_access_restriction) ++'restrict' => 'гании', ++'restrictthispage' => 'гании а', ++'unrestrict' => 'е оганиива', ++'unrestrictthispage' => 'е оганиива а', ++'restricttitle' => 'оп к ае оганиен', ++'restricttext' => 'анна аниа оганиена дл пблиного помоа. л помоа в должн б повеенн.', ++'restrictedpages' => 'ганиенне аи', ++'restrictlogpage' => 'нал оганиений', ++'restrictlogtext' => 'иже пиок ани оганиеними. См. [[{{ns:4}}:ганиенне аи]] дл болей иномаии.', ++'restrictedarticle' => 'ганиенно [[$1]]', ++'unrestrictedarticle' => 'е оганиенно [[$1]]', ++'restrictsub' => '(гании \'[[$1]]\')', ++'confirmrestrict' => 'одведи оганиение', ++'confirmrestricttext' => ' дейвиелно желаее огании а?', ++'restrictcomment' => 'иин дл оганиени', ++'unrestrictsub' => '(е оганиива \'[[$1]]\')', ++'confirmunrestricttext' => ' дейвиелно желаее н оганиение?', ++'confirmunrestrict' => 'одведи ние оганиений', ++'unrestrictcomment' => 'иин ни оганиений', ++'restrictreason' => '(кажие пиин)', ++'tooltip-restrict' => 'гании а', ++'notallowedtomoverestrictedpagetext' => 'л пеемеени ой ани, должн б леном \'restrict\' гпп.', ++'restrictedpagespagetext' => ' ом пике ани оганиенне дл помоа аи. ', ++'regexrestrictedpagespagetext' => 'е названи аей довлевои ом/им еманиеким важеним бд ак же оганиенн: ', ++ + # Multipage image navigation + 'imgmultipageprev' => '← предыдущая страница', + 'imgmultipagenext' => 'следующая страница →', +diff -Naur mediawiki-1.16.0.orig/languages/messages/MessagesSv.php mediawiki-1.16.0/languages/messages/MessagesSv.php +--- mediawiki-1.16.0.orig/languages/messages/MessagesSv.php 2010-07-27 20:05:07.000000000 +0000 ++++ mediawiki-1.16.0/languages/messages/MessagesSv.php 2010-09-25 08:10:38.702705769 +0000 +@@ -2779,6 +2779,33 @@ + 'nocreativecommons' => 'Creative Commons RDF metadata avstängd på denna server.', + 'notacceptable' => 'Den här wiki-servern kan inte erbjuda data i ett format som din klient kan läsa.', + ++ ++#Restrict patch (http://www.mediawiki.org/wiki/Extension:Page_access_restriction) ++'restrict' => 'Begränsa åtkomst', ++'restrictthispage' => "Begränsa åtkomst för denna sida", ++'unrestrict' => 'Upphäv begränsning av åtkomst', ++'unrestrictthispage' => 'Upphäv begränsning av åtkomst för denna sida', ++'restricttitle' => 'Åtkomstbegränsad', ++'restricttext' => 'Denna sida har begränsad åtkomst. För att visa sidan måste du vara medlem i \'åtkomstbegränsa\' - eller \'visaåtkomstbegränsade\' - gruppen.', ++'restrictedpages' => 'Sidor med begränsad åtkomst', ++'restrictlogpage' => 'Logg för åtkomstbegränsning', ++'restrictlogtext' => 'Nedan finns en lista över åtkomstbegränsade sidor. Se [[{{ns:4}}:Åtkomstbegränsadesidor]] för ytterligare information.', ++'restrictedarticle' => 'Begränsade åtkomst för [[$1]]', ++'unrestrictedarticle' => 'Upphävde åtkomstbegränsning för [[$1]]', ++'restrictsub' => '(Begränsa åtkomst för \'[[$1]]\')', ++'confirmrestrict' => 'Bekräfta begränsning av åtkomst', ++'confirmrestricttext' => 'Är du säker på att du vill begränsa åtkomsten för denna sida?', ++'restrictcomment' => 'Orsak till begränsning av åtkomst', ++'unrestrictsub' => '(Upphäv begränsning av åtkomst för \'[[$1]]\')', ++'confirmunrestricttext' => 'Är du säker på att du vill upphäva åtkomstbegränsningen för denna sida?', ++'confirmunrestrict' => 'Bekräfta upphävning av åtkomstbegränsning', ++'unrestrictcomment' => 'Orsak till upphävning av åtkomstbegränsning', ++'restrictreason' => '(ange orsak)', ++'tooltip-restrict' => 'Begränsa åtkomst för denna sida', ++'notallowedtomoverestrictedpagetext' => 'För att kunna flytta denna sida måste du vara medlem i \'åtkomstbegränsa\' - gruppen.', ++'restrictedpagespagetext' => 'Denna sida listar alla sidor med begränsad åtkomst i hela wikin. ', ++'regexrestrictedpagespagetext' => 'Alla titlar som matchar denna/dessa regular expression(s) begränsas också: ', ++ + # Attribution + 'anonymous' => '{{PLURAL:$1|Anonym användare|Anonyma användare}} på {{SITENAME}}', + 'siteuser' => 'användaren $1 på {{SITENAME}}', diff --git a/www-apps/mediawiki/mediawiki-1.15.5.ebuild b/www-apps/mediawiki/mediawiki-1.15.5.ebuild index a5a0b439..927a7001 100644 --- a/www-apps/mediawiki/mediawiki-1.15.5.ebuild +++ b/www-apps/mediawiki/mediawiki-1.15.5.ebuild @@ -15,9 +15,12 @@ LICENSE="GPL-2" KEYWORDS="~alpha amd64 ppc sparc x86" IUSE="imagemagick math mysql postgres +ocamlopt" -DEPEND="math? ( >=dev-lang/ocaml-3.0.6 ) - || ( =dev-lang/php-5.3 )" - +DEPEND="math? ( >=dev-lang/ocaml-3.0.6 ) + || ( =dev-lang/php-5.3 ) + dev-lang/php[session,xml,mysql?,postgres?] + || ( dev-lang/php[gd] dev-lang/php[gd-external] ) + ocamlopt? ( math? ( dev-lang/ocaml[ocamlopt] ) ) +" RDEPEND="${DEPEND} math? ( app-text/dvipng @@ -33,28 +36,10 @@ need_httpd_cgi need_php_httpd src_prepare() { + webapp_src_prepare epatch "${FILESDIR}"/mediawiki-1.15.1-restrict-0.8.4.patch } -pkg_setup() { - webapp_pkg_setup - local flags="pcre session spl xml" - use mysql && flags="${flags} mysql" - use postgres && flags="${flags} postgres" - if ! PHPCHECKNODIE="yes" require_php_with_use ${flags} || \ - ! PHPCHECKNODIE="yes" require_php_with_any_use gd gd-external ; then - die "Re-install ${PHP_PKG} with ${flags} and either gd or gd-external" - fi - - # see Bug 204812 - if use ocamlopt && use math && ! built_with_use --missing true dev-lang/ocaml ocamlopt; then - eerror "In order to build ${PN} with native code support from ocaml" - eerror "You first need to have a native code ocaml compiler." - eerror "You need to install dev-lang/ocaml with ocamlopt useflag on." - die "Please install ocaml with ocamlopt useflag" - fi -} - src_compile() { if use math; then einfo "Compiling math support" @@ -98,7 +83,7 @@ src_install() { webapp_serverowned "${MY_HTDOCSDIR}"/images/tmp fi - local DOCS="FAQ HISTORY INSTALL README* RELEASE-NOTES UPGRADE CREDITS" + local DOCS="FAQ HISTORY INSTALL README RELEASE-NOTES UPGRADE" dodoc ${DOCS} docs/*.txt docinto php-memcached dodoc docs/php-memcached/* diff --git a/www-apps/mediawiki/mediawiki-1.15.4.ebuild b/www-apps/mediawiki/mediawiki-1.16.0.ebuild similarity index 77% rename from www-apps/mediawiki/mediawiki-1.15.4.ebuild rename to www-apps/mediawiki/mediawiki-1.16.0.ebuild index a5a0b439..f9bd0ac3 100644 --- a/www-apps/mediawiki/mediawiki-1.15.4.ebuild +++ b/www-apps/mediawiki/mediawiki-1.16.0.ebuild @@ -15,9 +15,12 @@ LICENSE="GPL-2" KEYWORDS="~alpha amd64 ppc sparc x86" IUSE="imagemagick math mysql postgres +ocamlopt" -DEPEND="math? ( >=dev-lang/ocaml-3.0.6 ) - || ( =dev-lang/php-5.3 )" - +DEPEND="math? ( >=dev-lang/ocaml-3.0.6 ) + || ( =dev-lang/php-5.3 ) + dev-lang/php[session,xml,mysql?,postgres?] + || ( dev-lang/php[gd] dev-lang/php[gd-external] ) + ocamlopt? ( math? ( dev-lang/ocaml[ocamlopt] ) ) +" RDEPEND="${DEPEND} math? ( app-text/dvipng @@ -33,26 +36,8 @@ need_httpd_cgi need_php_httpd src_prepare() { - epatch "${FILESDIR}"/mediawiki-1.15.1-restrict-0.8.4.patch -} - -pkg_setup() { - webapp_pkg_setup - local flags="pcre session spl xml" - use mysql && flags="${flags} mysql" - use postgres && flags="${flags} postgres" - if ! PHPCHECKNODIE="yes" require_php_with_use ${flags} || \ - ! PHPCHECKNODIE="yes" require_php_with_any_use gd gd-external ; then - die "Re-install ${PHP_PKG} with ${flags} and either gd or gd-external" - fi - - # see Bug 204812 - if use ocamlopt && use math && ! built_with_use --missing true dev-lang/ocaml ocamlopt; then - eerror "In order to build ${PN} with native code support from ocaml" - eerror "You first need to have a native code ocaml compiler." - eerror "You need to install dev-lang/ocaml with ocamlopt useflag on." - die "Please install ocaml with ocamlopt useflag" - fi + webapp_src_prepare + epatch "${FILESDIR}"/mediawiki-1.16.0-restrict-0.8.4.patch } src_compile() { @@ -98,7 +83,7 @@ src_install() { webapp_serverowned "${MY_HTDOCSDIR}"/images/tmp fi - local DOCS="FAQ HISTORY INSTALL README* RELEASE-NOTES UPGRADE CREDITS" + local DOCS="FAQ HISTORY INSTALL README RELEASE-NOTES UPGRADE" dodoc ${DOCS} docs/*.txt docinto php-memcached dodoc docs/php-memcached/*