function getNotificacoes($conn,$email,$empreendimento,$funcao,$funcao_pai)
{
$q = "
SELECT *
FROM TB_NOTIFICACAO
WHERE TRUNC(DATA_INICIO) >= TRUNC(SYSDATE)
AND EMAIL = '%s'
AND EMPREENDIMENTO = '%s'
AND (ASSUNTO = '%s' OR ASSUNTO like '%s')
";
$funcao_pai = $funcao_pai.'%';
$update = "
UPDATE TB_NOTIFICACAO
SET EMAIL = '%s'
, DATA_ENVIO = ''
WHERE EMAIL = '%s'
AND EMPREENDIMENTO = '%s'
AND ASSUNTO LIKE '%s%s'
AND DATA_INICIO > SYSDATE
";
$delete = "
DELETE TB_DISPONIBILIDADE
WHERE EMAIL = '%s'
AND DATA_INICIO > SYSDATE
AND EMPREENDIMENTO = '%s'
AND FUNCAO LIKE '%s%s'
AND DISPONIVEL = CAPACIDADE_CONFIGURADA
";
$delete = "
DELETE TB_DISPONIBILIDADE
WHERE EMAIL = '%s'
AND DATA_INICIO > SYSDATE
AND EMPREENDIMENTO = '%s'
AND FUNCAO LIKE '%s%s'
AND DISPONIVEL = CAPACIDADE_CONFIGURADA
";
Pergunta
RonaldoCarvalho
alguém pode me ajudar, estou com erro ao exibir as informações com acento.
FERNANDO+DGAssist%C3%AAncia+T%C3%A9cnicaAssist%C3%AAncia+T%C3%A9cnica%FERNANDO+DGAssist%C3%AAncia+T%C3%A9cnicaAssist%C3%AAncia+T%C3%A9cnicaFERNANDO+DGAssist%C3%AAncia+T%C3%A9cnicaFERNANDO+DGAssist%C3%AAncia+T%C3%A9cnica
Processo conclu�do, Salve a disponibilidade.
Código usado é esse
<?php
ini_set('default_charset','UTF-8');
error_reporting(E_ALL);
ini_set("display_errors","1");
$data = json_decode($_GET['data']);
!isset($_SESSION) && session_start();
if( isset($_SESSION['selecionado-email']) )
{
unset($_SESSION['selecionado-email']);
}
if( !isset($data->sessionid) )
{
die("Session id não foi enviado");
}
if( !empty($_POST) )
{
// CONEXÃO BANCO
require_once('connection.php');
$conn = new Connection();
$de = $data->de;
$para = $data->para;
$empreendimento = $data->empreendimento;
$funcao = $data->funcao;
function getNotificacoes($conn,$email,$empreendimento,$funcao,$funcao_pai)
{
$q = "
SELECT *
FROM TB_NOTIFICACAO
WHERE TRUNC(DATA_INICIO) >= TRUNC(SYSDATE)
AND EMAIL = '%s'
AND EMPREENDIMENTO = '%s'
AND (ASSUNTO = '%s' OR ASSUNTO like '%s')
";
$funcao_pai = $funcao_pai.'%';
echo($empreendimento);
echo($funcao);
echo($funcao_pai);
$q = sprintf($q,$email,$empreendimento,$funcao,$funcao_pai);
$q = $conn->prepare($q);
$q->execute();
return $q->fetchAll();
}
function deleteInvite($conta,$event_id,$event_change_key)
{
$ewsFiles = array(
"exchangewebservices.php",
'ewstype.php',
'deleteitemtype.php',
'disposaltype.php',
'calendaritemcreateordeleteoperationtype.php',
'itemidtype.php',
'nonemptyarrayofbasefolderIdstype.php',
'nonemptyarrayofbaseItemIdtype.php',
'distinguishedfolderidtype.php',
'distinguishedfolderidnametype.php',
'emailaddresstype.php',
"ntlmsoapclient.php",
"exchange.php"
);
foreach( $ewsFiles as $file )
{
require_once('ews/'.$file);
}
//// auth
$host = '';
//$username =
//$password = ';
//$password = '';
$username = '';
$password = '';
$ews = new ExchangeWebServices($host, $username, $password);
///////////////////////////////////////
$request = new EWSType_DeleteItemType();
$request->DeleteType = EWSType_DisposalType::HARD_DELETE;
$request->SendMeetingCancellations = EWSType_CalendarItemCreateOrDeleteOperationType::SEND_TO_NONE;
$item = new EWSType_ItemIdType();
$item->Id = $event_id;
$item->ChangeKey = $event_change_key;
$items = new EWSType_NonEmptyArrayOfBaseItemIdsType();
$items->ItemId = $item;
$request->ItemIds = $items;
$request->ParentFolderIds = new EWSType_NonEmptyArrayOfBaseFolderIdsType();
$request->ParentFolderIds->DistinguishedFolderId = new EWSType_DistinguishedFolderIdType();
$request->ParentFolderIds->DistinguishedFolderId->Id = EWSType_DistinguishedFolderIdNameType::CALENDAR;
$mailBox = new EWSType_EmailAddressType();
$mailBox->EmailAddress = $conta;
$request->ParentFolderIds->DistinguishedFolderId->Mailbox = $mailBox;
// Send the request
try{
$response = $ews->DeleteItem($request);
}
catch(Exception $e)
{
//echo '<script>location.reload();</script>';
}
}
function remover_acentos($str)
{
$str = strtolower(utf8_decode($str)); $i=1;
$str = strstr($str, utf8_decode('àáâãäåæçèéêëìíîïñòóôõöøùúûýýÿ'), 'aaaaaaaceeeeiiiinoooooouuuyyy');
$str = preg_replace("/([^a-z0-9])/",'-',utf8_encode($str));
while($i>0) $str = str_replace('--','-',$str,$i);
if (substr($str, -1) == '-') $str = substr($str, 0, -1);
return $str;
}
/// 1 - DELETAR INVITES DO PARA
$funcao_pai = explode(".",$funcao);
$funcao_pai = $funcao_pai[0];
$para_notificacoes = getNotificacoes($conn,$de,$empreendimento,$funcao,$funcao_pai);
foreach( $para_notificacoes as $notificacao )
{
deleteInvite($para,$notificacao['EXCHANGE_ID'],$notificacao['EXCHANGE_CHANGE_KEY']);
}
/// 2 - Alterar Responsável para tarefas futuras
require('CURLRightnow.php');
$rightnow = new CURLRightnow($data->sessionid);
$q = "
SELECT DISTINCT(ID) ID
FROM TB_TAREFA
WHERE EMAIL = '%s'
AND DATA_INICIO > SYSDATE
AND EMPREENDIMENTO = '%s'
AND FUNCAO LIKE '%s%s'
";
echo($empreendimento);
echo($funcao);
echo($funcao_pai);
$q = sprintf($q,$de,$empreendimento,$funcao,'%');
$q = $conn->prepare($q);
$q->execute();
$tarefas = $q->fetchAll();
$_tarefas = array();
foreach( $tarefas as $tarefa )
{
$_tarefas[] = $tarefa['ID'];
}
$_tarefas = implode(",",$_tarefas);
$result = $rightnow->updateResponsavelTasksFuturas($de,$para,$_tarefas);
$update = "
UPDATE TB_TAREFA
SET EMAIL = '%s'
WHERE EMAIL = '%s'
AND DATA_INICIO > SYSDATE
AND EMPREENDIMENTO = '%s'
AND FUNCAO LIKE '%s%s'
";
echo($empreendimento);
echo($funcao);
$update = sprintf($update,$para,$de,$empreendimento,$funcao,'%');
$update = $conn->prepare($update);
$update->execute();
$update = "
UPDATE TB_NOTIFICACAO
SET EMAIL = '%s'
, DATA_ENVIO = ''
WHERE EMAIL = '%s'
AND EMPREENDIMENTO = '%s'
AND ASSUNTO LIKE '%s%s'
AND DATA_INICIO > SYSDATE
";
echo($empreendimento);
echo($funcao);
$update = sprintf($update,$para,$de,$empreendimento,$funcao,'%');
$update = $conn->prepare($update);
$update->execute();
$delete = "
DELETE TB_DISPONIBILIDADE
WHERE EMAIL = '%s'
AND DATA_INICIO > SYSDATE
AND EMPREENDIMENTO = '%s'
AND FUNCAO LIKE '%s%s'
AND DISPONIVEL = CAPACIDADE_CONFIGURADA
";
echo(remover_acentos(utf8_decode($empreendimento)));
echo(remover_acentos(utf8_decode($funcao)));
$delete = sprintf($delete,$para,remover_acentos(utf8_decode($empreendimento)),remover_acentos(utf8_decode($funcao)),'%');
$delete = $conn->prepare($delete);
$delete->execute();
if( $_POST['disponibilidade'] == 'completo' )
{
$update = "
UPDATE TB_DISPONIBILIDADE
SET EMAIL = '%s'
WHERE EMAIL = '%s'
AND DATA_INICIO > SYSDATE
AND EMPREENDIMENTO = '%s'
AND FUNCAO LIKE '%s%s'
";
echo(remover_acentos(utf8_decode($empreendimento)));
echo(remover_acentos(utf8_decode($funcao)));
$update = sprintf($update,$para,$de,remover_acentos(utf8_decode($empreendimento)),remover_acentos(utf8_decode($funcao)),'%');
$update = $conn->prepare($update);
$update->execute();
}
else
{
$update = "
UPDATE TB_DISPONIBILIDADE
SET EMAIL = '%s'
WHERE EMAIL = '%s'
AND DATA_INICIO > SYSDATE
AND EMPREENDIMENTO = '%s'
AND FUNCAO LIKE '%s%s'
AND DISPONIVEL <> CAPACIDADE_CONFIGURADA
";
echo(remover_acentos(utf8_decode($empreendimento)));
echo(remover_acentos(utf8_decode($funcao)));
$update = sprintf($update,$para,$de,remover_acentos(utf8_decode($empreendimento)),remover_acentos(utf8_decode($funcao)),'%');
$update = $conn->prepare($update);
$update->execute();
$delete = "
DELETE TB_DISPONIBILIDADE
WHERE EMAIL = '%s'
AND DATA_INICIO > SYSDATE
AND EMPREENDIMENTO = '%s'
AND FUNCAO LIKE '%s%s'
AND DISPONIVEL = CAPACIDADE_CONFIGURADA
";
echo(remover_acentos(utf8_decode($empreendimento)));
echo(remover_acentos(utf8_decode($funcao)));
$delete = sprintf($delete,$de,remover_acentos(utf8_decode($empreendimento)),remover_acentos(utf8_decode($funcao)),'%');
$delete = $conn->prepare($delete);
$delete->execute();
}
die ("<p style='font-size: 18px; font-family: arial,sans-serif'>Processo concluído, Salve a disponibilidade.</p>");
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Troca de Recurso</title>
<style type="text/css">
*{ margin: 0; padding: 0; font: 14px arial,sans-serif; }
body{ padding: 15px; }
.btn{ padding: 12px 16px; background-color: #eee; border: 1px solid #ddd; color: #777; text-decoration: none; display: inline-block; }
form{ margin-top: 10px; max-width: 700px; }
h2{ font-size: 20px; line-height: 30px; color: #222; margin-bottom: 10px; border: 1px solid #eee; padding: 5px 10px; }
fieldset{ margin: 20px 0; border: none; }
.fieldset-duplo{ display: table; width: 100%; }
.fieldset-duplo p{ width: 50%; float: left;}
form p{ width: 100%; display: table; line-height: 35px; }
form select{ float: left; border: 1px solid #ccc; }
label{ display: inline-block; float: left; line-height: 35px; color: #444; }
input[type='text']{ padding: 5px; width: 315px; border: 1px solid #ccc; }
select{ width: 230px; padding: 3px 6px; margin-top: 2px; }
input[type='submit']{ padding: 9px 12px; margin-top: 10px; }
table{ width: 450px; float: left; margin-top: 5px; }
table td{ line-height: 25px; color: #222; cursor: default; }
table td a{ display: none; }
.div-jornada{ margin-top: 20px; }
.div-jornada a{}
</style>
</head>
<body>
<h2 style="margin-top: 10px;">Troca de Recurso</h2>
<form method="post">
<p>
<label style="width: 100px;">De:</label>
<input type="text" name="de" value="<?php echo $data->de ?>" readonly="" />
</p>
<p>
<label style="width: 100px;">Para:</label>
<input type="text" name="para" value="<?php echo $data->para ?>" readonly="" />
</p>
<p>
<label style="width: 100px;">Mover:</label>
<label><input type="radio" name="disponibilidade" checked value="completo" /> Completo</label>
<label style="margin-left: 10px;"><input type="radio" name="disponibilidade" value="agendamentos" /> Somente Agendamentos</label>
</p>
<p style='padding: 10px; background-color: #efefef; border: 1px solid #ccc; line-height: 20px; color: #555; margin: 20px 0'>
Disponibilidades cadastradas na função e empreedimento para: <b style="font-weight:bold;"><?php echo $data->para ?></b>, <br/> serão removidas, Agendamentos não serão excluídos, verifique possíveis conflitos nos relatórios. <br/>
</p>
<p>
<input type="submit" value="Confirmar">
</p>
</form>
</body>
Editado por RonaldoCarvalho</html>
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.