diff --git a/admin/roles/_pre_import_form.php b/admin/roles/_pre_import_form.php
index fbdb3e6..a6d83ab 100644 (file)
--- a/admin/roles/_pre_import_form.php
+++ b/admin/roles/_pre_import_form.php
@@ -50,9 +50,37 @@ foreach ($roles_to_import as $role) {
     $in_checked = (isset($actions[$role->shortname]) and $actions[$role->shortname] == 'import') ? 'checked="checked"' : '';
     $ir_checked = (isset($actions[$role->shortname]) and $actions[$role->shortname] == 'replace') ? 'checked="checked"' : '';

-    $new_value = isset($roles_to_create[$role->shortname]) ? $roles_to_create[$role->shortname] : '';
+    $fullname = $role->name;
+    $shortname = $role->shortname;
+    $currentfullname = "";
+    $currentshortname = "";
+    $counter = 0;
+
+    do {
+        if ($counter) {
+            $suffixfull = " ".get_string("copyasnoun")." ".$counter;
+            $suffixshort = "_".$counter;
+        } else {
+            $suffixfull = "";
+            $suffixshort = "";
+        }
+        $currentfullname = $fullname.$suffixfull;
+        // Limit the size of shortname - database column accepts <= 100 chars
+        $currentshortname = substr($shortname, 0, 100 - strlen($suffixshort)).$suffixshort;
+        $new_fullname = get_record("role","name",addslashes($currentfullname));
+        $new_shortname = get_record("role","shortname",addslashes($currentshortname));
+        $counter++;
+    } while ($new_fullname || $new_shortname);
+
+    if ($counter > 1) {
+        $do_not_import = 'checked="checked"';
+        $import_new = '';
+    } else {
+        $do_not_import = '';
+        $import_new = 'checked="checked"';
+    }
 
-    $replace_options = '';
+    $options = '';
     foreach ($system_roles as $sr) {
         if (isset($roles_to_replace[$role->shortname]) AND $roles_to_replace[$role->shortname] == $sr->shortname) {
             $selected = ' selected ';
@@ -64,13 +92,13 @@ foreach ($roles_to_import as $role) {
 
     $row[2] = '<ul>
                <li>
-                 <input type="radio" '.$dni_checked.' id="dni'.$role->id.'" name="actions['.$role->shortname.']" value="dont" />
+                 <input type="radio" '.$dni_checked.' id="dni'.$role->id.'" name="actions['.$role->shortname.']" value="dont" '.$do_not_import.' />
                  <label for="dni'.$role->id.'">'.get_string('do_not_import', 'role').'</label>
                </li>
                <li>
-                <input type="radio" '.$in_checked.' id="in'.$role->id.'" name="actions['.$role->shortname.']" value="import" />
+                <input type="radio" '.$in_checked.' id="in'.$role->id.'" name="actions['.$role->shortname.']" value="import" '.$import_new.' />
                 <label for="in'.$role->id.'">'.get_string('import_new', 'role').'</label>
-                <input type="text" name="new['.$role->shortname.']" value="'.$new_value.'" />
+                <input type="text" name="new['.$role->shortname.']" value="'.$currentshortname.'" />
                </li>
                <li>
                 <input type="radio" '.$ir_checked.' id="ir'.$role->id.'" name="actions['.$role->shortname.']" value="replace" />
