MediaWiki REL1_33
cdb.php
Go to the documentation of this file.
1<?php
27
28require_once __DIR__ . '/commandLine.inc';
29
30function cdbShowHelp( $command ) {
31 $commandList = [
32 'load' => 'load a cdb file for reading',
33 'get' => 'get a value for a key',
34 'exit' => 'exit cdb',
35 'quit' => 'exit cdb',
36 'help' => 'help about a command',
37 ];
38 if ( !$command ) {
39 $command = 'fullhelp';
40 }
41 if ( $command === 'fullhelp' ) {
42 $max_cmd_len = max( array_map( 'strlen', array_keys( $commandList ) ) );
43 foreach ( $commandList as $cmd => $desc ) {
44 printf( "%-{$max_cmd_len}s: %s\n", $cmd, $desc );
45 }
46 } elseif ( isset( $commandList[$command] ) ) {
47 print "$command: $commandList[$command]\n";
48 } else {
49 print "$command: command does not exist or no help for it\n";
50 }
51}
52
53do {
54 $bad = false;
55 $showhelp = false;
56 $quit = false;
57 static $fileHandle = false;
58
60 if ( $line === false ) {
61 exit;
62 }
63
64 $args = explode( ' ', $line, 2 );
66
67 // process command
68 switch ( $command ) {
69 case 'help':
70 // show an help message
72 break;
73 case 'load':
74 if ( !isset( $args[0] ) ) {
75 print "Need a filename there buddy\n";
76 break;
77 }
78 $file = $args[0];
79 print "Loading cdb file $file...";
80 try {
81 $fileHandle = CdbReader::open( $file );
82 } catch ( CdbException $e ) {
83 }
84
85 if ( !$fileHandle ) {
86 print "not a cdb file or unable to read it\n";
87 } else {
88 print "ok\n";
89 }
90 break;
91 case 'get':
92 if ( !$fileHandle ) {
93 print "Need to load a cdb file first\n";
94 break;
95 }
96 if ( !isset( $args[0] ) ) {
97 print "Need to specify a key, Luke\n";
98 break;
99 }
100 try {
101 $res = $fileHandle->get( $args[0] );
102 } catch ( CdbException $e ) {
103 print "Unable to read key from file\n";
104 break;
105 }
106 if ( $res === false ) {
107 print "No such key/value pair\n";
108 } elseif ( is_string( $res ) ) {
109 print "$res\n";
110 } else {
111 var_dump( $res );
112 }
113 break;
114 case 'quit':
115 case 'exit':
116 $quit = true;
117 break;
118
119 default:
120 $bad = true;
121 } // switch() end
122
123 if ( $bad ) {
124 if ( $command ) {
125 print "Bad command\n";
126 }
127 } else {
128 if ( function_exists( 'readline_add_history' ) ) {
130 }
131 }
132} while ( !$quit );
and that you know you can do these things To protect your we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights These restrictions translate to certain responsibilities for you if you distribute copies of the or if you modify it For if you distribute copies of such a whether gratis or for a you must give the recipients all the rights that you have You must make sure that receive or can get the source code And you must show them these terms so they know their rights We protect your rights with two and(2) offer you this license which gives you legal permission to copy
cdbShowHelp( $command)
Definition cdb.php:30
$line
Definition cdb.php:59
static $fileHandle
Definition cdb.php:57
$command
Definition cdb.php:65
$showhelp
Definition cdb.php:55
$quit
Definition cdb.php:56
if( $line===false) $args
Definition cdb.php:64
static readconsole( $prompt='> ')
Prompt the console for input.
$res
Definition database.txt:21
returning false will NOT prevent logging $e
Definition hooks.txt:2175
while(( $__line=Maintenance::readconsole()) !==false) print
Definition eval.php:64