Add demo task, and declare composer info
This commit is contained in:
parent
b832fc3604
commit
7e0de111c8
26
composer.json
Normal file
26
composer.json
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"name": "rattail/corepos-demo-poser",
|
||||||
|
"description": "Poser demo for CORE-POS",
|
||||||
|
"license": "GPL-3.0-or-later",
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Lance Edgar",
|
||||||
|
"email": "lance@edbob.org"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"require": {
|
||||||
|
"wikimedia/composer-merge-plugin": "^2.1",
|
||||||
|
"rattail/posterior": "^0.1.1"
|
||||||
|
},
|
||||||
|
"extra": {
|
||||||
|
"merge-plugin": {
|
||||||
|
"require": [
|
||||||
|
"../IS4C/composer.json"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"component-dir": "../IS4C/fannie/src/javascript/composer-components",
|
||||||
|
"vendor-dir": "../IS4C/vendor"
|
||||||
|
}
|
||||||
|
}
|
6987
composer.lock
generated
Normal file
6987
composer.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,33 +1,29 @@
|
||||||
<?php
|
<?php
|
||||||
/*******************************************************************************
|
|
||||||
|
|
||||||
Copyright 2014 Whole Foods Co-op
|
|
||||||
|
|
||||||
This file is part of IT CORE.
|
|
||||||
|
|
||||||
IT CORE is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
IT CORE is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
in the file license.txt along with IT CORE; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
|
|
||||||
*********************************************************************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
*/
|
|
||||||
class PoserDemo extends COREPOS\Fannie\API\FanniePlugin
|
class PoserDemo extends COREPOS\Fannie\API\FanniePlugin
|
||||||
{
|
{
|
||||||
public $plugin_description = 'Plugin to demo Poser customization';
|
public $plugin_description = 'Plugin to demo Poser customization';
|
||||||
public $plugin_settings = array(
|
|
||||||
'Foo' => array('default'=>'Bar', 'label'=>'Foo',
|
public $plugin_settings = [
|
||||||
'description'=>'Some important foo-related setting'),
|
|
||||||
);
|
'PoserDemoTailboneAPIURL' => [
|
||||||
|
'label' => 'Tailbone API URL',
|
||||||
|
'description' => 'Base URL for Tailbone API (usually ends with /api)',
|
||||||
|
],
|
||||||
|
|
||||||
|
'PoserDemoTailboneAPIToken' => [
|
||||||
|
'label' => 'Tailbone API Token',
|
||||||
|
'description' => 'User auth token for use with Tailbone API',
|
||||||
|
],
|
||||||
|
|
||||||
|
'PoserDemoTailboneAPIVerifySSL' => [
|
||||||
|
'label' => 'Verify SSL',
|
||||||
|
'description' => 'Validate SSL cert used by Tailbone API?',
|
||||||
|
'options' => [
|
||||||
|
"Yes, validate the SSL cert" => 'true',
|
||||||
|
"No, do not validate the SSL cert (SHOULD ONLY BE USED FOR TESTING!)" => 'false',
|
||||||
|
],
|
||||||
|
'default'=>'true',
|
||||||
|
],
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
54
office_plugins/PoserDemo/PoserDemoTask.php
Normal file
54
office_plugins/PoserDemo/PoserDemoTask.php
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
<?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");
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue