Completed
Branch develop (c96903)
by
unknown
28:01 queued 49s
created
htdocs/product/class/product.class.php 1 patch
Spacing   +60 added lines, -60 removed lines patch added patch discarded remove patch
@@ -87,7 +87,7 @@  discard block
 block discarded – undo
87 87
 		'contratdet' => array('name' => 'Contract', 'parent' => 'contrat', 'parentkey' => 'fk_contrat'),
88 88
 		'facture_fourn_det' => array('name' => 'SupplierInvoice', 'parent' => 'facture_fourn', 'parentkey' => 'fk_facture_fourn'),
89 89
 		'commande_fournisseurdet' => array('name' => 'SupplierOrder', 'parent' => 'commande_fournisseur', 'parentkey' => 'fk_commande'),
90
-		'mrp_production' => array('name' => 'Mo', 'parent' => 'mrp_mo', 'parentkey' => 'fk_mo' ),
90
+		'mrp_production' => array('name' => 'Mo', 'parent' => 'mrp_mo', 'parentkey' => 'fk_mo'),
91 91
 		'bom_bom' => array('name' => 'BOM'),
92 92
 		'bom_bomline' => array('name' => 'BOMLine', 'parent' => 'bom_bom', 'parentkey' => 'fk_bom'),
93 93
 	);
@@ -155,7 +155,7 @@  discard block
 block discarded – undo
155 155
 	/**
156 156
 	 * @var string
157 157
 	 */
158
-	public $price_formated;			// used by takepos/ajax/ajax.php
158
+	public $price_formated; // used by takepos/ajax/ajax.php
159 159
 
160 160
 	/**
161 161
 	 * Selling price with tax
@@ -167,7 +167,7 @@  discard block
 block discarded – undo
167 167
 	/**
168 168
 	 * @var string
169 169
 	 */
170
-	public $price_ttc_formated;		// used by takepos/ajax/ajax.php
170
+	public $price_ttc_formated; // used by takepos/ajax/ajax.php
171 171
 
172 172
 	/**
173 173
 	 * Minimum price net
@@ -519,7 +519,7 @@  discard block
 block discarded – undo
519 519
 	/**
520 520
 	 * @var int|string
521 521
 	 */
522
-	public $weight_units;	// scale -3, 0, 3, 6
522
+	public $weight_units; // scale -3, 0, 3, 6
523 523
 	/**
524 524
 	 * @var float|string
525 525
 	 */
@@ -527,7 +527,7 @@  discard block
 block discarded – undo
527 527
 	/**
528 528
 	 * @var int|string
529 529
 	 */
530
-	public $length_units;	// scale -3, 0, 3, 6
530
+	public $length_units; // scale -3, 0, 3, 6
531 531
 	/**
532 532
 	 * @var float|string
533 533
 	 */
@@ -535,7 +535,7 @@  discard block
 block discarded – undo
535 535
 	/**
536 536
 	 * @var int|string
537 537
 	 */
538
-	public $width_units;	// scale -3, 0, 3, 6
538
+	public $width_units; // scale -3, 0, 3, 6
539 539
 	/**
540 540
 	 * @var float|string|null
541 541
 	 */
@@ -543,7 +543,7 @@  discard block
 block discarded – undo
543 543
 	/**
544 544
 	 * @var int|string|null
545 545
 	 */
546
-	public $height_units;	// scale -3, 0, 3, 6
546
+	public $height_units; // scale -3, 0, 3, 6
547 547
 	/**
548 548
 	 * @var float|string|null
549 549
 	 */
@@ -551,7 +551,7 @@  discard block
 block discarded – undo
551 551
 	/**
552 552
 	 * @var int|string|null
553 553
 	 */
554
-	public $surface_units;	// scale -3, 0, 3, 6
554
+	public $surface_units; // scale -3, 0, 3, 6
555 555
 	/**
556 556
 	 * @var float|string|null
557 557
 	 */
@@ -559,7 +559,7 @@  discard block
 block discarded – undo
559 559
 	/**
560 560
 	 * @var int|string|null
561 561
 	 */
562
-	public $volume_units;	// scale -3, 0, 3, 6
562
+	public $volume_units; // scale -3, 0, 3, 6
563 563
 
