HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //proc/self/cwd/pm/plugins/Manufacturing/Views/bill_of_materials/bill_of_material_table.php
<?php

$Manufacturing_model = model("Manufacturing\Models\Manufacturing_model");

$aColumns = [
	'id',
	'product_id',
	'bom_code',
	'bom_type',
	'product_variant_id',
	'product_qty',
	'unit_id',
	'routing_id',
	'1',
];
$sIndexColumn = 'id';
$sTable = get_db_prefix() . 'mrp_bill_of_materials';

$where = [];
$join= [];


if (isset($dataPost['products_filter'])) {
	$products_filter = $dataPost['products_filter'];

	$products = $Manufacturing_model->bom_get_product_filter($products_filter);

	$where_products_filter = '';
	foreach ($products as $product) {
		if ($where_products_filter == '') {

			if(isset($product['parent_id']) && $product['parent_id'] != 0){
				$where_products_filter .= "AND ( ( (product_id = ".$product['parent_id']." AND product_variant_id = ".$product['id'].") OR( product_id = ".$product['parent_id']." AND (product_variant_id = 0 OR product_variant_id is null))) "; 
			}else{
				$where_products_filter .= "AND ( product_id = ".$product['id'];
			}

		} else {
			if(isset($product['parent_id']) && $product['parent_id'] != 0){
				$where_products_filter .= " OR  ( (product_id = ".$product['parent_id']." AND product_variant_id = ".$product['id'].") OR( product_id = ".$product['parent_id']." AND (product_variant_id = 0 OR product_variant_id is null))) "; 
			}else{
				$where_products_filter .= " OR  product_id = ".$product['id'];
			}

		}
	}

	if ($where_products_filter != '') {
		$where_products_filter .= ')';

		array_push($where, $where_products_filter);
	}
}

if (isset($dataPost['bom_type_filter'])) {
	$bom_type_filter = $dataPost['bom_type_filter'];

	$where_bom_type_filter = '';
	foreach ($bom_type_filter as $bom_type) {
		if ($bom_type != '') {
			if ($where_bom_type_filter == '') {
				$where_bom_type_filter .= 'AND ('.db_prefix().'mrp_bill_of_materials.bom_type = "' . $bom_type . '"';
			} else {
				$where_bom_type_filter .= ' or '.db_prefix().'mrp_bill_of_materials.bom_type = "' . $bom_type . '"';
			}
		}
	}
	if ($where_bom_type_filter != '') {
		$where_bom_type_filter .= ')';
		array_push($where, $where_bom_type_filter);
	}
}

if (isset($dataPost['routing_filter'])) {
	$routing_filter = $dataPost['routing_filter'];

	$where_routing_filter = '';
	foreach ($routing_filter as $routing_id) {
		if ($routing_id != '') {
			if ($where_routing_filter == '') {
				$where_routing_filter .= 'AND ('.db_prefix().'mrp_bill_of_materials.routing_id = "' . $routing_id . '"';
			} else {
				$where_routing_filter .= ' or '.db_prefix().'mrp_bill_of_materials.routing_id = "' . $routing_id . '"';
			}
		}
	}
	if ($where_routing_filter != '') {
		$where_routing_filter .= ')';
		array_push($where, $where_routing_filter);
	}
}



$result = data_tables_init1($aColumns, $sIndexColumn, $sTable, $join, $where, ['id'], '', [], $dataPost);

$output = $result['output'];
$rResult = $result['rResult'];

foreach ($rResult as $aRow) {
	$row = [];

	$row[] = '<div class="checkbox"><input type="checkbox" value="' . $aRow['id'] . '" class="form-check-input"><label></label></div>';

	for ($i = 0; $i < count($aColumns); $i++) {

		if($aColumns[$i] == 'id') {
			$_data = $aRow['id'];

		}elseif ($aColumns[$i] == 'product_id') {
			$_data = mrp_get_product_name($aRow['product_id']);
		}elseif($aColumns[$i] == 'bom_code'){
			$_data =  $aRow['bom_code'];
		}elseif($aColumns[$i] == 'bom_type'){
			$_data =  app_lang($aRow['bom_type']);

		}elseif($aColumns[$i] == 'product_variant_id'){

			$_data =  mrp_get_product_name($aRow['product_variant_id']);

		}elseif($aColumns[$i] == 'product_qty'){

			$_data =  to_decimal_format($aRow['product_qty']);

		}elseif($aColumns[$i] == 'unit_id'){

			$_data =  mrp_get_unit_name($aRow['unit_id']);

		}elseif($aColumns[$i] == 'routing_id'){

			$_data =  mrp_get_routing_name($aRow['routing_id']);

		}elseif($aColumns[$i] == '1'){
			$_data ='';

			$view = '';
			$edit = '';
			$delete = '';

			if(mrp_has_permission('manufacturing_can_view')) {
				$view .=	'<li role="presentation"><a href="'.site_url('manufacturing/bill_of_material_detail_manage/'.$aRow['id']).'"  class="dropdown-item" data-toggle="sidebar-right" ><span data-feather="eye" class="icon-16"></span> ' . _l('view') . '</a></li>';
			}

			if(mrp_has_permission('manufacturing_can_edit')) {
				$edit .=	'<li role="presentation"><a href="'.site_url('manufacturing/bill_of_material_detail_manage/'.$aRow['id']).'"  class="dropdown-item" data-toggle="sidebar-right" ><span data-feather="edit" class="icon-16"></span> ' . _l('edit') . '</a></li>';
			} 

			if(mrp_has_permission('manufacturing_can_delete')) {
				$delete .= '<li role="presentation">' .modal_anchor(get_uri("manufacturing/confirm_delete_modal_form"), "<i data-feather='x' class='icon-16'></i> " . app_lang('delete'), array("title" => app_lang('delete'). "?", "data-post-id" => $aRow['id'], "data-post-function" => 'delete_bill_of_material', "class" => 'dropdown-item' )). '</li>';

			} 

			$_data = '';
			if(strlen($view) > 0 || strlen($edit) > 0 || strlen($delete) > 0){

				$_data = '
				<span class="dropdown inline-block">
				<button class="btn btn-default dropdown-toggle caret mt0 mb0" type="button" data-bs-toggle="dropdown" aria-expanded="true" data-bs-display="static">
				<i data-feather="tool" class="icon-16"></i>
				</button>
				<ul class="dropdown-menu dropdown-menu-end" role="menu">'. $view .$edit . $delete . '</ul>
				</span>';
			}
		}


		$row[] = $_data;
	}

	$output['aaData'][] = $row;
}