Glpi Telegram Full
Glpi Telegram Full
php
<?php
include('../../../inc/includes.php');
if (isset($_POST['update'])) {
$config->update($_POST);
Html::back();
}
// /front/config.form.php
<?php
include('../../../inc/includes.php');
Html::redirect($CFG_GLPI['root_doc'] .
'/plugins/telegramnotifier/front/config.php');
// /inc/config.class.php
<?php
class PluginTelegramnotifierConfig extends CommonDBTM {
static $rightname = 'config';
function showConfigForm() {
global $CFG_GLPI;
$config = self::getConfig();
echo "</table></div>";
Html::closeForm();
}
if (!$config->fields) {
return [
'bot_token' => '',
'chat_id' => ''
];
}
return $config->fields;
}
}
// /inc/notifier.class.php
<?php
class PluginTelegramnotifierNotifier {
static function sendNotification($ticket) {
$config = PluginTelegramnotifierConfig::getConfig();
if (empty($config['bot_token']) || empty($config['chat_id'])) {
Toolbox::logError('Configurações do Telegram não definidas');
return false;
}
$message = self::formatMessage($ticket);
return self::sendToTelegram($config['bot_token'], $config['chat_id'],
$message);
}
$options = [
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($data)
];
$ch = curl_init();
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return true;
}
}
// /locales/pt_BR.php
<?php
$LANG['telegramnotifier'] = [
'config' => 'Configuração do Telegram Notifier',
'bot_token' => 'Token do Bot',
'chat_id' => 'ID do Chat',
'save' => 'Salvar',
'test' => 'Testar Configuração'
];
// /pics/telegram.png
// [Aqui você precisará adicionar um ícone 32x32 para o plugin]