diff options
author | Evan Prodromou <evan@prodromou.name> | 2008-06-30 13:03:42 -0400 |
---|---|---|
committer | Evan Prodromou <evan@prodromou.name> | 2008-06-30 13:03:42 -0400 |
commit | c64f137497cb2963445b34e17ed45a3044135bab (patch) | |
tree | 88e9784ab3a4ffec3ba3670843eb79ec44752571 /lib | |
parent | 8336a7755e0576c1e60c1ab7336d006fd3025615 (diff) |
refactor common behaviour in settings pages
darcs-hash:20080630170342-84dde-5d7feb88a0a707b24c8070802a7ec99dd1f35687.gz
Diffstat (limited to 'lib')
-rw-r--r-- | lib/settingsaction.php | 22 | ||||
-rw-r--r-- | lib/util.php | 9 |
2 files changed, 31 insertions, 0 deletions
diff --git a/lib/settingsaction.php b/lib/settingsaction.php index 2a80c0e31..eca5e9352 100644 --- a/lib/settingsaction.php +++ b/lib/settingsaction.php @@ -55,6 +55,28 @@ class SettingsAction extends Action { } } + function form_header($title, $msg=NULL, $success=false) { + common_show_header($title, + NULL, + array($msg, $success), + array($this, 'show_top')); + } + + function show_top($arr) { + $msg = $arr[0]; + $success = $arr[1]; + if ($msg) { + $this->message($msg, $success); + } else { + $inst = $this->get_instructions(); + $output = common_markup_to_html($inst); + common_element_start('div', 'instructions'); + common_raw($output); + common_element_end('div'); + } + $this->settings_menu(); + } + function settings_menu() { # action => array('prompt', 'title') static $menu = diff --git a/lib/util.php b/lib/util.php index f3ab42ea9..9e1b1a8c9 100644 --- a/lib/util.php +++ b/lib/util.php @@ -1106,3 +1106,12 @@ function common_confirmation_code($bits) { } return $code; } + +# convert markup to HTML + +function common_markup_to_html($c) { + $c = preg_replace('/%%action.(\w+)%%/e', "common_local_url('\\1')", $c); + $c = preg_replace('/%%doc.(\w+)%%/e', "common_local_url('doc', array('title'=>'\\1'))", $c); + $c = preg_replace('/%%(\w+).(\w+)%%/e', 'common_config(\'\\1\', \'\\2\')', $c); + return Markdown($c); +} |