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