564 564
 	/**
565 565
 	 * @var float|string|null
@@ -568,7 +568,7 @@  discard block
 block discarded – undo
568 568
 	/**
569 569
 	 * @var ?string
570 570
 	 */
571
-	public $net_measure_units;	// scale -3, 0, 3, 6
571
+	public $net_measure_units; // scale -3, 0, 3, 6
572 572
 
573 573
 	/**
574 574
 	 * @var string
@@ -824,7 +824,7 @@  discard block
 block discarded – undo
824 824
 		'import_key'    => array('type' => 'varchar(14)', 'label' => 'ImportId', 'enabled' => 1, 'visible' => -2, 'notnull' => -1, 'index' => 0, 'position' => 1000),
825 825
 		//'tosell'       =>array('type'=>'integer',      'label'=>'Status',           'enabled'=>1, 'visible'=>1,  'notnull'=>1, 'default'=>'0', 'index'=>1,  'position'=>1000, 'arrayofkeyval'=>array(0=>'Draft', 1=>'Active', -1=>'Cancel')),
826 826
 		//'tobuy'        =>array('type'=>'integer',      'label'=>'Status',           'enabled'=>1, 'visible'=>1,  'notnull'=>1, 'default'=>'0', 'index'=>1,  'position'=>1000, 'arrayofkeyval'=>array(0=>'Draft', 1=>'Active', -1=>'Cancel')),
827
-		'mandatory_period' => array('type' => 'integer', 'label' => 'mandatoryperiod', 'enabled' => 1, 'visible' => -1,  'notnull' => 1, 'default' => '0', 'index' => 1,  'position' => 1000),
827
+		'mandatory_period' => array('type' => 'integer', 'label' => 'mandatoryperiod', 'enabled' => 1, 'visible' => -1, 'notnull' => 1, 'default' => '0', 'index' => 1, 'position' => 1000),
828 828
 	);
829 829
 
830 830
 	/**
@@ -1128,9 +1128,9 @@  discard block
 block discarded – undo
1128 1128
 
1129 1129
 							// update accountancy for this entity
1130 1130
 							if (!$error && getDolGlobalString('MAIN_PRODUCT_PERENTITY_SHARED')) {
1131
-								$this->db->query("DELETE FROM " . $this->db->prefix() . "product_perentity WHERE fk_product = " .((int) $this->id) . " AND entity = " . ((int) $conf->entity));
1131
+								$this->db->query("DELETE FROM ".$this->db->prefix()."product_perentity WHERE fk_product = ".((int) $this->id)." AND entity = ".((int) $conf->entity));
1132 1132
 
1133
-								$sql = "INSERT INTO " . $this->db->prefix() . "product_perentity (";
1133
+								$sql = "INSERT INTO ".$this->db->prefix()."product_perentity (";
1134 1134
 								$sql .= " fk_product";
1135 1135
 								$sql .= ", entity";
1136 1136
 								$sql .= ", accountancy_code_buy";
@@ -1141,13 +1141,13 @@  discard block
 block discarded – undo
1141 1141
 								$sql .= ", accountancy_code_sell_export";
1142 1142
 								$sql .= ") VALUES (";
1143 1143
 								$sql .= $this->id;
1144
-								$sql .= ", " . ((int) $conf->entity);
1145
-								$sql .= ", '" . $this->db->escape($this->accountancy_code_buy) . "'";
1146
-								$sql .= ", '" . $this->db->escape($this->accountancy_code_buy_intra) . "'";
1147
-								$sql .= ", '" . $this->db->escape($this->accountancy_code_buy_export) . "'";
1148
-								$sql .= ", '" . $this->db->escape($this->accountancy_code_sell) . "'";
1149
-								$sql .= ", '" . $this->db->escape($this->accountancy_code_sell_intra) . "'";
1150
-								$sql .= ", '" . $this->db->escape($this->accountancy_code_sell_export) . "'";
1144
+								$sql .= ", ".((int) $conf->entity);
1145
+								$sql .= ", '".$this->db->escape($this->accountancy_code_buy)."'";
1146
+								$sql .= ", '".$this->db->escape($this->accountancy_code_buy_intra)."'";
1147
+								$sql .= ", '".$this->db->escape($this->accountancy_code_buy_export)."'";
1148
+								$sql .= ", '".$this->db->escape($this->accountancy_code_sell)."'";
1149
+								$sql .= ", '".$this->db->escape($this->accountancy_code_sell_intra)."'";
1150
+								$sql .= ", '".$this->db->escape($this->accountancy_code_sell_export)."'";
1151 1151
 								$sql .= ")";
1152 1152
 								$result = $this->db->query($sql);
1153 1153
 								if (!$result) {
@@ -1528,12 +1528,12 @@  discard block
 block discarded – undo
1528 1528
 			$sql .= ", note_public = ".(isset($this->note_public) ? "'".$this->db->escape($this->note_public)."'" : 'null');
1529 1529
 			$sql .= ", duration = '".$this->db->escape($this->duration_value.$this->duration_unit)."'";
1530 1530
 			if (!getDolGlobalString('MAIN_PRODUCT_PERENTITY_SHARED')) {
1531
-				$sql .= ", accountancy_code_buy = '" . $this->db->escape($this->accountancy_code_buy) . "'";
1532
-				$sql .= ", accountancy_code_buy_intra = '" . $this->db->escape($this->accountancy_code_buy_intra) . "'";
1533
-				$sql .= ", accountancy_code_buy_export = '" . $this->db->escape($this->accountancy_code_buy_export) . "'";
1534
-				$sql .= ", accountancy_code_sell= '" . $this->db->escape($this->accountancy_code_sell) . "'";
1535
-				$sql .= ", accountancy_code_sell_intra= '" . $this->db->escape($this->accountancy_code_sell_intra) . "'";
1536
-				$sql .= ", accountancy_code_sell_export= '" . $this->db->escape($this->accountancy_code_sell_export) . "'";
1531
+				$sql .= ", accountancy_code_buy = '".$this->db->escape($this->accountancy_code_buy)."'";
1532
+				$sql .= ", accountancy_code_buy_intra = '".$this->db->escape($this->accountancy_code_buy_intra)."'";
1533
+				$sql .= ", accountancy_code_buy_export = '".$this->db->escape($this->accountancy_code_buy_export)."'";
1534
+				$sql .= ", accountancy_code_sell= '".$this->db->escape($this->accountancy_code_sell)."'";
1535
+				$sql .= ", accountancy_code_sell_intra= '".$this->db->escape($this->accountancy_code_sell_intra)."'";
1536
+				$sql .= ", accountancy_code_sell_export= '".$this->db->escape($this->accountancy_code_sell_export)."'";
1537 1537
 			}
1538 1538
 			$sql .= ", desiredstock = ".((isset($this->desiredstock) && is_numeric($this->desiredstock)) ? (float) $this->desiredstock : "null");
1539 1539
 			$sql .= ", cost_price = ".($this->cost_price != '' ? $this->db->escape($this->cost_price) : 'null');
@@ -1563,9 +1563,9 @@  discard block
 block discarded – undo
1563 1563
 
1564 1564
 				// update accountancy for this entity
1565 1565
 				if (!$error && getDolGlobalString('MAIN_PRODUCT_PERENTITY_SHARED')) {
1566
-					$this->db->query("DELETE FROM " . $this->db->prefix() . "product_perentity WHERE fk_product = " . ((int) $this->id) . " AND entity = " . ((int) $conf->entity));
1566
+					$this->db->query("DELETE FROM ".$this->db->prefix()."product_perentity WHERE fk_product = ".((int) $this->id)." AND entity = ".((int) $conf->entity));
1567 1567
 
1568
-					$sql = "INSERT INTO " . $this->db->prefix() . "product_perentity (";
1568
+					$sql = "INSERT INTO ".$this->db->prefix()."product_perentity (";
1569 1569
 					$sql .= " fk_product";
1570 1570
 					$sql .= ", entity";
1571 1571
 					$sql .= ", accountancy_code_buy";
@@ -1576,13 +1576,13 @@  discard block
 block discarded – undo
1576 1576
 					$sql .= ", accountancy_code_sell_export";
1577 1577
 					$sql .= ") VALUES (";
1578 1578
 					$sql .= ((int) $this->id);
1579
-					$sql .= ", " . ((int) $conf->entity);
1580
-					$sql .= ", '" . $this->db->escape($this->accountancy_code_buy) . "'";
1581
-					$sql .= ", '" . $this->db->escape($this->accountancy_code_buy_intra) . "'";
1582
-					$sql .= ", '" . $this->db->escape($this->accountancy_code_buy_export) . "'";
1583
-					$sql .= ", '" . $this->db->escape($this->accountancy_code_sell) . "'";
1584
-					$sql .= ", '" . $this->db->escape($this->accountancy_code_sell_intra) . "'";
1585
-					$sql .= ", '" . $this->db->escape($this->accountancy_code_sell_export) . "'";
1579
+					$sql .= ", ".((int) $conf->entity);
1580
+					$sql .= ", '".$this->db->escape($this->accountancy_code_buy)."'";
1581
+					$sql .= ", '".$this->db->escape($this->accountancy_code_buy_intra)."'";
1582
+					$sql .= ", '".$this->db->escape($this->accountancy_code_buy_export)."'";
1583
+					$sql .= ", '".$this->db->escape($this->accountancy_code_sell)."'";
1584
+					$sql .= ", '".$this->db->escape($this->accountancy_code_sell_intra)."'";
1585
+					$sql .= ", '".$this->db->escape($this->accountancy_code_sell_export)."'";
1586 1586
 					$sql .= ")";
1587 1587
 					$result = $this->db->query($sql);
1588 1588
 					if (!$result) {
@@ -1660,7 +1660,7 @@  discard block
 block discarded – undo
1660 1660
 								$error++;
1661 1661
 							} else {
1662 1662
 								// to keep old entries with the new dir
1663
-								require_once DOL_DOCUMENT_ROOT . '/ecm/class/ecmfiles.class.php';
1663
+								require_once DOL_DOCUMENT_ROOT.'/ecm/class/ecmfiles.class.php';
1664 1664
 								$ecmfiles = new EcmFiles($this->db);
1665 1665
 								$ecmfiles->updateAfterRename("produit/".dol_sanitizeFileName($this->oldcopy->ref), "produit/".dol_sanitizeFileName($this->ref));
1666 1666
 							}
@@ -1958,7 +1958,7 @@  discard block
 block discarded – undo
1958 1958
 				}
1959 1959
 			} elseif (isset($this->multilangs[$key])) {
1960 1960
 				if (empty($this->multilangs[$key]["label"])) {
1961
-					$this->errors[] = $key . ' : ' . $langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Label"));
1961
+					$this->errors[] = $key.' : '.$langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Label"));
1962 1962
 					return -1;
1963 1963
 				}
1964 1964
 
@@ -2155,7 +2155,7 @@  discard block
 block discarded – undo
2155 2155
 	 */
