function writeNode($fp, $valueTree, $key = null, $indent = 0) { if (is_null($key)) { fwrite($fp, "return "); } else { fwrite($fp, str_repeat(' ', $indent) . "'{$key}' => "); } if (0 == ($count = count($valueTree))) { fwrite($fp, 'true'); } else { fwrite($fp, "array(\n"); for ($keys = array_keys($valueTree), $i = 0; $i < $count; $i++) { writeNode($fp, $valueTree[$keys[$i]], $keys[$i], $indent + 1); if ($i + 1 != $count) { fwrite($fp, ",\n"); } else { fwrite($fp, "\n"); } } fwrite($fp, str_repeat(' ', $indent) . ")"); } }
<?php include_once 'class.xml.php'; define('_RANK_DATA_', '../data/rank.xml'); if (isset($_POST['write'])) { writeNode($_POST['name'], $_POST['time'], $_POST['errors'], $_POST['points']); } function writeNode($n, $t, $e, $p) { if (!file_exists(_RANK_DATA_)) { print -1; exit; } $dat = xml::getInstance(_RANK_DATA_); $data = array('name' => $n, 'time' => $t, 'errors' => $e, 'points' => $p); $dat->write_config($data, false); print 1; exit; }