135 lines
4.0 KiB
PHP
135 lines
4.0 KiB
PHP
<?php
|
|
// Define path to application directory
|
|
defined('APPLICATION_PATH')
|
|
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../../application'));
|
|
|
|
// Define application environment
|
|
defined('APPLICATION_ENV')
|
|
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
|
|
|
|
// Ensure library/ is on include_path
|
|
set_include_path(implode(PATH_SEPARATOR, array(
|
|
realpath(APPLICATION_PATH . '/../library'),
|
|
get_include_path(),
|
|
)));
|
|
|
|
/** Zend_Application */
|
|
require_once 'Zend/Application.php';
|
|
|
|
// Create application, bootstrap, and run
|
|
$application = new Zend_Application(
|
|
APPLICATION_ENV,
|
|
APPLICATION_PATH . '/configs/application.ini'
|
|
);
|
|
|
|
try {
|
|
$opts = new Zend_Console_Getopt(
|
|
//Options
|
|
array(
|
|
'help|?' => "Display usage information.",
|
|
'list' => "List client and prestations.",
|
|
'generate' => "Generate",
|
|
'send=s' => "Generate send incron file [client]/[name]",
|
|
'read=s' => "Generate read incron file [client]/[name]",
|
|
)
|
|
);
|
|
$opts->parse();
|
|
} catch (Zend_Console_Getopt_Exception $e) {
|
|
echo $e->getUsageMessage();
|
|
exit;
|
|
}
|
|
|
|
//Usage
|
|
if(isset($opts->help))
|
|
{
|
|
echo $opts->getUsageMessage();
|
|
exit;
|
|
}
|
|
|
|
$prestations = include APPLICATION_PATH . '/../fileConfig.php';
|
|
|
|
if ($opts->list)
|
|
{
|
|
if (count($prestations)>0)
|
|
{
|
|
foreach ($prestations as $client => $params)
|
|
{
|
|
echo "Client : ".$client."\n";
|
|
foreach ($params['prestations'] as $i => $item)
|
|
{
|
|
echo " ";
|
|
echo $item['name'] . " : ".$item['type'];
|
|
if (array_key_exists('directory', $item)) {
|
|
echo " - " .$item['directory'];
|
|
}
|
|
echo "\n";
|
|
}
|
|
echo "\n";
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($opts->generate)
|
|
{
|
|
echo "Generate.\n";
|
|
|
|
if ($opts->send) {
|
|
|
|
$input = explode('/', $opts->send);
|
|
$client = $input[0];
|
|
$name = $input[1];
|
|
if (array_key_exists($client, $prestations))
|
|
{
|
|
foreach ($prestations[$client]['prestations'] as $item)
|
|
{
|
|
if ($item['name'] == $name)
|
|
{
|
|
$directory = 'send';
|
|
if (array_key_exists('directory', $item))
|
|
{
|
|
$directory = $item['directory'];
|
|
}
|
|
$fluxBasePath = '/home/data/' . strtolower($item['type']) . '/' . $client . '/' . $directory;
|
|
$file = __DIR__ . '/incron.d/' . strtolower($item['type']) . '_' . $client;
|
|
file_put_contents($file, "$fluxBasePath IN_CLOSE_WRITE php /home/batchFlux/fileSend.php --file $@/$# >> /home/log/send.log 2>&1");
|
|
echo "File created $file\n";
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
if ($opts->read) {
|
|
|
|
$input = explode('/', $opts->read);
|
|
$client = $input[0];
|
|
$name = $input[1];
|
|
if (array_key_exists($client, $prestations))
|
|
{
|
|
foreach ($prestations[$client]['prestations'] as $item)
|
|
{
|
|
if ($item['name'] == $name)
|
|
{
|
|
$directory = 'recv';
|
|
if (array_key_exists('directory', $item))
|
|
{
|
|
$directory = $item['directory'];
|
|
}
|
|
$fluxBasePath = '/home/data/' . strtolower($item['type']) . '/' . $client. '/' . $directory;
|
|
$file = __DIR__ . '/incron.d/' . strtolower($item['type']) . '_' . $client . '_recv';
|
|
file_put_contents($file, "$fluxBasePath IN_ACCESS php /home/batchFlux/fileRead.php --file $@/$# >> /home/log/read.log 2>&1");
|
|
echo "File created $file\n";
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
echo "Put the file to /etc/incron.d and restart incron.\n";
|
|
echo "Generate Ended.\n";
|
|
|
|
}
|
|
|
|
|
|
|