From c64f137497cb2963445b34e17ed45a3044135bab Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 30 Jun 2008 13:03:42 -0400 Subject: refactor common behaviour in settings pages darcs-hash:20080630170342-84dde-5d7feb88a0a707b24c8070802a7ec99dd1f35687.gz --- lib/settingsaction.php | 22 ++++++++++++++++++++++ lib/util.php | 9 +++++++++ 2 files changed, 31 insertions(+) (limited to 'lib') 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); +} -- cgit v1.2.3-54-g00ecf