28 |
*/ |
*/ |
29 |
|
|
30 |
require("./pre.inc.php"); |
require("./pre.inc.php"); |
31 |
|
require_once(DOL_DOCUMENT_ROOT.'/product.class.php'); |
32 |
|
|
33 |
$langs->load("products"); |
$langs->load("products"); |
34 |
|
|
63 |
|
|
64 |
|
|
65 |
/* |
/* |
66 |
* Mode Liste |
* Affichage mode liste |
67 |
* |
* |
68 |
*/ |
*/ |
69 |
|
|
70 |
$title=$langs->trans("ProductsAndServices"); |
$title=$langs->trans("ProductsAndServices"); |
71 |
|
|
72 |
$sql = 'SELECT p.rowid, p.ref, p.label, p.price, p.fk_product_type, '.$db->pdate('p.tms').' as datem'; |
$sql = 'SELECT p.rowid, p.ref, p.label, p.price, p.fk_product_type, '.$db->pdate('p.tms').' as datem,'; |
73 |
|
$sql.= ' p.duration, p.envente as statut'; |
74 |
$sql.= ' FROM '.MAIN_DB_PREFIX.'product as p'; |
$sql.= ' FROM '.MAIN_DB_PREFIX.'product as p'; |
|
|
|
75 |
if ($_GET["fourn_id"] > 0) |
if ($_GET["fourn_id"] > 0) |
76 |
{ |
{ |
77 |
$fourn_id = $_GET["fourn_id"]; |
$fourn_id = $_GET["fourn_id"]; |
98 |
{ |
{ |
99 |
$sql .= " AND p.envente = ".$_GET["envente"]; |
$sql .= " AND p.envente = ".$_GET["envente"]; |
100 |
} |
} |
|
else |
|
|
{ |
|
|
if ($fourn_id == 0) |
|
|
{ |
|
|
$sql .= " AND p.envente = 1"; |
|
|
} |
|
|
} |
|
101 |
if ($fourn_id > 0) |
if ($fourn_id > 0) |
102 |
{ |
{ |
103 |
$sql .= " AND p.rowid = pf.fk_product AND pf.fk_soc = $fourn_id"; |
$sql .= " AND p.rowid = pf.fk_product AND pf.fk_soc = ".$fourn_id; |
104 |
} |
} |
105 |
$sql .= " ORDER BY $sortfield $sortorder "; |
$sql .= " ORDER BY $sortfield $sortorder "; |
106 |
$sql .= $db->plimit($limit + 1 ,$offset); |
$sql .= $db->plimit($limit + 1 ,$offset); |
127 |
$envente=1; |
$envente=1; |
128 |
} |
} |
129 |
|
|
130 |
if (! $envente) |
if (isset($_GET["type"]) || isset($_POST["type"])) |
131 |
{ |
{ |
132 |
if (isset($_GET["type"]) || isset($_POST["type"])) { |
$type=isset($_GET["type"])?$_GET["type"]:$_POST["type"]; |
133 |
$type=isset($_GET["type"])?$_GET["type"]:$_POST["type"]; |
if ($type) { $texte = $langs->trans("Services"); } |
134 |
if ($type) { $texte = $langs->trans("ServicesNotOnSell"); } |
else { $texte = $langs->trans("Products"); } |
135 |
else { $texte = $langs->trans("ProductsNotOnSell"); } |
} else { |
136 |
} else { |
$texte = $langs->trans("ProductsAndServices"); |
137 |
$texte = $langs->trans("ProductsAndServicesNotOnSell"); |
} |
|
} |
|
|
} |
|
|
else |
|
|
{ |
|
|
if (isset($_POST["type"]) || isset($_GET["type"])) { |
|
|
if ($type) { $texte = $langs->trans("ServicesOnSell"); } |
|
|
else { $texte = $langs->trans("ProductsOnSell"); } |
|
|
} else { |
|
|
$texte = $langs->trans("ProductsAndServicesOnSell"); |
|
|
} |
|
|
} |
|
|
|
|
|
llxHeader("","",$texte); |
|
|
|
|
|
if ($sref || $snom || $_POST["sall"] || $_POST["search"]) |
|
|
{ |
|
|
print_barre_liste($texte, $page, "liste.php", "&sref=".$sref."&snom=".$snom."&envente=".$_POST["envente"], $sortfield, $sortorder,'',$num); |
|
|
} |
|
|
else |
|
|
{ |
|
|
print_barre_liste($texte, $page, "liste.php", "&sref=$sref&snom=$snom&fourn_id=$fourn_id".(isset($type)?"&type=$type":""), $sortfield, $sortorder,'',$num); |
|
|
} |
|
|
|
|
|
print '<table class="liste" width="100%">'; |
|
|
|
|
|
// Lignes des titres |
|
|
print "<tr class=\"liste_titre\">"; |
|
|
print_liste_field_titre($langs->trans("Ref"),"liste.php", "p.ref","&envente=$envente".(isset($type)?"&type=$type":"")."&fourn_id=$fourn_id&snom=$snom&sref=$sref","","",$sortfield); |
|
|
print_liste_field_titre($langs->trans("Label"),"liste.php", "p.label","&envente=$envente&".(isset($type)?"&type=$type":"")."&fourn_id=$fourn_id&snom=$snom&sref=$sref","","",$sortfield); |
|
|
print_liste_field_titre($langs->trans("DateModification"),"liste.php", "p.tms","&envente=$envente&".(isset($type)?"&type=$type":"")."&fourn_id=$fourn_id&snom=$snom&sref=$sref","",'align="center"',$sortfield); |
|
|
print_liste_field_titre($langs->trans("SellingPrice"),"liste.php", "p.price","&envente=$envente&".(isset($type)?"&type=$type":"")."&fourn_id=$fourn_id&snom=$snom&sref=$sref","",'align="right"',$sortfield); |
|
|
print "</tr>\n"; |
|
|
|
|
|
// Lignes des champs de filtre |
|
|
print '<form action="liste.php" method="post" name="formulaire">'; |
|
|
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">'; |
|
|
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">'; |
|
|
print '<input type="hidden" name="type" value="'.$type.'">'; |
|
|
print '<tr class="liste_titre">'; |
|
|
print '<td class="liste_titre">'; |
|
|
print '<input class="flat" type="text" name="sref" value="'.$sref.'">'; |
|
|
print '</td>'; |
|
|
print '<td class="liste_titre" valign="right">'; |
|
|
print '<input class="flat" type="text" name="snom" value="'.$snom.'">'; |
|
|
print '</td>'; |
|
|
print '<td class="liste_titre">'; |
|
|
print ' '; |
|
|
print '</td>'; |
|
|
print '<td class="liste_titre" align="right">'; |
|
|
print '<input type="image" class="liste_titre" name="button_search" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/search.png" alt="'.$langs->trans("Search").'">'; |
|
|
print '<input type="image" class="liste_titre" name="button_removefilter" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/searchclear.png" alt="'.$langs->trans("RemoveFilter").'">'; |
|
|
print '</td>'; |
|
|
print '</tr>'; |
|
|
print '</form>'; |
|
|
|
|
|
|
|
|
$var=True; |
|
|
while ($i < min($num,$limit)) |
|
|
{ |
|
|
$objp = $db->fetch_object($resql); |
|
|
$var=!$var; |
|
|
print "<tr $bc[$var]><td>"; |
|
|
print "<a href=\"fiche.php?id=$objp->rowid\">"; |
|
|
if ($objp->fk_product_type) print img_object($langs->trans("ShowService"),"service"); |
|
|
else print img_object($langs->trans("ShowProduct"),"product"); |
|
|
print '</a> '; |
|
|
print '<a href="fiche.php?id='.$objp->rowid.'">'.$objp->ref.'</a></td>'; |
|
|
print '<td>'.$objp->label.'</td>'; |
|
|
print '<td align="center">'.dolibarr_print_date($objp->datem).'</td>'; |
|
|
print '<td align="right">'.price($objp->price).'</td>'; |
|
|
print "</tr>\n"; |
|
|
$i++; |
|
|
} |
|
|
$db->free($resql); |
|
138 |
|
|
|
print "</table>"; |
|
139 |
|
|
140 |
} |
llxHeader("","",$texte); |
141 |
else |
|
142 |
|
if ($sref || $snom || $_POST["sall"] || $_POST["search"]) |
143 |
|
{ |
144 |
|
print_barre_liste($texte, $page, "liste.php", "&sref=".$sref."&snom=".$snom."&envente=".$_POST["envente"], $sortfield, $sortorder,'',$num); |
145 |
|
} |
146 |
|
else |
147 |
|
{ |
148 |
|
print_barre_liste($texte, $page, "liste.php", "&sref=$sref&snom=$snom&fourn_id=$fourn_id".(isset($type)?"&type=$type":""), $sortfield, $sortorder,'',$num); |
149 |
|
} |
150 |
|
|
151 |
|
print '<table class="liste" width="100%">'; |
152 |
|
|
153 |
|
// Lignes des titres |
154 |
|
print "<tr class=\"liste_titre\">"; |
155 |
|
print_liste_field_titre($langs->trans("Ref"),"liste.php", "p.ref","&envente=$envente".(isset($type)?"&type=$type":"")."&fourn_id=$fourn_id&snom=$snom&sref=$sref","","",$sortfield); |
156 |
|
print_liste_field_titre($langs->trans("Label"),"liste.php", "p.label","&envente=$envente&".(isset($type)?"&type=$type":"")."&fourn_id=$fourn_id&snom=$snom&sref=$sref","","",$sortfield); |
157 |
|
print_liste_field_titre($langs->trans("DateModification"),"liste.php", "p.tms","&envente=$envente&".(isset($type)?"&type=$type":"")."&fourn_id=$fourn_id&snom=$snom&sref=$sref","",'align="center"',$sortfield); |
158 |
|
if ($conf->service->enabled && $type != 0) print_liste_field_titre($langs->trans("Duration"),"liste.php", "p.duration","&envente=$envente&".(isset($type)?"&type=$type":"")."&fourn_id=$fourn_id&snom=$snom&sref=$sref","",'align="center"',$sortfield); |
159 |
|
print_liste_field_titre($langs->trans("SellingPrice"),"liste.php", "p.price","&envente=$envente&".(isset($type)?"&type=$type":"")."&fourn_id=$fourn_id&snom=$snom&sref=$sref","",'align="right"',$sortfield); |
160 |
|
print_liste_field_titre($langs->trans("Status"),"liste.php", "p.envente","&envente=$envente&".(isset($type)?"&type=$type":"")."&fourn_id=$fourn_id&snom=$snom&sref=$sref","",'align="center"',$sortfield); |
161 |
|
print "</tr>\n"; |
162 |
|
|
163 |
|
// Lignes des champs de filtre |
164 |
|
print '<form action="liste.php" method="post" name="formulaire">'; |
165 |
|
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">'; |
166 |
|
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">'; |
167 |
|
print '<input type="hidden" name="type" value="'.$type.'">'; |
168 |
|
print '<tr class="liste_titre">'; |
169 |
|
print '<td class="liste_titre">'; |
170 |
|
print '<input class="flat" type="text" name="sref" value="'.$sref.'">'; |
171 |
|
print '</td>'; |
172 |
|
print '<td class="liste_titre" valign="right">'; |
173 |
|
print '<input class="flat" type="text" name="snom" value="'.$snom.'">'; |
174 |
|
print '</td>'; |
175 |
|
if ($conf->service->enabled && $type != 0) |
176 |
|
{ |
177 |
|
print '<td class="liste_titre">'; |
178 |
|
print ' '; |
179 |
|
print '</td>'; |
180 |
|
} |
181 |
|
print '<td class="liste_titre">'; |
182 |
|
print ' '; |
183 |
|
print '</td>'; |
184 |
|
print '<td class="liste_titre">'; |
185 |
|
print ' '; |
186 |
|
print '</td>'; |
187 |
|
print '<td class="liste_titre" align="right">'; |
188 |
|
print '<input type="image" class="liste_titre" name="button_search" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/search.png" alt="'.$langs->trans("Search").'">'; |
189 |
|
print '<input type="image" class="liste_titre" name="button_removefilter" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/searchclear.png" alt="'.$langs->trans("RemoveFilter").'">'; |
190 |
|
print '</td>'; |
191 |
|
print '</tr>'; |
192 |
|
print '</form>'; |
193 |
|
|
194 |
|
$product_static=new Product($db); |
195 |
|
|
196 |
|
$var=True; |
197 |
|
while ($i < min($num,$limit)) |
198 |
|
{ |
199 |
|
$objp = $db->fetch_object($resql); |
200 |
|
$var=!$var; |
201 |
|
print "<tr $bc[$var]><td>"; |
202 |
|
print "<a href=\"fiche.php?id=$objp->rowid\">"; |
203 |
|
if ($objp->fk_product_type) print img_object($langs->trans("ShowService"),"service"); |
204 |
|
else print img_object($langs->trans("ShowProduct"),"product"); |
205 |
|
print '</a> '; |
206 |
|
print '<a href="fiche.php?id='.$objp->rowid.'">'.$objp->ref.'</a></td>'; |
207 |
|
print '<td>'.$objp->label.'</td>'; |
208 |
|
print '<td align="center">'.dolibarr_print_date($objp->datem).'</td>'; |
209 |
|
if ($conf->service->enabled && $type != 0) |
210 |
{ |
{ |
211 |
dolibarr_print_error($db); |
print '<td align="center">'.$objp->duration.'</td>'; |
212 |
} |
} |
213 |
|
print '<td align="right">'.price($objp->price).'</td>'; |
214 |
|
print '<td align="center">'.$product_static->LibStatut($objp->statut).'</td>'; |
215 |
|
print "</tr>\n"; |
216 |
|
$i++; |
217 |
|
} |
218 |
|
$db->free($resql); |
219 |
|
|
220 |
|
print "</table>"; |
221 |
|
|
222 |
|
} |
223 |
|
else |
224 |
|
{ |
225 |
|
dolibarr_print_error($db); |
226 |
|
} |
227 |
|
|
228 |
|
|
229 |
$db->close(); |
$db->close(); |