⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 preferences.inc

📁 开放源码的ldap系统
💻 INC
字号:
<?class preferences {	var $name;	var $sections = array();	var $base_dn;	var $host;	var $attribute_names = array();	cfunction getSection($s) {	////	echo "getSection(".$s.")<br>";		$sect = array();		for ($i=0; $i<count($this->sections); $i++) {			$sect = $this->sections[$i];	//		echo $sect[0]."<br>";			if ($sect[0] == $s) {	//			echo "Found ".$sect[0]."<br>";				return $sect[1];			}			}	//	echo "Didn't find ".$s."<br>";	}	cfunction get($s) {		$class = explode(".", $s);		$sect = $this->getSection($class[0]);		$values = array();		$values = $sect[1];		for ($i=0; $i<count($sect); $i++) {			$values = $sect[$i];	//		echo $values[0]."<br>";			if ($values[0] == $class[1]) {	//			echo "Found ".$values[0]."<br>";				return $values[1];			}		}	//	echo "Didn't find ".$class[1]."<br>";	}	cfunction getName($s) {		$n = trim(strtok($s, "{"));		return $n;	}	cfunction getBody($s) {		$i = strpos($s, "{") + 1;		$j = strpos($s, "}") - 1;		$tok = substr($s, $i, $j-$i);		return $tok;	}	cfunction getValues($b) {		$t = '" ","\" ","\n"';		$av_pairs = array();		$pairs = array();		$av_pair = array();		$pairs = explode(";", $b);		for ($i=0; $i<count($pairs)-1; $i++) {			$av_pair = explode(":", $pairs[$i]);			$av_pair[0] = trim($av_pair[0]);			$av_pair[1] = trim($this->stripString($av_pair[1], $t));	//		echo "<li>".$av_pair[0].":".$av_pair[1];			$av_pairs[$i] = $av_pair;		}		return $av_pairs;	}	cfunction getStatements($s) {		$i = 0;		$end = strpos($s, "}");		while($end != FALSE) {			$tok = substr($s, 0, $end+1);			$s = substr($s, $end+1, strlen($s));	//		echo "<ul>";			$this->sections[$i] = $this->getStatement($tok);	//		echo "</ul>\n";			$end = strpos($s, "}");			$i++;		}	//	echo count($this->sections)." sections<br>";	}	cfunction getStatement($s) {		$values[0] = $this->getName($s);//		echo "<li>Name ".$values[0];		$body = $this->getBody($s);//		echo "<li>Values<ul>";		$values[1] = $this->getValues($body);//		echo "</ul></li>";		return $values;	}	cfunction loadPreferences() {		if (count($preferences) != 0) {			echo "I have got ".count($this->sections)." preferences here<br>\n";		}		else {			$fp = fopen("php3tool.conf", "r");			$i = 0;			$string = "";			while (!feof($fp)) {				$string .= fgets($fp, 80);			}			fclose($fp);			$this->getStatements($string);		}		$this->loadAttributeNames($this->get("PATH.attributes"));	}	cfunction loadAttributeNames($s = "at.conf") {	//	global $attribute_names;		if (count($this->attribute_names) != 0) {			//This is bullshit here..how do we make php3			//preserve an array in memory between re-loads?			//And no, I'm not going to send it every time			//I make a subsequent request..			//If we don't fix these things it won't run			//on anything smaller than a StarFire 10000			//EVEN THOUGH this stuff is suprisingly fast.			echo "I have got attribute_names here<br>\n";		}		else {			//echo "I dont have attribute_names here<br>\n";			$fp = fopen($s, "r");			$i = 0;			while (!feof($fp)) {				$string = "";				$foo = "";				$string = fgets($fp, 80);				$foo = strtok($string, ",");				$this->attribute_names[$i][0] = $foo;				$foo = strtok(",");				$this->attribute_names[$i][1] = $foo;				$foo = strtok("\n");				$this->attribute_names[$i][2] = $foo;				$i++;			}		}	//	echo "Hello world:<b>".count($this->attribute_names)."</b>\n";	//	for ($i=0; $i<count($this->attribute_names)-1; $i++) {	//		echo $this->attribute_names[$i][0]." - <strong>".$this->attribute_names[$i][1]."</strong> - ".$this->attribute_names[$i][2]."<br>\n";	//	}			return $this->attribute_names;	}	cfunction stripString($string, $tokens) {		$s = $string;		for ($i=0; $i<count($tokens); $i++) {			$result = "";			$tok = strtok($s, $tokens[$i]);			while($tok) {				$result .= $tok;			//	echo "result = ".$result."\n";				$tok = strtok($tokens[$i]);			}			$s = $result;		//	echo "s = ".$s."\n";		}	//	echo "result = ".$result."\n";		return $result;	}}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -