rejetto forum

parsing hfs.ini in PHP

raybob · 1 · 14835

0 Members and 1 Guest are viewing this topic.

Offline raybob

  • Tireless poster
  • ****
    • Posts: 454
    • View Profile
    • FileSplat.com
I don't know if anyone would ever have any use for this but I figured I'd share it... here's a PHP script that loads, parses and returns an array of keys in hfs.ini, including separating every account and decoding the usernames and notes.

Code: [Select]
<?phpfunction loadHFS($file) {	$output = array();	$hfsini = preg_split("/\r\n|\n|\r/", file_get_contents("hfs.ini"));	foreach ($hfsini as $string) { if ($string) {		$split = explode("=",$string,2);				if (isset($split[0]) && isset($split[1])) { $output[$split[0]] = $split[1]; }	}}	$accounts = explode(";",$output['accounts']); $output['accounts'] = array();	foreach ($accounts as $string) { if ($string) {		$string = explode("|",$string); $account = array();				foreach ($string as $info) {					$split = explode(':',$info,2);					if (isset($split[0]) && isset($split[1])) { $account[$split[0]] = $split[1]; }		}				if (!empty($account['login'])) { $account['login'] = explode(":",base64_decode($account['login'])); }				if (!empty($account['notes'])) {					$notes = preg_split("/\r\n|\n|\r/",zlib_decode(base64_decode($account['notes']))); $data = array();						foreach ($notes as $note) {							$split = explode("=",$note);							$data[$split[0]] = $split[1];			}						$account['notes'] = $data;		}				array_push($output['accounts'],$account);	}}		return $output;}print_r( loadHFS("hfs.ini") );?>