Code cleaning and bug fixes
[banana.git] / examples / spoolgen.php
1 #!/usr/bin/php5
2 <?php
3 /********************************************************************************
4 * spoolgen.php : spool generation
5 * --------------
6 *
7 * This file is part of the banana distribution
8 * Copyright: See COPYING files that comes with this distribution
9 ********************************************************************************/
10
11 require_once("banana/banana.inc.php");
12
13 $opt = getopt('u:p:h');
14
15 if(isset($opt['h'])) {
16 echo <<<EOF
17 usage: spoolgen.php [ -u user ] [ -p pass ]
18 create all spools, using user user and pass pass
19 EOF;
20 exit;
21 }
22
23 class MyBanana extends Banana
24 {
25 public function __construct()
26 {
27 global $opt;
28 Banana::$host = "news://{$opt['u']}:{$opt['p']}@localhost:119/\n";
29 echo Banana::$host;
30 parent::__construct();
31 }
32
33 private function checkErrors()
34 {
35 if (Banana::$protocole->lastErrno()) {
36 echo "\nL'erreur suivante s'est produite : "
37 . Banana::$protocole->lastErrno() . " "
38 . Banana::$protocole->lastError() . "\n";
39 exit;
40 }
41 }
42
43 public function createAllSpool()
44 {
45 $this->checkErrors();
46 $groups = Banana::$protocole->getBoxList();
47 $this->checkErrors();
48
49 foreach (array_keys($groups) as $g) {
50 print "Generating spool for $g : ";
51 Banana::$group = $g;
52 $spool = $this->loadSpool($g);
53 $this->checkErrors();
54 print "done.\n";
55 unset($spool);
56 }
57 }
58 }
59
60
61 $banana = new MyBanana();
62 $banana->createAllSpool();
63
64 // vim:set et sw=4 sts=4 ts=4
65 ?>