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/products/view_table_product_detail.php
<?php

$Warehouse_model = model("Warehouse\Models\Warehouse_model");

$list_product_type = mrp_product_type();

$aColumns = [
	'1',
	get_db_prefix() . 'items.id',
	get_db_prefix() . 'items.title',
	'commodity_barcode',
	'rate',
	'purchase_price',
	'category_id', //product category
	'product_type', //product type
	'2', // inventory qty 
	'unit_id',
	'3',
	
];
$sIndexColumn = 'id';
$sTable = get_db_prefix() . 'items';

$where = [];


$parent_item = $dataPost['parent_item'];
$sub_commodity_ft = $dataPost['sub_commodity_ft'];

$join= [];


$where[] = 'AND '.db_prefix().'items.deleted = 0';

if(isset($dataPost['filter_all_simple_variation']) && $dataPost['filter_all_simple_variation'] == 'true'){
	$filter_all_simple_variation_flag = ' OR true';
}elseif(isset($dataPost['filter_all_simple_variation']) && $dataPost['filter_all_simple_variation'] == 'false'){
	$filter_all_simple_variation_flag = '';
}else{
	$filter_all_simple_variation_flag = '';
}

if($parent_item == 'true'){
	$where[] = 'AND ('  .db_prefix().'items.parent_id is null OR  '.db_prefix().'items.parent_id = 0 OR  '.db_prefix().'items.parent_id = "" '.$filter_all_simple_variation_flag.' )  ';
}else{
	$where[] = 'AND ' .db_prefix().'items.parent_id = '.$sub_commodity_ft.'  ';

}

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

	$arr_commodity_id = $Warehouse_model->get_commodity_in_warehouse($warehouse_ft);

	$where[] = 'AND '.db_prefix().'items.id IN (' . implode(', ', $arr_commodity_id) . ')';
	
}

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

	$where_commodity_ft = '';
	foreach ($commodity_ft as $commodity_id) {
		if ($commodity_id != '') {
			if ($where_commodity_ft == '') {
				$where_commodity_ft .= ' AND (tblitems.id = "' . $commodity_id . '"';
			} else {
				$where_commodity_ft .= ' or tblitems.id = "' . $commodity_id . '"';
			}
		}
	}
	if ($where_commodity_ft != '') {
		$where_commodity_ft .= ')';
		array_push($where, $where_commodity_ft);
	}
}

/*alert_filter*/
if (isset($dataPost['alert_filter'])) {
$alert_filter = $dataPost['alert_filter'];

	if ($alert_filter != '') {
		if ($alert_filter == "1") {
			//out of stock
			$arr_commodity_id = $Warehouse_model->get_commodity_alert($alert_filter);
			if(count($arr_commodity_id) > 0){
				$where[] = 'AND '.db_prefix().'items.id IN (' . implode(', ', $arr_commodity_id) . ')';

			}


		} else {
			//exprired
			$arr_commodity_id = $Warehouse_model->get_commodity_alert($alert_filter);

			if(count($arr_commodity_id) > 0){
				$where[] = 'AND '.db_prefix().'items.id IN (' . implode(', ', $arr_commodity_id) . ')';
			}

		}
	}
}


$result = data_tables_init1($aColumns, $sIndexColumn, $sTable, $join, $where, [db_prefix() . 'items.id', db_prefix() . 'items.description', db_prefix() . 'items.unit_id', db_prefix() . 'items.commodity_code', db_prefix() . 'items.commodity_barcode', db_prefix() . 'items.commodity_type', db_prefix() . 'items.warehouse_id', db_prefix() . 'items.origin', db_prefix() . 'items.color_id', db_prefix() . 'items.style_id', db_prefix() . 'items.model_id', db_prefix() . 'items.size_id', db_prefix() . 'items.rate', db_prefix() . 'items.tax', db_prefix() . 'items.category_id', db_prefix() . 'items.description', db_prefix() . 'items.sku_code', db_prefix() . 'items.sku_name', db_prefix() . 'items.sub_group', db_prefix() . 'items.color', db_prefix() . 'items.guarantee', db_prefix().'items.profif_ratio', db_prefix().'items.without_checking_warehouse', db_prefix().'items.parent_id', 'files'], '', [], $dataPost);

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



