| Server IP : 162.214.74.102 / Your IP : 216.73.217.114 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/factories/ |
Upload File : |
<?php
include_once "Factory.php";
include_once __DIR__ . "/../helpers/CrawlerHelper.php";
class EnterprisesFactory extends Factory {
public static function create($data, $enterprises, $create = false, $update = false) {
global $_c;
// Instancio o Helper para a função para sanitizar o endereço
$crawlerHelper = new CrawlerHelper();
if(!isset($data['address_log_sanitized']) || empty($data['address_log_sanitized']))
{
$data['address_log_sanitized'] = $crawlerHelper->sanitizaLogradouro($data['address_log']);
}
if(!isset($data['address_neighborhood_sanitized']) || empty($data['address_neighborhood_sanitized']))
{
$data['address_neighborhood_sanitized'] = $crawlerHelper->sanitizaLogradouro($data['address_neightborhood']);
}
$enterprises->name = $data['name'];
$helper = new Helper();
if(!isset($data['alias']) || empty($data['alias']))
{
$enterprises->alias = $helper->replaceAscii(mb_strtoupper($data['name'], 'UTF-8'));
$stModel = new EnterprisesModel();
$c = true;
$contador = 1;
$alias = $enterprises->alias;
while ($c) {
$c = $stModel->getOneCollum('alias', $alias);
if ($c) {
$alias = $enterprises->alias . "_" . str_pad(($contador++), 2,0, STR_PAD_LEFT);
} else {
$c = false;
}
}
}
else
{
$alias = $data['alias'];
}
$enterprises->alias = $alias;
$enterprises->obs = empty(@$data['obs']) ? "" : $data['obs'];
$enterprises->desc = empty(@$data['desc']) ? "" : $data['desc'];
$enterprises->module_imobles_enterprise_standard_id = empty(@$data['module_imobles_enterprise_standard_id']) ? 0 : $data['module_imobles_enterprise_standard_id'];
$enterprises->module_imobles_company_construction_id = empty(@$data['module_imobles_company_construction_id']) ? 0 : $data['module_imobles_company_construction_id'];
$enterprises->financing_company_construction = empty(@$data['financing_company_construction']) ? 'No' : $data['financing_company_construction'];
$enterprises->permute = empty($data['permute']) ? 'No' : $data['permute'];
$enterprises->discount = Finance::amount_fix(@$data['discount']);
$enterprises->site_imobles = @$data['site_imobles'];
$enterprises->link_hotsite = @$data['link_hotsite'];
$enterprises->value_input_porcentage = Finance::amount_fix(@$data['value_input_porcentage']);
$enterprises->value_founding_porcentage = Finance::amount_fix(@$data['value_founding_porcentage']);
if (isset($data['value_installment_porcentage'])) {
$enterprises->value_installment_porcentage = Finance::amount_fix(@$data['value_installment_porcentage']);
}
/*
// GLAUCO MELCHIORS EMERIM
// 20/12/2021
// PW-335
*/
$enterprises->financing_input_qtd = @$data['financing_input_qtd'];
$enterprises->financing_signal_qtd = @$data['financing_signal_qtd'];
$enterprises->financing_monthly_qtd = @$data['financing_monthly_qtd'];
$enterprises->financing_semester_qtd = @$data['financing_semester_qtd'];
$enterprises->financing_keys_qtd = @$data['financing_keys_qtd'];
$enterprises->value_signal_porcentage = Finance::amount_fix(@$data['value_signal_porcentage']);
$enterprises->value_semester_porcentage = Finance::amount_fix(@$data['value_semester_porcentage']);
$enterprises->value_keys_porcentage = Finance::amount_fix(@$data['value_keys_porcentage']);
$enterprises->value_financed_porcentage = Finance::amount_fix(@$data['value_financed_porcentage']);
$enterprises->value_total_porcentage = Finance::amount_fix(@$data['value_total_porcentage']);
$enterprises->value_difference_porcentage = Finance::amount_fix(@$data['value_difference_porcentage']);
$enterprises->financing_input_value = Finance::amount_fix(@$data['financing_input_value']);
$enterprises->financing_signal_value = Finance::amount_fix(@$data['financing_signal_value']);
$enterprises->financing_monthly_value = Finance::amount_fix(@$data['financing_monthly_value']);
$enterprises->financing_semester_value = Finance::amount_fix(@$data['financing_semester_value']);
$enterprises->financing_keys_value = Finance::amount_fix(@$data['financing_keys_value']);
$enterprises->financing_financed_value = Finance::amount_fix(@$data['financing_financed_value']);
$enterprises->financing_total_value = Finance::amount_fix(@$data['financing_total_value']);
$enterprises->financing_founding_value = Finance::amount_fix(@$data['financing_founding_value']);
$enterprises->financing_total_calculated_value = Finance::amount_fix(@$data['financing_total_calculated_value']);
$enterprises->financing_difference_value = Finance::amount_fix(@$data['financing_difference_value']);
// Leonardo Lopes Ramos
if(!isset($data['site_enabled']) || empty($data['site_enabled']))
{
$data['site_enabled'] = 0;
}
else
{
$data['site_enabled'] = 1;
}
if(!isset($data['imobles_client']) || empty($data['imobles_client']))
{
$data['imobles_client'] = 0;
}
else
{
$data['imobles_client'] = 1;
}
/*
// GLAUCO MELCHIORS EMERIM
// 09/11/2021
// PW-322
*/
if(!isset($data['sanitized']) || empty($data['sanitized']))
{
$data['sanitized'] = 0;
}
else
{
$data['sanitized'] = 1;
}
/*
// GLAUCO MELCHIORS EMERIM
// 23/05/2022
// PW-633
*/
if(!isset($data['sync_orulo']) || empty($data['sync_orulo']))
{
$data['sync_orulo'] = 0;
}
else
{
$data['sync_orulo'] = 1;
}
if(!isset($data['pre_launch']) || empty($data['pre_launch']))
{
$data['pre_launch'] = 0;
}
else
{
$data['pre_launch'] = 1;
}
/*
* GLAUCO MELCHIORS EMERIM
* 22/11/2022
* PW-1183
*/
$enterprises->estimated_price = empty($data['estimated_price']) ? null : $data['estimated_price'];
/*
* GLAUCO MELCHIORS EMERIM
* 23/11/2022
* PW-1197
*/
$enterprises->has_no_ri = empty($data['has_no_ri']) ? null : $data['has_no_ri'];
static::populate($data, $enterprises, 'hubspot');
$enterprises->enable = isset($data['enable']) && $data['enable'] == 1 ? "1" : "0";
static::populate($data, $enterprises, 'phone');
static::populate($data, $enterprises, 'site');
static::populate($data, $enterprises, 'address_log');
static::populate($data, $enterprises, 'address_number');
static::populate($data, $enterprises, 'address_neightborhood');
static::populate($data, $enterprises, 'address_city_id');
static::populate($data, $enterprises, 'address_state_id');
$enterprises->address_zip=preg_replace('/\D/', '',@$data['address_zip']);
static::populate($data, $enterprises, 'address_complement');
static::populate($data, $enterprises, 'dec_address_log');
static::populate($data, $enterprises, 'dec_address_number');
static::populate($data, $enterprises, 'dec_address_neightborhood');
static::populate($data, $enterprises, 'dec_address_city_id');
static::populate($data, $enterprises, 'dec_address_state_id');
static::populate($data, $enterprises, 'dec_address_zip');
static::populate($data, $enterprises, 'dec_address_complement');
static::populate($data, $enterprises, 'link_google');
static::populate($data, $enterprises, 'videoTourLink');
static::populate($data, $enterprises, 'crawler_type');
static::populate($data, $enterprises, 'crawler_listing_id');
static::populate($data, $enterprises, 'crawler_listing_link');
static::populate($data, $enterprises, 'crawler_portal');
static::populate($data, $enterprises, 'crawler_poisList');
static::populate($data, $enterprises, 'latitude');
static::populate($data, $enterprises, 'longitude');
static::populate($data, $enterprises, 'google_geometry');
static::populate($data, $enterprises, 'google_phone');
static::populate($data, $enterprises, 'google_place_id');
static::populate($data, $enterprises, 'google_plus_code');
static::populate($data, $enterprises, 'google_rating');
static::populate($data, $enterprises, 'google_reference');
static::populate($data, $enterprises, 'google_reviews');
static::populate($data, $enterprises, 'google_user_ratings_total');
static::populate($data, $enterprises, 'google_json');
/*
* Leonardo Lopes Ramos
* Dados importados pelo Crawler
*/
// static::populate($data, $enterprises, 'link_google');
static::populate($data, $enterprises, 'unitTypes');
static::populate($data, $enterprises, 'address_log_sanitized');
static::populate($data, $enterprises, 'crawler_json');
static::populate($data, $enterprises, 'crawler_enterprise_id');
static::populate($data, $enterprises, 'verified');
static::populate($data, $enterprises, 'release_date');
static::populate($data, $enterprises, 'alternative_names');
static::populate($data, $enterprises, 'link_presentation');
static::populate($data, $enterprises, 'link_price_table');
static::populate($data, $enterprises, 'link_availability');
static::populate($data, $enterprises, 'crawler_type_id');
static::populate($data, $enterprises, 'crawler_neighborhood_id');
static::populate($data, $enterprises, 'address_neighborhood_sanitized');
static::populate($data, $enterprises, 'airtable_id');
static::populate($data, $enterprises, 'imobles_client');
static::populate($data, $enterprises, 'wordpress_id');
static::populate($data, $enterprises, 'init_sales');
static::populate($data, $enterprises, 'has_listing');
static::populate($data, $enterprises, 'site_enabled');
static::populate($data, $enterprises, 'csv_translator_class');
static::populate($data, $enterprises, 'csv_translator_method');
static::populate($data, $enterprises, 'sanitized');
static::populate($data, $enterprises, 'relevance');
static::populate($data, $enterprises, 'address_neighborhood_id');
static::populate($data, $enterprises, 'meeting_date');
/*
* Leonardo Lopes
* Tratamento dos dados do Hotsite
*/
if(isset($data["hotsite"]) && !empty($data["hotsite"]))
{
$enterprises->hotsite_params = json_encode($data["hotsite"]);
}
$user = User::_info();
if ($create) {
$enterprises->created_at = date('Y-m-d H:i:s');
// $enterprises->default = 0;
$enterprises->created_by = $user->id;
}
if ($update) {
$enterprises->updated_at = date('Y-m-d H:i:s');
$enterprises->updated_by = $user->id;
if (!empty($data['site_url']) && $enterprises->site_url !== $data['site_url'])
{
if(!empty($data['site_url']))
{
$canon = $enterprises->site_url_canonical ? json_decode(json_encode($enterprises->site_url_canonical)) : [];
foreach ($canon as $k=>$v)
{
if($v == $data['site_url'])
{
unset($canon[$k]);
}
}
if(!in_array($enterprises->site_url, $canon))
{
array_push($canon, $enterprises->site_url);
}
$enterprises->site_url_canonical = json_encode($canon);
static::populate($data, $enterprises, 'site_url');
static::populate($data, $enterprises, 'slug');
}
}
}
else
{
static::populate($data, $enterprises, 'site_url');
static::populate($data, $enterprises, 'slug');
}
/*
* GLAUCO MELCHIORS EMERIM
* 10/05/2022
* PW-572
*/
static::populate($data, $enterprises, 'orulo_id');
/*
* GLAUCO MELCHIORS EMERIM
* 23/05/2022
* PW-633
*/
static::populate($data, $enterprises, 'sync_orulo');
static::populate($data, $enterprises, 'intermediate_installment_type');
static::populate($data, $enterprises, 'payment_plan_flow');
static::populate($data, $enterprises, 'distance_to_the_beach');
static::populate($data, $enterprises, 'youtube_video');
static::populate($data, $enterprises, 'youtube_json');
/*
* GLAUCO MELCHIORS EMERIM
* 14/09/2022
* PW-1034
*/
static::populate($data, $enterprises, 'dwv_id');
static::populate($data, $enterprises, 'price_type');
static::populate($data, $enterprises, 'pre_launch');
return $enterprises;
}
}