54 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?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");
 | 
						|
    }
 | 
						|
}
 |