_htmlName = $key; $this->_key = $key; $this->_type = $type; $this->_label = $label; $this->_minVal = $min; $this->_maxVal = $max; $this->_inputType = $inputType; $this->_inputAttr = $inputAttr; $this->_allowNull = $allowNull; $this->_multiInd = $multiInd; $this->_helpKey = ($helpKey == NULL)? $key:$helpKey; } public function dup($key, $label, $helpkey) { $cname = get_class($this); $d = new $cname($this->_key, $this->_type, $this->_label, $this->_inputType, $this->_allowNull, $this->_minVal, $this->_maxVal, $this->_inputAttr, $this->_multiInd, $this->_helpKey); $d->_htmlName = $this->_htmlName; $d->_glue = $this->_glue; $d->_href = $this->_href; $d->_hrefLink = $this->_hrefLink; $d->_FDE = $this->_FDE; $d->_note = $this->_note; $d->_icon = $this->_icon; $d->_linkedkeys = $this->_linkedkeys; if ( $key != NULL ) { $d->_htmlName = $key; $d->_key = $key; } if ($label != NULL) $d->_label = $label; if ($helpkey != NULL) $d->_helpKey = $helpkey; return $d; } protected function extractCheckBoxOr() { $value = 0; $novalue = 1; foreach ($this->_maxVal as $val => $disp) { $name = $this->_key . $val; if (isset($_POST[$name]) && ($val !== '')) { $novalue = 0; $value = $value | $val; } } return ( $novalue ? '' : $value ); } protected function extractSplitMultiple(&$value) { if ( $this->_glue == ' ' ) $vals = preg_split("/[,; ]+/", $value, -1, PREG_SPLIT_NO_EMPTY); else $vals = preg_split("/[,;]+/", $value, -1, PREG_SPLIT_NO_EMPTY); $vals1 = array(); foreach( $vals as $val ) { $val1 = trim($val); if ( strlen($val1) > 0 && !in_array($val1,$vals1)) { $vals1[] = $val1; } } if ( $this->_glue == ' ') $value = implode(' ', $vals1); else $value = implode(', ', $vals1); } protected function toHtmlContent($cval, $refUrl=NULL) { $o = ''; if ( $cval == NULL || !$cval->HasVal()) { $o .= 'Not Set'; return $o; } $value = $cval->GetVal(); $err = $cval->GetErr(); if ( $this->_type == 'sel1' && $value != NULL && !array_key_exists($value, $this->_maxVal) ) { $err = 'Invalid value - ' . htmlspecialchars($value,ENT_QUOTES); } else if ( $err != NULL ) { $type3 = substr($this->_type, 0, 3); if ( $type3 == 'fil' || $type3 == 'pat' ) { $validator = new ConfValidation(); $validator->chkAttr_file_val($this, $value, $err); //error_log('revalidate path ' . $value); } } if ( $err ) { $cval->SetErr($err); $o .= '*' . $err . '
'; } if ( $this->_href ) { $link = $this->_hrefLink; if ( strpos($link, '$V') ) { $link = str_replace('$V', urlencode($value), $link); } $o .= ''; } elseif ( $refUrl != NULL ) { $o .= ''; } if ( $this->_type === 'bool' ) { if ( $value === '1' ) { $o .= 'Yes'; } elseif ( $value === '0' ) { $o .= 'No'; } else { $o .= 'Not Set'; } } else if($this->_key == "note") { $o .= ''; } elseif ( $this->_type === 'sel' || $this->_type === 'sel1' ) { if ( $this->_maxVal != NULL && array_key_exists($value, $this->_maxVal) ) { $o .= $this->_maxVal[$value]; } else { $o .= htmlspecialchars($value,ENT_QUOTES); } } elseif ( $this->_type === 'checkboxOr' ) { if ($this->_minVal !== NULL && ($value === '' || $value === NULL) ) { // has default value, for "Not set", set default val $value = $this->_minVal; } foreach( $this->_maxVal as $val=>$name ) { if ( ($value === $val) || ($value === '0' && $val === 0) || ($value !== '' && $val !== '' && (intval($value) & intval($val)) > 0) ) { $gif = 'checked.gif'; } else { $gif = 'unchecked.gif'; } $o .= ' '; $o .= $name . '   '; } } elseif ( $this->_inputType === 'textarea1' ) { $o .= ''; } elseif ( $this->_inputType === 'text' ) { $o .= '' . htmlspecialchars($value, ENT_QUOTES) . ''; } elseif ( $this->_type == 'ctxseq' ) { $o = $value . '   + ' ; $o .= '/ - ' ; } elseif ( $this->_type == 'action' ) { $o .= $value; } else { $o .= htmlspecialchars($value); } if ( $this->_href || $refUrl != NULL) { $o .= ''; } return $o; } protected function getNote() { if ( $this->_note != NULL ) return $this->_note; if ( $this->_type == 'uint' ) { if ( $this->_maxVal ) return 'number valid range: '. $this->_minVal . ' - ' . $this->_maxVal; elseif ( $this->_minVal !== NULL ) return 'number >= '. $this->_minVal ; } else if ($this->_type == 'parse' && $this->_maxVal) { return 'Syntax: ' . $this->_maxVal; // parsehelp } return null; } protected function genOptions($options, $selValue) { $o = ''; if ( $options ) { foreach ( $options as $key => $value ) { if ($key === 'forcesel') { $o .= '