/[cvs]/nfo/php/libs/com.newsblob.phphtmllib/form/form_elements/FEDataList.inc
ViewVC logotype

Contents of /nfo/php/libs/com.newsblob.phphtmllib/form/form_elements/FEDataList.inc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (show annotations)
Thu Aug 11 14:09:59 2005 UTC (18 years, 11 months ago) by jonen
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +3 -3 lines
+ updated to version 2.5.3

1 <?php
2 /**
3 * This file contains the base FEDataList class
4 *
5 * $Id: FEDataList.inc,v 1.15.2.1 2005/05/12 01:24:02 hemna Exp $
6 *
7 * @author Walter A. Boring IV <waboring@newsblob.com>
8 * @author Suren Markosyan <suren@bcsweb.com>
9 * @package phpHtmlLib
10 * @subpackage FormProcessing
11 *
12 * @copyright LGPL - See LICENCE
13 *
14 */
15
16 /**
17 * This is the DataList FormElement which builds a
18 * a complex FEBoxElement. It has no validation method.
19 *
20 *
21 * @author Walter A. Boring IV <waboring@newsblob.com>
22 * @author Suren Markossian <suren@bcsweb.com>
23 * @package phpHtmlLib
24 * @subpackage FormProcessing
25 *
26 * @copyright LGPL - See LICENCE
27 */
28 class FEDataList extends FEBoxElement {
29
30 /**
31 * Holds the list of available
32 * data elements
33 *
34 */
35 var $_data_list = array();
36
37 /**
38 * The list of disabled items
39 * (if any)
40 */
41 var $_disabled_items = array();
42
43 /**
44 * The constructor
45 *
46 * @param string text label for the element
47 * @param boolean is this a required element?
48 * @param int element width in characters, pixels (px), percentage (%) or elements (em)
49 * @param int element height in px
50 * @param array data_list - list of data elements (name=>value)
51 */
52 function FEDataList($label, $required = TRUE, $width = NULL, $height = NULL, $data_list = array()) {
53 $this->set_list_data( $data_list );
54 $this->FEBoxElement($label, $required, $width, $height);
55 }
56
57 /**
58 * This function sets the array of data
59 * to be used in the data list
60 *
61 * @param array data_list - list of data elements (name=>value)
62 */
63 function set_list_data( $data_list = array() ) {
64 $this->_data_list = $data_list;
65 }
66
67
68 /**
69 * This provides a method
70 * for the FormContent
71 * to get access to the
72 * text associated with a
73 * field. This is only available
74 * on FormElements that have text
75 * associated with a field.
76 * It is used during Confirmation
77 *
78 * @return string - the text associated
79 */
80 function get_value_text() {
81 $value = $this->get_value();
82 $flip = array_flip($this->_data_list);
83 if (array_key_exists($value, $flip)) {
84 return $flip[$value];
85 } else {
86 return NULL;
87 }
88 }
89
90 /**
91 *
92 * This function is responsible for performing complete
93 * validation and setting the appropriate error message
94 * in case of a failed validation
95 *
96 * @param FormValidation object
97 */
98 function validate(&$_FormValidation) {
99 // we make sure that the value is in the data list
100 $values = $this->get_value();
101 if (is_array($values) ) {
102 foreach( $values as $value ) {
103 if (!in_array($value, $this->_data_list)) {
104 $this->set_error_message("Invalid value");
105 return FALSE;
106 }
107 }
108 } else {
109 if (!in_array($values, $this->_data_list)) {
110 $this->set_error_message("Invalid value");
111 return FALSE;
112 }
113 }
114 return TRUE;
115 }
116
117 /**
118 * This method allows you to disable one of the items
119 * in the list of checkboxes.
120 *
121 * @param string the name of the checkbox to disable
122 * @return none
123 */
124 function disable_item($name) {
125 $this->_disabled_items[$name] = 1;
126 }
127 }
128 ?>

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed