#!/usr/bin/php -q > {$pathQueueOrg}"); /* * Eventos tratados no log */ $evtAll = array('COMPLETEAGENTRAMAL', 'COMPLETECALLERRAMAL', 'EXITWITHTIMEOUT', 'TIMEOUT', 'CHAMANDO', 'NOANSWER', 'COMPLETAAGENT', 'COMPLETACALLER', 'BUSY', 'ATENDIDA', 'TRANSBORDANDO', 'TRANSBORDADO', 'ABANDON', 'COMPLETEAGENT', 'COMPLETECALLER', 'CONNECT', 'ENTERQUEUE', 'TRANSFER', 'BUSYS', 'NOANSWERS'); /* * Eventos relacionados ao status das chamadas */ $evtCall = array("CHAMANDO", "COMPLETACALLER", "COMPLETAAGENT", "COMPLETEAGENTRAMAL", "COMPLETECALLERRAMAL", "BUSYS", "NOANSWERS"); $handle = fopen($pathQueueOld, 'r'); while (!feof($handle)) { $linha = trim(@fgets($handle)); $linha .= str_repeat('|', 8 - substr_count($linha,'|')); list($UID1, $UID2, $FILA, $AGENTE, $EVENTO, $PARAM1, $PARAM2, $PARAM3, $PARAM4) = explode("|", $linha); /* * Verifica se o envento esta na lista de acetos. */ if (array_search($EVENTO, $evtAll) !== false) { /* * Eventos relacionados a chamadas e transferencias recebem um tratamento diferente para os params. */ if ($EVENTO == "TRANSFER") { $PARAM1 = $PARAM3; } else if (array_search($EVENTO, $evtCall) !== false) { list($PARAM1, $PARAM2, $PARAM3, $PARAM4) = explode(",", $PARAM1); } $query = "insert into $TABELA (uid1,uid2,fila,agente,evento,param1,param2,param3,param4) values ('$UID1','$UID2','$FILA','$AGENTE','$EVENTO','$PARAM1','$PARAM2','$PARAM3','$PARAM4')"; if (!pg_query($dbcon, $query)) { RaiseExcept("Erro ao atualizar Base de dados: Cmd:[{$query}]"); } } } QueueRemovePid(); } catch (Exception $ex) { QueueRemovePid(); $log .= sprintf("Script: %s Data: %s\n", $argv[0], date("Y-m-d H:m:i")); WriteLog($log, $path); } exit(0); function QueueRemovePid() { global $pathPid; if (file_exists($pathPid)) { unlink($pathPid); } }