Qual: Mutualisation fonction img_tick.

This commit is contained in:
Laurent Destailleur 2005-03-06 15:39:32 +00:00
parent a5ac8053a0
commit 699a68ec7b
13 changed files with 373 additions and 251 deletions

View File

@ -125,7 +125,7 @@ print "<br>";
*/ */
if (defined("ADHERENT_USE_MAILMAN") && ADHERENT_USE_MAILMAN == 1) if (defined("ADHERENT_USE_MAILMAN") && ADHERENT_USE_MAILMAN == 1)
{ {
$lien='<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0">'; $lien=img_tick().' ';
$lien.='<a href="adherent.php?action=unset&value=0&name=ADHERENT_USE_MAILMAN">'.$langs->trans("Disable").'</a>'; $lien.='<a href="adherent.php?action=unset&value=0&name=ADHERENT_USE_MAILMAN">'.$langs->trans("Disable").'</a>';
// Edition des varibales globales rattache au theme Mailman // Edition des varibales globales rattache au theme Mailman
$constantes=array('ADHERENT_MAILMAN_LISTS', $constantes=array('ADHERENT_MAILMAN_LISTS',
@ -151,7 +151,7 @@ print "<hr>\n";
*/ */
if (defined("ADHERENT_BANK_USE") && ADHERENT_BANK_USE == 1) if (defined("ADHERENT_BANK_USE") && ADHERENT_BANK_USE == 1)
{ {
$lien='<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0">'; $lien=img_tick().' ';
$lien.='<a href="adherent.php?action=unset&value=0&name=ADHERENT_BANK_USE">'.$langs->trans("Disable").'</a>'; $lien.='<a href="adherent.php?action=unset&value=0&name=ADHERENT_BANK_USE">'.$langs->trans("Disable").'</a>';
// Edition des varibales globales rattache au theme Mailman // Edition des varibales globales rattache au theme Mailman
$constantes=array('ADHERENT_BANK_USE_AUTO', $constantes=array('ADHERENT_BANK_USE_AUTO',
@ -175,7 +175,7 @@ print "<hr>\n";
$var=!$var; $var=!$var;
if (defined("ADHERENT_USE_SPIP") && ADHERENT_USE_SPIP == 1) if (defined("ADHERENT_USE_SPIP") && ADHERENT_USE_SPIP == 1)
{ {
$lien='<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0">'; $lien=img_tick().' ';
$lien.='<a href="adherent.php?action=unset&value=0&name=ADHERENT_USE_SPIP">'.$langs->trans("Disable").'</a>'; $lien.='<a href="adherent.php?action=unset&value=0&name=ADHERENT_USE_SPIP">'.$langs->trans("Disable").'</a>';
// Edition des varibales globales rattache au theme Mailman // Edition des varibales globales rattache au theme Mailman
$constantes=array('ADHERENT_USE_SPIP_AUTO', $constantes=array('ADHERENT_USE_SPIP_AUTO',
@ -201,7 +201,7 @@ print "<hr>\n";
$var=!$var; $var=!$var;
if (defined("ADHERENT_USE_GLASNOST") && ADHERENT_USE_GLASNOST == 1) if (defined("ADHERENT_USE_GLASNOST") && ADHERENT_USE_GLASNOST == 1)
{ {
$lien='<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0">'; $lien=img_tick().' ';
$lien.='<a href="adherent.php?action=unset&value=0&name=ADHERENT_USE_GLASNOST">'.$langs->trans("Disable").'</a>'; $lien.='<a href="adherent.php?action=unset&value=0&name=ADHERENT_USE_GLASNOST">'.$langs->trans("Disable").'</a>';
// Edition des varibales globales rattache au theme Mailman // Edition des varibales globales rattache au theme Mailman
$constantes=array('ADHERENT_USE_GLASNOST_AUTO', $constantes=array('ADHERENT_USE_GLASNOST_AUTO',

View File

@ -110,7 +110,7 @@ foreach ($modules as $key => $value)
if ($const_value == 1) if ($const_value == 1)
{ {
print '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0"></a>'; print img_tick();
} }
else else
{ {
@ -121,11 +121,11 @@ foreach ($modules as $key => $value)
if ($const_value == 1) if ($const_value == 1)
{ {
print '<a href="boutique.php?action=reset&value='.$const_name.'">Désactiver</a>'; print '<a href="boutique.php?action=reset&value='.$const_name.'">'.$langs->trans("Disable").'</a>';
} }
else else
{ {
print '<a href="boutique.php?action=set&value='.$const_name.'">Activer</a>'; print '<a href="boutique.php?action=set&value='.$const_name.'">'.$langs->trans("Activate").'</a>';
} }
print '</td></tr>'; print '</td></tr>';

View File

@ -101,13 +101,13 @@ if ($handle)
if ($commande_addon_var == "$file") if ($commande_addon_var == "$file")
{ {
print '<td align="center">'; print '<td align="center">';
print '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0"></a>'; print img_tick();
print '</td><td>&nbsp;</td>'; print '</td><td>&nbsp;</td>';
} }
else else
{ {
print '<td>&nbsp;</td>'; print '<td>&nbsp;</td>';
print '<td align="center"><a href="commande.php?action=setmod&amp;value='.$file.'">activer</a></td>'; print '<td align="center"><a href="commande.php?action=setmod&amp;value='.$file.'">'.$langs->trans("Activate").'</a></td>';
} }
print '</tr>'; print '</tr>';

View File

@ -186,22 +186,22 @@ if(is_dir($dir)) {
if (in_array($name, $def)) if (in_array($name, $def))
{ {
print '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0"></a>'; print img_tick();
print "</td><td>\n"; print "</td><td>\n";
print '<a href="expedition.php?action=set&amp;statut=0&amp;value='.$name.'">désactiver</a>'; print '<a href="expedition.php?action=set&amp;statut=0&amp;value='.$name.'">'.$langs->trans("Disable").'</a>';
} }
else else
{ {
print "&nbsp;"; print "&nbsp;";
print "</td><td>\n"; print "</td><td>\n";
print '<a href="expedition.php?action=set&amp;statut=1&amp;value='.$name.'">activer</a>'; print '<a href="expedition.php?action=set&amp;statut=1&amp;value='.$name.'">'.$langs->trans("Activate").'</a>';
} }
print '</td><td align="center">'; print '</td><td align="center">';
if ($expedition_default == "$name") if ($expedition_default == "$name")
{ {
print '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0"></a>'; print img_tick();
} }
else else
{ {
@ -262,22 +262,22 @@ if(is_dir($dir)) {
if (in_array($name, $def)) if (in_array($name, $def))
{ {
print '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0"></a>'; print img_tick();
print "</td><td>\n"; print "</td><td>\n";
print '<a href="expedition.php?action=del&amp;value='.$name.'">désactiver</a>'; print '<a href="expedition.php?action=del&amp;value='.$name.'">'.$langs->trans("Disable").'</a>';
} }
else else
{ {
print "&nbsp;"; print "&nbsp;";
print "</td><td>\n"; print "</td><td>\n";
print '<a href="expedition.php?action=set&amp;value='.$name.'">activer</a>'; print '<a href="expedition.php?action=set&amp;value='.$name.'">'.$langs->trans("Activate").'</a>';
} }
print '</td><td align="center">'; print '</td><td align="center">';
if ($expedition_addon_var_pdf == "$name") if ($expedition_addon_var_pdf == "$name")
{ {
print '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0"></a>'; print img_tick();
} }
else else
{ {
@ -286,7 +286,7 @@ if(is_dir($dir)) {
print "</td><td>\n"; print "</td><td>\n";
print '<a href="expedition.php?action=setpdf&amp;value='.$name.'">activer</a>'; print '<a href="expedition.php?action=setpdf&amp;value='.$name.'">'.$langs->trans("Activate").'</a>';
print '</td></tr>'; print '</td></tr>';
} }

View File

@ -141,7 +141,7 @@ while (($file = readdir($handle))!==false)
print '<td align="center">'; print '<td align="center">';
if ($facture_addon_var == "$file") if ($facture_addon_var == "$file")
{ {
print '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0"></a>'; print img_tick();
print '</td><td align="center">'; print '</td><td align="center">';
print '&nbsp;'; print '&nbsp;';
} }
@ -161,7 +161,7 @@ print '</table>';
print "<br>"; print "<br>";
print_titre("Date des factures"); print_titre("Date des factures");
print '<table class="noborder" cellpadding="2" cellspacing="0" width=\"100%\">'; print '<table class="noborder" width=\"100%\">';
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Description").'</td>'; print '<td>'.$langs->trans("Description").'</td>';
print '<td align="center" width="60">'.$langs->trans("Activated").'</td>'; print '<td align="center" width="60">'.$langs->trans("Activated").'</td>';
@ -175,15 +175,15 @@ print '</td><td width="60" align="center">';
if (defined("FAC_FORCE_DATE_VALIDATION") && FAC_FORCE_DATE_VALIDATION == "1") if (defined("FAC_FORCE_DATE_VALIDATION") && FAC_FORCE_DATE_VALIDATION == "1")
{ {
print '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0"></a>'; print img_tick();
print '</td><td align="center">'; print '</td><td align="center">';
print '<a href="facture.php?action=dateforce&amp;value=0">'.$langs->trans("Désactiver").'</a>'; print '<a href="facture.php?action=dateforce&amp;value=0">'.$langs->trans("Disable").'</a>';
} }
else else
{ {
print '&nbsp;'; print '&nbsp;';
print '</td><td align="center">'; print '</td><td align="center">';
print '<a href="facture.php?action=dateforce&amp;value=1">'.$langs->trans("Activate").'</a>'; print '<a href="facture.php?action=dateforce&amp;value=1">'.$langs->trans("Enable").'</a>';
} }
print "</td></tr>\n"; print "</td></tr>\n";
@ -233,7 +233,7 @@ while (($file = readdir($handle))!==false)
if ($facture_addon_var_pdf == "$name") if ($facture_addon_var_pdf == "$name")
{ {
print '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0"></a>'; print img_tick();
print '</td><td align="center">'; print '</td><td align="center">';
print '&nbsp;'; print '&nbsp;';
} }

View File

@ -101,7 +101,7 @@ while (($file = readdir($handle))!==false)
if ($ficheinter_addon_var_pdf == "$name") if ($ficheinter_addon_var_pdf == "$name")
{ {
print '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0"></a>'; print img_tick();
} }
else else
{ {

View File

@ -248,7 +248,7 @@ foreach ($orders as $key => $value)
if ($const_value == 1) if ($const_value == 1)
{ {
print '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0"></a>'; print img_tick();
} }
else else
{ {

View File

@ -89,7 +89,7 @@ if ($result)
if ($obj->bydefault == 1) if ($obj->bydefault == 1)
{ {
print '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0">'; print img_tick();
print '</td><td>'; print '</td><td>';
print '<a href="perms.php?pid='.$obj->id.'&amp;action=remove">'.img_edit_remove().'</a>'; print '<a href="perms.php?pid='.$obj->id.'&amp;action=remove">'.img_edit_remove().'</a>';
} }

View File

@ -151,7 +151,7 @@ if ($handle)
if ($propale_addon_var == "$file") if ($propale_addon_var == "$file")
{ {
print " <td align=\"center\">"; print " <td align=\"center\">";
print "<img src=\"".DOL_URL_ROOT."/theme/".$conf->theme."/img/tick.png\" border=\"0\"></a>"; print img_tick();
print "</td>\n <td>&nbsp;</td>\n"; print "</td>\n <td>&nbsp;</td>\n";
} }
else else
@ -229,7 +229,7 @@ while (($file = readdir($handle))!==false)
if (in_array($name, $def)) if (in_array($name, $def))
{ {
print '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0"></a>'; print img_tick();
print "</td>\n <td>"; print "</td>\n <td>";
print '<a href="propale.php?action=del&amp;value='.$name.'">'.$langs->trans("Disable").'</a>'; print '<a href="propale.php?action=del&amp;value='.$name.'">'.$langs->trans("Disable").'</a>';
} }
@ -244,7 +244,7 @@ while (($file = readdir($handle))!==false)
if ($propale_addon_var_pdf == "$name") if ($propale_addon_var_pdf == "$name")
{ {
print '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0"></a>'; print img_tick();
} }
else else
{ {

View File

@ -110,7 +110,7 @@ if ($handle)
if ($codeclient_addon_var == "$file") if ($codeclient_addon_var == "$file")
{ {
print " <td align=\"center\">\n"; print " <td align=\"center\">\n";
print '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0"></a>'; print img_tick();
print "</td>\n <td>&nbsp;</td>\n"; print "</td>\n <td>&nbsp;</td>\n";
} }
else else
@ -164,7 +164,7 @@ if ($handle)
if ($codecompta_addon_var == "$file") if ($codecompta_addon_var == "$file")
{ {
print '<td align="center">'; print '<td align="center">';
print '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0"></a>'; print img_tick();
print '</td><td>&nbsp;</td>'; print '</td><td>&nbsp;</td>';
} }
else else

View File

@ -519,6 +519,17 @@ function img_up($alt = "default")
return '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/1uparrow.png" border="0" alt="'.$alt.'" title="'.$alt.'">'; return '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/1uparrow.png" border="0" alt="'.$alt.'" title="'.$alt.'">';
} }
/**
\brief Affiche logo tick
*/
function img_tick($alt = "default")
{
global $conf,$langs;
if ($alt=="default") $alt=$langs->trans("Active");
return '<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/tick.png" border="0" alt="'.$alt.'" title="'.$alt.'">';
}
/** /**
\brief fonction de login \brief fonction de login
\remarks il faut changer le code html dans la fonction pour changer le design \remarks il faut changer le code html dans la fonction pour changer le design

View File

@ -22,7 +22,8 @@
* $Source$ * $Source$
*/ */
/** \file htdocs/user/group/perms.php /**
\file htdocs/user/group/perms.php
\brief Onglet user et permissions de la fiche utilisateur \brief Onglet user et permissions de la fiche utilisateur
\version $Revision$ \version $Revision$
*/ */
@ -35,19 +36,19 @@ $langs->load("users");
$form = new Form($db); $form = new Form($db);
$action=isset($_GET["action"])?$_GET["action"]:$_POST["action"]; $module=isset($_GET["module"])?$_GET["module"]:$_POST["module"];
/** /**
* Actions * Actions
*/ */
if ($_GET["subaction"] == 'addrights' && $user->admin) if ($_GET["action"] == 'addrights' && $user->admin)
{ {
$editgroup = new Usergroup($db,$_GET["id"]); $editgroup = new Usergroup($db,$_GET["id"]);
$editgroup->addrights($_GET["rights"]); $editgroup->addrights($_GET["rights"]);
} }
if ($_GET["subaction"] == 'delrights' && $user->admin) if ($_GET["action"] == 'delrights' && $user->admin)
{ {
$editgroup = new Usergroup($db,$_GET["id"]); $editgroup = new Usergroup($db,$_GET["id"]);
$editgroup->delrights($_GET["rights"]); $editgroup->delrights($_GET["rights"]);
@ -87,7 +88,9 @@ if ($_GET["id"])
dolibarr_fiche_head($head, $hselected, $langs->trans("Group").": ".$fgroup->nom); dolibarr_fiche_head($head, $hselected, $langs->trans("Group").": ".$fgroup->nom);
// Lecture des droits du groupe // Lecture des droits groupes
$permsgroup = array();
$sql = "SELECT r.id, r.libelle, r.module "; $sql = "SELECT r.id, r.libelle, r.module ";
$sql .= " FROM ".MAIN_DB_PREFIX."rights_def as r"; $sql .= " FROM ".MAIN_DB_PREFIX."rights_def as r";
$sql .= ", ".MAIN_DB_PREFIX."usergroup_rights as ugr"; $sql .= ", ".MAIN_DB_PREFIX."usergroup_rights as ugr";
@ -95,21 +98,21 @@ if ($_GET["id"])
$result=$db->query($sql); $result=$db->query($sql);
$perms = array();
if ($result) if ($result)
{ {
$num = $db->num_rows(); $num = $db->num_rows($result);
$i = 0; $i = 0;
while ($i < $num) while ($i < $num)
{ {
$obj = $db->fetch_object($i); $obj = $db->fetch_object($result);
array_push($perms,$obj->id); array_push($permsgroup,$obj->id);
$i++; $i++;
} }
$db->free(); $db->free($result);
} }
else else
{ {
@ -117,61 +120,98 @@ if ($_GET["id"])
} }
// Charge les modules soumis a permissions
$dir = DOL_DOCUMENT_ROOT . "/includes/modules/";
$handle=opendir($dir);
$modules = array();
while (($file = readdir($handle))!==false)
{
if (is_readable($dir.$file) && substr($file, 0, 3) == 'mod' && substr($file, strlen($file) - 10) == '.class.php')
{
$modName = substr($file, 0, strlen($file) - 10);
if ($modName)
{
include_once("../../includes/modules/$file");
$objMod = new $modName($db);
if ($objMod->rights_class) {
$modules[$objMod->rights_class]=$modName;
//print "modules[".$objMod->rights_class."]=$modName;";
}
}
}
}
/* /*
* Ecran ajout/suppression permission * Ecran ajout/suppression permission
*/ */
print '<table width="100%" class="noborder">'; print '<table width="100%" class="noborder">';
print '<tr class="liste_titre"><td width="24">&nbsp</td><td width="24">&nbsp</td><td>'.$langs->trans("Permissions").'</td><td>'.$langs->trans("Module").'</td></tr>'; print '<tr class="liste_titre">';
if ($user->admin) print '<td width="24">&nbsp</td>';
print '<td align="center" width="24">&nbsp;</td>';
print '<td>'.$langs->trans("Permissions").'</td>';
print '<td>'.$langs->trans("Module").'</td>';
print '</tr>';
$sql = "SELECT r.id, r.libelle, r.module FROM ".MAIN_DB_PREFIX."rights_def as r ORDER BY r.module, r.id ASC"; $sql = "SELECT r.id, r.libelle, r.module FROM ".MAIN_DB_PREFIX."rights_def as r ORDER BY r.module, r.id ASC";
if ($db->query($sql)) $result=$db->query($sql);
if ($result)
{ {
$num = $db->num_rows(); $num = $db->num_rows($result);
$i = 0; $i = 0;
$var = True; $var = True;
while ($i < $num) while ($i < $num)
{ {
$obj = $db->fetch_object($i); $obj = $db->fetch_object($result);
if ($oldmod <> $obj->module) if ($oldmod <> $obj->module)
{ {
$oldmod = $obj->module; $oldmod = $obj->module;
$var = !$var; $var = !$var;
}
print '<tr '. $bc[$var].'>'; print '<tr '. $bc[$var].'>';
// Recupère objet module
$modName=$modules[$obj->module];
$file = $modName.".class.php";
include_once("../../includes/modules/$file");
$objMod = new $modName($db);
$picto=($objMod->picto?$objMod->picto:'generic');
}
else
{
print '<tr '. $bc[$var].'>';
}
if (in_array($obj->id, $permsgroup))
{
// Own permission by group
if ($user->admin) if ($user->admin)
{ {
if (in_array($obj->id, $perms)) print '<td align="center"><a href="perms.php?id='.$fgroup->id.'&amp;action=delrights&amp;rights='.$obj->id.'">'.img_edit_remove($langs->trans("Remove")).'</a></td>';
{ }
print '<td>&nbsp;</td>'; print '<td align="left" align="center">';
print '<td>'; print img_tick();
print '<a href="perms.php?id='.$fgroup->id.'&amp;action=perms&amp;subaction=delrights&amp;rights='.$obj->id.'">'.img_edit_remove().'</a>';
print '</td>'; print '</td>';
} }
else else
{ {
print '<td>'; // Do not own permission
print '<a href="perms.php?id='.$fgroup->id.'&amp;action=perms&amp;subaction=addrights&amp;rights='.$obj->id.'">'.img_edit_add().'</a>'; if ($user->admin)
{
print '<td align="center"><a href="perms.php?id='.$fgroup->id.'&amp;action=addrights&amp;rights='.$obj->id.'">'.img_edit_add($langs->trans("Add")).'</a></td>';
}
print '<td>&nbsp</td>';
}
print '<td>'.$obj->libelle . '</td>';
print '<td>'.img_object('',$picto).' '.$objMod->getName();
print '</td>'; print '</td>';
print '<td>&nbsp;</td>';
}
print '<td>'.$obj->libelle . '</td><td>'.$obj->module . '</td>';
print '</tr>'; print '</tr>';
}
else
{
if (in_array($obj->id, $perms))
{
print '<td>&nbsp;</td><td>&nbsp;</td>';
print '<td>'.$obj->libelle . '</td><td>'.$obj->module . '</td>';
print '</tr>';
}
}
$i++; $i++;
} }

View File

@ -22,7 +22,8 @@
* $Source$ * $Source$
*/ */
/** \file htdocs/user/perms.php /**
\file htdocs/user/perms.php
\brief Onglet user et permissions de la fiche utilisateur \brief Onglet user et permissions de la fiche utilisateur
\version $Revision$ \version $Revision$
*/ */
@ -35,19 +36,19 @@ $langs->load("users");
$form = new Form($db); $form = new Form($db);
$action=isset($_GET["action"])?$_GET["action"]:$_POST["action"]; $module=isset($_GET["module"])?$_GET["module"]:$_POST["module"];
/** /**
* Actions * Actions
*/ */
if ($_GET["subaction"] == 'addrights' && $user->admin) if ($_GET["action"] == 'addrights' && $user->admin)
{ {
$edituser = new User($db,$_GET["id"]); $edituser = new User($db,$_GET["id"]);
$edituser->addrights($_GET["rights"]); $edituser->addrights($_GET["rights"]);
} }
if ($_GET["subaction"] == 'delrights' && $user->admin) if ($_GET["action"] == 'delrights' && $user->admin)
{ {
$edituser = new User($db,$_GET["id"]); $edituser = new User($db,$_GET["id"]);
$edituser->delrights($_GET["rights"]); $edituser->delrights($_GET["rights"]);
@ -94,29 +95,53 @@ if ($_GET["id"])
dolibarr_fiche_head($head, $hselected, $langs->trans("User").": ".$fuser->fullname); dolibarr_fiche_head($head, $hselected, $langs->trans("User").": ".$fuser->fullname);
// Lecture des droits de l'utilisateur // Lecture des droits utilisateurs
$permsuser = array();
$sql = "SELECT r.id, r.libelle, r.module"; $sql = "SELECT r.id, r.libelle, r.module";
$sql .= " FROM ".MAIN_DB_PREFIX."rights_def as r"; $sql .= " FROM ".MAIN_DB_PREFIX."rights_def as r,";
$sql .= ", ".MAIN_DB_PREFIX."user_rights as ur"; $sql .= " ".MAIN_DB_PREFIX."user_rights as ur";
$sql .= " WHERE ur.fk_id = r.id AND ur.fk_user = ".$fuser->id; $sql .= " WHERE ur.fk_id = r.id AND ur.fk_user = ".$fuser->id;
$result=$db->query($sql); $result=$db->query($sql);
$perms = array();
if ($result) if ($result)
{ {
$num = $db->num_rows(); $num = $db->num_rows($result);
$i = 0; $i = 0;
while ($i < $num) while ($i < $num)
{ {
$obj = $db->fetch_object($i); $obj = $db->fetch_object($result);
array_push($permsuser,$obj->id);
array_push($perms,$obj->id);
$i++; $i++;
} }
$db->free(); $db->free($result);
}
else
{
dolibarr_print_error($db);
}
// Lecture des droits groupes
$permsgroup = array();
$sql = "SELECT r.id, r.libelle, r.module";
$sql .= " FROM ".MAIN_DB_PREFIX."rights_def as r,";
$sql .= " ".MAIN_DB_PREFIX."usergroup_rights as gr,";
$sql .= " ".MAIN_DB_PREFIX."usergroup_user as gu";
$sql .= " WHERE gr.fk_id = r.id AND gr.fk_usergroup = gu.fk_usergroup AND gu.fk_user = ".$fuser->id;
$result=$db->query($sql);
if ($result)
{
$num = $db->num_rows($result);
$i = 0;
while ($i < $num)
{
$obj = $db->fetch_object($result);
array_push($permsgroup,$obj->id);
$i++;
}
$db->free($result);
} }
else else
{ {
@ -124,61 +149,107 @@ if ($_GET["id"])
} }
// Charge les modules soumis a permissions
$dir = DOL_DOCUMENT_ROOT . "/includes/modules/";
$handle=opendir($dir);
$modules = array();
while (($file = readdir($handle))!==false)
{
if (is_readable($dir.$file) && substr($file, 0, 3) == 'mod' && substr($file, strlen($file) - 10) == '.class.php')
{
$modName = substr($file, 0, strlen($file) - 10);
if ($modName)
{
include_once("../includes/modules/$file");
$objMod = new $modName($db);
if ($objMod->rights_class) {
$modules[$objMod->rights_class]=$modName;
//print "modules[".$objMod->rights_class."]=$modName;";
}
}
}
}
/* /*
* Ecran ajout/suppression permission * Ecran ajout/suppression permission
*/ */
print '<table width="100%" class="noborder">'; print '<table width="100%" class="noborder">';
print '<tr class="liste_titre"><td width="24">&nbsp</td><td width="24">&nbsp</td><td>'.$langs->trans("Permissions").'</td><td>'.$langs->trans("Module").'</td></tr>'; print '<tr class="liste_titre">';
if ($user->admin) print '<td width="24">&nbsp</td>';
print '<td align="center" width="24">&nbsp;</td>';
print '<td>'.$langs->trans("Permissions").'</td>';
print '<td>'.$langs->trans("Module").'</td>';
print '</tr>';
$sql = "SELECT r.id, r.libelle, r.module FROM ".MAIN_DB_PREFIX."rights_def as r ORDER BY r.module, r.id ASC"; $sql = "SELECT r.id, r.libelle, r.module FROM ".MAIN_DB_PREFIX."rights_def as r ORDER BY r.module, r.id ASC";
if ($db->query($sql)) $result=$db->query($sql);
if ($result)
{ {
$num = $db->num_rows(); $num = $db->num_rows($result);
$i = 0; $i = 0;
$var = True; $var = True;
while ($i < $num) while ($i < $num)
{ {
$obj = $db->fetch_object($i); $obj = $db->fetch_object($result);
if ($oldmod <> $obj->module) if ($oldmod <> $obj->module)
{ {
$oldmod = $obj->module; $oldmod = $obj->module;
$var = !$var; $var = !$var;
}
print '<tr '. $bc[$var].'>'; print '<tr '. $bc[$var].'>';
// Recupère objet module
$modName=$modules[$obj->module];
$file = $modName.".class.php";
include_once("../includes/modules/$file");
$objMod = new $modName($db);
$picto=($objMod->picto?$objMod->picto:'generic');
}
else
{
print '<tr '. $bc[$var].'>';
}
if (in_array($obj->id, $permsuser))
{
// Own permission by user
if ($user->admin) if ($user->admin)
{ {
if (in_array($obj->id, $perms)) print '<td align="center"><a href="perms.php?id='.$fuser->id.'&amp;action=delrights&amp;rights='.$obj->id.'">'.img_edit_remove($langs->trans("Remove")).'</a></td>';
}
print '<td align="left" align="center">';
print img_tick();
print '</td>';
}
else if (in_array($obj->id, $permsgroup)) {
// Own permission by group
if ($user->admin)
{ {
print '<td>&nbsp;</td>'; print '<td>'.$langs->trans("Group").'</td>';
print '<td>'; }
print '<a href="perms.php?id='.$fuser->id.'&amp;action=perms&amp;subaction=delrights&amp;rights='.$obj->id.'">'.img_edit_remove().'</a>'; print '<td align="left" nowrap>';
print img_tick();
print '</td>'; print '</td>';
} }
else else
{ {
print '<td>'; // Do not own permission
print '<a href="perms.php?id='.$fuser->id.'&amp;action=perms&amp;subaction=addrights&amp;rights='.$obj->id.'">'.img_edit_add().'</a>'; if ($user->admin)
{
print '<td align="center"><a href="perms.php?id='.$fuser->id.'&amp;action=addrights&amp;rights='.$obj->id.'">'.img_edit_add($langs->trans("Add")).'</a></td>';
}
print '<td>&nbsp</td>';
}
print '<td>'.$obj->libelle . '</td>';
print '<td>'.img_object('',$picto).' '.$objMod->getName();
print '</td>'; print '</td>';
print '<td>&nbsp;</td>';
}
print '<td>'.$obj->libelle . '</td><td>'.$obj->module . '</td>';
print '</tr>'; print '</tr>';
}
else
{
if (in_array($obj->id, $perms))
{
print '<td>&nbsp;</td><td>&nbsp;</td>';
print '<td>'.$obj->libelle . '</td><td>'.$obj->module . '</td>';
print '</tr>';
}
}
$i++; $i++;
} }