Fork me on GitHub




(1) 2 »


Test sur les groupes
Admin Frxoops
Inscrit: 16/05/2003 18:10
De Rhone-Alpes
Messages: 4051
J'ai besoin de tester les groupes pour autoriser certaines actions dans le nouveau filemanager de tinymce v4...

mais ça ne marche pas...

dans un fichier config.php, j'ai
$create_folders=false;
Je voudrais evidemment ajouter un test sur l'appartenance au groupe 1 (administrateurs du site) pour passer cette variable à
$create_folders=true;


Si j'insère :
Global $xoopsUser;

$this->assign'authorised_groups', array( 1,) ); // list of the authorised group id

$this->assign'user_group'is_object($xoopsUser) ? $xoopsUser->getGroups() : array(XOOPS_GROUP_ANONYMOUS) );

if (
array_intersect($authorised_groups$user_group)) {
$create_folders=true
}
j'ai une l'erreur suivante :
Citation :
Fatal error: Using $this when not in object context in config.php on line 30


Que dois-je faire ?
Merci !

Posté le : 14/11/2013 14:40

Open in new window
Partager Twitter Partagez cette article sur GG+
Re: Test sur les groupes
Admin Frxoops
Inscrit: 05/03/2005 05:20
De Vaucluse
Messages: 960
Je ne vois pas pourquoi tu as cette erreur mais si seule la notion d’administrateur t'intéresse je verrai bien un truc dans ce style:

Global $xoopsUser;
if ( 
is_object($xoopsUser) && $xoopsUser->isAdmin() ) { $create_folders=true; }
else { 
$create_folders=false} ;

Je n'ai pas de quoi tester sous la main, tu pourrais essayer voir ce que ça donne ?

Posté le : 15/11/2013 15:32

Open in new window

Xoops 2.5.7.2 - Debian 8.2 - Apache 2.4.10 - MySQL 5.5.47 - Php 5.6.17
Partager Twitter Partagez cette article sur GG+
Re: Test sur les groupes
Admin Frxoops
Inscrit: 16/05/2003 18:10
De Rhone-Alpes
Messages: 4051
ok, je vais tester de ce pas,
sinon, sur github.com je dépose mon travail en cours, en indiquant ce qu'il reste à faire (et qui est plus hardu pour moi)

Posté le : 15/11/2013 15:42

Open in new window
Partager Twitter Partagez cette article sur GG+
Re: Test sur les groupes
Admin Frxoops
Inscrit: 16/05/2003 18:10
De Rhone-Alpes
Messages: 4051
Ouaissssss, ouais ouaissss ! Merci merci merci
ça marche :

Global $xoopsUser
if ( 
is_object($xoopsUser) && $xoopsUser->isAdmin() )
    {
        
$create_folders=true;
        
$upload_files=true;
     }

Coooool

maintenant,
pour autoriser l'action $upload_files=true; aux membres ?

Posté le : 15/11/2013 15:53

Open in new window
Partager Twitter Partagez cette article sur GG+
Re: Test sur les groupes
Admin Frxoops
Inscrit: 16/05/2003 18:10
De Rhone-Alpes
Messages: 4051
hummm
il ya une faille de sécurité ou le test n'est pas correct ?

Groupe administrateurs : admin
Groupe membres : alain01

Je donne les droits d'administration sur les blocs pour le groupe des membres,

et je me connecte en tant que alain01 et je vais dans l'administration des blocs, nouveau bloc, tinymcev4 se lance,
je lance le filemanager, et là, j'ai acces à la création de dossier et l'upload...

$delete_files=false;
$create_folders=false;
$delete_folders=false;
$upload_files=false;
$rename_files=false;
$rename_folders=false;
$duplicate_files=false;
Global 
$xoopsUser
if ( 
is_object($xoopsUser) && $xoopsUser->isAdmin() ) 
     { 
        
$create_folders=true
        
$upload_files=true
     }


Cela signifie que le test est toujours vrai ???

Posté le : 15/11/2013 17:07

Open in new window
Partager Twitter Partagez cette article sur GG+
Re: Test sur les groupes
Admin Frxoops
Inscrit: 05/03/2005 05:20
De Vaucluse
Messages: 960
Même si ça plante au test, tes variables devraient rester à false

