mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-15 03:01:09 +08:00
Added include/preferences.inc to php3-tool. Aploligies for forgetting to add it before.
This commit is contained in:
parent
c6ae177b07
commit
2fcab46c60
155
contrib/php3-tool/include/preferences.inc
Normal file
155
contrib/php3-tool/include/preferences.inc
Normal file
@ -0,0 +1,155 @@
|
||||
<?
|
||||
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;
|
||||
}
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue
Block a user