Difference: TWikiPrefsDotPm (r7 vs. r6)

r7 - 29 May 2010 - 14:44 - TWikiContributor r6 - 22 Jan 2008 - 03:21 - TWikiContributor

Package =TWiki::Prefs

Package =TWiki::Prefs

The Prefs class is a singleton that implements management of preferences. It uses a stack of TWiki::Prefs::PrefsCache objects to store the preferences for global, web, user and topic contexts, and provides the means to look up preferences in these.

The Prefs class is a singleton that implements management of preferences. It uses a stack of TWiki::Prefs::PrefsCache objects to store the preferences for global, web, user and topic contexts, and provides the means to look up preferences in these.

Preferences from different places stack on top of each other, so there are global preferences, then site, then web (and subweb and subsubweb), then topic, included topic and so on. Each level of the stack is tagged with a type identifier.

Preferences from different places stack on top of each other, so there are global preferences, then site, then web (and subweb and subsubweb), then topic, included topic and so on. Each level of the stack is tagged with a type identifier.

The module also maintains a separate of the preferences found in every topic and web it reads. This supports the lookup of preferences for webs and topics that are not on the stack, and must not be chained in (you can't allow a user to override protections from their home topic!)

The module also maintains a separate of the preferences found in every topic and web it reads. This supports the lookup of preferences for webs and topics that are not on the stack, and must not be chained in (you can't allow a user to override protections from their home topic!)

  

ClassMethod new ($session[,$cache])

ClassMethod new ($session[,$cache])

Creates a new Prefs object. If $cache is defined, it will be pushed onto the stack.

Creates a new Prefs object. If $cache is defined, it will be pushed onto the stack.

ObjectMethod finish ()

ObjectMethod finish ()

Break circular references.

Break circular references.

  

ObjectMethod pushPreferences ($web,$topic,$type,$prefix)

ObjectMethod pushPreferences ($web,$topic,$type)

  • $web - web to read from
  • $topic - topic to read
  • $type - DEFAULT, SITE, USER, SESSION, WEB, TOPIC or PLUGIN
  • $prefix - key prefix for all preferences (used for plugins)
  • $web - web to read from
  • $topic - topic to read
  • $type - DEFAULT, SITE, USER, SESSION, WEB, TOPIC or PLUGIN
  • $prefix - key prefix for all preferences (used for plugins)

Reads preferences from the given topic, and pushes them onto the preferences stack.

Reads preferences from the given topic, and pushes them onto the preferences stack.

ObjectMethod *pushWebPreferences ($web)

ObjectMethod *pushWebPreferences ($web)

Pushes web preferences. Web preferences for a particular web depend on the preferences of all containing webs.

Pushes web preferences. Web preferences for a particular web depend on the preferences of all containing webs.

ObjectMethod *pushGlobalPreferences ()

ObjectMethod *pushGlobalPreferences ()

Add global preferences to this preferences stack.

Add global preferences to this preferences stack.

ObjectMethod *pushPreferencesValues ($type,\%values)

ObjectMethod *pushPreferencesValues ($type,\%values)

Push a new preference level using type and values given

Push a new preference level using type and values given

ObjectMethod mark ()

ObjectMethod mark ()

Return a marker representing the current top of the preferences stack. Used to remember the stack when new web and topic preferences are pushed during a topic include.

Return a marker representing the current top of the preferences stack. Used to remember the stack when new web and topic preferences are pushed during a topic include.

ObjectMethod restore ($mark)

ObjectMethod restore ($mark)

Resets the preferences stack to the given mark, to recover after a topic include.

Resets the preferences stack to the given mark, to recover after a topic include.

ObjectMethod *getPreferencesValue ($key) -> $value

ObjectMethod *getPreferencesValue ($key) -> $value

  • =$key - key to look up
  • =$key - key to look up

Returns the value of the preference $key, or undef.

Returns the value of the preference $key, or undef.

Looks up local preferences when the level topic is the same as the current web,topic in the session.

Looks up local preferences when the level topic is the same as the current web,topic in the session.

ObjectMethod isFinalised ($key)

ObjectMethod isFinalised ($key)

Return true if $key is finalised somewhere in the prefs stack

Return true if $key is finalised somewhere in the prefs stack

ObjectMethod *getTopicPreferencesValue ($key,$web,$topic) -> $value

ObjectMethod *getTopicPreferencesValue ($key,$web,$topic) -> $value

Recover a preferences value that is defined in a specific topic. Does not recover web, user or global settings.

Recover a preferences value that is defined in a specific topic. Does not recover web, user or global settings.

Intended for use in protections mechanisms, where the order doesn't match the prefs stack.

Intended for use in protections mechanisms, where the order doesn't match the prefs stack.

getTextPreferencesValue( $key, $text, $meta, $web, $topic ) -> $value

getTextPreferencesValue( $key, $text, $meta, $web, $topic ) -> $value

Get a preference value from the settings in the text (and/or optional $meta). The values read are not cached.

Get a preference value from the settings in the text (and/or optional $meta). The values read are not cached.

ObjectMethod *getWebPreferencesValue ($key,$web) -> $value

ObjectMethod *getWebPreferencesValue ($key,$web) -> $value

Recover a preferences value that is defined in the webhome topic of a specific web.. Does not recover user or global settings, but does recover settings from containing webs.

Recover a preferences value that is defined in the webhome topic of a specific web.. Does not recover user or global settings, but does recover settings from containing webs.

Intended for use in protections mechanisms, where the order doesn't match the prefs stack.

Intended for use in protections mechanisms, where the order doesn't match the prefs stack.

setPreferencesValue($name, $val)

setPreferencesValue($name, $val)

Set a preferences value. The preference is set in the context at the top of the preference stack, whatever the current state may be.

Set a preferences value. The preference is set in the context at the top of the preference stack, whatever the current state may be.

The preference is not serialised.

The preference is not serialised.

ObjectMethod stringify() -> $text

ObjectMethod stringify() -> $text

Generate a TML-formatted version of the current preferences

Generate a TML-formatted version of the current preferences

r7 - 29 May 2010 - 14:44 - TWikiContributor r6 - 22 Jan 2008 - 03:21 - TWikiContributor

View topic | View difference interwoven | History: r7 < r6 < r5 < r4 | More topic actions
 
This site is powered by the TWiki collaboration platformCopyright © 1999-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.TWikiPrefsDotPm.