/[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.2 - (show annotations)
Sat Sep 20 00:20:15 2003 UTC (20 years, 11 months ago) by jonen
Branch: MAIN
Changes since 1.1: +18 -3 lines
+ updated whole phphtmllib to v2.3.0

1 <?php
2 /**
3 * This file contains the base FEDataList class
4 *
5 * $Id: FEDataList.inc,v 1.11 2003/07/16 01:04:37 hemna Exp $
6 *
7 * @author Walter A. Boring IV <waboring@buildabetterweb.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@buildabetterweb.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 constructor
39 *
40 * @param label string - text label for the element
41 * @param bool required - is this a required element
42 * @param array data_list - list of data elements (name=>value)
43 * @param int required - element width in characters, pixels (px), percentage (%) or elements (em)
44 */
45 function FEDataList($label, $required = TRUE, $width = NULL, $height = NULL, $data_list = array()) {
46 $this->FEBoxElement($label, $required, $width, $height);
47 $this->set_list_data( $data_list );
48 }
49
50 /**
51 * This function sets the array of data
52 * to be used in the data list
53 *
54 * @param array data_list - list of data elements (name=>value)
55 */
56 function set_list_data( $data_list = array() ) {
57 $this->_data_list = $data_list;
58 }
59
60
61 /**
62 * This provides a method
63 * for the FormContent
64 * to get access to the
65 * text associated with a
66 * field. This is only available
67 * on FormElements that have text
68 * associated with a field.
69 * It is used during Confirmation
70 *
71 * @param mixed - the value to look up
72 * @return string - the text associated
73 */
74 function get_value_text($value) {
75 $flip = array_flip($this->_data_list);
76 if (array_key_exists($value, $flip)) {
77 return $flip[$value];
78 } else {
79 return NULL;
80 }
81 }
82
83 /**
84 *
85 * This function is responsible for performing complete
86 * validation and setting the appropriate error message
87 * in case of a failed validation
88 *
89 * @param FormValidation object
90 */
91 function validate(&$_FormValidation) {
92 // we make sure that the value is in the data list
93 $values = $this->get_value();
94 if (is_array($values) ) {
95 foreach( $values as $value ) {
96 if (!in_array($value, $this->_data_list)) {
97 $this->set_error_message("Invalid value");
98 return FALSE;
99 }
100 }
101 } else {
102 if (!in_array($values, $this->_data_list)) {
103 $this->set_error_message("Invalid value");
104 return FALSE;
105 }
106 }
107
108
109 return TRUE;
110 }
111 }
112 ?>

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