foreach ($rResult as $aRow) {
	$row = [];
	for ($i = 0; $i < count($aColumns); $i++) {

		if (strpos($aColumns[$i], 'as') !== false && !isset($aRow[$aColumns[$i]])) {
			$_data = $aRow[strafter($aColumns[$i], 'as ')];
		} else {
			$_data = $aRow[$aColumns[$i]];
		}


		/*get commodity file*/
		if($aColumns[$i] == db_prefix() . 'items.id'){
			if ($aRow['files']){

				$files = unserialize($aRow['files']);

				if (count($files)) {

					$timeline_file_path = get_setting("timeline_file_path");
					foreach ($files as $file_key => $file) {
						if($file_key == 0){
							$file_name = get_array_value($file, "file_name");
							$thumbnail = get_source_url_of_file($file, $timeline_file_path, "thumbnail");
							if (is_viewable_image_file($file_name)) {
								$_data = "<img class='sortable-file images_w_table' src='".$thumbnail."' alt='".$file_name."'/>";

							} else {
								$_data = get_file_icon(strtolower(pathinfo($file_name, PATHINFO_EXTENSION)));
							}
						}
					}

				}else{
					$thumbnail = get_file_uri('plugins/Warehouse/Uploads/nul_image.jpg');
					$_data = "<img class='sortable-file images_w_table' src='".$thumbnail."' alt='null_image'/>";
				}
			}
		}

		if ($aColumns[$i] == get_db_prefix() . 'items.title') {

			$_data = $aRow['commodity_code'].' '.$aRow[get_db_prefix() . 'items.title'];

		}elseif($aColumns[$i] == '1'){
			$_data = '<div class="checkbox"><input type="checkbox" value="' . $aRow['id'] . '" class="form-check-input"><label></label></div>';
		}elseif ($aColumns[$i] == 'unit_id') {
			if ($aRow['unit_id'] != null) {
				$_data = mrp_get_unit_name($aRow['unit_id']);
			} else {
				$_data = '';
			}
		} elseif ($aColumns[$i] == 'rate') {
			$_data = to_decimal_format((float) $aRow['rate']);
		} elseif ($aColumns[$i] == 'purchase_price') {
			$_data = to_decimal_format((float) $aRow['purchase_price']);

		} elseif ($aColumns[$i] == 'category_id') {
			$_data = get_wh_group_name($aRow['category_id']) != null ? get_wh_group_name($aRow['category_id'])->title : '';

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

			$product_type_name ='';

			if($aRow['product_type'] !== null){

				foreach ($list_product_type as $value) {
					if($value['name'] == $aRow['product_type']){
						$product_type_name .= $value['label'];
					}
				}

			}
			$_data = $product_type_name;

		} elseif ($aColumns[$i] == '2') {
			$_data ='';
			$arr_warehouse = get_warehouse_by_commodity($aRow['id']);

			$str = '';
			if(count($arr_warehouse) > 0){
				foreach ($arr_warehouse as $wh_key => $warehouseid) {
					$str = '';
					if ($warehouseid['warehouse_id'] != '' && $warehouseid['warehouse_id'] != '0') {
							//get inventory quantity
						$inventory_quantity = $Warehouse_model->get_quantity_inventory($warehouseid['warehouse_id'], $aRow['id']);
						$quantity_by_warehouse =0;
						if($inventory_quantity){
							$quantity_by_warehouse = $inventory_quantity->inventory_number;
						}

						$team = get_warehouse_name($warehouseid['warehouse_id']);
						if($team){
							$value = $team != null ? get_object_vars($team)['warehouse_name'] : '';
							$str .= '<span class="badge bg-success large mt-0">' . $value . ': ( '.$quantity_by_warehouse.' )</span>';
							
							$_data .= $str;
							if($wh_key%3 ==0){
								$_data .='<br/>';
							}
						}

					}
				}

			} else {
				$_data = '';
			}

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

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

			if(mrp_has_permission('manufacturing_can_view')) {
				$view .=	'<li role="presentation"><a href="'.site_url('manufacturing/view_product_detail/'.$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/add_edit_product/product_variant/'.$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-id2" => 'product_variant', "data-post-function" => 'delete_product', "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;
}