repositório com os arquivos utilizados para integração entre o sistema SimplesIP e diversos sistemas.
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.
 
 

108 lines
3.7 KiB

<?php
require_once 'Integracao.php';
require_once "util/Conexao.php";
include "config.php";
/**
* Classe para consultas no banco de dados King Dialer
* -> Banco de dados MySQL
* @author Lucas Awade
* @function developer
* @company SimplesIP
* @version 1.0.0
*/
class KingDialerModel extends Integracao {
private $condb;
private $debug;
########################################################################
## QUERYS DE MYSQL ##
########################################################################
public function buscarContatosPorTelefone($telefone) {
$this->debug = debug_backtrace();
if ($this->getArgs(func_get_args())) {
$query = "SELECT * FROM campanha_contatos WHERE numero = '{$telefone}' AND calldate = '0000-00-00 00:00:00';";
return $this->response($this->mysql_exec($query));
} else {
return false;
}
}
#########################################################################
## FUNCOES DEFAULT DA CLASSE ##
########################################################################
/**
* Coleta as informacoes iniciais para o inicio da integracao com a API.
*
* @param string $token
* @param string $url
* @param boolean $log
*/
public function __construct() {
$data = $this->db()->getConexaoAPI(CONF_ID_CREDENCIAIS);
$this->setLog(CONF_LOGGER_ATIVO);
if ($data['url'] && $data['id_user'] && $data['token']) {
$this->condb = $this->connectMysql($data);
} else {
$this->log->info("Os dados informados para " . __CLASS__ . " estao incompletos!", debug_backtrace());
}
}
/**
* Cria uma conexao com a base de dados do king
* @throws Exception
*/
private function connectMysql($data) {
if ($data) {
$link = mysql_connect($data['url'], $data['user'], $data['password']);
if (!$link) {
$this->log->error("Nao foi possivel conectar no banco de dados. MySQLError: " . mysql_error(), debug_backtrace());
return false;
}
mysql_select_db($data['token'], $link);
}
if (mysql_error()) {
$this->log->error("Nao foi possivel conectar no banco de dados. MySQLError: " . mysql_error(), debug_backtrace());
return false;
}
return $link;
}
private function mysql_exec($query, $type = 'ASSOC') {
$result = mysql_query($query);
if ($result && $type) {
switch (strtoupper($type)) {
case 'ASSOC':
return mysql_fetch_assoc($result);
case 'ALL':
$data = array();
while ($dados = mysql_fetch_array($result)) {
$data[] = $dados;
}
return $data;
}
}
return false;
}
/**
* Prepara dos dados para serem transmitidos para o metodo a serem retornados a
* integracao.
*
* @return array
*/
private function response($data) {
$this->log->debug("Reponse API: " . print_r($data, true), $this->debug);
if ($data) {
return $data;
} else {
return false;
}
}
}