corepos-demo-poser/office_plugins/PoserDemo/PoserDemoTask.php

55 lines
1.5 KiB
PHP
Raw Permalink Normal View History

<?php
class PoserDemoTask extends FannieTask
{
public $name = 'Poser Demo';
public $description = 'Demo command that tries to connect to
Tailbone API, and reports success/failure.
NOTE: This task is provided by the PoserDemo plugin;
please see that for settings to control behavior.';
public $default_schedule = array(
'min' => 0,
'hour' => 5,
'day' => '*',
'month' => '*',
'weekday' => '*',
);
public function run()
{
$this->cronMsg("hello from PoserDemo!", FannieLogger::INFO);
$settings = $this->config->get('PLUGIN_SETTINGS');
$url = $settings['PoserDemoTailboneAPIURL'];
if (!$url) {
$this->cronMsg("must define the Tailbone API URL", FannieLogger::ERROR);
return;
}
$token = $settings['PoserDemoTailboneAPIToken'];
if (!$token) {
$this->cronMsg("must define the Tailbone API token", FannieLogger::ERROR);
return;
}
$verifySSL = $settings['PoserDemoTailboneAPIVerifySSL'] === 'false' ? false : true;
$posterior = new \Rattail\Posterior\Client($url, $token, $verifySSL);
try {
$response = $posterior->get('/about');
} catch (Exception $e) {
$this->cronMsg($e, FannieLogger::ERROR);
return;
}
$body = $response->getBody();
$this->cronMsg("response body was: $body", FannieLogger::INFO);
print("$body\n");
}
}