diff --git a/htdocs/core/lib/product.lib.php b/htdocs/core/lib/product.lib.php
index d0bc74e77c3..5ca0389455f 100644
--- a/htdocs/core/lib/product.lib.php
+++ b/htdocs/core/lib/product.lib.php
@@ -135,6 +135,12 @@ function product_prepare_head($object)
complete_head_from_modules($conf,$langs,$object,$head,$h,'product', 'remove');
+ // Log
+ $head[$h][0] = DOL_URL_ROOT.'/product/info.php?id='.$object->id;
+ $head[$h][1] = $langs->trans("Info");
+ $head[$h][2] = 'info';
+ $h++;
+
return $head;
}
diff --git a/htdocs/product/info.php b/htdocs/product/info.php
new file mode 100644
index 00000000000..3ca96a2847d
--- /dev/null
+++ b/htdocs/product/info.php
@@ -0,0 +1,108 @@
+
+ *
+ * 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
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+/**
+ * \file htdocs/product/info.php
+ * \ingroup product
+ * \brief Information page for product
+ */
+
+require '../main.inc.php';
+require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
+require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php';
+require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
+
+$langs->load("product");
+$langs->load("other");
+if (! empty($conf->notification->enabled)) $langs->load("mails");
+
+// Security check
+$id = GETPOST('id','int');
+$ref = GETPOST('ref','alpha');
+
+$result=restrictedArea($user,'produit|service',$id,'product&product');
+
+// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
+$hookmanager->initHooks(array('infoproduct'));
+
+$object = new Product($db);
+
+
+/*
+ * Actions
+ */
+
+$parameters=array('id'=>$id);
+$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
+if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
+
+
+
+/*
+ * View
+ */
+
+$form=new Form($b);
+
+$title=$langs->trans("Product");
+$helpurl='';
+if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos';
+if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios';
+llxHeader('',$title,$help_url);
+
+if ($id > 0 || $ref)
+{
+ $result = $object->fetch($id,$ref);
+ if (! $result)
+ {
+ $langs->load("errors");
+ print $langs->trans("ErrorRecordNotFound");
+
+ llxFooter();
+ $db->close();
+
+ exit;
+ }
+
+ $head=product_prepare_head($object);
+ $titre=$langs->trans("CardProduct".$object->type);
+ $picto=($object->type== Product::TYPE_SERVICE?'service':'product');
+ dol_fiche_head($head, 'info', $titre, 0, $picto);
+
+ $linkback = ''.$langs->trans("BackToList").'';
+
+ dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
+
+ $object->info($object->id);
+
+ print '
';
+
+ print '
';
+
+ print '
';
+
+ dol_print_object_info($object);
+
+ print '
';
+
+ dol_fiche_end();
+}
+
+
+llxFooter();
+
+$db->close();