opencity-labs / windmill-tools
Strumenti per le integrazioni e gli automatismi
1.3.1
2025-05-23 18:44 UTC
Requires
- php: >= 8.3.0
- ext-curl: *
- ext-dom: *
- ext-json: *
- ext-simplexml: *
- guzzlehttp/guzzle: ^7.9
- opencontent/googlesheet: *
- psr/log: ^3.0
- zetacomponents/base: *
README
Jiride
require '/vendor/autoload.php';
$logger = new Opencontent\Logger();
$logger::$output = 'INFO';
//'0282' => ['Interrogazione'],
//'0242' => ['Mozione'],
//'0302' => ['Interpellanza'],
$type = '0242';
$doUpdate = false;
if (!isset(\Opencontent\Jiride\Pusher::$types[$type])) {
$logger->error("Tipo $type non gestito");
exit(1);
}
try {
$client = new \Opencontent\Jiride\Client(['CertFile' => 'Bag Attributes\n localKeyID:...']);
$data = $client->getDocuments($type);
$logger->info("Found " . count($data) . " documents " . \Opencontent\Jiride\Pusher::$types[$type]);
$apiClient = new \Opencontent\ApiClient(
'https://www.example.com',
'user',
'password'
);
$results = [];
foreach ($data as $item) {
$pusher = new \Opencontent\Jiride\Pusher($client, $apiClient, $logger);
$results[] = $pusher->push($item, $type, $doUpdate);
}
print_r($results);
} catch (Throwable $e) {
$logger->error($e->getMessage());
}
IMU
require '/vendor/autoload.php';
$logger = new \Opencontent\Logger();
$logger::$output = 'DEBUG';
$spreadsheetUrl = 'https://docs.google.com/spreadsheets/d/....';
$sheetTitle = 'Dati delle aliquote';
$tenantId = '12a34b56-1509-408c-b101-3b1a28109329';
$year = 2024;
$storageBaseUrl = 'https://api.example.com/m/v1/';
$username = 'username';
$password = 'password';
$logger->info('Ottengo i dati da ' . $spreadsheetUrl);
try {
$sheet = new \Opencontent\IMU\Sheet(
$spreadsheetUrl,
$sheetTitle,
'/path/to/google_credentials.json'
);
$payloads = $sheet->getPayloads();
$directus = \Opencontent\Directus\Factory::createClient($storageBaseUrl, $username, $password);
$pusher = new \Opencontent\IMU\Pusher($directus, $logger);
$results = $pusher->push($tenantId, $year, $payloads);
print_r($results);
}catch (Throwable $exception){
$logger->error($exception->getMessage());
}
OpenAgenda Legacy
require '/vendor/autoload.php';
$logger = new Opencontent\Logger();
$logger::$output = 'DEBUG';
try {
$apiClient = new \Opencontent\ApiClient(
'https://www.example.com',
'user',
'password'
);
$eventId = 'event-id-or-remote-id';
$pusher = new \Opencontent\OpenAgendaLegacy\Pusher(
$id,
$apiClient,
);
$result = $pusher->push();
print_r($result);
}catch (Throwable $exception){
$logger->error($exception->getMessage());
}