AnonSec Shell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/lrsys/public_html/lrsys_apps/leo/application/plugins/module_pcp/controllers/equipaments.php
<?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"  />');

$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/edit-equip.js"></script>'
);

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 'add-equip':
      // $a = new Pcp();
      // $b = $a->forecastBySales();
      //
      // Ib_Ajax::response($b);
      // die();

      $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/add-equip.js"></script>');

      $ui->assign('_st', $_L['Pcp_Equip module'].' - '.$_L['Pcp_Equip add']);

      if ($_SERVER['REQUEST_METHOD'] === 'POST') {
          $post_vars = array(
            'name'                => _post('name'),
            'description'         => _post('description'),
            'type'                => _post('types'),
            'production_capacity' => _post('production_capacity'),
            'production_cost'     => _post('production_cost'),
            'situation'           => '1',
            'id_manufacturer'     => empty(_post('id_manufacturer')) ? null : _post('id_manufacturer'),
            'model'               => _post('model'),
            'current_price'       => _post('current_price'),
            'purchase_price'      => _post('purchase_price'),
            'depreciation'        => _post('depreciation'),
            'id_unit'             => empty(_post('unit')) ? null : _post('unit')
          );

          $equipament = Model::factory('Equipament')->create($post_vars);

          if($equipament->save()) {
            r2(U . 'module_pcp/equipaments/list-equip', 's', $_L['Pcp_Equip flash add_success']);
          } else {
            r2(U . 'module_pcp/equipaments/list-equip', 'e', $_L['Pcp_Equip flash add_fail']);
          }
      }

      $ui->assign('_include', 'equipaments/add-equip');
      $ui->display('wrapper.tpl');

    break;
    
    
    case 'valores-insumos':
      // $a = new Pcp();
      // $b = $a->forecastBySales();
      //
      // Ib_Ajax::response($b);
      // die();

      $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/add-equip.js"></script>');

      $ui->assign('_st', 'Custo Valores');

      if ($_SERVER['REQUEST_METHOD'] === 'POST') {
          $post_vars = array(
            'name'                => _post('name'),
            'description'         => _post('description'),
            'type'                => _post('types'),
            'production_capacity' => _post('production_capacity'),
            'production_cost'     => _post('production_cost'),
            'situation'           => '1',
            'id_manufacturer'     => empty(_post('id_manufacturer')) ? null : _post('id_manufacturer'),
            'model'               => _post('model'),
            'current_price'       => _post('current_price'),
            'purchase_price'      => _post('purchase_price'),
            'depreciation'        => _post('depreciation'),
            'id_unit'             => empty(_post('unit')) ? null : _post('unit')
          );

          $equipament = Model::factory('Equipament')->create($post_vars);

          if($equipament->save()) {
            r2(U . 'module_pcp/equipaments/list-equip', 's', $_L['Pcp_Equip flash add_success']);
          } else {
            r2(U . 'module_pcp/equipaments/list-equip', 'e', $_L['Pcp_Equip flash add_fail']);
          }
      }

      $ui->assign('_include', 'equipaments/valores-insumos');
      $ui->display('wrapper.tpl');

    break;

    case 'list-equip':
        $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>');

        $ui->assign('_st', $_L['Pcp_Equip module']);

        $filter = array();
        $filter['items_per_page'] = 10;
        $filter['search'] = filter_var(_post('search'), FILTER_SANITIZE_STRING);

        $sql = "SELECT *, CONCAT(CONCAT(m.production_capacity, ' ') , (SELECT CONCAT(u.initials, '/h') from sys_items_unit u where u.id = m.id_unit) ) as cp from module_pcp_equipaments m ";

        if(isset($filter['search']) && $filter['search'] != '') {
          $where = "WHERE m.name LIKE '%".$filter['search']."%' OR m.description LIKE '%".$filter['search']."%'";
          $sql .= $where;
        }

        $order = "ORDER BY id DESC" ;
        $query = $sql.$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 = Equipament::getSumary();

        $ui->assign('records', $records);
        $ui->assign('paginator', $paginator);
        $ui->assign('filter', $filter);
        $ui->assign('sumary', $sumary);

        $ui->assign('xjq', '

                    var chart = c3.generate({
                      size: {height: 200, width: 380},
                      bindto: \'#chart\',
                      data: {
                          columns: [
                              [\''.$_L['Pcp_Equip label_situation_available'].'\', '.$sumary['qtd_available'].'],
                              [\''.$_L['Pcp_Equip label_situation_maintenance'].'\', '.$sumary['qtd_maintenace'].'],
                              [\''.$_L['Pcp_Equip label_situation_stoped'].'\', '.$sumary['qtd_stoped'].'],
                              [\''.$_L['Pcp_Equip label_situation_working'].'\', '.$sumary['qtd_working'].']
                          ],
                          type : \'pie\',
                          colors: {
                              '.$_L['Pcp_Equip label_situation_available'].': \'#1c84c6\',
                              "'.$_L['Pcp_Equip label_situation_maintenance'].'": \'#f8ac59\',
                              "'.$_L['Pcp_Equip label_situation_working'].'": \'#1ab394\',
                              "'.$_L['Pcp_Equip label_situation_stoped'].'": \'#ed5565\'
                          }
                      }

                    });





              ');

        $ui->assign('_include', 'equipaments/list-equip');
        $ui->display('wrapper.tpl');

    break;

    case 'edit-equip':
      $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/edit-equip.js"></script>');

      $ui->assign('_df', fixDateFormat($_c['df']));

        if ($_SERVER['REQUEST_METHOD'] === 'POST') {

              $equipament = Model::factory('Equipament')->find_one(_post('id'));

              $equipament->name                 = _post('name');
              $equipament->description          = _post('description');
              $equipament->type                 = _post('types');
              $equipament->production_capacity  = _post('production_capacity');
              $equipament->production_cost      = _post('production_cost');
              $equipament->id_manufacturer      =  empty(_post('id_manufacturer')) ? null : filter_var(_post('id_manufacturer'), FILTER_SANITIZE_STRING);
              $equipament->model                = _post('model');
              $equipament->current_price        = _post('current_price');
              $equipament->purchase_price       = _post('purchase_price');
              $equipament->depreciation         = _post('depreciation');
              $equipament->id_unit              = empty(_post('unit')) ? null : _post('unit');

              if($equipament->save()) {
                r2(U . 'module_pcp/equipaments/list-equip', 's', $_L['Pcp_Equip flash update_success']);
              } else {
                r2(U . 'module_pcp/equipaments/list-equip', 'e', $_L['added_successful']);
              }
          }

        $id = $routes[3];
        $equipament = Model::factory('Equipament')->find_one($id);

        $ui->assign('equipament', $equipament);
        $ui->assign('employees', $equipament->employees()->findArray());
        $ui->assign('maintenances', $equipament->maintenances()->order_by_desc('id')->find_many());

        $ui->assign('_st', $_L['Pcp module'].' - '.$_L['Pcp edit']);
        $ui->assign('_include', 'equipaments/edit-equip');
        $ui->display('wrapper.tpl');

    break;

    case 'maintenances-equip':

      $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/maintenances-equip.js"></script>');
      $ui->assign('_df', fixDateFormat($_c['df']));

      $filter = array();
      $filter['items_per_page'] = 10;

      // $filter['search'] = filter_var(_post('search'), FILTER_SANITIZE_STRING);

      $sql = "SELECT * FROM module_pcp_equipaments_maintenances m ";

      // if(isset($filter['search']) && $filter['search'] != '') {
      //   $where = "WHERE m.name LIKE '%".$filter['search']."%' OR m.description LIKE '%".$filter['search']."%'";
      //   $sql .= $where;
      // }

      $order = "ORDER BY id DESC" ;
      $query = $sql.$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();

      $ui->assign('maintenances',$records);
      $ui->assign('paginator',$paginator);
      $ui->assign('_st', $_L['Pcp module'].' - '.$_L['Pcp_Equip label_maintenances']);
      $ui->assign('_include', 'equipaments/maintenances-equip');
      $ui->display('wrapper.tpl');

    break;

    case 'delete-equip':

      $id_equipament = $routes[3];

      if($id_equipament > 0) {
        $equipament = Model::factory('Equipament')->find_one($id_equipament);
        $equipament->maintenances()->find_many()->delete();
        $equipament->employees()->find_many()->delete();
        $equipament->delete();
        r2(U . 'module_pcp/equipaments/list-equip', 's', $_L['Pcp_Equip flash remove_success']);
      }

      r2(U . 'module_pcp/equipaments/list-equip', 'e', $_L['Pcp_Equip flash update_fail']);
    break;


    case 'ajax_employees':

      $data = array();
      $groups = ORM::for_table('crm_accounts')
                            ->table_alias('c')
                            ->select('c.*')
                            ->left_outer_join('crm_accounts_groups', array('c.id', '=', 'g.crm_accounts_id'), 'g')
                            ->where('g.crm_group_id', 5)->find_many();

      foreach ($groups as $g) {
          $data[] = array(
              'id' => $g->id,
              'name' => $g->account
          );
      }

      Ib_Ajax::response($data);

    break;

    case 'ajax_equipaments':
    $equipament = Model::factory('Equipament')->findArray();
    Ib_Ajax::response($equipament);
    break;

    case 'ajax_equipaments_maintenances':
      $maintenances = ORM::for_table('module_pcp_equipaments')->join('module_pcp_equipament_maintenance', array('module_pcp_equipaments.id', '=', 'module_pcp_equipament_maintenance.id_equipament'))->select(array('module_pcp_equipaments.id','module_pcp_equipaments.name'))->group_by('module_pcp_equipaments.id')->findArray();
      Ib_Ajax::response($maintenances);
    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':

      $maintenance = Model::factory('Maintenance')->find_one(_post('id'));

      if($maintenance->closeMaintenace()) {
        r2(U . 'module_pcp/equipaments/list-equip', 's', $_L['Pcp_Equip flash update_success']);
      } else {
        r2(U . 'module_pcp/equipaments/list-equip', '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/equipaments/modal_add_maintenance.tpl');

		break;

	default:
        echo 'action not defined';
}

Anon7 - 2022
AnonSec Team