diff options
author | Remi Collet <fedora@famillecollet.com> | 2012-06-10 07:17:36 +0200 |
---|---|---|
committer | Remi Collet <fedora@famillecollet.com> | 2012-06-10 07:17:36 +0200 |
commit | 0bf18fff7dff14f81c4ba0b16cab92b42b3861f7 (patch) | |
tree | 2bacbfde4baf2d3d0c98a1a9cad5137dab352db7 /strip.php |
repo reorg
Diffstat (limited to 'strip.php')
-rw-r--r-- | strip.php | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/strip.php b/strip.php new file mode 100644 index 0000000..5c5216b --- /dev/null +++ b/strip.php @@ -0,0 +1,35 @@ +<?php + +# +# strip.php /path/to/file key_name +# +# Takes a file as input and a string prefix; reads +# the file as a serialized data blob and removes a +# key with name key_name from the hash. +# Serializes again and writes output to stdout. +# + +$file = $_SERVER['argv'][1]; +$key = $_SERVER['argv'][2]; + +function remove_key($array, $name) { + if (array_key_exists($name, $array)) { + unset($array[$name]); + } + + return $array; +} + +$input = file_get_contents($file); + +# Special case for /etc/pear.conf. +if (strncmp($input, "#PEAR_Config 0.9\n", 17) == 0) { + echo substr($input, 0, 17); + $s = substr($input, 17); +} else { + $s = $input; +} + +echo serialize(remove_key(unserialize($s), $key)); + +?>
\ No newline at end of file |