| 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/imobles/application/plugins/module_imobles/models/ |
Upload File : |
<?php
include_once __DIR__ . "/../../../autoload/My_Model.php";
include_once __DIR__ . "/../factories/EnterprisesFactory.php";
include_once __DIR__ . "/../helpers/CrawlerHelper.php";
class EnterprisesModel extends My_Model {
/**
* @var string
*/
public $table = 'module_imobles_enterprise';
public function createEnterprises($data) {
$enterprises = self::create();
EnterprisesFactory::create($data, $enterprises, true);
$enterprises->save();
$this->saveAmenities($data, $enterprises->id);
$this->updateEnterpriseTowers($data, $enterprises->id);
return $enterprises;
}
public function updateEnterprises($data, $enterprises, $update = false) {
ORM::for_table($this->table)->create($enterprises);
EnterprisesFactory::create($data, $enterprises, false, $update);
$enterprises->save();
$this->saveAmenities($data, $enterprises->id);
$this->updateEnterpriseTowers($data, $enterprises->id);
$helper = new CrawlerHelper();
$helper->purgeCache([$enterprises->site_url]);
return $enterprises;
}
public function updateEnterpriseTowers($data, $id) {
if (isset($data['enterprise_towers_id'])) {
$towers = $data['enterprise_towers_id'];
$titles = $data['enterprise_towers_title'];
$floors = $data['enterprise_towers_floors'];
$date = $data['enterprise_towers_date_delivery'];
$status = $data['enterprise_towers_stage'];
$helper = new Helper();
for ($i = 0; $i < count($towers); $i++) {
if (intval($towers[$i]) > 0) {
$a = ORM::for_table('module_imobles_enterprise_towers')->find_one($towers[$i]);
$a->title = mb_strtoupper($titles[$i], 'UTF-8');
$a->floors = intval($floors[$i]);
$a->stage = $status[$i];
$a->date_delivery = empty($date[$i]) ? "" : _formatDateDB($date[$i]);
$a->alias = $helper->replaceAscii(mb_strtoupper($titles[$i], 'UTF-8'));
$a->updated_at = date('Y-m-d H:i:s');
$a->save();
} else {
$a = ORM::for_table('module_imobles_enterprise_towers')->create();
$a->title = mb_strtoupper($titles[$i], 'UTF-8');
$a->floors = intval($floors[$i]);
$a->stage = $status[$i];
$a->date_delivery = empty($date[$i]) ? "" : _formatDateDB($date[$i]);
$a->alias = mb_strtoupper($helper->replaceAscii($titles[$i]), 'UTF-8');
$a->module_imobles_enterprise_id = $id;
$a->created_at = date('Y-m-d H:i:s');
$a->updated_at = date('Y-m-d H:i:s');
$a->save();
}
}
if (!empty($data['entreprise_towers_id_remove'])) {
ORM::for_table('module_imobles_enterprise_towers')
->where_in('id', $data['entreprise_towers_id_remove'])
->delete_many();
}
}
}
public function saveAmenities($data, $id) {
ORM::for_table('module_imobles_enterprise_entreprise_amenities')
->where('module_imobles_enterprise_id', $id)
->delete_many();
if (isset($data['module_imobles_enterprise_amenities'])) {
foreach ($data['module_imobles_enterprise_amenities'] as $t) {
$a = ORM::for_table("module_imobles_enterprise_entreprise_amenities")->create();
$a->module_imobles_enterprise_id = $id;
$a->module_imobles_enterprise_amenities_id = $t;
$a->save();
}
}
}
public function deleteEnterprises($enterprises) {
ORM::for_table($this->table)->create($enterprises);
$now = new DateTime('now', new DateTimeZone('America/Sao_Paulo'));
$user = User::_info();
$enterprises->delete_at = $now->format('Y-m-d H:i:s');
$enterprises->delete_by = $user->id;
$enterprises->save();
return $enterprises;
}
}