Contacts: Added option to skip or replace Google contacts previously imported.
This commit is contained in:
parent
77281ced54
commit
ecfea148d7
|
|
@ -1060,10 +1060,40 @@
|
|||
$text['message-google_signed_out']['pt-pt'] = "Conta do Google: Assinado Fora";
|
||||
$text['message-google_signed_out']['fr-fr'] = "Compte Google: Déconnecté";
|
||||
|
||||
$text['message-contacts_imported']['en-us'] = "Contacts Imported: ";
|
||||
$text['message-contacts_imported']['es-cl'] = "Contactos Importados: ";
|
||||
$text['message-contacts_imported']['pt-pt'] = "Contatos Importados: ";
|
||||
$text['message-contacts_imported']['fr-fr'] = "Contacts Importés: ";
|
||||
$text['message-contacts_imported']['en-us'] = "Contacts Imported:";
|
||||
$text['message-contacts_imported']['es-cl'] = "Contactos Importados:";
|
||||
$text['message-contacts_imported']['pt-pt'] = "Contatos Importados:";
|
||||
$text['message-contacts_imported']['fr-fr'] = "Contacts Importés:";
|
||||
|
||||
$text['label-import_duplicates']['en-us'] = "Duplicates";
|
||||
$text['label-import_duplicates']['es-cl'] = "Duplicados";
|
||||
$text['label-import_duplicates']['pt-pt'] = "Duplicatas";
|
||||
$text['label-import_duplicates']['fr-fr'] = "Doublons";
|
||||
|
||||
$text['option-import_duplicates_skip']['en-us'] = "Skip";
|
||||
$text['option-import_duplicates_skip']['es-cl'] = "Omitir";
|
||||
$text['option-import_duplicates_skip']['pt-pt'] = "Pular";
|
||||
$text['option-import_duplicates_skip']['fr-fr'] = "Sauter";
|
||||
|
||||
$text['option-import_duplicates_replace']['en-us'] = "Replace";
|
||||
$text['option-import_duplicates_replace']['es-cl'] = "Reemplazar";
|
||||
$text['option-import_duplicates_replace']['pt-pt'] = "Substituir";
|
||||
$text['option-import_duplicates_replace']['fr-fr'] = "Remplacer";
|
||||
|
||||
$text['description-import_duplicates']['en-us'] = "Select how to treat contacts previously imported.";
|
||||
$text['description-import_duplicates']['es-cl'] = "Seleccione la forma de tratar a los contactos previamente importados.";
|
||||
$text['description-import_duplicates']['pt-pt'] = "Escolha como tratar os contatos previamente importados.";
|
||||
$text['description-import_duplicates']['fr-fr'] = "Sélectionnez la façon de traiter les contacts importés auparavant.";
|
||||
|
||||
$text['message_contacts_imported_skipped']['en-us'] = "Skipped:";
|
||||
$text['message_contacts_imported_skipped']['es-cl'] = "Saltado:";
|
||||
$text['message_contacts_imported_skipped']['pt-pt'] = "Ignorados:";
|
||||
$text['message_contacts_imported_skipped']['fr-fr'] = "Arrêté:";
|
||||
|
||||
$text['message_contacts_imported_replaced']['en-us'] = "Replaced:";
|
||||
$text['message_contacts_imported_replaced']['es-cl'] = "Sustituido:";
|
||||
$text['message_contacts_imported_replaced']['pt-pt'] = "Substituído:";
|
||||
$text['message_contacts_imported_replaced']['fr-fr'] = "Remplacé:";
|
||||
|
||||
// general labels
|
||||
$text['label-primary']['en-us'] = "Primary";
|
||||
|
|
|
|||
|
|
@ -34,17 +34,20 @@ else {
|
|||
exit;
|
||||
}
|
||||
|
||||
//add multi-lingual support
|
||||
require_once "app_languages.php";
|
||||
foreach($text as $key => $value) {
|
||||
$text[$key] = $value[$_SESSION['domain']['language']['code']];
|
||||
}
|
||||
// check if included in another file
|
||||
if (!$included) {
|
||||
//add multi-lingual support
|
||||
require_once "app_languages.php";
|
||||
foreach($text as $key => $value) {
|
||||
$text[$key] = $value[$_SESSION['domain']['language']['code']];
|
||||
}
|
||||
|
||||
if (count($_GET)>0) {
|
||||
$contact_uuid = check_str($_GET["id"]);
|
||||
if (count($_GET)>0) {
|
||||
$contact_uuid = check_str($_GET["id"]);
|
||||
}
|
||||
}
|
||||
|
||||
if (strlen($contact_uuid)>0) {
|
||||
if (strlen($contact_uuid) > 0) {
|
||||
//delete addresses
|
||||
$sql = "delete from v_contact_addresses ";
|
||||
$sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' ";
|
||||
|
|
@ -110,9 +113,10 @@ if (strlen($contact_uuid)>0) {
|
|||
unset($prep_statement, $sql);
|
||||
}
|
||||
|
||||
|
||||
$_SESSION["message"] = $text['message-delete'];
|
||||
header("Location: contacts.php");
|
||||
return;
|
||||
if (!$included) {
|
||||
$_SESSION["message"] = $text['message-delete'];
|
||||
header("Location: contacts.php");
|
||||
return;
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -66,11 +66,47 @@ if ($_POST['a'] == 'import') {
|
|||
|
||||
//iterate selected contact ids, insert contact into database
|
||||
$contacts_imported = 0;
|
||||
$contacts_skipped = 0;
|
||||
$contacts_replaced = 0;
|
||||
|
||||
if (sizeof($import_ids) > 0) {
|
||||
|
||||
$import_ids = array_unique($import_ids);
|
||||
foreach ($import_ids as $contact_id) {
|
||||
|
||||
//check for duplicate contact (already exists, previously imported, etc)
|
||||
$sql = "select contact_uuid from v_contact_settings ";
|
||||
$sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' ";
|
||||
$sql .= "and contact_setting_category = 'google' ";
|
||||
$sql .= "and contact_setting_subcategory = 'id' ";
|
||||
$sql .= "and contact_setting_value = '".$contact_id."' ";
|
||||
$sql .= "and contact_setting_enabled = 'true' ";
|
||||
$prep_statement = $db->prepare($sql);
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
if ($result['contact_uuid'] != '') {
|
||||
$duplicate_exists = true;
|
||||
$duplicate_contact_uuid = $result['contact_uuid'];
|
||||
}
|
||||
else {
|
||||
$duplicate_exists = false;
|
||||
}
|
||||
unset($sql, $prep_statement, $result);
|
||||
|
||||
//skip importing contact
|
||||
if ($duplicate_exists && $_POST['import_duplicates'] == 'skip') {
|
||||
$contacts_skipped++;
|
||||
continue;
|
||||
}
|
||||
//replace contact (delete before inserts below)
|
||||
else if ($duplicate_exists && $_POST['import_duplicates'] == 'replace') {
|
||||
$contact_uuid = $duplicate_contact_uuid;
|
||||
$included = true;
|
||||
require_once "contact_delete.php";
|
||||
unset($contact_uuid, $duplicate_contact_uuid);
|
||||
$contacts_replaced++;
|
||||
}
|
||||
|
||||
//extract contact record from array using contact id
|
||||
$contact = $_SESSION['contact_auth']['google'][$contact_id];
|
||||
|
||||
|
|
@ -288,7 +324,10 @@ if ($_POST['a'] == 'import') {
|
|||
|
||||
}
|
||||
|
||||
$_SESSION["message"] = $text['message-contacts_imported']." ".$contacts_imported;
|
||||
$message = $text['message-contacts_imported']." ".$contacts_imported;
|
||||
if ($contacts_replaced > 0) { $message .= " (".$text['message_contacts_imported_replaced']." ".$contacts_replaced.")"; }
|
||||
if ($contacts_skipped > 0) { $message .= ", ".$text['message_contacts_imported_skipped']." ".$contacts_skipped; }
|
||||
$_SESSION["message"] = $message;
|
||||
header("Location: contacts.php");
|
||||
exit;
|
||||
|
||||
|
|
@ -436,6 +475,20 @@ echo $text['description-shared_import']."\n";
|
|||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
echo "<tr>\n";
|
||||
echo "<td class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-import_duplicates']."\n";
|
||||
echo "</td>\n";
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
echo " <select class='formfld' style='width: 150px;' name='import_duplicates'>\n";
|
||||
echo " <option value='skip'>".$text['option-import_duplicates_skip']."</option>\n";
|
||||
echo " <option value='replace'>".$text['option-import_duplicates_replace']."</option>\n";
|
||||
echo " </select>\n";
|
||||
echo "<br />\n";
|
||||
echo $text['description-import_duplicates']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
echo "</table>";
|
||||
echo "<br><br>";
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue