]> granicus.if.org Git - php/commitdiff
file needed for registry test
authorGreg Beaver <cellog@php.net>
Tue, 1 Jun 2004 14:27:54 +0000 (14:27 +0000)
committerGreg Beaver <cellog@php.net>
Tue, 1 Jun 2004 14:27:54 +0000 (14:27 +0000)
pear/tests/pear_registry_inc.php.inc [new file with mode: 0644]

diff --git a/pear/tests/pear_registry_inc.php.inc b/pear/tests/pear_registry_inc.php.inc
new file mode 100644 (file)
index 0000000..7cc395f
--- /dev/null
@@ -0,0 +1,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');
+?>
\ No newline at end of file