* Copyright (C) 2004-2008 Laurent Destailleur * Copyright (C) 2005-2007 Regis Houssin * * 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 2 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, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /** * \file htdocs/product/index.php * \ingroup product * \brief Page accueil des produits et services * \version $Id$ */ require("./pre.inc.php"); require_once(DOL_DOCUMENT_ROOT.'/product.class.php'); if (!$user->rights->produit->lire) accessforbidden(); $staticproduct=new Product($db); /* * Affichage page accueil * */ $transAreaType = $langs->trans("ProductsAndServicesArea"); if (isset($_GET["type"]) && $_GET["type"] == 0) $transAreaType = $langs->trans("ProductsArea"); if (isset($_GET["type"]) && $_GET["type"] == 1) $transAreaType = $langs->trans("ServicesArea"); llxHeader("","",$langs->trans("ProductsAndServices")); print_fiche_titre($transAreaType); print ''; print '
'; /* * Zone recherche produit/service */ print '
'; print ''; print ""; print ''; print "'; print ''; print "'; //print ''; print ''; print "
'.$langs->trans("Search").'
"; print $langs->trans("Ref").':
"; print $langs->trans("Other").':

"; /* * Nombre de produits et/ou services */ $prodser = array(); $prodser[0][0]=$prodser[0][1]=$prodser[1][0]=$prodser[1][1]=0; $sql = "SELECT COUNT(p.rowid) as total, p.fk_product_type, p.envente"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p"; $sql.= " GROUP BY p.fk_product_type, p.envente"; $result = $db->query($sql); while ($objp = $db->fetch_object($result)) { $prodser[$objp->fk_product_type][$objp->envente]=$objp->total; } print ''; print ''; if ($conf->produit->enabled) { $statProducts = ""; $statProducts.= ''; $statProducts.= ""; $statProducts.= ""; $statProducts.= ''; $statProducts.= ""; } if ($conf->service->enabled) { $statServices = ""; $statServices.= ''; $statServices.= ""; $statServices.= ""; $statServices.= ''; $statServices.= ""; } if (isset($_GET["type"]) && $_GET["type"] == 0) { print $statProducts; } else if (isset($_GET["type"]) && $_GET["type"] == 1) { print $statServices; } else { print $statProducts.$statServices; } print ''; print '
'.$langs->trans("Statistics").'
'.$langs->trans("ProductsNotOnSell").''.round($prodser[0][0]).'
'.$langs->trans("ProductsOnSell").''.round($prodser[0][1]).'
'.$langs->trans("ServicesNotOnSell").''.round($prodser[1][0]).'
'.$langs->trans("ServicesOnSell").''.round($prodser[1][1]).'
'.$langs->trans("Total").''; print round($prodser[1][0])+round($prodser[1][1])+round($prodser[0][0])+round($prodser[0][1]); print '
'; print '
'; /* * Derniers produits/services en vente */ $max=15; $sql = "SELECT p.rowid, p.label, p.price, p.ref, p.fk_product_type, p.envente,"; $sql.= " ".$db->pdate("tms")." as datem"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p"; if ($conf->categorie->enabled && !$user->rights->categorie->voir) { $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie_product as cp ON cp.fk_product = p.rowid"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie as c ON cp.fk_categorie = c.rowid"; } $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_subproduct as sp ON p.rowid = sp.fk_product_subproduct"; $sql.= " WHERE sp.fk_product_subproduct IS NULL"; if ($conf->categorie->enabled && !$user->rights->categorie->voir) $sql.= " AND IFNULL(c.visible,1)=1 "; if (isset($_GET["type"])) $sql.= " AND p.fk_product_type = ".$_GET["type"]; $sql.= " ORDER BY p.tms DESC "; $sql.= $db->plimit($max,0); $result = $db->query($sql) ; if ($result) { $num = $db->num_rows($result); $i = 0; if ($num > 0) { $transRecordedType = $langs->trans("LastModifiedProductsAndServices",$max); if (isset($_GET["type"]) && $_GET["type"] == 0) $transRecordedType = $langs->trans("LastRecordedProducts",$max); if (isset($_GET["type"]) && $_GET["type"] == 1) $transRecordedType = $langs->trans("LastRecordedServices",$max); print ''; print ''; $var=True; while ($i < $num) { $objp = $db->fetch_object($result); //Multilangs if ($conf->global->MAIN_MULTILANGS) { $sql = "SELECT label FROM ".MAIN_DB_PREFIX."product_det"; $sql.= " WHERE fk_product=".$objp->rowid." AND lang='". $langs->getDefaultLang() ."'"; $resultd = $db->query($sql); if ($resultd) { $objtp = $db->fetch_object($resultd); if ($objtp->label != '') $objp->label = $objtp->label; } } $var=!$var; print ""; print '\n"; print ''; print ""; print '"; print "\n"; $i++; } $db->free(); print "
'.$transRecordedType.'
'; $staticproduct->id=$objp->rowid; $staticproduct->ref=$objp->ref; $staticproduct->type=$objp->fk_product_type; print $staticproduct->getNomUrl(1,'',16); print "'.dolibarr_trunc($objp->label,32).'"; print dolibarr_print_date($objp->datem,'day'); print "'; print $staticproduct->LibStatut($objp->envente,5); print "
"; } } else { dolibarr_print_error($db); } print '
'; $db->close(); llxFooter('$Date$ - $Revision$'); ?>