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

More
2 months 4 weeks ago #156962 by pberthol
pberthol created the topic: creation d'admin en masse + application des permissions depuis logiciel externe
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,

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();
}
 

Please Log in to join the conversation.

More
2 months 3 weeks ago #156980 by DenisChenu
DenisChenu replied the topic: creation d'admin en masse + application des permissions depuis logiciel externe
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 (or search sondages pro).
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in to join the conversation.

Moderators: Nickko

Start now!

Just create your account and start using Limesurvey today.

Register now