$adr_exists = false; if ($ac > 0) { //gruppen denen die adr bereits angehoert $old_adr_grp = $ADDRESS->getGroupID(0, $ADR[0]['id'], 0); //neue gruppen nur die die neu sind, denen die adr noch nicht angehoert! //adr_grp=gruppen aus dem formular $new_adr_grp = array_diff($adr_grp, $old_adr_grp); $all_adr_grp = array_merge($old_adr_grp, $new_adr_grp); $adr_exists = true; } ////////////////////// if ($adr_exists) { //wenn adresse existiert, adressdaten updaten! // $code = $ADR[0]['code']; $ADDRESS->updateAdr(array("id" => $ADR[0]['id'], "email" => $email, "aktiv" => $aktiv, "created" => $created, "author" => $author, "f0" => $f0, "f1" => $f1, "f2" => $f2, "f3" => $f3, "f4" => $f4, "f5" => $f5, "f6" => $f6, "f7" => $f7, "f8" => $f8, "f9" => $f9), $all_adr_grp); //kein memo uebergeben f. update //"memo"=>$memo, //hier newmemo benutzen da memo sonst doppelt! $ADDRESS->newMemo($ADR[0]['id'], $memo); // //und neue referenzen zu neuen gruppen hinzufügen //$ADDRESS->addRef($ADR[0]['id'],$new_adr_grp); // ^^^ nur fuer den fall das daten nicht geupdated werden!!! sondern nur referenzen hinzugefuegt! //optional nachzuruesten und in den settings einstellbar :) $_MAIN_MESSAGE .= "<br>" . ___("Diese E-Mail-Adresse existiert bereits. Die Daten wurden aktualisiert."); $_MAIN_MESSAGE .= "<br>" . ___("Der Status der Adresse wurde nicht verändert!"); } else { //wenn adresse noch nicht existiert , neu anlegen srand((double) microtime() * 1000000); $code = rand(111111, 999999);
$iskipdouble++; } //und nicht loeschen... und nicht ubespringen: if ($delete != 1 && $skip_existing != 1) { //adressdaten updaten! $code = $ADR[0]['code']; //code if ($aktiv_existing == -1) { $aktiv_update = $ADR[0]['aktiv']; //aktiv übernehmen } else { $aktiv_update = $aktiv_existing; //aktiv updaten } //adresse aktualisieren $ADDRESS->updateAdr(array("id" => $ADR[0]['id'], "email" => $addr[$i]['email'], "aktiv" => $aktiv_update, "created" => $created, "author" => $author, "memo" => "import update: " . $ADR[0]['memo'], "f0" => $addr[$i]['f0'], "f1" => $addr[$i]['f1'], "f2" => $addr[$i]['f2'], "f3" => $addr[$i]['f3'], "f4" => $addr[$i]['f4'], "f5" => $addr[$i]['f5'], "f6" => $addr[$i]['f6'], "f7" => $addr[$i]['f7'], "f8" => $addr[$i]['f8'], "f9" => $addr[$i]['f9']), $all_adr_grp); if ($mark_recheck == 1) { $ADDRESS->markRecheck($ADR[0]['id'], 1); } $IMPORT_LOG .= "<br>" . sprintf(___("Zeile %s: E-Mail %s existiert Bereits und wurde aktualisiert und ggf. in neue Gruppen eingetragen."), $import_offset_user + $i + 1, "<em>" . $addr[$i]['email'] . "</em>"); //wenn status_ex >0 dann aendern! status fuer bestehende adressen if ($status_ex > 0) { $ADDRESS->setStatus($ADR[0]['id'], $status_ex); } //und neue referenzen zu neuen gruppen hinzufügen //$ADDRESS->addRef($ADR[0]['id'],$new_adr_grp); // ^^^ nur fuer den fall das daten nicht geupdated werden!!! sondern nur referenzen hinzugefuegt! //optional nachzuruesten und in den settings einstellbar :) // ok: merge $idouble++; }