2156 2156
 	private function getArrayForPriceCompare($level = 0)
2157 2157
 	{
2158
-		$testExit = array('multiprices','multiprices_ttc','multiprices_base_type','multiprices_min','multiprices_min_ttc','multiprices_tva_tx','multiprices_recuperableonly');
2158
+		$testExit = array('multiprices', 'multiprices_ttc', 'multiprices_base_type', 'multiprices_min', 'multiprices_min_ttc', 'multiprices_tva_tx', 'multiprices_recuperableonly');
2159 2159
 
2160 2160
 		foreach ($testExit as $field) {
2161 2161
 			if (!isset($this->$field)) {
@@ -2845,12 +2845,12 @@  discard block
 block discarded – undo
2845 2845
 
2846 2846
 		//For MultiCompany
2847 2847
 		//PMP per entity & Stocks Sharings stock_reel includes only stocks shared with this entity
2848
-		$separatedEntityPMP = false;	// Set to true to get the AWP from table llx_product_perentity instead of field 'pmp' into llx_product.
2849
-		$separatedStock = false;		// Set to true will count stock from subtable llx_product_stock. It is slower than using denormalized field 'stock', but it is required when using multientity and shared warehouses.
2848
+		$separatedEntityPMP = false; // Set to true to get the AWP from table llx_product_perentity instead of field 'pmp' into llx_product.
2849
+		$separatedStock = false; // Set to true will count stock from subtable llx_product_stock. It is slower than using denormalized field 'stock', but it is required when using multientity and shared warehouses.
2850 2850
 		$visibleWarehousesEntities = $conf->entity;
2851 2851
 		if (getDolGlobalString('MULTICOMPANY_PRODUCT_SHARING_ENABLED')) {
2852 2852
 			if (getDolGlobalString('MULTICOMPANY_PMP_PER_ENTITY_ENABLED')) {
2853
-				$checkPMPPerEntity = $this->db->query("SELECT pmp FROM " . $this->db->prefix() . "product_perentity WHERE fk_product = ".((int) $id)." AND entity = ".(int) $conf->entity);
2853
+				$checkPMPPerEntity = $this->db->query("SELECT pmp FROM ".$this->db->prefix()."product_perentity WHERE fk_product = ".((int) $id)." AND entity = ".(int) $conf->entity);
2854 2854
 				if ($this->db->num_rows($checkPMPPerEntity) > 0) {
2855 2855
 					$separatedEntityPMP = true;
2856 2856
 				}
@@ -2858,7 +2858,7 @@  discard block
 block discarded – undo
2858 2858
 			global $mc;
2859 2859
 			$separatedStock = true;
2860 2860
 			if (isset($mc->sharings['stock']) && !empty($mc->sharings['stock'])) {
2861
-				$visibleWarehousesEntities .= "," . implode(",", $mc->sharings['stock']);
2861
+				$visibleWarehousesEntities .= ",".implode(",", $mc->sharings['stock']);
2862 2862
 			}
2863 2863
 		}
2864 2864
 		if ($separatedEntityPMP) {
@@ -2876,10 +2876,10 @@  discard block
 block discarded – undo
2876 2876
 		}
2877 2877
 		$sql .= " FROM ".$this->db->prefix()."product as p";
2878 2878
 		if (getDolGlobalString('MAIN_PRODUCT_PERENTITY_SHARED') || $separatedEntityPMP) {
2879
-			$sql .= " LEFT JOIN " . $this->db->prefix() . "product_perentity as ppe ON ppe.fk_product = p.rowid AND ppe.entity = " . ((int) $conf->entity);
2879
+			$sql .= " LEFT JOIN ".$this->db->prefix()."product_perentity as ppe ON ppe.fk_product = p.rowid AND ppe.entity = ".((int) $conf->entity);
2880 2880
 		}
2881 2881
 		if ($separatedStock) {
2882
-			$sql .= " LEFT JOIN " . $this->db->prefix() . "product_stock as sp ON sp.fk_product = p.rowid AND sp.fk_entrepot IN (SELECT rowid FROM ".$this->db->prefix()."entrepot WHERE entity IN (".$this->db->sanitize($visibleWarehousesEntities)."))";
2882
+			$sql .= " LEFT JOIN ".$this->db->prefix()."product_stock as sp ON sp.fk_product = p.rowid AND sp.fk_entrepot IN (SELECT rowid FROM ".$this->db->prefix()."entrepot WHERE entity IN (".$this->db->sanitize($visibleWarehousesEntities)."))";
2883 2883
 		}
2884 2884
 
2885 2885
 		if ($id) {
@@ -3039,15 +3039,15 @@  discard block
 block discarded – undo
3039 3039
 						$sql .= " WHERE entity IN (".getEntity('productprice').")";
3040 3040
 						$sql .= " AND price_level=".((int) $i);
3041 3041
 						$sql .= " AND fk_product = ".((int) $this->id);
3042
-						$sql .= " ORDER BY date_price DESC, rowid DESC";	// Get the most recent line
3043
-						$sql .= " LIMIT 1";									// Only the first one
3042
+						$sql .= " ORDER BY date_price DESC, rowid DESC"; // Get the most recent line
3043
+						$sql .= " LIMIT 1"; // Only the first one
3044 3044
 						$resql = $this->db->query($sql);
3045 3045
 						if ($resql) {
3046 3046
 							$result = $this->db->fetch_array($resql);
3047 3047
 
3048 3048
 							$this->multiprices[$i] = $result ? $result["price"] : null;
3049 3049
 							$this->multiprices_ttc[$i] = $result ? $result["price_ttc"] : null;
3050
-							$this->multiprices_min[$i] =  $result ? $result["price_min"] : null;
3050
+							$this->multiprices_min[$i] = $result ? $result["price_min"] : null;
3051 3051
 							$this->multiprices_min_ttc[$i] = $result ? $result["price_min_ttc"] : null;
3052 3052
 							$this->multiprices_base_type[$i] = $result ? $result["price_base_type"] : null;
3053 3053
 							// Next two fields are used only if PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL is on
@@ -3272,7 +3272,7 @@  discard block
 block discarded – undo
3272 3272
 				$obj = $this->db->fetch_object($result);
3273 3273
 				$this->stats_mo['customers_'.$role] = $obj->nb_customers ? $obj->nb_customers : 0;
3274 3274
 				$this->stats_mo['nb_'.$role] = $obj->nb ? $obj->nb : 0;
3275
-				$this->stats_mo['qty_'.$role] = $obj->qty ? price2num($obj->qty, 'MS') : 0;		// qty may be a float due to the SUM()
3275
+				$this->stats_mo['qty_'.$role] = $obj->qty ? price2num($obj->qty, 'MS') : 0; // qty may be a float due to the SUM()
3276 3276
 			} else {
3277 3277
 				$this->error = $this->db->error();
3278 3278
 				$error++;
@@ -4775,7 +4775,7 @@  discard block
 block discarded – undo
4775 4775
 				//Addition of a product with the highest rank +1
4776 4776
 				$sql = "INSERT INTO ".$this->db->prefix()."product_association(fk_product_pere,fk_product_fils,qty,incdec,rang)";
4777 4777
 				$sql .= " VALUES (".((int) $id_pere).", ".((int) $id_fils).", ".price2num($qty, 'MS').", ".((int) $incdec).", ".((int) $rank).")";
4778
-				if (! $this->db->query($sql)) {
4778
+				if (!$this->db->query($sql)) {
4779 4779
 					dol_print_error($this->db);
4780 4780
 					return -1;
4781 4781
 				} else {
@@ -4896,7 +4896,7 @@  discard block
 block discarded – undo
4896 4896
 				$sql = "UPDATE ".$this->db->prefix()."product_association";
4897 4897
 				$sql .= " SET rang = ".((int) $cpt);
4898 4898
 				$sql .= " WHERE rowid = ".((int) $objrank->rowid);
4899
-				if (! $this->db->query($sql)) {
4899
+				if (!$this->db->query($sql)) {
4900 4900
 					dol_print_error($this->db);
4901 4901
 					return -1;
4902 4902
 				}
@@ -5331,7 +5331,7 @@  discard block
 block discarded – undo
5331 5331
 		if (isset($this->sousprods) && is_array($this->sousprods)) {
5332 5332
 			foreach ($this->sousprods as $prod_name => $desc_product) {
5333 5333
 				if (is_array($desc_product)) {
5334
-					$this->fetch_prod_arbo($desc_product, "", $multiply, 1, $this->id, $ignore_stock_load);	// This set $this->res
5334
+					$this->fetch_prod_arbo($desc_product, "", $multiply, 1, $this->id, $ignore_stock_load); // This set $this->res
5335 5335
 				}
5336 5336
 			}
5337 5337
 		}
@@ -5487,7 +5487,7 @@  discard block
 block discarded – undo
5487 5487
 		$sql .= " AND pa.fk_product_fils <> ".((int) $id); // This should not happens, it is to avoid infinite loop if it happens
5488 5488
 		$sql .= " ORDER BY pa.rang";
5489 5489
 
5490
-		dol_syslog(get_class($this).'::getChildsArbo id='.$id.' level='.$level. ' parents='.(is_array($parents) ? implode(',', $parents) : $parents), LOG_DEBUG);
5490
+		dol_syslog(get_class($this).'::getChildsArbo id='.$id.' level='.$level.' parents='.(is_array($parents) ? implode(',', $parents) : $parents), LOG_DEBUG);
5491 5491
 
5492 5492
 		if ($level == 1) {
5493 5493
 			$alreadyfound = array($id => 1); // We init array of found object to start of tree, so if we found it later (should not happened), we stop immediately
@@ -5552,7 +5552,7 @@  discard block
 block discarded – undo
5552 5552
 			$parent[$this->label][$keyChild] = $valueChild;
5553 5553
 		}
5554 5554
 		foreach ($parent as $key => $value) {        // key=label, value is array of children
5555
-			$this->sousprods[$key] = $value;  // @phan-suppress-current-line PhanTypeMismatchProperty
5555
+			$this->sousprods[$key] = $value; // @phan-suppress-current-line PhanTypeMismatchProperty
5556 5556
 		}
5557 5557
 	}
5558 5558
 
@@ -5588,7 +5588,7 @@  discard block
 block discarded – undo
5588 5588
 		if (!empty($this->entity) && $permissiontoreadproduct) {
5589 5589
 			$tmpphoto = $this->show_photos('product', $conf->product->multidir_output[$this->entity], 1, 1, 0, 0, 0, 80, 0, 0, 0, 0, '1');
5590 5590
 			if ($this->nbphoto > 0) {
5591
-				$datas['photo'] = '<div class="photointooltip floatright">'."\n" . $tmpphoto . '</div>';
5591
+				$datas['photo'] = '<div class="photointooltip floatright">'."\n".$tmpphoto.'</div>';
5592 5592
 			}
5593 5593
 		}
5594 5594
 
@@ -5598,7 +5598,7 @@  discard block
 block discarded – undo
5598 5598
 			$datas['picto'] = img_picto('', 'service').' <u class="paddingrightonly">'.$langs->trans("Service").'</u>';
5599 5599
 		}
5600 5600
 		if (isset($this->status) && isset($this->status_buy)) {
5601
-			$datas['status'] = ' '.$this->getLibStatut(5, 0) . ' '.$this->getLibStatut(5, 1);
5601
+			$datas['status'] = ' '.$this->getLibStatut(5, 0).' '.$this->getLibStatut(5, 1);
5602 5602
 		}
5603 5603
 
5604 5604
 		if (!empty($this->ref)) {
@@ -5648,7 +5648,7 @@  discard block
 block discarded – undo
5648 5648
 					$labelsurfacevolume .= ($labelsurfacevolume ? " - " : "")."<b>".$langs->trans("Volume").'</b>: '.$this->volume.' '.measuringUnitString(0, 'volume', $this->volume_units);
5649 5649
 				}
5650 5650
 				if ($labelsurfacevolume) {
5651
-					$datas['surface'] = "<br>" . $labelsurfacevolume;
5651
+					$datas['surface'] = "<br>".$labelsurfacevolume;
5652 5652
 				}
5653 5653
 			}
5654 5654
 			if ($this->isService() && !empty($this->duration_value)) {
@@ -5690,9 +5690,9 @@  discard block
 block discarded – undo
5690 5690
 			}
5691 5691
 			// show categories for this record only in ajax to not overload lists
5692 5692
 			if (isModEnabled('category') && !$nofetch) {
5693
-				require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php';
5693
+				require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
5694 5694
 				$form = new Form($this->db);
5695
-				$datas['categories'] = '<br>' . $form->showCategories($this->id, Categorie::TYPE_PRODUCT, 1);
5695
+				$datas['categories'] = '<br>'.$form->showCategories($this->id, Categorie::TYPE_PRODUCT, 1);
5696 5696
 			}
5697 5697
 		}
5698 5698
 
@@ -6215,7 +6215,7 @@  discard block
 block discarded – undo
6215 6215
 		if (isModEnabled("supplier_order")) {
6216 6216
 			$filterStatus = getDolGlobalString('SUPPLIER_ORDER_STATUS_FOR_VIRTUAL_STOCK', '3,4');
6217 6217
 			if (isset($includedraftpoforvirtual)) {
6218
-				$filterStatus = '0,1,2,'.$filterStatus;	// 1,2 may have already been inside $filterStatus but it is better to have twice than missing $filterStatus does not include them
6218
+				$filterStatus = '0,1,2,'.$filterStatus; // 1,2 may have already been inside $filterStatus but it is better to have twice than missing $filterStatus does not include them
6219 6219
 			}
6220 6220
 			$result = $this->load_stats_commande_fournisseur(0, $filterStatus, 1, $dateofvirtualstock);
6221 6221
 			if ($result < 0) {
@@ -6632,7 +6632,7 @@  discard block
 block discarded – undo
6632 6632
 		if (getDolGlobalString('BARCODE_PRODUCT_ADDON_NUM')) {
6633 6633
 			$dirsociete = array_merge(array('/core/modules/barcode/'), $conf->modules_parts['barcode']);
6634 6634
 			foreach ($dirsociete as $dirroot) {
6635
-				$res = dol_include_once($dirroot . getDolGlobalString('BARCODE_PRODUCT_ADDON_NUM').'.php');
6635
+				$res = dol_include_once($dirroot.getDolGlobalString('BARCODE_PRODUCT_ADDON_NUM').'.php');
6636 6636
 				if ($res) {
6637 6637
 					break;
6638 6638
 				}
Please login to merge, or discard this patch.