| Server IP : 162.214.74.102 / Your IP : 216.73.217.103 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_pcp/controllers/ |
Upload File : |
<?php
_auth();
$dir = "module_pcp"; //diretório do plugin criado, dentro da pasta plugins
$module_assets_path = 'application/plugins/module_pcp/assets/';
$ui->assign('_application_menu', $dir);
$ui->assign('_title', $_L['Pcp module'].' - '. $config['CompanyName']);
$action = $routes['2'];
$user = User::_info();
$ui->assign('user', $user);
$ui->assign('jsvar', '
_L[\'are_you_sure\'] = \'' . $_L['are_you_sure'] . '\';
_L[\'Save\'] = \'' . $_L['Save'] . '\';
_L[\'OK\'] = \'' . $_L['OK'] . '\';
_L[\'Remove\'] = \'' . $_L['Remove'] . '\';
_L[\'Select\'] = \'' . $_L['Select'] . '\';
_L[\'Cancel\'] = \'' . $_L['Cancel'] . '\';
_L[\'Add New Unit\'] = \'' . $_L['Add New Unit'] . '\';
_L[\'Unit Name\'] = \'' . $_L['Unit Name'] . '\';
_L[\'Unit Initials\'] = \'' . $_L['Unit Initials'] . '\';
_L[\'Add New Location\'] = \'' . $_L['Add New Location'] . '\';
_L[\'Location\'] = \'' . $_L['Location'] . '\';
_L[\'Add New Category\'] = \'' . $_L['Add New Category'] . '\';
_L[\'Category\'] = \'' . $_L['Category'] . '\';
_L[\'Parent Category\'] = \'' . $_L['Parent Category'] . '\';
_L[\'Select Category\'] = \'' . $_L['Select Category'] . '\';
_L[\'Add New Packing\'] = \'' . $_L['Add New Packing'] . '\';
_L[\'Add New Tag\'] = \'' . $_L['Add New Tag'] . '\';
_L[\'Group Tags\'] = \'' . $_L['Group Tags'] . '\';
_L[\'Tags\'] = \'' . $_L['Tags'] . '\';
_L[\'Manufacturer Name\'] = \'' . $_L['Manufacturer Name'] . '\';
_L[\'Code\'] = \'' . $_L['Code'] . '\';');
$css_arr = array(
'modal',
'dp/dist/datepicker.min',
's2/css/select2.min',
'ibilling/picker/picker',
'ibilling/clockpicker/clockpicker',
'redactor/redactor',
'c3/c3.min');
$js_arr = array(
's2/js/select2.min',
'ibilling/picker/picker',
'ibilling/clockpicker/clockpicker',
'ibilling/picker/time',
'modal',
'numeric', '/../../theme/lrsys/lib/jquery.maskMoney.min',
'dp/dist/datepicker.min',
'c3/c3.min',
'c3/d3.min');
$ui->assign('xheader', Asset::css($css_arr).
'<link rel="stylesheet" type="text/css" href="' .$_pd. '/assets/css/default.css" />');
function fixDateFormat($date) {
$separator = null;
$possible = array(
"/", ".", "-"
);
foreach ($possible as $s) {
if(strrpos($date, $s))
$separator = $s;
}
$array = explode( $separator, $date);
$array[0] = str_repeat($array[0], 2);
$array[1] = str_repeat($array[1], 2);
$array[2] = strtolower(str_repeat($array[2], 4));
return $array[0].$separator.$array[1].$separator. $array[2];
}
switch ($action) {
case 'list-main':
$ui->assign('xfooter', Asset::js($js_arr).
'<script type="text/javascript" src="' .$_pd. '/assets/js/default.js"></script>'.
'<script type="text/javascript" src="' .$_pd. '/assets/js/bottom_bar.js"></script>'.
'<script type="text/javascript" src="' .$_pd. '/assets/js/maintenances.js"></script>');
$ui->assign('_df', fixDateFormat($_c['df']));
$filter = array();
$filter['items_per_page'] = 10;
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$filter['search'] = filter_var(_post('search'), FILTER_SANITIZE_STRING);
$filter['id_equipament'] = filter_var(_post('id_equipament'), FILTER_SANITIZE_STRING);
$filter['status_code'] = filter_var(_post('status_code'), FILTER_SANITIZE_STRING);
$filter['items_per_page'] = filter_var(_post('items_per_page'), FILTER_SANITIZE_STRING);
} else {
if($i = array_search('search', $routes))
$filter['search'] = filter_var($routes[$i+1], FILTER_SANITIZE_STRING);
if($i = array_search('id_equipament', $routes))
$filter['id_equipament'] = filter_var($routes[$i+1], FILTER_SANITIZE_STRING);
if($i = array_search('status_code', $routes))
$filter['status_code'] = filter_var($routes[$i+1], FILTER_SANITIZE_STRING);
}
$sql = "SELECT m.*, e.name as equipament FROM module_pcp_equipament_maintenance m INNER JOIN module_pcp_equipaments e ON m.id_equipament = e.id";
$where = " WHERE m.id > 0";
if(isset($filter['search']) && $filter['search'] != '') {
$where .= " AND m.title LIKE '%".$filter['search']."%' AND m.details LIKE '%".$filter['search']."%'";
}
// Filtra por Equipamento
if(isset($filter['id_equipament']) && $filter['id_equipament'] != "") {
$where .= " AND m.id_equipament = ".$filter['id_equipament'];
}
// Filtra por Status
if(isset($filter['status_code']) && $filter['status_code'] != "") {
$where .= " AND m.status = '".$filter['status_code']."'";
}
$order = " ORDER BY m.id DESC" ;
$query = $sql.$where.$order;
$page = isset($routes['3']) ? $routes['3'] : 1;
$paginator = new ModulePaginator('module_pcp_equipaments', $query, $filter);
$records = $paginator->setItemsPerPage($filter['items_per_page'])
->setCurrentPageNumber($page)
->run();
$sumary = Maintenance::getSumary();
$ui->assign('maintenances',$records);
$ui->assign('paginator',$paginator);
$ui->assign('filter',$filter);
$ui->assign('sumary',$sumary);
$ui->assign('_st', $_L['Pcp module'].' - '.$_L['Pcp_Equip label_maintenances']);
$ui->assign('_include', 'maintenances/list-main');
$ui->display('wrapper.tpl');
break;
case 'add_maintenance':
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$current = substr($_SERVER['HTTP_REFERER'], strrpos($_SERVER['HTTP_REFERER'], "=")+1);
$start_date = date_create_from_format($_c['df'].' H:i', _post('start_date').' '._post('start_time'));
$params = array(
'id_equipament' => _post('id_equipament'),
'title' => _post('title'),
'details' => _post('details'),
'operators' => json_encode($_POST['operators']),
'start_date' => date_format($start_date, 'Y-m-d H:i'),
'status' => '2'
);
$equipament = Model::factory('Equipament')->find_one($params['id_equipament']);
$maintenance = $equipament->maintenances()->create($params);
if($maintenance->save())
r2(U . $current, 's', $_L['Pcp_Equip flash maintenance_add_success']);
else
r2(U . $current, 'e', $e->getMessage());
}else{
echo 'action not defined';
}
break;
case 'ajax_add_maintenance':
$start_date = date_create_from_format($_c['df'].' H:i', _post('start_date').' '._post('start_time'));
$params = array(
'id_equipament' => _post('id_equipament'),
'title' => _post('title'),
'details' => _post('details'),
'operators' => _post('operators'),
'start_date' => date_format($start_date, 'Y-m-d H:i'),
'status' => '0'
);
$equipament = Model::factory('Equipament')->find_one($params['id_equipament']);
$maintenance = $equipament->maintenances()->create($params);
if($maintenance->save()){
Ib_Ajax::response(array("msg" => $_L['Pcp_Equip flash maintenance_add_success'], "status" => "success", "maintenance" => $maintenance->showBootstrapTr()));
}
break;
case 'ajax_close_maintenance':
$maintenance = Model::factory('Maintenance')->find_one(_post('id'));
if($maintenance->closeMaintenace()) {
Ib_Ajax::response(array("msg" => "success", "status" => "success"));
}else{
Ib_Ajax::response(array("msg" => "success", "status" => "fail"));
}
break;
case 'close-maintenance':
$current = substr($_SERVER['HTTP_REFERER'], strrpos($_SERVER['HTTP_REFERER'], "=")+1);
$end_date = date_create_from_format($_c['df'].' H:i', _post('end_date').' '._post('end_time'));
$params = array(
'id_maintenance' => _post('id_maintenance'),
'end_message' => _post('end_message'),
'end_date' => date_format($end_date, 'Y-m-d H:i')
);
$maintenance = Model::factory('Maintenance')->find_one($params['id_maintenance']);
if($maintenance->closeMaintenace($params)) {
r2(U .$current, 's', $_L['Pcp_Equip flash update_success']);
} else {
r2(U .$current, 'e', $_L['Pcp_Equip flash update_success']);
}
break;
case 'modal_add_maintenance':
$ui->assign('_st', $_L['Pcp_Equip add_maintenance']);
$ui->assign('_df', fixDateFormat($_c['df']));
$ui->display($pl_path.'views/maintenances/modal_add_maintenance.tpl');
break;
case 'modal_backlogs':
$i = array_search('modal_backlogs', $routes);
if(isset($routes[$i+1])) {
$id_maintenance = $routes[$i+1];
$maintenance = Model::factory('Maintenance')->findOne($id_maintenance);
$backlogs = $maintenance->getBacklogs();
}else{
die('action not defined');
}
$ui->assign('backlogs', $backlogs);
$ui->assign('_st', $_L['Pcp_Equip add_maintenance']);
$ui->assign('_df', fixDateFormat($_c['df']));
$ui->display($pl_path.'views/maintenances/modal_list_backlogs.tpl');
break;
case 'resolve_backlogs':
$current = substr($_SERVER['HTTP_REFERER'], strrpos($_SERVER['HTTP_REFERER'], "=")+1);
$id_backlog = _post('id');
$close_msg = _post('close_message');
$backlog = Model::factory('Backlog')->find_one($id_backlog);
$backlog->close_message = $close_msg;
$backlog->closed_by = $user->fullname;
$backlog->closed_at = date('Y-m-d H:i');
$backlog->active = '0';
if($backlog->save()) {
r2(U .$current, 's', $_L['Pcp_Equip flash maintenance_update_success']);
} else {
r2(U .$current, 'e', $_L['Pcp_Equip flash maintenance_update_fail']);
}
break;
case 'backlogs':
switch ($_SERVER['REQUEST_METHOD']) {
case 'POST':
$current = substr($_SERVER['HTTP_REFERER'], strrpos($_SERVER['HTTP_REFERER'], "=")+1);
$params = array(
'id_maintenance' => _post('id'),
'user' => $user->fullname,
'message' => _post('msg'),
'created_at' => date('Y-m-d H:i'),
'active' => '1'
);
$backlog = Model::factory('Backlog')->create($params);
$backlog->save();
if($backlog->save()) {
r2(U . $current, 's', $_L['Pcp_Equip flash maintenance_update_success']);
} else {
r2(U . $current, 'e', $_L['Pcp_Equip flash maintenance_update_fail']);
}
break;
case 'GET':
$backlogs = Model::factory('Backlog')->findOne(1);
Ib_Ajax::response($backlogs->getArray());
break;
default:
die('Fail');
break;
}
break;
default:
echo 'action not defined';
}