| 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 | ?> |