summaryrefslogtreecommitdiff
path: root/program/steps
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2011-02-27 13:51:46 +0000
committerthomascube <thomas@roundcube.net>2011-02-27 13:51:46 +0000
commita3b9e4e65d7b5cd36cfed154d4ec06a3177c642f (patch)
tree3bd0bf374319d591b2645f0e6861756397ea88c3 /program/steps
parent0fbadebe13b13d6da470731df1f055df595c6a89 (diff)
Better display of vcard import results (#1485457)
Diffstat (limited to 'program/steps')
-rw-r--r--program/steps/addressbook/import.inc28
1 files changed, 22 insertions, 6 deletions
diff --git a/program/steps/addressbook/import.inc b/program/steps/addressbook/import.inc
index 7300e3370..e20fbe082 100644
--- a/program/steps/addressbook/import.inc
+++ b/program/steps/addressbook/import.inc
@@ -62,13 +62,27 @@ function rcmail_import_confirm($attrib)
global $IMPORT_STATS;
$vars = get_object_vars($IMPORT_STATS);
- $vars['names'] = join(', ', array_map('Q', $IMPORT_STATS->names));
+ $vars['names'] = $vars['skipped_names'] = '';
- return html::p($attrib, Q(rcube_label(array(
- 'name' => 'importconfirm',
- 'nr' => $IMORT_STATS->inserted,
- 'vars' => $vars,
- )), 'show'));
+ $content = html::p(null, rcube_label(array(
+ 'name' => 'importconfirm',
+ 'nr' => $IMORT_STATS->inserted,
+ 'vars' => $vars,
+ )) . ($IMPORT_STATS->names ? ':' : '.'));
+
+ if ($IMPORT_STATS->names)
+ $content .= html::p('em', join(', ', array_map('Q', $IMPORT_STATS->names)));
+
+ if ($IMPORT_STATS->skipped) {
+ $content .= html::p(null, rcube_label(array(
+ 'name' => 'importconfirmskipped',
+ 'nr' => $IMORT_STATS->skipped,
+ 'vars' => $vars,
+ )) . ':');
+ $content .= html::p('em', join(', ', array_map('Q', $IMPORT_STATS->skipped_names)));
+ }
+
+ return html::div($attrib, $content);
}
@@ -120,6 +134,7 @@ if ($_FILES['_file']['tmp_name'] && is_uploaded_file($_FILES['_file']['tmp_name'
else {
$IMPORT_STATS = new stdClass;
$IMPORT_STATS->names = array();
+ $IMPORT_STATS->skipped_names = array();
$IMPORT_STATS->count = count($vcards);
$IMPORT_STATS->inserted = $IMPORT_STATS->skipped = $IMPORT_STATS->nomail = $IMPORT_STATS->errors = 0;
@@ -146,6 +161,7 @@ if ($_FILES['_file']['tmp_name'] && is_uploaded_file($_FILES['_file']['tmp_name'
}
if ($existing->count) {
$IMPORT_STATS->skipped++;
+ $IMPORT_STATS->skipped_names[] = $vcard->displayname;
continue;
}
}