1) { $ar = array(); for ($i = 1; $i < $numCmd; $i++) { $str = trim($cmds[$i]); if ($str) $ar[] = $str; } return count($ar) ? $ar : array(); } return array(); } function GetValuesIntegracaoAtv($paramMapa, $vArgv) { $paramValue = array(); /* * Associa os valores */ foreach ($paramMapa as $key => $keyArgv) { $paramValue[$key] = $vArgv[$keyArgv]; } return $paramValue; } function ExecuteCustom($idMetodo, &$nomeMetodo) { try { $patScript = "/var/lib/asterisk/scripts/integracao/custom/"; /* * Esta função retorna informações sobre o tipo de integração. */ $row = GetInfoMetodo($idMetodo); /* * Se o metodo informado não for custom, segue o fluxo normal. */ $tipo = strtoupper($row["itgp_prefix"]); if ($tipo != 'CUSTOM') { return false; } /* * Verifica se o script informado existe, caso não exista registra no log e encerra. */ $return = explode(' ', $row["itgm_comando"]); $script = trim($return[0]); if (!file_exists($patScript . $script)) { __logStr("ExecuteCustom", "O arquivo informado não existe! Nome: $script", "serverAgi.php", true); return true; } /* * Executa o script customizado. */ $nomeMetodo = sprintf("%s%s", $patScript, $script); /* * Registra a execução do script. */ __logStr("ExecuteCustom", $nomeMetodo, "serverAgi.php", false); /* * Este script é executado em outro processo para permitir o contro de timeout das querys, * assim o processo é encerrado caso não retorne no tempo máximo definido para timeout. */ return true; } catch (Exception $ex) { /* * Devolve a execução para integraçao ativa. */ __logStr("ExecuteCustom", $ex->getMessage(), "serverAgi.php", true); return false; } } ?>