Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

creation d'admin en masse + application des permissions depuis logiciel externe

  • pberthol
  • pberthol's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
6 years 8 months ago #156962 by pberthol
Bonjour,

Je n'ai pas trouver de fonction au niveau de l'api pour faire cela, j'ai donc bricoler un code qui tape dans la bdd de limeurvey
ma question est la suivante, est ce que les tables utilisées dans mon code suffise pour rée un user et lui donner des permission ou est ce qu'il faut rajouter d'autre info

faute d'api existe t'il un code similaire mieux ecrit et exportable pour faire la meme chose

en vous remerciant,

Code:
function createPassword()
{
    $aCharacters = "ABCDEGHJIKLMNOPQURSTUVWXYZabcdefhjmnpqrstuvwxyz23456789";
    $iPasswordLength = 12;
    $sPassword = '';
    for ($i=0; $i<$iPasswordLength; $i++)
    {
        $sPassword .= $aCharacters[(int)floor(rand(0,strlen($aCharacters)-1))];
    }
    return $sPassword;
}
 
 
 
$creer_admin=$sqllime->prepare("INSERT INTO `lime_users` (`users_name`, `password`, `full_name`, `parent_id`, `lang`, `email`, `created`) VALUE (:admin_name,:admin_password,:admin_fullname,0,'auto',:admin_mail,:date)");
$creer_admin->bindparam(':admin_name',$admin_name, PDO::PARAM_STR);
$creer_admin->bindparam(':admin_password',$admin_password,PDO::PARAM_LOB);
$creer_admin->bindparam(':admin_fullname',$admin_fullname, PDO::PARAM_STR);
$creer_admin->bindparam(':admin_mail', $admin_mail, PDO::PARAM_STR);
$creer_admin->bindparam(':date',$admin_date, PDO::PARAM_STR);
$creer_admin->execute();
 
 
$appliquer_permission=$sqllime->prepare("INSERT INTO `lime_permissions` (`entity`, `entity_id`, `uid`, `permission`, `create_p`, `read_p`, `update_p`, `delete_p`, `import_p`, `export_p`) VALUES
('global',0,:userid,'auth_db',0,1,0,0,0,0),
('template',0,:userid,'default',0,1,0,0,0,0),
('survey',:surveyid,:userid,'responses',0,1,0,0,0,1),
('survey',:surveyid,:userid,'statistics',0,1,0,0,0,0),
('survey',:surveyid,:userid,'survey',0,1,0,0,0,0);");
$appliquer_permission->bindparam(':userid',$userid, PDO::PARAM_STR);
$appliquer_permission->bindparam(':surveyid',$surveyid);
$appliquer_permission->execute();
}
 
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 8 months ago #156980 by DenisChenu
Le mot de passe est chiffré : github.com/LimeSurvey/LimeSurvey/blob/ma...models/User.php#L165

Et tu peux étendre les fonctionnalité du remote_control : extensions.sondages.pro/development-and-...d-remotecontrol-api/

(voire proposer un patch).

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
The topic has been locked.
Moderators: Nickko

Lime-years ahead

Online-surveys for every purse and purpose