20 use Symfony\Component\HttpFoundation\Request;
40 $this->user_pk = $user_pk;
43 public function modifyUserDetails($reqBody)
46 $restHelper = $container->get(
'helper.restHelper');
47 $userEditObj = $restHelper->getPlugin(
'user_edit');
49 $sessionOwnerUser_pk = $restHelper->getUserId();
50 $SessionUserRec = $userEditObj->GetUserRec($sessionOwnerUser_pk);
51 $SessionIsAdmin = $userEditObj->IsSessionAdmin($SessionUserRec);
53 $symReq = $this->createSymRequest($reqBody);
54 if (!$SessionIsAdmin) {
55 $returnVal =
new Info(403,
"The session owner is not an admin!", InfoType::INFO);
57 $userRec = $userEditObj->CreateUserRec($symReq);
58 $ErrMsgs = $userEditObj->UpdateUser($userRec, $SessionIsAdmin);
60 if ($ErrMsgs ==
null) {
61 $returnVal =
new Info(200,
"User updated succesfully!", InfoType::INFO);
63 $returnVal =
new Info(400, $ErrMsgs, InfoType::INFO);
73 public function createSymRequest($userDetails)
76 $restHelper = $container->get(
'helper.restHelper');
82 $userDao = $restHelper->getUserDao();
83 $user = $userDao->getUserByPk($this->user_pk);
85 $symfonyRequest =
new Request();
86 $symfonyRequest->request->set(
'user_pk', $userDetails[
'id'] ?? $this->user_pk);
87 $symfonyRequest->request->set(
'user_name', $userDetails[
'name'] ?? $user[
'user_name']);
88 $symfonyRequest->request->set(
'root_folder_fk', $userDetails[
'rootFolderId'] ?? $user[
'root_folder_fk']);
89 $symfonyRequest->request->set(
'default_group_fk', $userDetails[
'defaultGroup'] ?? $user[
'group_fk']);
90 $symfonyRequest->request->set(
'public', $userDetails[
'defaultVisibility'] ?? $user[
'upload_visibility']);
91 $symfonyRequest->request->set(
'default_folder_fk', $userDetails[
'defaultFolderId'] ?? $user[
'default_folder_fk']);
92 $symfonyRequest->request->set(
'user_desc', $userDetails[
'description'] ?? $user[
'user_desc']);
93 $symfonyRequest->request->set(
'_pass1', $userDetails[
'user_pass'] ??
null);
94 $symfonyRequest->request->set(
'_pass2', $userDetails[
'user_pass'] ??
null);
95 $symfonyRequest->request->set(
'_blank_pass', $userDetails[
'_blank_pass'] ??
"");
96 $symfonyRequest->request->set(
'user_status', $userDetails[
'user_status'] ?? $user[
'user_status']);
97 $symfonyRequest->request->set(
'user_email', $userDetails[
'email'] ?? $user[
'user_email']);
98 $symfonyRequest->request->set(
'email_notify', isset($userDetails[
'emailNotification']) && $userDetails[
'emailNotification'] ?
"y" : $user[
'email_notify']);
99 $symfonyRequest->request->set(
'default_bucketpool_fk', $userDetails[
'defaultBucketpool'] ?? $user[
'default_bucketpool_fk']);
101 if (isset($userDetails[
'accessLevel'])) {
103 $symfonyRequest->request->set(
'user_perm', $user_perm);
105 $symfonyRequest->request->set(
'user_perm', $user[
'user_perm']);
108 $agentsExists = array();
110 $agentsTempVal = explode(
',', $user[
'user_agent_list']);
111 foreach ($agentsTempVal as $agent) {
112 $agentsExists[
'Check_' . $agent] = 1;
114 $newAgents = array();
115 if (isset($userDetails[
'agents'])) {
116 if (is_string($userDetails[
'agents'])) {
117 $userDetails[
'agents'] = json_decode($userDetails[
'agents'],
true);
119 if (isset($userDetails[
'agents'][
'mime'])) {
120 $newAgents[
'Check_agent_mimetype'] = $userDetails[
'agents'][
'mime'] ? 1 : 0;
122 if (isset($userDetails[
'agents'][
'monk'])) {
123 $newAgents[
'Check_agent_monk'] = $userDetails[
'agents'][
'monk'] ? 1 : 0;
125 if (isset($userDetails[
'agents'][
'ojo'])) {
126 $newAgents[
'Check_agent_ojo'] = $userDetails[
'agents'][
'ojo'] ? 1 : 0;
128 if (isset($userDetails[
'agents'][
'copyright_email_author'])) {
129 $newAgents[
'Check_agent_copyright'] = $userDetails[
'agents'][
'copyright_email_author'] ? 1 : 0;
131 if (isset($userDetails[
'agents'][
'ecc'])) {
132 $newAgents[
'Check_agent_ecc'] = $userDetails[
'agents'][
'ecc'] ? 1 : 0;
134 if (isset($userDetails[
'agents'][
'keyword'])) {
135 $newAgents[
'Check_agent_keyword'] = $userDetails[
'agents'][
'keyword'] ? 1 : 0;
137 if (isset($userDetails[
'agents'][
'nomos'])) {
138 $newAgents[
'Check_agent_nomos'] = $userDetails[
'agents'][
'nomos'] ? 1 : 0;
140 if (isset($userDetails[
'agents'][
'package'])) {
141 $newAgents[
'Check_agent_pkgagent'] = $userDetails[
'agents'][
'package'] ? 1 : 0;
143 if (isset($userDetails[
'agents'][
'reso'])) {
144 $newAgents[
'Check_agent_reso'] = $userDetails[
'agents'][
'reso'] ? 1 : 0;
146 if (isset($userDetails[
'agents'][
'heritage'])) {
147 $newAgents[
'Check_agent_shagent'] = $userDetails[
'agents'][
'heritage'] ? 1 : 0;
151 foreach (array_keys($agentList) as $agentName) {
152 if (!array_key_exists(
"Check_$agentName", $newAgents)) {
153 $newAgents[
"Check_$agentName"] = 0;
157 $agents = array_replace($agentsExists, $newAgents);
159 $symfonyRequest->request->set(
'user_agent_list',
userAgents($agents));
161 return $symfonyRequest;
175 case 'clearing_admin':
176 return Auth::PERM_CADMIN;
Contains the constants and helpers for authentication of user.
Handle user related queries.
__construct($user_pk=null)
getEquivalentValueForPermission($perm)
Different type of infos provided by REST.
Info model to contain general error and return values.
userAgents($agents=null)
Read the UI form and format the user selected agents into a comma separated list.
listAgents()
Search in available plugins and return all agents.