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
|
||||
/*******************************************************************************
|
||||
|
||||
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
|
||||
{
|
||||
public $plugin_description = 'Plugin to demo Poser customization';
|
||||
public $plugin_settings = array(
|
||||
'Foo' => array('default'=>'Bar', 'label'=>'Foo',
|
||||
'description'=>'Some important foo-related setting'),
|
||||
);
|
||||
|
||||
public $plugin_settings = [
|
||||
|
||||
'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