AnonSec Shell
Server IP : 162.214.74.102  /  Your IP : 216.73.216.192
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/www/lrsys_apps/leo/application/plugins/module_imobles/helpers/google/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/lrsys/www/lrsys_apps/leo/application/plugins/module_imobles/helpers/google/GoogleMaps.php
<?php

include_once __DIR__ . "/Google.php";

class GoogleMaps extends Google 
{
    public function __construct() 
    {
        // Incluído para não carregar o construct do Pai
    }
    
    /*
     * Função para pesquisar por um Local pelo nome no Google Maps
     */
    public function findPlaceFromText($textquery) 
    {
        $textquery = urlencode($textquery);
        // $address_encoded_query = urlencode($address_encoded_query);
        $url = "https://maps.googleapis.com/maps/api/place/findplacefromtext/json?key=".$this->api_key.
                "&input=".$textquery.
                "&inputtype=textquery"
                . "&fields=formatted_address,name,geometry,photos,formatted_address,name,rating,opening_hours,geometry,place_id";

        $json_google = curl_init($url);
        curl_setopt($json_google, CURLOPT_RETURNTRANSFER, true);
        $json_response = curl_exec($json_google);
        $result = json_decode($json_response);
        //        var_dump($json_response);
        if(!isset($result->candidates))
        {
            var_dump($result);
            echo '%%%%%%%%%%%%%%%%%    ERRO DE CONEXÃO COM GOOGLE MAPS   %%%%%%%%%%%%%%\n\n\n';
            exit;
        }
        else if (count($result->candidates) > 0)
        {
            return $result->candidates[0];
        }
        else
        {
            return false;
        }
    }
    
    /*
     * Função para pesquisar os detalhes de um local
     */
    public function placeDetails($place_id) 
    {
        $url = 'https://maps.googleapis.com/maps/api/place/details/json?'
                    . 'key='.$this->api_key
                    . '&place_id='.$place_id.'&language=pt-BR&reviews_no_translations=true';
        $json_google = curl_init($url);
        curl_setopt($json_google, CURLOPT_RETURNTRANSFER, true);
        $json_response = curl_exec($json_google);
        $result_details = json_decode($json_response);

        if(!isset($result_details->result))
        {
            return false;
        }
        
        return $result_details->result;
    }
    
    
    /*
     * Função para tratar o endereço do local
     */
    public function getPlaceAddress($place_details)
    {
        // Trato os dados do endereço
        $address_number = null;
        $address_log = null;
        $address_zipcode = null;
        $address_neighborhood = null;
        $arr_address = isset($place_details->address_components)?$place_details->address_components:array();
        foreach($arr_address as $address)
        {
            if(in_array('street_number', $address->types))
            {
                $address_number = intval($address->long_name);
                if($address_number != $address->long_name)
                {
                    $address_number = null;
                }
            }


            if(in_array('postal_code', $address->types))
            {
                $address_zipcode = preg_replace('/\D/', '', $address->long_name);
            }

            if(in_array('administrative_area_level_1', $address->types))
            {
                $address_state = $address->short_name;
            }

            if(in_array('administrative_area_level_2', $address->types))
            {
                $address_city = $address->long_name;
            }

            if(in_array('sublocality_level_1', $address->types))
            {
                $address_neighborhood = $address->long_name;
            }

            if(in_array('route', $address->types))
            {
                $address_log = $address->long_name;
            }
        }

        // Se não tem endereço completo com o número, tratamos o endereço formatado
        if($address_number == null)
        {
            // Verifico se tem o Número no campo formatted_address
            $formatted_address = $place_details->formatted_address;
            $arr_log = explode(',', $formatted_address);
            $logradouro = $arr_log[0];

            if(isset($arr_log[1]) && !empty($arr_log[1]))
            {
                $end_number_aux = trim(strtolower($arr_log[1]));
                $end_number_aux = preg_replace('/^(número|numero|num\.?|nu\.?|nu\.?|n\.?)?(º)?\s+/', '', $end_number_aux);
                $pattern = '/^[0-9]+(\s+|\-+)?/';
                preg_match($pattern, $end_number_aux, $matches, PREG_OFFSET_CAPTURE);
                if(!empty($matches[0]))
                {
                    $arr_number_aux = preg_split('/(\s+|\-+)+/',$end_number_aux);
                    $end_number_aux = trim($arr_number_aux[0]);
                    if(intval($end_number_aux) == $end_number_aux && $end_number_aux > 0)
                    {
                        $address_number = $end_number_aux;
                        if($address_log == null)
                        {
                            $address_log = $arr_log[0];
                        }
                    }
                }
            }
        }
        
        return array("address_log" => $address_log,"address_number" => $address_number,"address_zipcode" => $address_zipcode, "address_neighborhood" => $address_neighborhood);
    }
}


Anon7 - 2022
AnonSec Team