From c545f1e5c152be0d3294b7d57d182e01eff129a3 Mon Sep 17 00:00:00 2001 From: secretr Date: Sun, 18 Jan 2009 21:50:04 +0000 Subject: [PATCH] start of e_form userclass functions (work in progress) --- e107_handlers/form_handler.php | 38 +++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php index 2b97e44eb..6aa63ce8d 100644 --- a/e107_handlers/form_handler.php +++ b/e107_handlers/form_handler.php @@ -9,8 +9,8 @@ * Form Handler * * $Source: /cvs_backup/e107_0.8/e107_handlers/form_handler.php,v $ - * $Revision: 1.17 $ - * $Date: 2009-01-17 22:48:14 $ + * $Revision: 1.18 $ + * $Date: 2009-01-18 21:50:04 $ * $Author: secretr $ * */ @@ -158,7 +158,39 @@ class e_form $selector = 'jstarget:'.$selector; return $this->checkbox($name, $selector, false, array('id'=>false,'class'=>'checkbox toggle-all')); } - + + function uc_select($name, $default, $uc_options, $frm_options) + { + $e107 = e107::getInstance(); + $e107->user_class->vetted_tree($name, array($this, '_uc_select_cb'), $default, $uc_options, $frm_options); + } + + // Callback for vetted_tree - Creates the option list for a selection box + function _uc_select_cb($treename, $classnum, $current_value, $nest_level) + { + if($classnum == e_UC_BLANK) + return $this->option(' ', ''); + + $e107 = e107::getInstance(); + $tmp = explode(',', $current_value); + if($nest_level == 0) + { + $prefix = ''; + $style = "font-weight:bold; font-style: italic;"; + } + elseif($nest_level == 1) + { + $prefix = '  '; + $style = "font-weight:bold"; + } + else + { + $prefix = '  '.str_repeat('--', $nest_level - 1).'>'; + $style = ''; + } + return $this->option($prefix.$e107->user_class->uc_get_classname($classnum), $classnum, in_array($classnum, $tmp), "style={$style}"); + } + function radio($name, $value, $checked = false, $options = array()) { $options['checked'] = $checked; //comes as separate argument just for convenience