8 public function __construct()
16 $result = $this->cliParser->parse();
17 } catch (\Exception $exc) {
18 $this->cliParser->displayError($exc->getMessage());
22 if ($result->options['debug']) {
27 $deps = new Dependencies();
29 $GLOBALS['dbdsn'], $GLOBALS['dbuser'], $GLOBALS['dbpass']
32 $deps->options = $result->options;
34 $tasks = array_flip(explode(',', $result->options['tasks']));
36 if (isset($tasks['feeds'])) {
37 $this->runUpdateFeeds($deps);
39 if (isset($tasks['entries'])) {
40 $this->runUpdateEntries($deps);
42 if (isset($tasks['urls'])) {
43 $this->runPingUrls($deps);
45 } catch (\Exception $e) {
46 $msg = 'stapibas exception!' . "\n"
47 . 'Code: ' . $e->getCode() . "\n"
48 . 'Message: ' . $e->getMessage() . "\n";
49 file_put_contents('php://stderr', $msg);
54 protected function runUpdateFeeds($deps)
56 $uf = new Feed_UpdateFeeds($deps);
57 if ($deps->options['feed'] === null) {
60 $urlOrIds = explode(',', $deps->options['feed']);
61 $uf->updateSome($urlOrIds);
65 protected function runUpdateEntries($deps)
67 $ue = new Feed_UpdateEntries($deps);
68 if ($deps->options['entry'] === null) {
71 $urlOrIds = explode(',', $deps->options['entry']);
72 $ue->updateSome($urlOrIds);
76 protected function runPingUrls($deps)
78 $uf = new Feed_PingUrls($deps);
79 if ($deps->options['entryurl'] === null) {
82 $urls = explode(',', $deps->options['entryurl']);
88 public function setupCli()
90 $p = new \Console_CommandLine();
91 $p->description = 'Sends pingbacks to URLs linked in Atom feed entries';
92 $p->version = '0.0.1';
98 'long_name' => '--feed',
99 'description' => 'Update this feed URL or ID',
100 'help_name' => 'URL|ID',
101 'action' => 'StoreString'
108 'short_name' => '-e',
109 'long_name' => '--entry',
110 'description' => 'Update this feed entry URL or ID',
111 'help_name' => 'URL|ID',
112 'action' => 'StoreString'
119 'short_name' => '-t',
120 'long_name' => '--tasks',
121 'description' => 'Execute the given tasks (comma-separated: feeds,entries,urls)',
122 'help_name' => 'tasks',
123 'action' => 'StoreString',
124 'default' => 'feeds,entries,urls',
130 'long_name' => '--list-tasks',
131 'description' => 'Show all possible tasks',
133 'list' => array('feeds', 'entries', 'urls')
140 'short_name' => '-u',
141 'long_name' => '--url',
142 'description' => 'Ping this URL or ID',
143 'help_name' => 'URL|ID',
144 'action' => 'StoreString'
152 'short_name' => '-d',
153 'long_name' => '--debug',
154 'description' => "Output debug messages",
155 'action' => 'StoreTrue'
161 'short_name' => '-f',
162 'long_name' => '--force',
163 'description' => "Update even when resource did not change",
164 'action' => 'StoreTrue'
168 $this->cliParser = $p;