Issue 1490: User import is now only possible on open sites or via an administrator...
authorMichael Vogel <icarus@dabo.de>
Mon, 27 Aug 2018 11:55:08 +0000 (11:55 +0000)
committerHypolite Petovan <mrpetovan@eml.cc>
Mon, 27 Aug 2018 11:55:08 +0000 (07:55 -0400)
mod/uimport.php

index 1dbc571..7044392 100644 (file)
@@ -11,39 +11,21 @@ use Friendica\Core\UserImport;
 
 function uimport_post(App $a)
 {
-       switch (Config::get('config', 'register_policy')) {
-               case REGISTER_OPEN:
-                       $blocked = 0;
-                       $verified = 1;
-                       break;
-
-               case REGISTER_APPROVE:
-                       $blocked = 1;
-                       $verified = 0;
-                       break;
-
-               default:
-               case REGISTER_CLOSED:
-                       if ((!x($_SESSION, 'authenticated') && (!x($_SESSION, 'administrator')))) {
-                               notice(L10n::t('Permission denied.') . EOL);
-                               return;
-                       }
-                       $blocked = 1;
-                       $verified = 0;
-                       break;
+       if ((Config::get('config', 'register_policy') != REGISTER_OPEN) && !is_site_admin()) {
+               notice(L10n::t('Permission denied.') . EOL);
+               return;
        }
 
-       if (x($_FILES, 'accountfile')) {
-               /// @TODO Pass $blocked / $verified, send email to admin on REGISTER_APPROVE
+       if (!empty($_FILES['accountfile'])) {
                UserImport::importAccount($a, $_FILES['accountfile']);
                return;
        }
 }
 
-function uimport_content(App $a) {
-
-       if ((!local_user()) && (intval(Config::get('config', 'register_policy')) === REGISTER_CLOSED)) {
-               notice("Permission denied." . EOL);
+function uimport_content(App $a)
+{
+       if ((Config::get('config', 'register_policy') != REGISTER_OPEN) && !is_site_admin()) {
+               notice(L10n::t('User imports on closed servers can only be done by an administrator.') . EOL);
                return;
        }