diff --git a/htdocs/mrp/mo_movements.php b/htdocs/mrp/mo_movements.php index de31f3f0283..ca2655ae10e 100644 --- a/htdocs/mrp/mo_movements.php +++ b/htdocs/mrp/mo_movements.php @@ -1,5 +1,6 @@ + * Copyright (C) 2022 Ferran Marcet * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -155,6 +156,9 @@ if ($permissiontoupdatecost) { $arrayfields['m.price']['enabled'] = 1; } +$arrayofselected = array(); + + /* * Actions */ @@ -798,10 +802,29 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea } $num = $db->num_rows($resql); + $totalarray = array(); $i = 0; while ($i < ($limit ? min($num, $limit) : $num)) { $objp = $db->fetch_object($resql); + // Multilangs + if (!empty($conf->global->MAIN_MULTILANGS)) { // If multilang is enabled + // TODO Use a cache here + $sql = "SELECT label"; + $sql .= " FROM ".MAIN_DB_PREFIX."product_lang"; + $sql .= " WHERE fk_product=".$objp->rowid; + $sql .= " AND lang='".$db->escape($langs->getDefaultLang())."'"; + $sql .= " LIMIT 1"; + + $result = $db->query($sql); + if ($result) { + $objtp = $db->fetch_object($result); + if (!empty($objtp->label)) { + $objp->produit = $objtp->label; + } + } + } + $userstatic->id = $objp->fk_user_author; $userstatic->login = $objp->login; $userstatic->lastname = $objp->lastname; @@ -835,7 +858,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Id movement if (!empty($arrayfields['m.rowid']['checked'])) { // This is primary not movement id - print ''.$objp->mid.''; + print ''.dol_escape_htmltag($objp->mid).''; } if (!empty($arrayfields['m.datem']['checked'])) { // Date @@ -858,7 +881,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea if ($productlot->id > 0) { print $productlot->getNomUrl(1); } else { - print $productlot->batch; // the id may not be defined if movement was entered when lot was not saved or if lot was removed after movement. + print dol_escape_htmltag($productlot->batch); // the id may not be defined if movement was entered when lot was not saved or if lot was removed after movement. } print ''; } @@ -884,13 +907,13 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea // Inventory code print ''; //print ''; - print $objp->inventorycode; + print dol_escape_htmltag($objp->inventorycode); //print ''; print ''; } if (!empty($arrayfields['m.label']['checked'])) { // Label of movement - print ''.$objp->label.''; + print ''.dol_escape_htmltag($objp->label).''; } if (!empty($arrayfields['m.type_mouvement']['checked'])) { // Type of movement @@ -911,7 +934,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea } if (!empty($arrayfields['origin']['checked'])) { // Origin of movement - print ''.$origin.''; + print ''.dol_escape_htmltag($origin).''; } if (!empty($arrayfields['m.fk_projet']['checked'])) { // fk_project diff --git a/htdocs/product/stock/movement_list.php b/htdocs/product/stock/movement_list.php index 5b8315caf8c..952ac662310 100644 --- a/htdocs/product/stock/movement_list.php +++ b/htdocs/product/stock/movement_list.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2017 Laurent Destailleur * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2015 Juanjo Menent - * Copyright (C) 2018 Ferran Marcet + * Copyright (C) 2018-2022 Ferran Marcet * Copyright (C) 2019 Frédéric France * * This program is free software; you can redistribute it and/or modify @@ -1130,6 +1130,24 @@ if ($resql) { $userstatic->email = $objp->user_email; $userstatic->statut = $objp->user_status; + // Multilangs + if (!empty($conf->global->MAIN_MULTILANGS)) { // If multilang is enabled + // TODO Use a cache + $sql = "SELECT label"; + $sql .= " FROM ".MAIN_DB_PREFIX."product_lang"; + $sql .= " WHERE fk_product=".$objp->rowid; + $sql .= " AND lang='".$db->escape($langs->getDefaultLang())."'"; + $sql .= " LIMIT 1"; + + $result = $db->query($sql); + if ($result) { + $objtp = $db->fetch_object($result); + if (!empty($objtp->label)) { + $objp->produit = $objtp->label; + } + } + } + $productstatic->id = $objp->rowid; $productstatic->ref = $objp->product_ref; $productstatic->label = $objp->produit;