mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
New: Ajout des droits sur le module user.
Les modules "base" (requis) sont actifs par dfaut (a l'install) et non dsactivables.
This commit is contained in:
parent
0745c647fc
commit
3607852e56
|
|
@ -55,9 +55,10 @@ if ($_GET["action"] == 'reset' && $user->admin)
|
|||
|
||||
|
||||
/** \brief Active un module
|
||||
\param value Nom du module a activer
|
||||
\param value Nom du module a activer
|
||||
\param withdeps Active/désactive aussi les dépendances
|
||||
*/
|
||||
function Activate($value)
|
||||
function Activate($value,$withdeps=1)
|
||||
{
|
||||
global $db, $modules, $langs;
|
||||
|
||||
|
|
@ -67,7 +68,7 @@ function Activate($value)
|
|||
if ($modName)
|
||||
{
|
||||
$file = $modName . ".class.php";
|
||||
include_once("../includes/modules/$file");
|
||||
include_once(DOL_DOCUMENT_ROOT."/includes/modules/$file");
|
||||
$objMod = new $modName($db);
|
||||
|
||||
// Test si version PHP ok
|
||||
|
|
@ -81,18 +82,21 @@ function Activate($value)
|
|||
$objMod->init();
|
||||
}
|
||||
|
||||
// Activation des modules dont le module dépend
|
||||
for ($i = 0; $i < sizeof($objMod->depends); $i++)
|
||||
if ($withdeps)
|
||||
{
|
||||
Activate($objMod->depends[$i]);
|
||||
// Activation des modules dont le module dépend
|
||||
for ($i = 0; $i < sizeof($objMod->depends); $i++)
|
||||
{
|
||||
Activate($objMod->depends[$i]);
|
||||
}
|
||||
|
||||
// Desactivation des modules qui entrent en conflit
|
||||
for ($i = 0; $i < sizeof($objMod->conflictwith); $i++)
|
||||
{
|
||||
UnActivate($objMod->conflictwith[$i],0);
|
||||
}
|
||||
}
|
||||
|
||||
// Desactivation des modules qui entrent en conflit
|
||||
for ($i = 0; $i < sizeof($objMod->conflictwith); $i++)
|
||||
{
|
||||
UnActivate($objMod->conflictwith[$i],0);
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -111,7 +115,7 @@ function UnActivate($value,$requiredby=1)
|
|||
if ($modName)
|
||||
{
|
||||
$file = $modName . ".class.php";
|
||||
include_once("../includes/modules/$file");
|
||||
include_once(DOL_DOCUMENT_ROOT."/includes/modules/$file");
|
||||
$objMod = new $modName($db);
|
||||
$objMod->remove();
|
||||
}
|
||||
|
|
@ -181,6 +185,7 @@ print "</tr>\n";
|
|||
|
||||
$dir = DOL_DOCUMENT_ROOT . "/includes/modules/";
|
||||
|
||||
// Charge tableaux modules, nom, numero, orders depuis répertoire dir
|
||||
$handle=opendir($dir);
|
||||
$modules = array();
|
||||
$orders = array();
|
||||
|
|
@ -209,7 +214,6 @@ while (($file = readdir($handle))!==false)
|
|||
$modules[$i] = $objMod;
|
||||
|
||||
$nom[$i] = $modName;
|
||||
$numero[$i] = $j;
|
||||
$orders[$i] = "$objMod->family"."_".$j; // Tri par famille puis numero module
|
||||
$j++;
|
||||
$i++;
|
||||
|
|
@ -221,7 +225,7 @@ asort($orders);
|
|||
$var=True;
|
||||
|
||||
$familylib=array(
|
||||
'base'=>$langs->trans("ModuleBase"),
|
||||
'base'=>$langs->trans("ModuleFamilyBase"),
|
||||
'crm'=>$langs->trans("ModuleFamilyCrm"),
|
||||
'products'=>$langs->trans("ModuleFamilyProducts"),
|
||||
'hr'=>$langs->trans("ModuleFamilyHr"),
|
||||
|
|
@ -295,8 +299,8 @@ foreach ($orders as $key => $value)
|
|||
if ($conf->global->$const_name == 1)
|
||||
{
|
||||
// Module actif
|
||||
print "<a href=\"modules.php?id=".$objMod->numero."&action=reset&value=" . $modName . "&spe=" . $_GET["spe"] . "\">" . $langs->trans("Disable") . "</a></td>\n";
|
||||
|
||||
if ($family == 'base') print $langs->trans("Required");
|
||||
else print "<a href=\"modules.php?id=".$objMod->numero."&action=reset&value=" . $modName . "&spe=" . $_GET["spe"] . "\">" . $langs->trans("Disable") . "</a></td>\n";
|
||||
|
||||
if ($objMod->config_page_url)
|
||||
{
|
||||
|
|
@ -331,6 +335,11 @@ foreach ($orders as $key => $value)
|
|||
}
|
||||
else
|
||||
{
|
||||
if ($family == 'base')
|
||||
{
|
||||
// Ne devrait pas arriver.
|
||||
}
|
||||
|
||||
// Module non actif
|
||||
print "<a href=\"modules.php?id=".$objMod->numero."&action=set&value=" . $modName . "&spe=" . $_GET["spe"] . "\">" . $langs->trans("Activate") . "</a></td>\n <td> </td>\n";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
/**
|
||||
\file htdocs/install/etape5.php
|
||||
\brief Page de fin d'installation
|
||||
\brief Page de fin d'installation ou de migration
|
||||
\version $Revision$
|
||||
*/
|
||||
|
||||
|
|
@ -40,6 +40,8 @@ $success=0;
|
|||
if (file_exists($conffile))
|
||||
{
|
||||
include($conffile);
|
||||
if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_main_db_prefix='llx_';
|
||||
define('MAIN_DB_PREFIX',$dolibarr_main_db_prefix);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -96,6 +98,13 @@ if ($_POST["action"] == "set" || $_POST["action"] == "upgrade")
|
|||
$db = new DoliDb($conf->db->type,$conf->db->host,$conf->db->user,$conf->db->pass,$conf->db->name);
|
||||
$ok = 0;
|
||||
|
||||
// Active module user
|
||||
$modName='modUser';
|
||||
$file = $modName . ".class.php";
|
||||
include_once("../includes/modules/$file");
|
||||
$objMod = new $modName($db);
|
||||
$objMod->init();
|
||||
|
||||
// If first install
|
||||
if ($_POST["action"] == "set")
|
||||
{
|
||||
|
|
|
|||
|
|
@ -52,6 +52,8 @@ pHeader($langs->trans("MigrateScript"),"etape5","upgrade");
|
|||
if (file_exists($conffile))
|
||||
{
|
||||
include_once($conffile);
|
||||
if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_main_db_prefix='llx_';
|
||||
define('MAIN_DB_PREFIX',$dolibarr_main_db_prefix);
|
||||
}
|
||||
|
||||
if($dolibarr_main_db_type == "mysql")
|
||||
|
|
|
|||
|
|
@ -42,6 +42,8 @@ ActiveOn=Activated on
|
|||
SourceFile=Source file
|
||||
TriggersAvailable=Triggers available
|
||||
TriggersDesc=Triggers are components that modify, once activated, the behaviour of Dolibarr workflow. They add new actions, activated on Dolibarr events (new company creation, invoice validation, ...).
|
||||
Required=Required
|
||||
ModuleFamilyBase=System
|
||||
ModuleFamilyCrm=Customer Ressource Management (CRM)
|
||||
ModuleFamilyProducts=Products Management
|
||||
ModuleFamilyHr=Human Ressource Management
|
||||
|
|
@ -50,6 +52,8 @@ ModuleFamilyOther=Other
|
|||
ModuleFamilyTechnic=Technical Modules
|
||||
ModuleFamilyExperimental=Experimental modules
|
||||
ModuleFamilyFinancial=Financial Modules (Accountancy/Treasury)
|
||||
Module0Name=Users & groups
|
||||
Module0Desc=Users and groups management
|
||||
Module1Name=Companies
|
||||
Module1Desc=Companies and contacts' management
|
||||
Module2Name=Commercial
|
||||
|
|
@ -187,6 +191,12 @@ Permission229=Delete emailings
|
|||
Permission231=Read supplier invoices
|
||||
Permission232=Create/modify supplier invoices
|
||||
Permission233=Delete supplier invoices
|
||||
Permission251=Read other users and groups
|
||||
Permission252=Create/modify other users, their groups and permisssions
|
||||
Permission253=Modify other users password
|
||||
Permission254=Delete or disable other users
|
||||
Permission255=Create/modify his own user informations
|
||||
Permission256=Modify his own password
|
||||
Permission300=Read bar codes
|
||||
Permission301=Create/modify bar codes
|
||||
Permission302=Delete bar codes
|
||||
|
|
|
|||
|
|
@ -68,4 +68,5 @@ CreateDolibarrLogin=Create Dolibarr account
|
|||
LoginAccountDisable=Account disabled, put a new login to activate it.
|
||||
UsePersonalValue=Use personal value
|
||||
ErrorFailedToSaveFile=Error - Failed to save file
|
||||
GuiLanguage=Interface language
|
||||
GuiLanguage=Interface language
|
||||
InternalUser=Internal user
|
||||
|
|
@ -42,6 +42,8 @@ ActiveOn=Active sur
|
|||
SourceFile=Fichier source
|
||||
TriggersAvailable=Triggers disponibles
|
||||
TriggersDesc=Les triggers sont des composants qui, une fois activés, modifient le comportement du workflow de Dolibarr. Ils réalisent des actions suplémentaires, déclenchées par les événements Dolibarr (création société, validation facture, clôture contrat...).
|
||||
Required=Requis
|
||||
ModuleFamilyBase=Système
|
||||
ModuleFamilyCrm=Gestion client (CRM)
|
||||
ModuleFamilyProducts=Gestion produits
|
||||
ModuleFamilyHr=Ressources humaines
|
||||
|
|
@ -50,6 +52,8 @@ ModuleFamilyOther=Autre
|
|||
ModuleFamilyTechnic=Modules techniques, interfaces
|
||||
ModuleFamilyExperimental=Modules expérimentaux (ne pas utiliser en production)
|
||||
ModuleFamilyFinancial=Modules financiers (Compta/trésorerie)
|
||||
Module0Name=Utilisateurs & groupes
|
||||
Module0Desc=Gestion des utilisateurs et groupes
|
||||
Module1Name=Sociétés
|
||||
Module1Desc=Gestion des sociétés et contacts
|
||||
Module2Name=Commercial
|
||||
|
|
@ -187,6 +191,12 @@ Permission229=Supprimer les mailings
|
|||
Permission231=Consulter les factures fournisseurs
|
||||
Permission232=Créer/modifier les facture fournisseurs
|
||||
Permission233=Supprimer les factures fournisseurs
|
||||
Permission251=Consulter les autres utilisateurs, leurs groupes et permissions
|
||||
Permission252=Créer/modifier les autres utilisateurs, leurs groupes et permissions
|
||||
Permission253=Modifier mot de passe des autres utilisateurs
|
||||
Permission254=Supprimer ou désactiver les autres utilisateurs
|
||||
Permission255=Créer/modifier ses propres infos utilisateur
|
||||
Permission256=Modifier son propre mot de passe
|
||||
Permission300=Consulter les codes barres
|
||||
Permission301=Créer/modifier les codes barres
|
||||
Permission302=Supprimer les codes barres
|
||||
|
|
|
|||
|
|
@ -69,3 +69,4 @@ LoginAccountDisable=Le compte est d
|
|||
UsePersonalValue=Utiliser valeur personalisée
|
||||
ErrorFailedToSaveFile=Erreur - l'enregistrement du fichier a échoué
|
||||
GuiLanguage=Langage de l'interface
|
||||
InternalUser=Utilisateur interne
|
||||
|
|
@ -34,11 +34,16 @@ require("./pre.inc.php");
|
|||
require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
|
||||
|
||||
|
||||
// Defini si peux lire/modifier utilisateurs et permisssions
|
||||
$canreadperms=($user->admin || $user->rights->user->user->lire);
|
||||
$caneditperms=($user->admin || $user->rights->user->user->creer);
|
||||
$candisableperms=($user->admin || $user->rights->user->user->supprimer);
|
||||
|
||||
if ($user->id <> $_GET["id"])
|
||||
{
|
||||
if (! $user->rights->user->user->lire && ! $user->admin)
|
||||
if (! $canreadperms)
|
||||
{
|
||||
accessforbidden();
|
||||
accessforbidden();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -54,13 +59,13 @@ $action=isset($_GET["action"])?$_GET["action"]:$_POST["action"];
|
|||
/**
|
||||
* Actions
|
||||
*/
|
||||
if ($_GET["subaction"] == 'addrights' && $user->admin)
|
||||
if ($_GET["subaction"] == 'addrights' && $caneditperms)
|
||||
{
|
||||
$edituser = new User($db,$_GET["id"]);
|
||||
$edituser->addrights($_GET["rights"]);
|
||||
}
|
||||
|
||||
if ($_GET["subaction"] == 'delrights' && $user->admin)
|
||||
if ($_GET["subaction"] == 'delrights' && $caneditperms)
|
||||
{
|
||||
$edituser = new User($db,$_GET["id"]);
|
||||
$edituser->delrights($_GET["rights"]);
|
||||
|
|
@ -74,6 +79,7 @@ if ($_POST["action"] == 'confirm_disable' && $_POST["confirm"] == "yes")
|
|||
$edituser->fetch($_GET["id"]);
|
||||
$edituser->disable();
|
||||
Header("Location: ".DOL_URL_ROOT.'/user/fiche.php?id='.$_GET["id"]);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -85,11 +91,12 @@ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == "yes")
|
|||
$edituser->fetch($_GET["id"]);
|
||||
$edituser->delete();
|
||||
Header("Location: index.php");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
// Action ajout user
|
||||
if ($_POST["action"] == 'add' && $user->admin)
|
||||
if ($_POST["action"] == 'add' && $caneditperms)
|
||||
{
|
||||
$message="";
|
||||
if (! $_POST["nom"]) {
|
||||
|
|
@ -130,6 +137,7 @@ if ($_POST["action"] == 'add' && $user->admin)
|
|||
$db->commit();
|
||||
|
||||
Header("Location: fiche.php?id=$id");
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -143,7 +151,7 @@ if ($_POST["action"] == 'add' && $user->admin)
|
|||
}
|
||||
|
||||
// Action ajout groupe utilisateur
|
||||
if ($_POST["action"] == 'addgroup' && $user->admin)
|
||||
if ($_POST["action"] == 'addgroup' && $caneditperms)
|
||||
{
|
||||
if ($_POST["group"])
|
||||
{
|
||||
|
|
@ -151,10 +159,11 @@ if ($_POST["action"] == 'addgroup' && $user->admin)
|
|||
$edituser->SetInGroup($_POST["group"]);
|
||||
|
||||
Header("Location: fiche.php?id=".$_GET["id"]);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
if ($_GET["action"] == 'removegroup' && $user->admin)
|
||||
if ($_GET["action"] == 'removegroup' && $caneditperms)
|
||||
{
|
||||
if ($_GET["group"])
|
||||
{
|
||||
|
|
@ -162,10 +171,11 @@ if ($_GET["action"] == 'removegroup' && $user->admin)
|
|||
$edituser->RemoveFromGroup($_GET["group"]);
|
||||
|
||||
Header("Location: fiche.php?id=".$_GET["id"]);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
if ($_POST["action"] == 'update' && $user->admin)
|
||||
if ($_POST["action"] == 'update' && $caneditperms)
|
||||
{
|
||||
$message="";
|
||||
|
||||
|
|
@ -201,18 +211,21 @@ if ($_POST["action"] == 'update' && $user->admin)
|
|||
if ($ret >= 0 && isset($_POST["password"]) && $_POST["password"] !='' )
|
||||
{
|
||||
$ret=$edituser->password($user,$password,$conf->password_encrypted);
|
||||
if ($ret < 0) {
|
||||
if ($ret < 0)
|
||||
{
|
||||
$message.='<div class="error">'.$edituser->error.'</div>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($_FILES['photo']['tmp_name']) {
|
||||
if (isset($_FILES['photo']['tmp_name']) && trim($_FILES['photo']['tmp_name']))
|
||||
{
|
||||
// Si une photo est fournie avec le formulaire
|
||||
if (! is_dir($conf->users->dir_output))
|
||||
{
|
||||
create_exdir($conf->users->dir_output);
|
||||
}
|
||||
if (is_dir($conf->users->dir_output)) {
|
||||
if (is_dir($conf->users->dir_output))
|
||||
{
|
||||
$newfile=$conf->users->dir_output . "/" . $edituser->id . ".jpg";
|
||||
if (! doliMoveFileUpload($_FILES['photo']['tmp_name'],$newfile))
|
||||
{
|
||||
|
|
@ -221,10 +234,12 @@ if ($_POST["action"] == 'update' && $user->admin)
|
|||
}
|
||||
}
|
||||
|
||||
if ($ret >= 0) {
|
||||
if ($ret >= 0)
|
||||
{
|
||||
$message.='<div class="ok">'.$langs->trans("UserModified").'</div>';
|
||||
$db->commit();
|
||||
} else {
|
||||
} else
|
||||
{
|
||||
$db->rollback;
|
||||
}
|
||||
|
||||
|
|
@ -232,7 +247,7 @@ if ($_POST["action"] == 'update' && $user->admin)
|
|||
|
||||
// Action modif mot de passe
|
||||
if ((($_POST["action"] == 'confirm_password' && $_POST["confirm"] == 'yes')
|
||||
|| $_GET["action"] == 'confirm_passwordsend') && $user->admin)
|
||||
|| $_GET["action"] == 'confirm_passwordsend') && $caneditperms)
|
||||
{
|
||||
$edituser = new User($db, $_GET["id"]);
|
||||
$edituser->fetch();
|
||||
|
|
@ -346,6 +361,9 @@ else
|
|||
$fuser->fetch();
|
||||
$fuser->getrights();
|
||||
|
||||
$caneditpassword=( (($user->id == $fuser->id) && $user->rights->user->self->password)
|
||||
|| (($user->id != $fuser->id) && $user->rights->user->user->password) );
|
||||
|
||||
/*
|
||||
* Affichage onglets
|
||||
*/
|
||||
|
|
@ -432,7 +450,7 @@ else
|
|||
|
||||
print '<tr><td width="25%" valign="top">'.$langs->trans("Lastname").'</td>';
|
||||
print '<td width="50%" class="valeur">'.$fuser->nom.'</td>';
|
||||
print '<td align="center" valign="middle" width="25%" rowspan="13">';
|
||||
print '<td align="center" valign="middle" width="25%" rowspan="14">';
|
||||
if (file_exists($conf->users->dir_output."/".$fuser->id.".jpg"))
|
||||
{
|
||||
print '<img width="100" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=userphoto&file='.$fuser->id.'.jpg">';
|
||||
|
|
@ -525,7 +543,7 @@ else
|
|||
print "</tr>\n";
|
||||
|
||||
print "<tr>".'<td width="25%" valign="top">'.$langs->trans("Note").'</td>';
|
||||
print '<td colspan="2" class="valeur">'.nl2br($fuser->note).' </td>';
|
||||
print '<td class="valeur">'.nl2br($fuser->note).' </td>';
|
||||
print "</tr>\n";
|
||||
|
||||
// Autres caractéristiques issus des autres modules
|
||||
|
|
@ -548,27 +566,27 @@ else
|
|||
*/
|
||||
print '<div class="tabsAction">';
|
||||
|
||||
if ($user->admin || ($user->id == $fuser->id))
|
||||
if ($caneditperms || ($user->id == $fuser->id))
|
||||
{
|
||||
print '<a class="butAction" href="fiche.php?id='.$fuser->id.'&action=edit">'.$langs->trans("Edit").'</a>';
|
||||
}
|
||||
|
||||
if (($user->id != $_GET["id"] && $user->admin) && $fuser->login)
|
||||
if (($user->id != $_GET["id"] && $caneditpassword) && $fuser->login)
|
||||
{
|
||||
print '<a class="butAction" href="fiche.php?id='.$fuser->id.'&action=password">'.$langs->trans("ReinitPassword").'</a>';
|
||||
}
|
||||
|
||||
if (($user->id != $_GET["id"] && $user->admin) && $fuser->email && $fuser->login)
|
||||
if (($user->id != $_GET["id"] && $caneditpassword) && $fuser->email && $fuser->login)
|
||||
{
|
||||
print '<a class="butAction" href="fiche.php?id='.$fuser->id.'&action=passwordsend">'.$langs->trans("SendNewPassword").'</a>';
|
||||
}
|
||||
|
||||
if ($user->id <> $_GET["id"] && $user->admin && $fuser->login)
|
||||
if ($user->id <> $_GET["id"] && $candisableperms && $fuser->login)
|
||||
{
|
||||
print '<a class="butActionDelete" href="fiche.php?action=disable&id='.$fuser->id.'">'.$langs->trans("DisableUser").'</a>';
|
||||
}
|
||||
|
||||
if ($user->id <> $_GET["id"] && $user->admin)
|
||||
if ($user->id <> $_GET["id"] && $candisableperms)
|
||||
{
|
||||
print '<a class="butActionDelete" href="fiche.php?action=delete&id='.$fuser->id.'">'.$langs->trans("DeleteUser").'</a>';
|
||||
}
|
||||
|
|
@ -611,7 +629,7 @@ else
|
|||
dolibarr_print_error($db);
|
||||
}
|
||||
|
||||
if ($user->admin)
|
||||
if ($caneditperms)
|
||||
{
|
||||
$form = new Form($db);
|
||||
print '<form action="fiche.php?id='.$_GET["id"].'" method="post">'."\n";
|
||||
|
|
@ -663,7 +681,7 @@ else
|
|||
print '</td>';
|
||||
print '<td>';
|
||||
|
||||
if ($user->admin)
|
||||
if ($caneditperms)
|
||||
{
|
||||
|
||||
print '<a href="fiche.php?id='.$_GET["id"].'&action=removegroup&group='.$obj->rowid.'">';
|
||||
|
|
@ -694,15 +712,14 @@ else
|
|||
/*
|
||||
* Fiche en mode edition
|
||||
*/
|
||||
if ($_GET["action"] == 'edit' && ($user->admin || ($user->id == $fuser->id)))
|
||||
if ($_GET["action"] == 'edit' && ($caneditperms || ($user->id == $fuser->id)))
|
||||
{
|
||||
|
||||
print '<form action="fiche.php?id='.$fuser->id.'" method="post" name="updateuser" enctype="multipart/form-data">';
|
||||
print '<input type="hidden" name="action" value="update">';
|
||||
print '<table width="100%" class="border">';
|
||||
|
||||
$rowspan=11;
|
||||
if ($conf->global->USER_ALLOW_PASSWORD_CHANGE) $rowspan++;
|
||||
|
||||
$rowspan=12;
|
||||
|
||||
print '<tr><td width="25%" valign="top">'.$langs->trans("Lastname").'</td>';
|
||||
print '<td width="50%" class="valeur"><input class="flat" size="30" type="text" name="nom" value="'.$fuser->nom.'"></td>';
|
||||
|
|
@ -729,11 +746,17 @@ else
|
|||
print '</td></tr>';
|
||||
|
||||
// Pass
|
||||
if ($conf->global->USER_ALLOW_PASSWORD_CHANGE)
|
||||
if ($caneditpassword)
|
||||
{
|
||||
print "<tr>".'<td valign="top">'.$langs->trans("Password").'</td>';
|
||||
print '<td><input size="12" maxlength="8" type="password" class="flat" name="pass" value="'.$fuser->pass.'"></td></tr>';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<tr><td width="25%" valign="top">'.$langs->trans("Password").'</td>';
|
||||
print '<td width="50%" class="valeur">'.eregi_replace('.','*',$fuser->pass).'</td>';
|
||||
print "</tr>\n";
|
||||
}
|
||||
|
||||
// Administrateur
|
||||
print "<tr>".'<td valign="top">'.$langs->trans("Administrator").'</td>';
|
||||
|
|
@ -799,7 +822,7 @@ else
|
|||
print '<td><input size="40" type="text" name="email" class="flat" value="'.$fuser->email.'"></td></tr>';
|
||||
|
||||
print "<tr>".'<td valign="top">'.$langs->trans("Note").'</td><td>';
|
||||
print '<textarea class="flat" name="note" rows="4" cols="40">';
|
||||
print '<textarea class="flat" name="note" rows="'.ROWS_3.'" cols="70">';
|
||||
print $fuser->note;
|
||||
print "</textarea></td></tr>";
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,9 @@
|
|||
|
||||
require("./pre.inc.php");
|
||||
|
||||
if (! $user->rights->user->group->lire && !$user->admin) accessforbidden();
|
||||
$user->getrights();
|
||||
|
||||
if (! $user->rights->user->user->lire && ! $user->admin) accessforbidden();
|
||||
|
||||
$langs->load("users");
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,9 @@
|
|||
|
||||
require("./pre.inc.php");
|
||||
|
||||
if (! $user->rights->user->user->lire && !$user->admin) accessforbidden();
|
||||
$user->getrights();
|
||||
|
||||
if (! $user->rights->user->user->lire && ! $user->admin) accessforbidden();
|
||||
|
||||
$langs->load("users");
|
||||
|
||||
|
|
@ -37,7 +39,6 @@ $sall=isset($_GET["sall"])?$_GET["sall"]:$_POST["sall"];
|
|||
$sortfield = isset($_GET["sortfield"])?$_GET["sortfield"]:$_POST["sortfield"];
|
||||
$sortorder = isset($_GET["sortorder"])?$_GET["sortorder"]:$_POST["sortorder"];
|
||||
$page=isset($_GET["page"])?$_GET["page"]:$_POST["page"];
|
||||
$page = $_GET["page"];
|
||||
if ($page < 0) $page = 0;
|
||||
|
||||
$limit = $conf->liste_limit;
|
||||
|
|
|
|||
|
|
@ -38,17 +38,21 @@ $form = new Form($db);
|
|||
|
||||
$module=isset($_GET["module"])?$_GET["module"]:$_POST["module"];
|
||||
|
||||
// Defini si peux modifier utilisateurs et permisssions
|
||||
$caneditperms=($user->admin || $user->rights->user->user->creer);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Actions
|
||||
*/
|
||||
if ($_GET["action"] == 'addrights' && $user->admin)
|
||||
if ($_GET["action"] == 'addrights' && $caneditperms)
|
||||
{
|
||||
$edituser = new User($db,$_GET["id"]);
|
||||
$edituser->addrights($_GET["rights"],$module);
|
||||
}
|
||||
|
||||
if ($_GET["action"] == 'delrights' && $user->admin)
|
||||
if ($_GET["action"] == 'delrights' && $caneditperms)
|
||||
{
|
||||
$edituser = new User($db,$_GET["id"]);
|
||||
$edituser->delrights($_GET["rights"],$module);
|
||||
|
|
@ -196,7 +200,7 @@ if ($_GET["id"])
|
|||
print '<table width="100%" class="noborder">';
|
||||
print '<tr class="liste_titre">';
|
||||
print '<td>'.$langs->trans("Module").'</td>';
|
||||
if ($user->admin) print '<td width="24"> </td>';
|
||||
if ($caneditperms) print '<td width="24"> </td>';
|
||||
print '<td align="center" width="24"> </td>';
|
||||
print '<td>'.$langs->trans("Permissions").'</td>';
|
||||
print '</tr>';
|
||||
|
|
@ -232,16 +236,20 @@ if ($_GET["id"])
|
|||
$objMod=$modules[$obj->module];
|
||||
$picto=($objMod->picto?$objMod->picto:'generic');
|
||||
|
||||
print '<tr '. $bc[$var].'>';
|
||||
print '<td>'.img_object('',$picto).' '.$objMod->getName();
|
||||
print '<a name="'.$objMod->getName().'"> </a></td>';
|
||||
print '<td align="center" nowrap>';
|
||||
print '<a title='.$langs->trans("All").' alt='.$langs->trans("All").' href="perms.php?id='.$fuser->id.'&action=addrights&module='.$obj->module.'">'.$langs->trans("All")."</a>";
|
||||
print '/';
|
||||
print '<a title='.$langs->trans("None").' alt='.$langs->trans("None").' href="perms.php?id='.$fuser->id.'&action=delrights&module='.$obj->module.'">'.$langs->trans("None")."</a>";
|
||||
print '</td>';
|
||||
print '<td colspan="2"> </td>';
|
||||
print '</tr>';
|
||||
if ($caneditperms && ($obj->module != 'user' || ! $user->admin))
|
||||
{
|
||||
// On affiche ligne pour modifier droits
|
||||
print '<tr '. $bc[$var].'>';
|
||||
print '<td>'.img_object('',$picto).' '.$objMod->getName();
|
||||
print '<a name="'.$objMod->getName().'"> </a></td>';
|
||||
print '<td align="center" nowrap>';
|
||||
print '<a title='.$langs->trans("All").' alt='.$langs->trans("All").' href="perms.php?id='.$fuser->id.'&action=addrights&module='.$obj->module.'">'.$langs->trans("All")."</a>";
|
||||
print '/';
|
||||
print '<a title='.$langs->trans("None").' alt='.$langs->trans("None").' href="perms.php?id='.$fuser->id.'&action=delrights&module='.$obj->module.'">'.$langs->trans("None")."</a>";
|
||||
print '</td>';
|
||||
print '<td colspan="2"> </td>';
|
||||
print '</tr>';
|
||||
}
|
||||
}
|
||||
|
||||
print '<tr '. $bc[$var].'>';
|
||||
|
|
@ -249,10 +257,21 @@ if ($_GET["id"])
|
|||
print '<td>'.img_object('',$picto).' '.$objMod->getName();
|
||||
print '</td>';
|
||||
|
||||
if (in_array($obj->id, $permsuser))
|
||||
if ($fuser->admin && $obj->module == 'user')
|
||||
{
|
||||
// Own permission by user
|
||||
if ($user->admin)
|
||||
// Permission own because admin
|
||||
if ($caneditperms)
|
||||
{
|
||||
print '<td align="center">'.img_picto($langs->trans("Administrator"),'star').'</td>';
|
||||
}
|
||||
print '<td align="center" nowrap>';
|
||||
print img_tick();
|
||||
print '</td>';
|
||||
}
|
||||
else if (in_array($obj->id, $permsuser))
|
||||
{
|
||||
// Permission own by user
|
||||
if ($caneditperms)
|
||||
{
|
||||
print '<td align="center"><a href="perms.php?id='.$fuser->id.'&action=delrights&rights='.$obj->id.'">'.img_edit_remove($langs->trans("Remove")).'</a></td>';
|
||||
}
|
||||
|
|
@ -261,19 +280,19 @@ if ($_GET["id"])
|
|||
print '</td>';
|
||||
}
|
||||
else if (in_array($obj->id, $permsgroup)) {
|
||||
// Own permission by group
|
||||
if ($user->admin)
|
||||
// Permission own by group
|
||||
if ($caneditperms)
|
||||
{
|
||||
print '<td align="center">'.$langs->trans("Group").'</td>';
|
||||
}
|
||||
print '<td align="left" nowrap>';
|
||||
print '<td align="center" nowrap>';
|
||||
print img_tick();
|
||||
print '</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
// Do not own permission
|
||||
if ($user->admin)
|
||||
if ($caneditperms)
|
||||
{
|
||||
print '<td align="center"><a href="perms.php?id='.$fuser->id.'&action=addrights&rights='.$obj->id.'">'.img_edit_add($langs->trans("Add")).'</a></td>';
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user