Extension:SecureProperties
| If you need per-page or partial page access restrictions, you are advised to install an appropriate content management package. MediaWiki was not written to provide per-page access restrictions, and almost all hacks or patches promising to add them will likely have flaws somewhere, which could lead to exposure of confidential data. We are not responsible for anything being leaked, leading to loss of funds or one's job. For further details, see Security issues with authorization extensions |
|
SecureProperties Release status: stable |
|
|---|---|
| Implementation | Parser extension |
| Description | |
| Author(s) | Jean-Lou Dupont |
| Last version | 1.0.0 |
| MediaWiki | 1.10, 1.11 |
| License | No license specified |
| Download | SVN See SVN ($Id: SecureProperties.doc.wikitext 494 2007-10-10 17:09:08Z jeanlou.dupont $) |
| Check usage and version matrix | |
Contents |
Purpose [edit]
Enables getting/setting global object properties securely (operations are only allowed on protected pages).
Usage [edit]
- Property 'get': {{#pg:global object name|property}}
- Property 'set': {{#ps:global object name|property|value}}
- Method call: {{#pf:global object name|method name}}
- Global variable 'get': {{#gg:global object name}}
- Global variable 'set': {{#gs:global object name|value}}
- Class static property 'get': {{#cg:class name|property}}
- Class static property 'set': {{#cs:class name|property|value}}
(($disable$))
Notes [edit]
Of course, those functions can be called in the context of 'ParserPhase2':
- Property 'get': (($#pg|global object name|property$))
- Property 'set': (($#ps|global object name|property|value$))
- Method call: (($#pf|global object name|method name$))
- Global variable 'get': (($#gg:global object name$))
- Global variable 'set': (($#gs:global object name|value$))
- Class static property 'get': (($#cg:class name|property$))
- Class static property 'set': (($#cs:class name|property|value$))
(($enable$))
Examples [edit]
Current user name: {{#pg:wgUser|mName}}
Current user id: {{#pg:wgUser|mId}}
Features [edit]
- Security: the 'magic words' of the extension can only be used on protected pages
- Namespace exemption: configured namespaces are exempted from the 'protection' requirement
Dependencies [edit]
Installation [edit]
See the Mediawiki Extension table entry "download" above.[1]
LocalSettings.php [edit]
Extension:ExtensionManager: See footnote[2]
- Add the following to LocalSettings.php, if the extension was downloaded from Jean-Lou Dupont's MediaWiki SVN directory (link in the download entry of the table above)[2]:
require_once( "$IP/extensions/SecureProperties/SecureProperties.php" );
- Since this Extensions is depending on StubManager, add the line after the StubManager include, or else your Wiki won't work.
PEAR [edit]PEAR is a repository of PHP software code.
require 'MediaWiki/SecureProperties/SecureProperties.php';
Upgrades through PEAR [edit]Sometimes, it is necessary to clear PEAR's cache in order to perform upgrades.
or use the force method:
PEAR Web Frontend [edit]For easier remote package management, PEAR Frontend WEB can be installed. Installation notes can be found here. An example of the WEB frontend is available here. |
RSS feed [edit]
To keep up-to-date with this channel, use the following RSS feed__
.
Notes [edit]
Other Extensions From the same author [edit]
Consult User Jldupont's page.
- ↑ The most recent release is always available through the extension's PEAR and SVN repositories. This page is not necessarily up-to-date.
- ↑ 2.0 2.1 2.2 Extension:ExtensionManager does not require any modification to LocalSettings.php because ExtensionManager includes the extension.
Note that if PHP code caching is in place (e.g. APC, eAccelerator), then to successfully complete the installation a cache flush might be needed. - ↑ Modifications to
LocalSettings.phpis only necessary if not using Extension:ExtensionManager
History [edit]
- added '#gg' and '#gs' magic words
- Removed dependency on ExtensionClass
- Added '#cg' and '#cs' to deal with static properties in classes
- Added 'addExemptNamespaces' function
Todo [edit]
- Fix for 'exempt' namespaces option even considering StubManager