_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) { $d->_htmlName = $key; $d->_key = $key; } if ($label) { $d->_label = $label; } if ($helpkey) { $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 = []; 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(); $quoted_value = ($value !== null) ? htmlspecialchars($value, ENT_QUOTES) : ''; if ($this->_type == 'sel1' && $value && !array_key_exists($value, $this->_maxVal)) { $err = 'Invalid value - ' . $quoted_value; } elseif ($err) { $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) { $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 && array_key_exists($value, $this->_maxVal)) { $o .= $this->_maxVal[$value]; } else { $o .= $quoted_value; } } 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 .= '' . $quoted_value . ''; } elseif ($this->_type == 'ctxseq') { $o = $value . '   + '; $o .= '/ - '; } elseif ($this->_type == 'action') { $o .= $value; } elseif ($value) { $o .= htmlspecialchars($value); } if ($this->_href || $refUrl) { $o .= ''; } return $o; } protected function getNote() { if ($this->_note) { return $this->_note; } if ($this->_type == 'uint') { if ($this->_maxVal) { return 'number valid range: ' . $this->_minVal . ' - ' . $this->_maxVal; } if ($this->_minVal) { return 'number >= ' . $this->_minVal; } } elseif ($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 .= '