Je viens de tester un autre truc qui a l'air de marcher:
$groups $GLOBALS['xoopsUser']->getGroups();
if (
in_array(XOOPS_GROUP_ADMIN$groups))
   {     
   
$create_folders=true;
   
$upload_files=true
   }

Posté le : 15/11/2013 17:19

Open in new window

Xoops 2.5.7.2 - Debian 8.2 - Apache 2.4.10 - MySQL 5.5.47 - Php 5.6.17
Partager Twitter Partagez cette article sur GG+
Re: Test sur les groupes
Admin Frxoops
Inscrit: 05/03/2005 05:20
De Vaucluse
Messages: 960
Il faut rajouter un test sur xoopsUser sinon il va y avoir un erreur en cas d'utilisateur anonyme.

if ($xoopsUser) { 
$groups $GLOBALS['xoopsUser']->getGroups();
if (
in_array(XOOPS_GROUP_ADMIN$groups))
   {     
   
$create_folders=true;
   
$upload_files=true
   } 
}


Sinon, dans l'autre version je crois que je me suis planté dans les parenthéses. C'est plutôt comme cela qu'il faut écrire la condition:
if($xoopsUser && ($xoopsUser->isAdmin()))


PS: Enlèves le G majuscule
Global $xoopsUser; -> global $xoopsUser;

Posté le : 15/11/2013 17:51

Open in new window

Xoops 2.5.7.2 - Debian 8.2 - Apache 2.4.10 - MySQL 5.5.47 - Php 5.6.17
Partager Twitter Partagez cette article sur GG+
Re: Test sur les groupes
Admin Frxoops
Inscrit: 16/05/2003 18:10
De Rhone-Alpes
Messages: 4051
Citation :
slider84 a écrit :
Il faut rajouter un test sur xoopsUser sinon il va y avoir un erreur en cas d'utilisateur anonyme.
if ($xoopsUser) { 
$groups $GLOBALS['xoopsUser']->getGroups();
if (
in_array(XOOPS_GROUP_ADMIN$groups))
   {     
   
$create_folders=true;
   
$upload_files=true
   } 
}
Ouiiiiiiiiii, ça marche !!!
Merci !

Citation :
Sinon, dans l'autre version je crois que je me suis planté dans les parenthéses. C'est plutôt comme cela qu'il faut écrire la condition:
if($xoopsUser && ($xoopsUser->isAdmin()))
Non, ça ne marche pas, cette version.

Citation :
PS: Enlèves le G majuscule
Global $xoopsUser; -> global $xoopsUser;
Ok

Sinon,
maintenant je souhaite faire un test sur le groupe membres (groups_id=2) (autoriser l'upload).

Voire même autoriser le groupe_id=n

Allez, je te lance un nouveau défi, slider !!!

Posté le : 15/11/2013 21:52

Open in new window
Partager Twitter Partagez cette article sur GG+
Re: Test sur les groupes
Admin Frxoops
Inscrit: 16/05/2003 18:10
De Rhone-Alpes
Messages: 4051
if ($xoopsUser) {  
$groups $GLOBALS['xoopsUser']->getGroups(); 
if (
in_array(XOOPS_GROUP_USERS$groups)) 
   {      
   
$upload_files=true;  
   }  
if (
in_array(XOOPS_GROUP_ADMIN$groups)) 
   {      
   
$create_folders=true
   
$upload_files=true;  // pas utile car les administrateurs sont membres aussi
   
}  
}

Posté le : 15/11/2013 22:02

Open in new window
Partager Twitter Partagez cette article sur GG+
Re: Test sur les groupes
Admin Frxoops
Inscrit: 05/03/2005 05:20
De Vaucluse
Messages: 960
Citation :
Allez, je te lance un nouveau défi, slider !!!
J'adoreee les défis loll

global $xoopsUser;
$allowed_groups=array(1,2); // id des groupes autorisés
if ($xoopsUser) { 
    
$usergroups $GLOBALS['xoopsUser']->getGroups();
    
$result array_intersect($usergroups$allowed_groups);
        if (
$result || $result!=null) {
           
$create_folders=true;
           
$upload_files=true;
        }
}


Posté le : 15/11/2013 22:18

Open in new window

Xoops 2.5.7.2 - Debian 8.2 - Apache 2.4.10 - MySQL 5.5.47 - Php 5.6.17
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

71 Personne(s) en ligne (54 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 71 | Plus ...