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