404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@13.58.61.176: ~ $
<?php

class DAttrBase
{
	public $_htmlName;
	public $_key;
	public $_helpKey;
	public $_type;
	public $_minVal;
	public $_maxVal;
	public $_inputType;
	public $_inputAttr;
	public $_label;
	public $_allowNull;
	public $_glue;
	public $_href;
	public $_hrefLink;
	public $_multiInd;
	public $_FDE = 'YYY'; //File:Display:Editable
	public $_note;
	public $_icon;
	public $_linkedkeys;

	public function __construct($key, $type, $label, $inputType=null, $allowNull=true,
								$min=null, $max=null, $inputAttr=null, $multiInd=0, $helpKey=null)
	{
		$this->_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 .= '<span class="field_novalue">Not Set</span>';
			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 .= '<span class="field_error">*' . $err . '</span><br>';
		}

		if ($this->_href) {
			$link = $this->_hrefLink;
			if (strpos($link, '$V')) {
				$link = str_replace('$V', urlencode($value), $link);
			}
			$o .= '<span class="field_url"><a href="' . $link . '">';
		} elseif ($refUrl) {
			$o .= '<span class="field_refUrl"><a href="' . $refUrl . '">';
		}


		if ($this->_type === 'bool') {
			if ($value === '1') {
				$o .= 'Yes';
			} elseif ($value === '0') {
				$o .= 'No';
			} else {
				$o .= '<span class="field_novalue">Not Set</span>';
			}
		} else if ($this->_key == "note") {
			$o .= '<textarea readonly rows=4 cols=60 style="width:100%">' . $quoted_value . '</textarea>';
		} 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 .= '<img src="/static/images/graphics/' . $gif . '" width="12" height="12"> ';
				$o .= $name . '&nbsp;&nbsp;&nbsp;';
			}
		} elseif ($this->_inputType === 'textarea1') {
			$o .= '<textarea readonly ' . $this->_inputAttr . '>' . $quoted_value . '</textarea>';
		} elseif ($this->_inputType === 'text') {
			$o .= '<span class="field_text">' . $quoted_value . '</span>';
		} elseif ($this->_type == 'ctxseq') {
			$o = $value . '&nbsp;&nbsp;<a href=' . $this->_hrefLink . $value . '>&nbsp;+&nbsp;</a>';
			$o .= '/<a href=' . $this->_hrefLink . '-' . $value . '>&nbsp;-&nbsp;';
		} elseif ($this->_type == 'action') {
			$o .= $value;
		} elseif ($value) {
			$o .= htmlspecialchars($value);
		}


		if ($this->_href || $refUrl) {
			$o .= '</a></span>';
		}
		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 .= '<option disabled ';
					if ($selValue === null || $selValue === '') {
						$o .= 'selected';
					}
				} else {
					$o .= '<option value="' . $key . '"';
					if ($key == $selValue) {
						if (!($selValue === '' && $key === 0) && !($selValue === null && $key === 0) && !($selValue === '0' && $key === '') && !($selValue === 0 && $key === '')) {
							$o .= ' selected';
						}
					}
				}
				$o .= ">$value</option>\n";
			}
		}
		return $o;
	}

	public function extractPost()
	{
		$cval = null;
		$postVal = DUtil::grab_input("post", $this->_htmlName);
		if ($this->_multiInd == 2) {
			$cval = [];
			$v = preg_split("/\n+/", $postVal, -1, PREG_SPLIT_NO_EMPTY);
			foreach ($v as $vi) {
				$cval[] = new CVal(trim($vi));
			}
		} elseif ($this->_type === 'checkboxOr') {
			$value = $this->extractCheckBoxOr();
			$cval = new CVal($value);
		} else {
			$value = trim($postVal);
			if ($this->_multiInd == 1) {
				$this->extractSplitMultiple($value);
			}
			if ($this->_inputType === 'textarea1') {
				$value = "\n$value\n";  // add line break for easy editing
			}
			$cval = new CVal($value);
		}
		return $cval;
	}

	public function toHtml(&$data, $refUrl = null, $linkedData = null)
	{
		$o = '';
		if ($this->_type == 'action') {
			$o .= $this->toHtmlContent(new CVal($data));
		} elseif (is_array($data)) {
			for ($i = 0; $i < count($data); ++$i) {
				$o .= $this->toHtmlContent($data[$i], $refUrl);
				$o .= '<br>';
			}
		} else {
			$o .= $this->toHtmlContent($data, $refUrl);
		}
		return $o;
	}

	public function toHtmlInput(&$data, $seq = null, $isDisable = false)
	{
		$err = '';
		if (is_array($data)) {
			$value = [];
			foreach ($data as $d) {
				$value[] = $d->GetVal();
				$e1 = $d->GetErr();
				if ($e1) {
					$err .= $e1 . '<br>';
				}
			}
		} else {
			if ($data) {
				$value = $data->GetVal();
				$err = $data->GetErr();
			} else {
				$value = null;
			}
		}

		if (is_array($value) && $this->_inputType != 'checkbox') {
			if ($this->_multiInd == 1) {
				$glue = ', ';
			} else {
				$glue = "\n";
			}
			$value = implode($glue, $value);
		}
		$name = $this->_htmlName;
		if ($seq) {
			$name .= $seq;
		}

		$inputAttr = $this->_inputAttr;
		if ($isDisable) {
			$inputAttr .= ' disabled';
		}

		$quoted_value = ($value !== null) ? htmlspecialchars($value, ENT_QUOTES) : $value;
		$input = '';
		$note = $this->getNote();
		if ($note) {
			$input .= '<span class="field_note">' . htmlspecialchars($note, ENT_QUOTES) . '</span><br>';
		}
		if ($err) {
			$input .= '<span class="field_error">*';
			$type3 = substr($this->_type, 0, 3);
			if ($type3 == 'fil' || $type3 == 'pat') {
				$input .= $err . '</span><br>';
			} else {
				$input .= htmlspecialchars($err, ENT_QUOTES) . '</span><br>';
			}
		}

		$style = 'xtbl_value';
		if ($this->_inputType === 'text') {
			$input .= '<input class="' . $style . '" type="text" name="' . $this->_htmlName . '" ' . $inputAttr . ' value="' . $quoted_value . '">';
			return $input;
		}
		if ($this->_inputType === 'password') {
			$input .= '<input class="' . $style . '" type="password" name="' . $this->_htmlName . '" ' . $inputAttr . ' value="' . $value . '">';
			return $input;
		}
		if ($this->_inputType === 'textarea' || $this->_inputType === 'textarea1') {
			$input .= '<textarea name="' . $name . '" ' . $inputAttr . '>' . $quoted_value . '</textarea>';
			return $input;
		}
		if ($this->_inputType === 'radio' && $this->_type === 'bool') {
			$input .= '<input type="radio" id="' . $name . '1" name="' . $name . '" ' . $inputAttr . ' value="1" ';
			if ($value == '1') {
				$input .= 'checked';
			}
			$input .= '><label for="' . $name . '1"> Yes </label>&nbsp;&nbsp;&nbsp;&nbsp;';
			$input .= '<input type="radio" id="' . $name . '0" name="' . $name . '" ' . $inputAttr . ' value="0" ';
			if ($value == '0') {
				$input .= 'checked';
			}
			$input .= '><label for="' . $name . '0"> No </label>';
			if ($this->_allowNull) {
				$input .= '&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" id="' . $name . '" name="' . $name . '" ' . $inputAttr . ' value="" ';
				if ($value != '0' && $value != '1') {
					$input .= 'checked';
				}
				$input .= '><label for="' . $name . '"> Not Set </label>';
			}
			return $input;
		}

		if ($this->_inputType === 'checkbox') {
			$id = $name . $value['val'];
			$input .= '<input type="checkbox" id="' . $id . '" name="' . $name . '" ' . $inputAttr . ' value="' . $value['val'] . '"';
			if ($value['chk']) {
				$input .= ' checked';
			}
			$input .= '><label for="' . $id . '"> ' . $value['val'] . ' </label>';
			return $input;
		}

		if ($this->_inputType === 'checkboxgroup') {
			if ($this->_minVal !== null && ($value === '' || $value === null)) {
				// has default value, for "Not set", set default val
				$value = $this->_minVal;
			}
			$js0 = $js1 = '';
			if (array_key_exists('0', $this->_maxVal) || array_key_exists('', $this->_maxVal)) {
				$chval = array_keys($this->_maxVal);
				foreach ($chval as $chv) {
					if ($chv == '0' || $chv === '') {
						$js1 = "document.confform.$name$chv.checked=false;";
					} else {
						$js0 .= "document.confform.$name$chv.checked=false;";
					}
				}
				$js1 = " onclick=\"$js1\"";
				$js0 = " onclick=\"$js0\"";
			}
			foreach ($this->_maxVal as $val => $disp) {
				$id = $name . $val;
				$input .= '<input type="checkbox" id="' . $id . '" name="' . $id . '" value="' . $val . '"';
				if (($value === $val) || ($value === '0' && $val === 0) || ($val !== '' && (((int) $value & (int) $val) > 0))) {
					$input .= ' checked';
				}
				$input .= ($val === '0' || $val === 0 || $val === '') ? $js0 : $js1;
				$input .= '><label for="' . $id . '"> ' . $disp . ' </label>&nbsp;&nbsp;';
			}
			return $input;
		}

		if ($this->_inputType === 'select') {
			$input .= '<select name="' . $name . '" ' . $inputAttr . '>';
			$input .= ($this->genOptions($this->_maxVal, $value));
			$input .= '</select>';
			return $input;
		}
	}

	public function populate_sel1_options($info, &$data)
	{
		$options = [];
		if ($this->_allowNull) {
			$options[''] = '';
		} else {
			$options['forcesel'] = '-- Please select --';
		}

		foreach ($this->_minVal as $loc) {
			$d = $info;
			$locs = explode(':', $loc);
			foreach ($locs as $l) {
				if (substr($l, 0, 2) == '$$') { //$$type!fcgi
					$t = strpos($l, '!');
					$tag = substr($l, 2, $t - 2);
					$tag0 = substr($l, $t + 1); // default
					if (isset($data[$tag]) && $data[$tag]->HasVal()) {
						$l = $data[$tag]->GetVal();
					} else {
						$l = $tag0;
					}
				}

				if (!empty($d[$l])) {
					$d = $d[$l];
				} else {
					$d = null;
					break;
				}
			}
			if ($d) {
				$options = $options + $d; // this is array add
			}
		}
		$this->_maxVal = $options;
	}

}

Filemanager

Name Type Size Permission Actions
ws Folder 0755
CValidation.php File 26.65 KB 0644
ConfData.php File 860 B 0644
ConfigFile.php File 13.87 KB 0644
ConfigFileEx.php File 4.68 KB 0644
CustStatusCode.php File 2.19 KB 0644
DATTR_HELP.php File 773 B 0644
DATTR_HELP_ITEM.php File 2.53 KB 0644
DAttrBase.php File 12.42 KB 0644
DFileSect.php File 582 B 0644
DPage.php File 3.75 KB 0644
DTbl.php File 17.52 KB 0644
DUtil.php File 4.22 KB 0644
DispInfo.php File 4.36 KB 0644
GUIBase.php File 3.25 KB 0644
PathTool.php File 3.02 KB 0644
XmlTreeBuilder.php File 3.27 KB 0644
blowfish.php File 25.68 KB 0644
jCryption.php File 15.92 KB 0644