if (!$currUser->isSysAdmin()) { error(403, 'Permission denied'); return; } } $user->SetRole($data->role); } $user->setLanguage(DatawrapperSession::getLanguage()); $user->setActivateToken(hash_hmac('sha256', $data->email . '/' . time(), DW_TOKEN_SALT)); $user->save(); $result = $user->toArray(); // send an email $name = $data->email; $domain = $GLOBALS['dw_config']['domain']; if ($invitation) { $invitationLink = 'http://' . $domain . '/account/invite/' . $user->getActivateToken(); $from = $GLOBALS['dw_config']['email']['invite']; include ROOT_PATH . 'lib/templates/invitation-email.php'; DatawrapperHooks::execute(DatawrapperHooks::SEND_EMAIL, $data->email, sprintf(__('You have been invited to %s'), $domain), $invitation_mail, 'From: ' . $from); } else { $activationLink = 'http://' . $domain . '/account/activate/' . $user->getActivateToken(); $from = $GLOBALS['dw_config']['email']['activate']; include ROOT_PATH . 'lib/templates/activation-email.php'; DatawrapperHooks::execute(DatawrapperHooks::SEND_EMAIL, $data->email, __('Datawrapper Email Activation'), $activation_mail, 'From: ' . $from); // we don't need to annoy the user with a login form now, // so just log in.. DatawrapperSession::login($user); } ok($result); }); /*