<?php /* * Code to parse a pfile from the MUD-Con base. Written by Myself and Davion. */ class pfile { protected $db; protected $path = "/home/alhaen/OtherRealm/account"; var $name; var $passwd; var $level; var $mud; var $url; var $mmade; function __construct($db) { $this->db = $db; } /* * Load a pfile. */ public function loadPfile($player) { $file = fopen($path . "/" . $player, 'r') or die("pfileParser failed."); while( false !== ($word = readWord($file) ) ) { if(!strcasecmp($word, 'Name') ) { $this->name = $this->sRead($file); continue; } if(!strcasecmp($word, 'Pswd') ) { $this->passwd = $this->sRead($file); continue; } if(!strcasecmp($word, 'Lvl' ) ) { $this->level = $this->nRead($file); continue; } if(!strcasecmp($word, 'CmnF' ) || !strcasecmp($word, 'ChnF') ) { $this->nRead($file); continue; } if(!strcasecmp($word, 'Read' ) ) { $this->sRead($file); continue; } if(!strcasecmp($word, 'Mud') ) { $this->mud = $this->sRead($file); continue; } if(!strcasecmp($word, 'Url') ) { $this->url = $this->sRead($file); continue; } if(!strcasecmp($word, 'MMade') ) { $this->mmade = $this->nRead($file); continue; } if(!strcasecmp($word, 'CPst') || !strcasecmp($word, 'CRpl') || !strcasecmp($word, 'CTpc')) { $this->sRead($file); continue; } if(!strcasecmp($word, "$" ) ) break; } fclose($file); } /* * Read a word until ' ' */ public function readWord($file) { $string = ''; while ( false !== ($c = fgetc($file)) ) { if ($c == ' ') return $string; $string .= $c; } return false; } /* * Read a string to ~ */ function sRead($file) { $string = ''; while( false !== ($c = fgetc($file) ) ) { if($c == '~' ) { fgetc($file); return $string; } $string .= $c; } return false; } /* * Read a # */ function nRead($file) { $number = ''; while(false !== ($c = fgetc($file) ) ) { if($c == "\n" ) return $number; $number .= $c; } return false; } } ?>