Move permission "see hidden categories" into "see hidden products/services".

This commit is contained in:
Laurent Destailleur 2010-03-13 21:53:44 +00:00
parent 65f68c3283
commit 3cb4335f9a
12 changed files with 211 additions and 182 deletions

View File

@ -27,19 +27,19 @@ require("../../main.inc.php");
$langs->load("admin"); $langs->load("admin");
if (!$user->admin) if (!$user->admin)
accessforbidden(); accessforbidden();
/* /*
* View * View
*/ */
llxHeader(); llxHeader();
if (!function_exists('eaccelerator_info')) if (!function_exists('eaccelerator_info'))
{ {
print 'eAccelerator is not installed.'; print 'eAccelerator is not installed.';
llxfooter('$Date$ - $Revision$'); llxfooter('$Date$ - $Revision$');
exit; exit;
} }
@ -47,23 +47,23 @@ if (!function_exists('eaccelerator_info'))
$info = eaccelerator_info(); $info = eaccelerator_info();
if (isset($_POST['caching'])) { if (isset($_POST['caching'])) {
if ($info['cache']) { if ($info['cache']) {
eaccelerator_caching(false); eaccelerator_caching(false);
} else { } else {
eaccelerator_caching(true); eaccelerator_caching(true);
} }
} else if (isset($_POST['optimizer']) && function_exists('eaccelerator_optimizer')) { } else if (isset($_POST['optimizer']) && function_exists('eaccelerator_optimizer')) {
if ($info['optimizer']) { if ($info['optimizer']) {
eaccelerator_optimizer(false); eaccelerator_optimizer(false);
} else { } else {
eaccelerator_optimizer(true); eaccelerator_optimizer(true);
} }
} else if (isset($_POST['clear'])) { } else if (isset($_POST['clear'])) {
eaccelerator_clear(); eaccelerator_clear();
} else if (isset($_POST['clean'])) { } else if (isset($_POST['clean'])) {
eaccelerator_clean(); eaccelerator_clean();
} else if (isset($_POST['purge'])) { } else if (isset($_POST['purge'])) {
eaccelerator_purge(); eaccelerator_purge();
} }
$info = eaccelerator_info(); $info = eaccelerator_info();
if (!is_array($info)) { if (!is_array($info)) {
@ -75,31 +75,31 @@ if (!is_array($info)) {
function compare($x, $y) function compare($x, $y)
{ {
global $sortby; global $sortby;
if ( $x[$sortby] == $y[$sortby] ) if ( $x[$sortby] == $y[$sortby] )
return 0; return 0;
else if ( $x[$sortby] < $y[$sortby] ) else if ( $x[$sortby] < $y[$sortby] )
return -1; return -1;
else else
return 1; return 1;
} }
function revcompare($x, $y) function revcompare($x, $y)
{ {
global $sortby, $langs; global $sortby, $langs;
if ( $x[$sortby] == $y[$sortby] ) if ( $x[$sortby] == $y[$sortby] )
return 0; return 0;
else if ( $x[$sortby] < $y[$sortby] ) else if ( $x[$sortby] < $y[$sortby] )
return 1; return 1;
else else
return -1; return -1;
} }
function create_script_table($list) function create_script_table($list)
{ {
global $sortby,$bc,$langs; global $sortby,$bc,$langs;
$var=true; $var=true;
@ -112,54 +112,60 @@ function revcompare($x, $y)
if (isset($_GET['sort'])) { if (isset($_GET['sort'])) {
switch ($_GET['sort']) { switch ($_GET['sort']) {
case "mtime": case "mtime":
case "size": case "size":
case "reloads": case "reloads":
case "hits": case "hits":
$sortby = $_GET['sort']; $sortby = $_GET['sort'];
($order == "asc" ? uasort($list, 'compare') : uasort($list, 'revcompare')); ($order == "asc" ? uasort($list, 'compare') : uasort($list, 'revcompare'));
break; break;
default: default:
$sortby = "file"; $sortby = "file";
($order == "asc" ? uasort($list, 'compare') : uasort($list, 'revcompare')); ($order == "asc" ? uasort($list, 'compare') : uasort($list, 'revcompare'));
} }
} }
?> ?>
<table class="noborder"> <table class="noborder">
<tr> <tr>
<th><a href="<?php print $_SERVER['PHP_SELF']?>?sort=file&order=<?php print ($order == "asc" ? "desc" : "asc")?>"><?php print $langs->trans("Filename"); ?></a>&nbsp;<? if($sortby == "file") print ($order == "asc" ? "&darr;" : "&uarr;")?></th> <th><a
<th><a href="<?php print $_SERVER['PHP_SELF']?>?sort=mtime&order=<?php print ($order == "asc" ? "desc" : "asc")?>"><?php print $langs->trans("Date"); ?></a>&nbsp;<? if($sortby == "mtime") print ($order == "asc" ? "&darr;" : "&uarr;")?></th> href="<?php print $_SERVER['PHP_SELF']?>?sort=file&order=<?php print ($order == "asc" ? "desc" : "asc")?>"><?php print $langs->trans("Filename"); ?></a>&nbsp;<? if($sortby == "file") print ($order == "asc" ? "&darr;" : "&uarr;")?></th>
<th><a href="<?php print $_SERVER['PHP_SELF']?>?sort=size&order=<?php print ($order == "asc" ? "desc" : "asc")?>"><?php print $langs->trans("Size"); ?></a>&nbsp;<? if($sortby == "size") print ($order == "asc" ? "&darr;" : "&uarr;")?></th> <th><a
<th><a href="<?php print $_SERVER['PHP_SELF']?>?sort=reloads&order=<?php print ($order == "asc" ? "desc" : "asc")?>"><?php print $langs->trans("Reloads"); ?></a>&nbsp;<? if($sortby == "reloads") print ($order == "asc" ? "&darr;" : "&uarr;")?></th> href="<?php print $_SERVER['PHP_SELF']?>?sort=mtime&order=<?php print ($order == "asc" ? "desc" : "asc")?>"><?php print $langs->trans("Date"); ?></a>&nbsp;<? if($sortby == "mtime") print ($order == "asc" ? "&darr;" : "&uarr;")?></th>
<th><a href="<?php print $_SERVER['PHP_SELF']?>?sort=hits&order=<?php print ($order == "asc" ? "desc" : "asc")?>"><?php print $langs->trans("Hits"); ?></a>&nbsp;<? if($sortby == "hits") print ($order == "asc" ? "&darr;" : "&uarr;")?></th> <th><a
</tr> href="<?php print $_SERVER['PHP_SELF']?>?sort=size&order=<?php print ($order == "asc" ? "desc" : "asc")?>"><?php print $langs->trans("Size"); ?></a>&nbsp;<? if($sortby == "size") print ($order == "asc" ? "&darr;" : "&uarr;")?></th>
<?php <th><a
switch ($sortby) { href="<?php print $_SERVER['PHP_SELF']?>?sort=reloads&order=<?php print ($order == "asc" ? "desc" : "asc")?>"><?php print $langs->trans("Reloads"); ?></a>&nbsp;<? if($sortby == "reloads") print ($order == "asc" ? "&darr;" : "&uarr;")?></th>
case "mtime": <th><a
case "size": href="<?php print $_SERVER['PHP_SELF']?>?sort=hits&order=<?php print ($order == "asc" ? "desc" : "asc")?>"><?php print $langs->trans("Hits"); ?></a>&nbsp;<? if($sortby == "hits") print ($order == "asc" ? "&darr;" : "&uarr;")?></th>
case "reloads": </tr>
case "hits": <?php
($order == "asc" ? uasort($list, 'compare') : uasort($list, 'revcompare')); switch ($sortby) {
break; case "mtime":
case "file": case "size":
default: case "reloads":
$sortby = "file"; case "hits":
($order == "asc" ? uasort($list, 'compare') : uasort($list, 'revcompare')); ($order == "asc" ? uasort($list, 'compare') : uasort($list, 'revcompare'));
break;
case "file":
default:
$sortby = "file";
($order == "asc" ? uasort($list, 'compare') : uasort($list, 'revcompare'));
} }
foreach($list as $script) { ?> foreach($list as $script) { ?>
<tr <?php $var = ! $var; print $bc[$var]; ?>> <tr <?php $var = ! $var; print $bc[$var]; ?>>
<td><?php print dol_trunc($script['file'],80,'left'); ?></td> <td><?php print dol_trunc($script['file'],80,'left'); ?></td>
<td align="center" nowrap="nowrap"><?php print dol_print_date($script['mtime'],'dayhour'); ?></td> <td align="center" nowrap="nowrap"><?php print dol_print_date($script['mtime'],'dayhour'); ?></td>
<td align="right" nowrap="nowrap"><?php print number_format($script['size'] / 1024, 2); ?> KB</td> <td align="right" nowrap="nowrap"><?php print number_format($script['size'] / 1024, 2); ?>
<td align="right" nowrap="nowrap"><?php print $script['reloads']; ?> (<?php print $script['usecount']; ?>)</td> KB</td>
<td align="right" nowrap="nowrap"><?php print $script['hits']; ?></td> <td align="right" nowrap="nowrap"><?php print $script['reloads']; ?> (<?php print $script['usecount']; ?>)</td>
</tr> <td align="right" nowrap="nowrap"><?php print $script['hits']; ?></td>
<?php } ?> </tr>
</table> <?php } ?>
<?php </table>
<?php
} }
@ -168,36 +174,37 @@ function create_key_table($list)
{ {
global $bc,$langs; global $bc,$langs;
$var=true; $var=true;
?> ?>
<table class="noborder"> <table class="noborder">
<tr class="liste_titre"> <tr class="liste_titre">
<th>Name</th> <th>Name</th>
<th>Created</th> <th>Created</th>
<th><?php print $langs->trans("Size"); ?></th> <th><?php print $langs->trans("Size"); ?></th>
<th>ttl</th> <th>ttl</th>
</tr> </tr>
<?php <?php
foreach($list as $key) { foreach($list as $key) {
?> ?>
<tr <?php $var = ! $var; print $bc[$var]; ?>> <tr <?php $var = ! $var; print $bc[$var]; ?>>
<td><?php print dol_trunc($key['name'],80,'left'); ?></td> <td><?php print dol_trunc($key['name'],80,'left'); ?></td>
<td align="center" nowrap="nowrap"><?php dol_print_date($key['created'],'dayhour'); ?></td> <td align="center" nowrap="nowrap"><?php dol_print_date($key['created'],'dayhour'); ?></td>
<td align="right" nowrap="nowrap"><?php print number_format($key['size']/1024, 3); ?> KB</td> <td align="right" nowrap="nowrap"><?php print number_format($key['size']/1024, 3); ?>
<td align="right" nowrap="nowrap"><?php KB</td>
if ($key['ttl'] == -1) { <td align="right" nowrap="nowrap"><?php
print 'expired'; if ($key['ttl'] == -1) {
} elseif ($key['ttl'] == 0) { print 'expired';
print 'none'; } elseif ($key['ttl'] == 0) {
} else { print 'none';
print dol_print_date($key['ttl'],'dayhour'); } else {
} print dol_print_date($key['ttl'],'dayhour');
?></td> }
</tr> ?></td>
<?php </tr>
} <?php
?> }
</table> ?>
<?php </table>
<?php
} }
@ -211,37 +218,40 @@ $var=true;
<table class="noborder"> <table class="noborder">
<tr class="liste_titre"><td colspan="2">Information</td></tr> <tr class="liste_titre">
<tr <?php $var = ! $var; print $bc[$var]; ?>> <td colspan="2">Information</td>
<td>Caching enabled</td> </tr>
<td align="right"><?php print $info['cache'] ? 'yes':'no' ?></td> <tr <?php $var = ! $var; print $bc[$var]; ?>>
</tr> <td>Caching enabled</td>
<tr <?php $var = ! $var; print $bc[$var]; ?>> <td align="right"><?php print $info['cache'] ? 'yes':'no' ?></td>
<td>Optimizer enabled</td> </tr>
<td align="right"><?php print $info['optimizer'] ? 'yes':'no' ?></td> <tr <?php $var = ! $var; print $bc[$var]; ?>>
</tr> <td>Optimizer enabled</td>
<tr <?php $var = ! $var; print $bc[$var]; ?>> <td align="right"><?php print $info['optimizer'] ? 'yes':'no' ?></td>
<td>Memory usage</td> </tr>
<td align="right"><?php print number_format(100 * $info['memoryAllocated'] / $info['memorySize'], 2); ?>% <tr <?php $var = ! $var; print $bc[$var]; ?>>
(<?php print number_format($info['memoryAllocated'] / (1024*1024), 2); ?> MB / <td>Memory usage</td>
<?php print number_format($info['memorySize'] / (1024*1024), 2); ?> MB)</td> <td align="right"><?php print number_format(100 * $info['memoryAllocated'] / $info['memorySize'], 2); ?>%
</tr> (<?php print number_format($info['memoryAllocated'] / (1024*1024), 2); ?>
<tr <?php $var = ! $var; print $bc[$var]; ?>> MB / <?php print number_format($info['memorySize'] / (1024*1024), 2); ?>
<td>Free memory in reserved cache</td> MB)</td>
<td align="right"><?php print number_format($info['memoryAvailable'] / (1024*1024), 2); ?>MB</td> </tr>
</tr> <tr <?php $var = ! $var; print $bc[$var]; ?>>
<tr <?php $var = ! $var; print $bc[$var]; ?>> <td>Free memory in reserved cache</td>
<td>Cached scripts</td> <td align="right"><?php print number_format($info['memoryAvailable'] / (1024*1024), 2); ?>MB</td>
<td align="right"><?php print $info['cachedScripts']; ?></td> </tr>
</tr> <tr <?php $var = ! $var; print $bc[$var]; ?>>
<tr <?php $var = ! $var; print $bc[$var]; ?>> <td>Cached scripts</td>
<td>Removed scripts</td> <td align="right"><?php print $info['cachedScripts']; ?></td>
<td align="right"><?php print $info['removedScripts']; ?></td> </tr>
</tr> <tr <?php $var = ! $var; print $bc[$var]; ?>>
<tr <?php $var = ! $var; print $bc[$var]; ?>> <td>Removed scripts</td>
<td>Cached keys</td> <td align="right"><?php print $info['removedScripts']; ?></td>
<td align="right"><?php print $info['cachedKeys']; ?></td> </tr>
</tr> <tr <?php $var = ! $var; print $bc[$var]; ?>>
<td>Cached keys</td>
<td align="right"><?php print $info['cachedKeys']; ?></td>
</tr>
</table> </table>
<?php <?php
@ -291,19 +301,19 @@ if (is_array($resCached) || is_array($resRemoved))
print "</tr></table></form>"; print "</tr></table></form>";
} }
if (is_array($resCached)) if (is_array($resCached))
{ {
print "<br><br>"; print "<br><br>";
print "<b>Cached scripts</b><br>"; print "<b>Cached scripts</b><br>";
create_script_table($resCached); create_script_table($resCached);
} }
if (is_array($resRemoved)) if (is_array($resRemoved))
{ {
print "<br><br>"; print "<br><br>";
print "<b>Removed scripts</b><br>"; print "<b>Removed scripts</b><br>";
create_script_table($resRemoved); create_script_table($resRemoved);
} }
} }
else else
{ {
@ -318,7 +328,7 @@ if (function_exists('eaccelerator_get'))
{ {
print '<br><br>'; print '<br><br>';
print '<b>Cached keys</b><br>'; print '<b>Cached keys</b><br>';
$res=eaccelerator_list_keys(); $res=eaccelerator_list_keys();
create_key_table($res); create_key_table($res);
} }

View File

@ -841,14 +841,14 @@ class Form
*/ */
function select_produits_do($selected='',$htmlname='productid',$filtertype='',$limit=20,$price_level=0,$ajaxkeysearch='',$status=1,$finished=2) function select_produits_do($selected='',$htmlname='productid',$filtertype='',$limit=20,$price_level=0,$ajaxkeysearch='',$status=1,$finished=2)
{ {
global $langs,$conf,$user; global $langs,$conf,$user,$db;
$sql = "SELECT "; $sql = "SELECT ";
$sql.= " p.rowid, p.label, p.ref, p.fk_product_type, p.price, p.price_ttc, p.price_base_type, p.duration, p.stock"; $sql.= " p.rowid, p.label, p.ref, p.fk_product_type, p.price, p.price_ttc, p.price_base_type, p.duration, p.stock";
$sql.= " FROM ".MAIN_DB_PREFIX."product as p "; $sql.= " FROM ".MAIN_DB_PREFIX."product as p ";
$sql.= " WHERE p.entity = ".$conf->entity; $sql.= " WHERE p.entity = ".$conf->entity;
if (!$user->rights->produit->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)'; if (!$user->rights->produit->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)';
if (!$user->rights->service->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)'; if (!$user->rights->service->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)';
if($finished == 0) if($finished == 0)
{ {
@ -865,8 +865,8 @@ class Form
} }
if (strval($filtertype) != '') $sql.=" AND p.fk_product_type=".$filtertype; if (strval($filtertype) != '') $sql.=" AND p.fk_product_type=".$filtertype;
if ($ajaxkeysearch && $ajaxkeysearch != '') $sql.=" AND (p.ref like '%".$ajaxkeysearch."%' OR p.label like '%".$ajaxkeysearch."%')"; if ($ajaxkeysearch && $ajaxkeysearch != '') $sql.=" AND (p.ref like '%".$ajaxkeysearch."%' OR p.label like '%".$ajaxkeysearch."%')";
$sql.= " ORDER BY p.ref"; $sql.= $db->order("p.ref");
if ($limit) $sql.= " LIMIT $limit"; $sql.= $db->plimit($limit);
dol_syslog("Form::select_produits_do sql=".$sql, LOG_DEBUG); dol_syslog("Form::select_produits_do sql=".$sql, LOG_DEBUG);
$result=$this->db->query($sql); $result=$this->db->query($sql);

View File

@ -74,8 +74,8 @@ class box_produits extends ModeleBoxes {
$sql = "SELECT p.rowid, p.label, p.price, p.price_base_type, p.price_ttc, p.fk_product_type, p.tms, p.envente"; $sql = "SELECT p.rowid, p.label, p.price, p.price_base_type, p.price_ttc, p.fk_product_type, p.tms, p.envente";
$sql.= " FROM ".MAIN_DB_PREFIX."product as p"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p";
$sql.= " WHERE p.entity = ".$conf->entity; $sql.= " WHERE p.entity = ".$conf->entity;
if (!$user->rights->produit->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)'; if (!$user->rights->produit->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)';
if (!$user->rights->service->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)'; if (!$user->rights->service->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)';
if (empty($user->rights->produit->lire)) $sql.=' AND p.fk_product_type != 0'; if (empty($user->rights->produit->lire)) $sql.=' AND p.fk_product_type != 0';
if (empty($user->rights->service->lire)) $sql.=' AND p.fk_product_type != 1'; if (empty($user->rights->service->lire)) $sql.=' AND p.fk_product_type != 1';
$sql.= $db->order('p.datec', 'DESC'); $sql.= $db->order('p.datec', 'DESC');

View File

@ -81,8 +81,8 @@ class box_services_vendus extends ModeleBoxes {
$sql.= ")"; $sql.= ")";
$sql.= " WHERE s.rowid = c.fk_soc"; $sql.= " WHERE s.rowid = c.fk_soc";
$sql.= " AND s.entity = ".$conf->entity; $sql.= " AND s.entity = ".$conf->entity;
if (!$user->rights->produit->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)'; if (!$user->rights->produit->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)';
if (!$user->rights->service->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)'; if (!$user->rights->service->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)';
$sql.= " AND c.rowid = cd.fk_contrat"; $sql.= " AND c.rowid = cd.fk_contrat";
$sql.= " AND cd.fk_product = p.rowid"; $sql.= " AND cd.fk_product = p.rowid";
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;

View File

@ -2677,8 +2677,8 @@ class Product extends CommonObject
$sql = "SELECT count(p.rowid) as nb"; $sql = "SELECT count(p.rowid) as nb";
$sql.= " FROM ".MAIN_DB_PREFIX."product as p"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p";
$sql.= " WHERE p.fk_product_type <> 1"; $sql.= " WHERE p.fk_product_type <> 1";
if (!$user->rights->produit->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)'; if (!$user->rights->produit->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)';
if (!$user->rights->service->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)'; if (!$user->rights->service->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)';
$sql.= " AND p.entity = ".$conf->entity; $sql.= " AND p.entity = ".$conf->entity;
$resql=$this->db->query($sql); $resql=$this->db->query($sql);

View File

@ -127,6 +127,7 @@ if ($_POST["action"] == 'add' && ($user->rights->produit->creer || $user->rights
$product->volume_units = $_POST["volume_units"]; $product->volume_units = $_POST["volume_units"];
$product->finished = $_POST["finished"]; $product->finished = $_POST["finished"];
$product->hidden = $_POST["hidden"]=='yes'?1:0; $product->hidden = $_POST["hidden"]=='yes'?1:0;
// MultiPrix // MultiPrix
if($conf->global->PRODUIT_MULTIPRICES) if($conf->global->PRODUIT_MULTIPRICES)
{ {
@ -732,7 +733,13 @@ if ($_GET["action"] == 'create' && ($user->rights->produit->creer || $user->righ
|| ($_GET["type"] == 1 && $user->rights->service->hidden)) || ($_GET["type"] == 1 && $user->rights->service->hidden))
{ {
print '<tr><td>'.$langs->trans("Hidden").'</td><td>'; print '<tr><td>'.$langs->trans("Hidden").'</td><td>';
print $html->selectyesno($product->hidden); print $html->selectyesno('hidden',$product->hidden);
print '</td></tr>';
}
else
{
print '<tr><td>'.$langs->trans("Hidden").'</td><td>';
print yn("No");
print '</td></tr>'; print '</td></tr>';
} }
@ -1105,6 +1112,12 @@ if ($_GET["id"] || $_GET["ref"])
print yn($product->hidden); print yn($product->hidden);
print "</td></tr>\n"; print "</td></tr>\n";
} }
else
{
print '<tr><td>'.$langs->trans("Hidden").'</td><td>';
print yn("No");
print '</td></tr>';
}
// Note // Note
print '<tr><td valign="top">'.$langs->trans("Note").'</td><td colspan="2">'.nl2br($product->note).'</td></tr>'; print '<tr><td valign="top">'.$langs->trans("Note").'</td><td colspan="2">'.nl2br($product->note).'</td></tr>';
@ -1244,6 +1257,12 @@ if ($_GET["id"] || $_GET["ref"])
print $html->selectyesno('hidden',$product->hidden); print $html->selectyesno('hidden',$product->hidden);
print '</td></tr>'; print '</td></tr>';
} }
else
{
print '<tr><td>'.$langs->trans("Hidden").'</td><td>';
print yn("No");
print '</td></tr>';
}
// Note // Note
print '<tr><td valign="top">'.$langs->trans("NoteNotVisibleOnBill").'</td><td colspan="2">'; print '<tr><td valign="top">'.$langs->trans("NoteNotVisibleOnBill").'</td><td colspan="2">';

View File

@ -165,8 +165,8 @@ $sql.= " FROM ".MAIN_DB_PREFIX."product as p";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_subproduct as sp ON p.rowid = sp.fk_product_subproduct"; $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"; $sql.= " WHERE sp.fk_product_subproduct IS NULL";
$sql.= " AND p.entity = ".$conf->entity; $sql.= " AND p.entity = ".$conf->entity;
if (!$user->rights->produit->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)'; if (!$user->rights->produit->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)';
if (!$user->rights->service->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)'; if (!$user->rights->service->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)';
if ($type != '') $sql.= " AND p.fk_product_type = ".$type; if ($type != '') $sql.= " AND p.fk_product_type = ".$type;
$sql.= $db->order("p.tms","DESC"); $sql.= $db->order("p.tms","DESC");
$sql.= $db->plimit($max,0); $sql.= $db->plimit($max,0);

View File

@ -111,8 +111,8 @@ if ($_GET["fourn_id"] > 0)
$sql.= ", ".MAIN_DB_PREFIX."product_fournisseur as pf"; $sql.= ", ".MAIN_DB_PREFIX."product_fournisseur as pf";
} }
$sql.= " WHERE p.entity = ".$conf->entity; $sql.= " WHERE p.entity = ".$conf->entity;
if (!$user->rights->produit->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)'; if (!$user->rights->produit->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)';
if (!$user->rights->service->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)'; if (!$user->rights->service->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)';
if ($sall) if ($sall)
{ {
$sql.= " AND (p.ref like '%".addslashes($sall)."%' OR p.label like '%".addslashes($sall)."%' OR p.description like '%".addslashes($sall)."%' OR p.note like '%".addslashes($sall)."%')"; $sql.= " AND (p.ref like '%".addslashes($sall)."%' OR p.label like '%".addslashes($sall)."%' OR p.description like '%".addslashes($sall)."%' OR p.note like '%".addslashes($sall)."%')";

View File

@ -92,8 +92,8 @@ $sql.= " FROM ".MAIN_DB_PREFIX."propaldet as pd";
$sql.= ", ".MAIN_DB_PREFIX."product as p"; $sql.= ", ".MAIN_DB_PREFIX."product as p";
$sql.= " WHERE p.rowid = pd.fk_product"; $sql.= " WHERE p.rowid = pd.fk_product";
$sql.= " AND p.entity = ".$conf->entity; $sql.= " AND p.entity = ".$conf->entity;
if (!$user->rights->produit->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)'; if (!$user->rights->produit->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)';
if (!$user->rights->service->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)'; if (!$user->rights->service->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)';
if (isset($_GET['type'])) $sql.= " AND fk_product_type = ".$_GET['type']; if (isset($_GET['type'])) $sql.= " AND fk_product_type = ".$_GET['type'];
$sql.= " GROUP BY (p.rowid)"; $sql.= " GROUP BY (p.rowid)";
$sql.= $db->order($sortfield,$sortorder); $sql.= $db->order($sortfield,$sortorder);

View File

@ -86,8 +86,8 @@ if ($_GET["fourn_id"] > 0)
} }
$sql.= " WHERE p.rowid = s.fk_product"; $sql.= " WHERE p.rowid = s.fk_product";
$sql.= " AND p.entity = ".$conf->entity; $sql.= " AND p.entity = ".$conf->entity;
if (!$user->rights->produit->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)'; if (!$user->rights->produit->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)';
if (!$user->rights->service->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)'; if (!$user->rights->service->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)';
if ($sall) if ($sall)
{ {
$sql.= " AND (p.ref like '%".addslashes($sall)."%' OR p.label like '%".addslashes($sall)."%' OR p.description like '%".addslashes($sall)."%' OR p.note like '%".addslashes($sall)."%')"; $sql.= " AND (p.ref like '%".addslashes($sall)."%' OR p.label like '%".addslashes($sall)."%' OR p.description like '%".addslashes($sall)."%' OR p.note like '%".addslashes($sall)."%')";

View File

@ -42,8 +42,8 @@ $mesg = '';
$sql = "SELECT count(*)"; $sql = "SELECT count(*)";
$sql.= " FROM ".MAIN_DB_PREFIX."product as p"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p";
$sql.= " WHERE p.fk_product_type <> 1"; $sql.= " WHERE p.fk_product_type <> 1";
if (!$user->rights->produit->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)'; if (!$user->rights->produit->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)';
if (!$user->rights->service->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)'; if (!$user->rights->service->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)';
$sql.= " AND p.entity = ".$conf->entity; $sql.= " AND p.entity = ".$conf->entity;
if ($db->query($sql)) if ($db->query($sql))
@ -57,8 +57,8 @@ $db->free();
$sql = "SELECT count(*)"; $sql = "SELECT count(*)";
$sql.= " FROM ".MAIN_DB_PREFIX."product as p"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p";
$sql.= " WHERE p.envente = 0"; $sql.= " WHERE p.envente = 0";
if (!$user->rights->produit->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)'; if (!$user->rights->produit->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)';
if (!$user->rights->service->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)'; if (!$user->rights->service->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)';
$sql.= " AND p.fk_product_type <> '1'"; $sql.= " AND p.fk_product_type <> '1'";
$sql.= " AND p.entity = ".$conf->entity; $sql.= " AND p.entity = ".$conf->entity;
@ -103,8 +103,8 @@ if ($conf->service->enabled)
$sql = "SELECT count(*)"; $sql = "SELECT count(*)";
$sql.= " FROM ".MAIN_DB_PREFIX."product as p"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p";
$sql.= " WHERE p.fk_product_type = '1'"; $sql.= " WHERE p.fk_product_type = '1'";
if (!$user->rights->produit->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)'; if (!$user->rights->produit->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)';
if (!$user->rights->service->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)'; if (!$user->rights->service->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)';
$sql.= " AND p.entity = ".$conf->entity; $sql.= " AND p.entity = ".$conf->entity;
if ($db->query($sql)) if ($db->query($sql))
@ -117,8 +117,8 @@ if ($conf->service->enabled)
$sql = "SELECT count(*)"; $sql = "SELECT count(*)";
$sql.= " FROM ".MAIN_DB_PREFIX."product as p"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p";
$sql.= " WHERE p.envente = 0"; $sql.= " WHERE p.envente = 0";
if (!$user->rights->produit->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)'; if (!$user->rights->produit->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)';
if (!$user->rights->service->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)'; if (!$user->rights->service->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)';
$sql.= " AND p.fk_product_type = '1'"; $sql.= " AND p.fk_product_type = '1'";
$sql.= " AND p.entity = ".$conf->entity; $sql.= " AND p.entity = ".$conf->entity;

View File

@ -67,8 +67,8 @@ class Service extends CommonObject
$sql.= " FROM ".MAIN_DB_PREFIX."product as p"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p";
$sql.= " WHERE p.fk_product_type = 1"; $sql.= " WHERE p.fk_product_type = 1";
$sql.= " AND p.entity = ".$conf->entity; $sql.= " AND p.entity = ".$conf->entity;
if (!$user->rights->produit->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)'; if (!$user->rights->produit->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)';
if (!$user->rights->service->voir) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)'; if (!$user->rights->service->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)';
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if ($resql) if ($resql)