#!/usr/bin/php -q
"); return $respuesta; break; } elseif (stristr($data, "Error")) { //detectamos una respueta de error al comnado return $respuesta; break; } else { $data = ""; } } } } function arma_paquete($data) { $items = explode("\r\n", $data); foreach ($items as $item) { if (strlen($item) > 0) { $tmp = explode(": ", $item); $clave = $tmp[0]; $valor = $tmp[1]; $evento[$clave] = $valor; } } return $evento; } function ArmaArrayColas($qs_response) { $result = array(); foreach ($qs_response['eventos'] as $item) { if ($item['Event'] == "QueueParams") { $result[$item['Queue']]['Queue'] = $item['Queue']; $result[$item['Queue']]['Max'] = $item['Max']; $result[$item['Queue']]['Calls'] = $item['Calls']; $result[$item['Queue']]['Holdtime'] = $item['Holdtime']; $result[$item['Queue']]['Completed'] = $item['Completed']; $result[$item['Queue']]['Abandoned'] = $item['Abandoned']; $result[$item['Queue']]['ServiceLevel'] = $item['ServiceLevel']; $result[$item['Queue']]['ServicelevelPerf'] = $item['ServicelevelPerf']; $result[$item['Queue']]['Weight'] = $item['Weight']; } elseif ($item['Event'] == "QueueMember") { $i = count($result[$item['Queue']]['Miembros']); $result[$item['Queue']]['Miembros'][$i]['Location'] = $item['Location']; $result[$item['Queue']]['Miembros'][$i]['Membership'] = $item['Membership']; $result[$item['Queue']]['Miembros'][$i]['Penalty'] = $item['Penalty']; $result[$item['Queue']]['Miembros'][$i]['CallsTaken'] = $item['CallsTaken']; $result[$item['Queue']]['Miembros'][$i]['LastCall'] = $item['LastCall']; $result[$item['Queue']]['Miembros'][$i]['Status'] = $item['Status']; $result[$item['Queue']]['Miembros'][$i]['Paused'] = $item['Paused']; } } return $result; } function connect_db() { $str = GetDefStrDb(); //$conexao = pg_connect("dbname=sippbx port=5432 host=127.0.0.1 user=simplesip password=smplsIP"); $conexao = pg_connect($str); if (!$conexao) { GravaLog_("Erro de conexao!!! String: $str\n Erro: " . pg_last_error() . "\n"); exit; } } function GravaLog_($msg) { // $fp = fopen('/var/log/atualiza-dacs.log', 'a'); $data = date(); fwrite($fp, $data); fwrite($fp, $msg); fclose($fp); } foreach ($colas as $cola) { connect_db(); $RSNumero = "SELECT dac FROM pbx_supervisor_dacs WHERE dac = '" . $cola['Queue'] . "'"; $RS_Sql = pg_query($RSNumero); $N_coluna = pg_num_rows($RS_Sql); if ($N_coluna > 0) { $query = "UPDATE pbx_supervisor_dacs SET atendidas = '" . $cola['Completed'] . "', abandonadas = '" . $cola['Abandoned'] . "', espera = '" . $cola['Calls'] . "', tempo_espera = '" . $cola['Holdtime'] . "', tempo_nivel_servico = '" . $cola['ServiceLevel'] . "', percentual_nivel_servico = '" . $cola['ServicelevelPerf'] . "' WHERE dac = '" . $cola['Queue'] . "'"; pg_query($query); pg_close(); } else { $query = "INSERT INTO pbx_supervisor_dacs (atendidas, abandonadas, espera, tempo_espera, tempo_nivel_servico,percentual_nivel_servico, dac) VALUES ('" . $cola['Completed'] . "','" . $cola['Abandoned'] . "','" . $cola['Calls'] . "', '" . $cola['Holdtime'] . "','" . $cola['ServiceLevel'] . "','" . $cola['ServicelevelPerf'] . "', '" . $cola['Queue'] . "')"; pg_query($query); pg_close(); } } ?>