if (!DEMO) { $ADDRESS->delAdr($adr_id_arr[$acc_m]); } } //del multi //del hostiry multi if ($user_is_manager && $set == "delete_history_multi") { if (!DEMO) { $QUEUE->clearH(array("adr_id" => $adr_id_arr[$acc_m])); } } //del history single //copy adr to selected grps if ($set == "copy_grp_multi") { //get old groups $adr_groups = $ADDRESS->getGroupID(0, $adr_id_arr[$acc_m], 0); //set new groups $ADDRESS->setGroup($adr_id_arr[$acc_m], $adr_grp_id_multi, $adr_groups, 1); //set groups, merge=1=merge groups } //copy grp multi //move adr to selected grps if ($set == "move_grp_multi") { //set new groups $ADDRESS->setGroup($adr_id_arr[$acc_m], $adr_grp_id_multi, 0); //merge=0=move } //move grp multi //delete adr ref from selected grps if ($set == "delete_grp_multi") { //get old groups
$_MAIN_MESSAGE .= "<br>" . ___("Wählen Sie ein Newsletter für Updates."); } if ($check) { $FORMULAR = new tm_FRM(); $FORMULAR->updateForm(array("id" => $frm_id, "name" => $name, "action_url" => $action_url, "descr" => $descr, "aktiv" => $aktiv, "created" => $created, "author" => $author, "use_captcha" => $use_captcha, "digits_captcha" => $digits_captcha, "double_optin" => $double_optin, "subscribe_aktiv" => $subscribe_aktiv, "check_blacklist" => $check_blacklist, "proof" => $proof, "force_pubgroup" => $force_pubgroup, "overwrite_pubgroup" => $overwrite_pubgroup, "multiple_pubgroup" => $multiple_pubgroup, "nl_id_doptin" => $nl_id_doptin, "nl_id_greeting" => $nl_id_greeting, "nl_id_update" => $nl_id_update, "message_doptin" => $message_doptin, "message_greeting" => $message_greeting, "message_update" => $message_update, "submit_value" => $submit_value, "reset_value" => $reset_value, "host_id" => $host_id, "email" => $email, "f0" => $f0, "f1" => $f1, "f2" => $f2, "f3" => $f3, "f4" => $f4, "f5" => $f5, "f6" => $f6, "f7" => $f7, "f8" => $f8, "f9" => $f9, "f0_type" => $f0_type, "f1_type" => $f1_type, "f2_type" => $f2_type, "f3_type" => $f3_type, "f4_type" => $f4_type, "f5_type" => $f5_type, "f6_type" => $f6_type, "f7_type" => $f7_type, "f8_type" => $f8_type, "f9_type" => $f9_type, "f0_required" => $f0_required, "f1_required" => $f1_required, "f2_required" => $f2_required, "f3_required" => $f3_required, "f4_required" => $f4_required, "f5_required" => $f5_required, "f6_required" => $f6_required, "f7_required" => $f7_required, "f8_required" => $f8_required, "f9_required" => $f9_required, "f0_value" => $f0_value, "f1_value" => $f1_value, "f2_value" => $f2_value, "f3_value" => $f3_value, "f4_value" => $f4_value, "f5_value" => $f5_value, "f6_value" => $f6_value, "f7_value" => $f7_value, "f8_value" => $f8_value, "f9_value" => $f9_value, "email_errmsg" => $email_errmsg, "captcha_errmsg" => $captcha_errmsg, "blacklist_errmsg" => $blacklist_errmsg, "pubgroup_errmsg" => $pubgroup_errmsg, "f0_errmsg" => $f0_errmsg, "f1_errmsg" => $f1_errmsg, "f2_errmsg" => $f2_errmsg, "f3_errmsg" => $f3_errmsg, "f4_errmsg" => $f4_errmsg, "f5_errmsg" => $f5_errmsg, "f6_errmsg" => $f6_errmsg, "f7_errmsg" => $f7_errmsg, "f8_errmsg" => $f8_errmsg, "f9_errmsg" => $f9_errmsg, "f0_expr" => $f0_expr, "f1_expr" => $f1_expr, "f2_expr" => $f2_expr, "f3_expr" => $f3_expr, "f4_expr" => $f4_expr, "f5_expr" => $f5_expr, "f6_expr" => $f6_expr, "f7_expr" => $f7_expr, "f8_expr" => $f8_expr, "f9_expr" => $f9_expr), $adr_grp, $adr_grp_pub); //+öffentliche gruppen $_MAIN_MESSAGE .= "<br>" . sprintf(___("Formular %s wurde bearbeitet."), "'<b>" . display($name) . "</b>'"); $action = "form_list"; include_once TM_INCLUDEPATH . "/form_list.inc.php"; } else { require_once TM_INCLUDEPATH . "/form_form.inc.php"; require_once TM_INCLUDEPATH . "/form_form_show.inc.php"; } } else { $ADDRESS = new tm_ADR(); $adr_grp_pub = $ADDRESS->getGroupID(0, 0, $frm_id, array("public_frm_ref" => 1)); $adr_grp = $ADDRESS->getGroupID(0, 0, $frm_id); //hier diffen, da die adressen die als public gewaehlt sind nict als default markiert werden sollen...., öhm, ja! //und adr_grp neu arrangieren $adr_grp = array_diff($adr_grp, $adr_grp_pub); $adr_grp = array_values($adr_grp); $name = $FRM[0]['name']; $action_url = $FRM[0]['action_url']; $descr = $FRM[0]['descr']; $aktiv = $FRM[0]['aktiv']; $double_optin = $FRM[0]['double_optin']; $use_captcha = $FRM[0]['use_captcha']; $digits_captcha = $FRM[0]['digits_captcha']; $subscribe_aktiv = $FRM[0]['subscribe_aktiv']; $check_blacklist = $FRM[0]['check_blacklist']; $proof = $FRM[0]['proof'];
$B = array(); //zielarray mit addressids mit mehr als 1 gruppe $bn = 0; //zaehler f. adressen > 1 gruppe //Array A fuellen mit AddressIDs aus der DB //syntax: function getAdrID($group_id=0,$search=Array()) $A = $ADR->getAdrID(); echo print_r($A, TRUE); echo "<hr>"; //Array durchwandern und jede Adresse pruefen foreach ($A as $adr_id) { $G = array(); //temporaeres Array //Gruppen fuer Adresse holen //syntax: function getGroupID($id=0,$adr_id=0,$frm_id=0,$search=Array()) $G = $ADR->getGroupID(0, $adr_id); //wenn mehr als 1 Gruppe!, dann speichere ID der Adresse in B und erhoehe den Counter bn if (count($G) > 1) { $B[$bn] = $adr_id; $bn++; } } echo print_r($B, TRUE); echo "<hr>"; //ergebnis anzeigen, IDs von Adressen mit mehr als 1 Gruppe sind in $B abgelegt foreach ($B as $adr_id) { //Addressdetails auslesen //syntax: getAdr($id=0,$offset=0,$limit=0,$group_id=0,$search=Array(),$sortIndex="",$sortType=0,$Details=1) $A = $ADR->getAdr($adr_id); //Gruppen f.d. Addresse auslesen $G = $ADR->getGroup(0, $adr_id);
} if ($check) { $ADDRESS = new tm_ADR(); /////////////////////////// //dublettencheck $search['email'] = $email; //auf existenz pruefen und wenn email noch nicht existiert dann eintragen. $ADR = $ADDRESS->getAdr(0, 0, 0, 0, $search); $ac = count($ADR); //oh! adresse ist bereits vorhanden! //wir diffen die gruppen und fuegen nur die referenzen hinzu die noch nicht existieren! $new_adr_grp = $adr_grp; $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!
function copyForm($id) { global $LOGIN; $Return = false; if (check_dbid($id)) { $created = date("Y-m-d H:i:s"); $author = $LOGIN->USER['name']; $FRM = $this->getForm($id); $ADDRESS = new tm_ADR(); $adr_grp = $ADDRESS->getGroupID(0, 0, $id); //get groups from form, hmmm, what about public forms? //make a copy $FRM_copy = $FRM[0]; //change some values $FRM_copy['name'] = sprintf(___("Kopie von %s "), $FRM[0]["name"]); $FRM_copy['created'] = $created; $FRM_copy['author'] = $author; //add new form $Return = $this->addForm($FRM_copy, $adr_grp); //thats it } return $Return; }
$ADDRESS->updateAdr(array("id" => $adr_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), $adr_grp); //"memo"=>$memo, //hier newmemo benutzen da memo sonst doppelt! $ADDRESS->newMemo($ADR[0]['id'], $memo); $ADDRESS->setStatus($adr_id, $status); $_MAIN_MESSAGE .= "<br>" . sprintf(___("Adresse %s wurde bearbeitet."), "<b>" . display($email) . "</b>"); $action = "adr_list"; require_once "adr_list.inc.php"; } else { //check require_once TM_INCLUDEPATH . "/adr_form.inc.php"; require_once TM_INCLUDEPATH . "/adr_form_show.inc.php"; } //check } else { $adr_grp = $ADDRESS->getGroupID(0, $adr_id, 0); $email = $ADR[0]['email']; $aktiv = $ADR[0]['aktiv']; $status = $ADR[0]['status']; $f0 = $ADR[0]['f0']; $f1 = $ADR[0]['f1']; $f2 = $ADR[0]['f2']; $f3 = $ADR[0]['f3']; $f4 = $ADR[0]['f4']; $f5 = $ADR[0]['f5']; $f6 = $ADR[0]['f6']; $f7 = $ADR[0]['f7']; $f8 = $ADR[0]['f8']; $f9 = $ADR[0]['f9']; $memo = $ADR[0]['memo']; require_once TM_INCLUDEPATH . "/adr_form.inc.php";