blob: 7cc395f0816582e18dc2408e303ccdd11633393f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
<?php
// ------------------------------------------------------------------------- //
function cleanall($dir = null)
{
if ($dir !== null) {
$statedir = $dir;
} else {
$statedir = $GLOBALS['statedir'];
}
if (file_exists($statedir)) {
$dp = opendir($statedir);
while ($ent = readdir($dp)) {
if (in_array($ent, array('.', '..'))) {
continue;
}
if (is_dir($statedir . DIRECTORY_SEPARATOR . $ent)) {
cleanall($statedir . DIRECTORY_SEPARATOR . $ent);
continue;
}
unlink($statedir . DIRECTORY_SEPARATOR . $ent);
}
closedir($dp);
rmdir($statedir);
}
}
function dumpall(&$reg)
{
print "dumping registry...\n";
$infos = $reg->allPackageInfo();
foreach ($infos as $channel => $info) {
echo "channel $channel:\n";
foreach ($info as $pkg) {
print $pkg["name"] . ":";
unset($pkg["name"]);
foreach ($pkg as $k => $v) {
if ($k == '_lastmodified') continue;
if (is_array($v) && $k == 'filelist') {
print " $k=array(";
$i = 0;
foreach ($v as $k2 => $v2) {
if ($i++ > 0) print ",";
print "{$k2}[";
$j = 0;
foreach ($v2 as $k3 => $v3) {
if ($j++ > 0) print ",";
print "$k3=$v3";
}
print "]";
}
print ")";
} else {
print " $k=\"$v\"";
}
}
print "\n";
}
}
print "dump done\n";
}
require_once 'PEAR/ErrorStack.php';
function dump_error($err)
{
echo "caught ErrorStack error:\n";
echo "message: ". $err['message'] . "\n";
echo "code: ". $err['code'] . "\n";
}
PEAR_ErrorStack::setDefaultCallback('dump_error');
register_shutdown_function('cleanall');
?>
|