| Server IP : 162.214.74.102 / Your IP : 216.73.217.80 Web Server : Apache System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64 User : lrsys ( 1015) PHP Version : 5.6.40 Disable Function : exec,passthru,shell_exec,system MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/lrsys/public_html/lrsys_apps/leo/application/plugins/module_imobles/ |
Upload File : |
<?php
//if(!defined('APP_RUN')) exit('No direct access allowed');
/*
* API PARA ACESSO EXTERNO AOS DADOS DO PLUGIN
* Utilizar o caminho: /?ng=api
* Enviar os dados via POST
* @key: chave de acesso à API
* @plugin: nome do plugin ou módulo
* @params
*/
// Verifico se a chave para acesso à API está correta
$pl_data = false;
$arrayMethosNoCache = array('getAmenitiesList','getLocations', 'mandeUmZapHubspot', 'getListingsGrupoZap', 'historyDigisac', 'saveLead',
'getImoblesIndex', 'digisacWebHook', 'optimalLeadPrice', 'leadRedirect',
'crmScenariosList', 'crmGoalsList', 'crmJourneyTasksList', 'crmMyWalletPropsList', 'crmLogin',
'gptBrokerRealtorLogin', 'gptBrokerSearchClient', 'gptBrokerSaveTask', 'gptBrokerSaveNote'
);
if (isset($_POST['key']) AND ( $_POST['key'] != '')) {
$key = $_POST['key'];
$a = ORM::for_table('sys_api')->where('apikey', $key)->find_one();
if ($a) {
include_once "controllers/ApiController.php";
include_once "controllers/ApileadsController.php";
include_once "controllers/ApiimoblesindexController.php";
include_once "controllers/PortallistingsController.php";
include_once "controllers/LeadscostController.php";
include_once "controllers/LeadsredirectsController.php";
include_once "helpers/whats/digisacHelper.php";
$executMethod = true;
$controllerFindCache = 'ApiController';
$saveCacheMehtod = false;
$api_method = _post('pl_method');
//remove espaços desneessários para salvar no banco
$content = preg_replace('/\\s\\s+/', ' ', file_get_contents("php://input"));
$hash = hash('sha512', $content);
header('ETag: ' . $hash);
// Verifico se o método da API é com cache ou sem cache
if (!in_array(_post('pl_method'), $arrayMethosNoCache)) {
$saveCacheMehtod = true;
try {
$cache = ORM::for_table('module_imobles_cache')
->select_expr('json_output, updated_at,id')
->where('json_input_hash', $hash)
->where('controller', $controllerFindCache)
->where('method', _post('pl_method'))
->find_one();
if ($cache) {
if (strtotime($cache->updated_at) >= strtotime('-1 day', strtotime(date("Y-m-d H:i:s")))) {
$pl_data = json_decode($cache->json_output, true);
$info = array(
'success' => true,
// 'cache'=>true,
'plugin_msg' => null);
$executMethod = false;
}
} else {
$cache = ORM::for_table('module_imobles_cache')->create();
$cache->created_at = date("Y-m-d H:i:s");
$cache->controller = $controllerFindCache;
$cache->method = (_post('pl_method'));
$cache->json_input_hash = $hash;
$cache->json_input = $content;
}
} catch (Exception $e) {
$cache = ORM::for_table('module_imobles_cache')->create();
$cache->created_at = date("Y-m-d H:i:s");
$cache->controller = $controllerFindCache;
$cache->method = (_post('pl_method'));
$cache->json_input_hash = $hash;
$cache->json_input = $content;
}
$cache->updated_at = date("Y-m-d H:i:s");
}
if ($executMethod) {
// switch method
switch (_post('pl_method')) {
case 'searchDevelopments' :
// if (isset($_POST['old']) AND ( $_POST['old'] == 1))
// {
// include_once "controllers/ApiController_old.php";
// }
// else
// {
// include_once "controllers/ApiController.php";
// }
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->searchDevelopments();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'searchDevelopmentsNew' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->searchDevelopmentsNew();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'developmentDetails' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->developmentDetails();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'developmentDetailsNew' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->developmentDetailsNew();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'searchDevelopmentsSimilar' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->searchDevelopmentsSimilar();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'searchDevelopmentsSimilarNew' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->searchDevelopmentsSimilarNew();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'mandeUmZapHubspot' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->mandeUmZapHubspot();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
$saveCacheMehtod = false;
break;
case 'getLocations' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->getLocations();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'searchDevelopmentsMaps' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->searchDevelopmentsMaps();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'sitemapGenerator' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->sitemapGenerator();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'dynamicUrls' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->dynamicUrls();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'constructionCompanyUrls' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->constructionCompanyUrls();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'companyConstructionDetails' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->companyConstructionDetails();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'getListingsGrupoZap' :
$portalListingsController = new PortalListingsController($ui, $_L, $config, $_pd = null);
$portalListingsController->getListingsGrupoZap();
die; // Required to output a XML
break;
case 'historyDigisac' :
$lead = new ApileadsController($ui, $_L, $config, $_pd = null);
$pl_data = $lead->historyDigisac();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
$saveCacheMehtod = false;
break;
case 'saveLead' :
$lead = new ApileadsController($ui, $_L, $config, $_pd = null);
$pl_data = $lead->saveLead();
if ($pl_data['status'] === false) {
$info = array(
'success' => false,
'plugin_msg' => implode("; ", $pl_data['erro']),
'error' => true
);
unset($pl_data['erro']);
$data["result"] = array();
} else {
$info = array(
'success' => true,
'plugin_msg' => "Conversão registrada com Sucesso",
'error' => false,
'error_crm' => $pl_data['error_crm'],
'error_crm_details' => $pl_data['error_crm_details'],
);
$data["result"] = true;
unset($pl_data['erro']);
}
unset($pl_data['error_crm']);
unset($pl_data['error_crm_details']);
unset($pl_data['status']);
$saveCacheMehtod = false;
break;
case 'getImoblesIndex' :
$api = new ApiimoblesindexController($ui, $_L, $config, null);
$pl_data = $api->getImoblesIndex();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => '');
}
break;
case 'digisacWebHook' :
$lead = new ApileadsController($ui, $_L, $config, $_pd = null);
$pl_data = $lead->digisacWebHook();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
$saveCacheMehtod = false;
break;
case 'digisacWebHookMyGpt' :
$lead = new ApileadsController($ui, $_L, $config, $_pd = null);
$pl_data = $lead->digisacWebHookMyGpt();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
$saveCacheMehtod = false;
break;
case 'digisacWebHookMessageCreated' :
$lead = new ApileadsController($ui, $_L, $config, $_pd = null);
$pl_data = $lead->digisacWebHookMessageCreated();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
$saveCacheMehtod = false;
break;
case 'digisacWebHookIncomeMessage' :
$ldigisacHelper = new digisacHelper();
$pl_data = $ldigisacHelper->digisacWebHookIncomeMessage();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
$saveCacheMehtod = false;
break;
case 'hubspotLeadHistory' :
$lead = new ApileadsController($ui, $_L, $config, $_pd = null);
$digisacContactId = isset($_GET['digisacContactId'])?$_GET['digisacContactId']:null;
$hubspotContactId = isset($_GET['hubspotContactId'])?$_GET['hubspotContactId']:null;
$hubspotUtk = isset($_GET['hubspotUtk'])?$_GET['hubspotUtk']:null;
$pl_data = $lead->hubspotLeadHistory($digisacContactId,$hubspotContactId,$hubspotUtk);
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
$saveCacheMehtod = false;
break;
case 'digisacWebHookSetHsTags' :
$lead = new ApileadsController($ui, $_L, $config, $_pd = null);
$pl_data = $lead->digisacWebHookSetHsTags();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
$saveCacheMehtod = false;
break;
case 'optimalLeadPrice' :
$leadsController = new LeadscostController($ui, $_L, $config, null);
$pl_data = $leadsController->getOptimalLeadPrice();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'leadRedirect' :
$leadsController = new LeadsredirectsController($ui, $_L, $config, null);
$pl_data = $leadsController->getLeadRedirect();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'getAmenitiesList' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->getAmenitiesList();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'slugRedirect' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->slugRedirect();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'crmScenariosList' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->crmScenariosList();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'crmCreateCommentScenario' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->crmScenariosCreateComment();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'crmEditCommentScenario' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->crmScenariosEditComment();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'crmDeleteCommentScenario' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->crmScenariosDeleteComment();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'crmCreateCommentScenarioTipology' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->crmScenariosTipologyCreateComment();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'crmEditCommentScenarioTipology' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->crmScenariosTipologyEditComment();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'crmDeleteCommentScenarioTipology' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->crmScenariosTipologyDeleteComment();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'crmApproveScenario' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->crmScenariosApprove();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'crmApproveScenarioTipology' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->crmScenariosApproveTipology();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'crmGoalsList' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->crmGoalsList();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'crmCreateCommentGoals' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->crmGoalsCreateComment();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'crmEditCommentGoals' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->crmGoalsEditComment();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'crmDeleteCommentGoals' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->crmGoalsDeleteComment();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'crmJourneyTasksList' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->crmJourneyTasksList();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'crmMyWalletPropsList' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->crmMyWalletPropsList();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'crmLogin' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->crmLogin();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'gptBrokerRealtorLogin' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->gptBrokerRealtorLogin();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'gptBrokerSearchClient' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->gptBrokerSearchClient();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'gptBrokerSaveTask' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->gptBrokerSaveTask();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
case 'gptBrokerSaveNote' :
$api = new ApiController($ui, $_L, $config, null);
$pl_data = $api->gptBrokerSaveNote();
if ($pl_data === false) {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin params');
} else {
$info = array(
'success' => true,
'plugin_msg' => null);
}
break;
default :
$info = array(
'success' => false,
'plugin_msg' => 'Invalid plugin method');
$saveCacheMehtod = false;
break;
}
if ($saveCacheMehtod) {
$cache->json_output = json_encode($pl_data);
$cache->save();
}
} else {
if (isset($_SERVER['HTTP_IF_NONE_MATCH'])) {
if ($_SERVER['HTTP_IF_NONE_MATCH'] == $hash) {
header('HTTP/1.1 304 Not Modified', true, 304);
exit();
}
}
}
} else {
$info = array(
'success' => false,
'plugin_msg' => 'Invalid API Key');
}
}
if (is_array($pl_data)) {
$data = array_merge(@$data, $pl_data);
}
if (!isset($data["result"])) {
$data["result"] = @$data["results"] && count(@$data["results"]) > 1 ? true : false;
}
$data["time"] = (microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']);
// Return
$data['return'] = array('info' => $info);
// Salvo os dados do usuário
// TODO: verificar quais métodos devem realmente ser salvos
$arrayMethosNoHistory = array('searchDevelopments');
if (isset($_SERVER['HTTP_HUBSPOTUTK']) && !empty($_SERVER['HTTP_HUBSPOTUTK']) && !empty($content) && in_array($api_method, $arrayMethosNoHistory)){
$history = ORM::for_table('module_imobles_leads_history')->create();
$history->hs_utk = $_SERVER['HTTP_HUBSPOTUTK'];
$history->api_request = $content;
$history->api_controller = $controllerFindCache;
$history->api_method = $api_method;
$history->save();
}