acl node reset not working
[tine20] / tine20 / tine20.php
1 #!/usr/bin/env php
2 <?php
3 /**
4  * tine cli script 
5  *
6  * @package     Cli
7  * @license     http://www.gnu.org/licenses/agpl.html AGPL Version 3
8  * @author      Philipp Schüle <p.schuele@metaways.de>
9  * @copyright   Copyright (c) 2007-2012 Metaways Infosystems GmbH (http://www.metaways.de)
10  */
11
12 if (php_sapi_name() != 'cli') {
13     die('Not allowed: wrong sapi name!');
14 }
15
16 require_once 'bootstrap.php';
17
18 /**
19  * options
20  */
21 try {
22     $opts = new Zend_Console_Getopt(
23     array(
24         'help|h'                => 'Display this help Message',
25         'verbose|v'             => 'Output messages',
26         'config|c=s'            => 'Path to config.inc.php file',
27         'dry|d'                 => "Dry run - don't change anything",
28         'info|i'                => 'Get usage description of method',
29     
30         'method=s'              => 'Method to call [required]',
31         'username=s'            => 'Username',
32         'password=s'            => 'Password',
33         'passwordfile=s'        => 'Name of file that contains password',
34     ));
35     $opts->parse();
36 } catch (Zend_Console_Getopt_Exception $e) {
37    echo $e->getMessage() . "\n";
38    echo $e->getUsageMessage();
39    exit;
40 }
41
42 if (count($opts->toArray()) === 0 || $opts->h || empty($opts->method)) {
43     echo $opts->getUsageMessage();
44     exit;
45 }
46
47 if ($opts->config) {
48     // add path to config.inc.php to include path
49     $path = strstr($opts->config, 'config.inc.php') !== false ? dirname($opts->config) : $opts->config;
50     set_include_path($path . PATH_SEPARATOR . get_include_path());
51 }
52
53 // get username / password if not already set
54 if (! in_array($opts->method, Tinebase_Server_Cli::getAnonymousMethods($opts->method))) {
55     if (empty($opts->username)) {
56         $opts->username = Tinebase_Server_Cli::promptInput('username');
57     }
58     if (empty($opts->username)) {
59         echo "error: username must be given! exiting \n";
60         exit (1);
61     }
62     
63     if (empty($opts->password)) {
64         if (empty($opts->passwordfile)) {
65             $opts->password = Tinebase_Server_Cli::promptInput('password', TRUE);
66         } else {
67             $opts->password = Tinebase_Server_Cli::getPasswordFromFile($opts->passwordfile);
68         }
69     }
70 }
71
72 Tinebase_Core::set('opts', $opts);
73 Tinebase_Core::dispatchRequest();