W3TPL/sysdata: Difference between revisions

From Woozle Writes Code
Jump to navigation Jump to search
(@http.req; another example)
m (→‎Names: format tidying)
Line 4: Line 4:
* @'''title''': information about the current page title
* @'''title''': information about the current page title
** .'''id''': the article ID
** .'''id''': the article ID
** .'''full': namespace:subject
** .'''full''': namespace:subject
** .'''subject': just the part after the namespace and before any slashes (i.e. not the subpage name)
** .'''subject''': just the part after the namespace and before any slashes (i.e. not the subpage name)
** .'''name': just the part after the namespace (including any subpages)
** .'''name''': just the part after the namespace (including any subpages)
** .'''url': URL for the page
** .'''url''': URL for the page
* @'''row''': information about the current data row
* @'''row''': information about the current data row
** .''name'': name of the field (column) to access
** .''name'': name of the field (column) to access
Line 15: Line 15:
** .'''dbkey''': user's login in URL format -- $wgUser->getTitleKey();
** .'''dbkey''': user's login in URL format -- $wgUser->getTitleKey();
** .'''id''': user's database ID -- $wgUser->getID();
** .'''id''': user's database ID -- $wgUser->getID();
** .'''can''': user has permission to do specified action? -- $wgUser->isAllowed(''action'');
** .'''can'''.''action'': user has permission to do specified action? -- $wgUser->isAllowed(''action'');
** .'''rights''': user rights -- $wgUser->getRights(), converted to a [[prefix-separated list]]
** .'''rights''': user rights -- $wgUser->getRights(), converted to a [[prefix-separated list]]
** .'''email''': user's email address, if known)-- $wgUser->getEmail()
** .'''email''': user's email address, if known)-- $wgUser->getEmail()
Line 27: Line 27:
* @'''env'''.''name'': value of $_ENV["''name''"]
* @'''env'''.''name'': value of $_ENV["''name''"]
* @'''sql''': the last SQL statement executed by W3TPL (for debugging)
* @'''sql''': the last SQL statement executed by W3TPL (for debugging)
==Examples==
==Examples==
<xml>
<xml>

Revision as of 17:51, 19 September 2010

About

"Sysdata" syntax is a way of accessing various bits of information provided by the system under different circumstances. Any value prefixed with "@" will be treated as a reference to system data (yes, there are potential conflicts with this form... working on that; they are resolvable).

Names

  • @title: information about the current page title
    • .id: the article ID
    • .full: namespace:subject
    • .subject: just the part after the namespace and before any slashes (i.e. not the subpage name)
    • .name: just the part after the namespace (including any subpages)
    • .url: URL for the page
  • @row: information about the current data row
    • .name: name of the field (column) to access
  • @mem: current memory usage, for debugging (this is a kluge and should probably be made more useful or eliminated)
  • @user: information about the user currently viewing the page
    • .login: user's login -- $wgUser->getName()
    • .dbkey: user's login in URL format -- $wgUser->getTitleKey();
    • .id: user's database ID -- $wgUser->getID();
    • .can.action: user has permission to do specified action? -- $wgUser->isAllowed(action);
    • .rights: user rights -- $wgUser->getRights(), converted to a prefix-separated list
    • .email: user's email address, if known)-- $wgUser->getEmail()
    • .name: user's full name, if known -- $out = $wgUser->getRealName();
  • @query: DEPRECATED - use @http.get
  • @post: DEPRECATED - use @http.post
  • @http: information about the http request
    • .get.name: value of $_GET["name"]
    • .post.name: value of $_POST["name"]
    • .req.name: value of $wgRequest->getVal(name)
  • @env.name: value of $_ENV["name"]
  • @sql: the last SQL statement executed by W3TPL (for debugging)

Examples

<xml> <let name=pg_title val="@row.page_title" /> <let name=action val="@http.get.action" /> </xml>

History

  • 2010-09-11 Finally some documentation; decided to deprecate @query and @post in favor of @http.*