PABX da Simples IP
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123 lines
4.1 KiB

<?php
$tpLayout = 1;
$upload = 1;
$template = 'cadastros/integAtiva/integCalendar.tpl';
define('CONF_PATH_INTEGRACAO', '/var/lib/asterisk/scripts/integracao/custom/GoogleCalendar/');
define('CONF_PATH_INTEGRACAO_DEV', str_replace('lib/asterisk', 'www/html/aplicativo/asterisk/var_lib_asterisk', CONF_PATH_INTEGRACAO));
define('CONF_PATH_CLASS', 'GoogleCalendar.php');
define('CONF_PATH_CREDENTIALS', 'credentials.json');
define('CONF_PATH_TOKEN', 'token.json');
GetFileClass();
$credentials = isset($_POST['credentials']) ? $_POST['credentials'] : '';
$token = isset($_POST['token']) ? $_POST['token'] : '';
$gg = new GoogleCalendar();
try {
if($gg->verifyFileCredentials()){
$gg->getClient();
}
if (GetFileCredentials()) {
$smarty->assign("credentials", GetFileCredentials());
if (GetFileToken()) {
flash('As informa<EFBFBD><EFBFBD>es de autentica<EFBFBD><EFBFBD>o j<EFBFBD> foram registradas!', 'green');
} else {
$url = $gg->getUrlToken();
$smarty->assign("url", $url);
$smarty->assign("token", true);
if (isset($_POST['btGravar'])) {
if ($token && $gg->setUrlToken($token)) {
flash('As informa<EFBFBD><EFBFBD>es de autentica<EFBFBD><EFBFBD>o j<EFBFBD> foram registradas!', 'green');
} else {
flash('N<EFBFBD>o foi poss<EFBFBD>vel encontar o arquivo de credencias!', 'red');
}
}
}
} else {
if (isset($_POST['btGravar']) && $_FILES['credentials']['tmp_name'] && $_FILES['credentials']['type'] == 'application/json') {
$credentialsJSON = file_get_contents($_FILES['credentials']['tmp_name']);
if ($gg->setFileCredentials($credentialsJSON)) {
redirect();
flash('Credenciais foram salvas!', 'green');
}
} else {
flash('N<EFBFBD>o foi poss<EFBFBD>vel encontar o arquivo de credencias!', 'red');
}
}
if (isset($_POST['btDeletar'])) {
GetFileCredentials(true);
GetFileToken(true);
redirect();
}
} catch (Exception $ex) {
flash($ex->getMessage(), 'red');
}
/** @variaveis */
/** @message */
$flash = flash();
$smarty->assign("color", $flash[1]);
$smarty->assign("message", $flash[0]);
/** @template */
GetTemplate($smarty, $template);
function GetFileCredentials($remove = false) {
if (file_exists(CONF_PATH_INTEGRACAO . CONF_PATH_CREDENTIALS) || file_exists(CONF_PATH_INTEGRACAO_DEV . CONF_PATH_CREDENTIALS)) {
if ($remove) {
unlink(CONF_PATH_INTEGRACAO . CONF_PATH_CREDENTIALS);
unlink(CONF_PATH_INTEGRACAO_DEV . CONF_PATH_CREDENTIALS);
}
return true;
} else {
return false;
}
}
function GetFileToken($remove = false) {
if (file_exists(CONF_PATH_INTEGRACAO . CONF_PATH_TOKEN) || file_exists(CONF_PATH_INTEGRACAO_DEV . CONF_PATH_TOKEN)) {
if ($remove) {
unlink(CONF_PATH_INTEGRACAO . CONF_PATH_TOKEN);
unlink(CONF_PATH_INTEGRACAO_DEV . CONF_PATH_TOKEN);
}
return true;
} else {
return false;
}
}
function GetFileClass() {
if (file_exists(CONF_PATH_INTEGRACAO . CONF_PATH_CLASS)) {
include CONF_PATH_INTEGRACAO . CONF_PATH_CLASS;
} else {
include CONF_PATH_INTEGRACAO_DEV . CONF_PATH_CLASS;
}
}
function redirect() {
header('Location: index.php?idProg=348');
}
function flash($message = null, $color = 'green') {
if ($message) {
$_SESSION['SSMSGFlash'] = $message;
$_SESSION['SSMSGFlashColor'] = $color;
} else {
$message = $_SESSION['SSMSGFlash'];
$color = $_SESSION['SSMSGFlashColor'];
unset($_SESSION['SSMSGFlash'], $_SESSION['SSMSGFlashColor']);
}
return array($message, $color);
}