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
|
<?php
/**
* Compress the text of a wiki.
*
* Usage:
*
* Non-wikimedia
* php compressOld.php [options...]
*
* Wikimedia
* php compressOld.php <database> [options...]
*
* Options are:
* -t <type> set compression type to either:
* gzip: compress revisions independently
* concat: concatenate revisions and compress in chunks (default)
* -c <chunk-size> maximum number of revisions in a concat chunk
* -b <begin-date> earliest date to check for uncompressed revisions
* -e <end-date> latest revision date to compress
* -s <start-id> the old_id to start from
* --extdb <cluster> store specified revisions in an external cluster (untested)
*
* @file
* @ingroup Maintenance ExternalStorage
*/
$optionsWithArgs = array( 't', 'c', 's', 'f', 'h', 'extdb', 'endid', 'e' );
require_once( dirname(__FILE__) . '/../commandLine.inc' );
require_once( "compressOld.inc" );
if( !function_exists( "gzdeflate" ) ) {
print "You must enable zlib support in PHP to compress old revisions!\n";
print "Please see http://www.php.net/manual/en/ref.zlib.php\n\n";
wfDie();
}
$defaults = array(
't' => 'concat',
'c' => 20,
's' => 0,
'b' => '',
'e' => '',
'extdb' => '',
'endid' => false,
);
$options = $options + $defaults;
if ( $options['t'] != 'concat' && $options['t'] != 'gzip' ) {
print "Type \"{$options['t']}\" not supported\n";
}
if ( $options['extdb'] != '' ) {
print "Compressing database $wgDBname to external cluster {$options['extdb']}\n" . str_repeat('-', 76) . "\n\n";
} else {
print "Compressing database $wgDBname\n" . str_repeat('-', 76) . "\n\n";
}
$success = true;
if ( $options['t'] == 'concat' ) {
$success = compressWithConcat( $options['s'], $options['c'], $options['b'],
$options['e'], $options['extdb'], $options['endid'] );
} else {
compressOldPages( $options['s'], $options['extdb'] );
}
if ( $success ) {
print "Done.\n";
}
exit();
|