"; $sect = array(); for ($i=0; $isections); $i++) { $sect = $this->sections[$i]; // echo $sect[0]."
"; if ($sect[0] == $s) { // echo "Found ".$sect[0]."
"; return $sect[1]; } } // echo "Didn't find ".$s."
"; } cfunction get($s) { $class = explode(".", $s); $sect = $this->getSection($class[0]); $values = array(); $values = $sect[1]; for ($i=0; $i"; if ($values[0] == $class[1]) { // echo "Found ".$values[0]."
"; return $values[1]; } } // echo "Didn't find ".$class[1]."
"; } 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; $istripString($av_pair[1], $t)); // echo "
  • ".$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 "
      "; $this->sections[$i] = $this->getStatement($tok); // echo "
    \n"; $end = strpos($s, "}"); $i++; } // echo count($this->sections)." sections
    "; } cfunction getStatement($s) { $values[0] = $this->getName($s); // echo "
  • Name ".$values[0]; $body = $this->getBody($s); // echo "
  • Values
      "; $values[1] = $this->getValues($body); // echo "
  • "; return $values; } cfunction loadPreferences() { if (count($preferences) != 0) { echo "I have got ".count($this->sections)." preferences here
    \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
    \n"; } else { //echo "I dont have attribute_names here
    \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:".count($this->attribute_names)."\n"; // for ($i=0; $iattribute_names)-1; $i++) { // echo $this->attribute_names[$i][0]." - ".$this->attribute_names[$i][1]." - ".$this->attribute_names[$i][2]."
    \n"; // } return $this->attribute_names; } cfunction stripString($string, $tokens) { $s = $string; for ($i=0; $i