if ($delete != 1 && !empty($adr_grp)) {
                 //wenn adresse noch nicht existiert , neu anlegen
                 $new_adr_id = $ADDRESS->addAdr(array("email" => $addr[$i]['email'], "aktiv" => $aktiv_new, "created" => $created, "author" => $author, "status" => $status_new, "code" => $code, "memo" => "import", "source" => "import", "source_id" => $LOGIN->USER['id'], "source_extern_id" => 0, "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']), $new_adr_grp);
                 if ($mark_recheck == 1) {
                     $ADDRESS->markRecheck($new_adr_id, 1);
                 }
                 $IMPORT_LOG .= "<br>" . sprintf(___("Zeile %s: E-Mail %s  wurde hinzugefügt und in gewählten Gruppen eingetragen."), $import_offset_user + $i + 1, "<em>" . $addr[$i]['email'] . "</em>");
                 $iok++;
             }
             // ! delete
         }
         //adr exists false
         //importierte Adressen loeschen?
         //domains der liste hinzufuegen fuer blacklisting der domains
         if ($blacklist_domains == 1) {
             $bl_domains[$i] = getDomainFromEMail($addr[$i]['email']);
         }
     }
     //isset email
 }
 //for
 //adressen vergessen
 unset($addr);
 if ($blacklist_domains == 1) {
     $bl_domains = array_unique($bl_domains);
     //unify!
     foreach ($bl_domains as $bl_domainname) {
         //dublettencheck! per getBL
         if (!empty($bl_domainname)) {
             $BL = $BLACKLIST->getBL(0, array("type" => "domain", "expr" => $bl_domainname));
             //wenn nix gefunden, eintragen:
Example #2
0
         //	function isBlacklisted($str,$type="all")
         if (!$BLACKLIST->isBlacklisted($ADR_BL[0]['email'], "email", 0)) {
             //only_active=0, also alle, nicht nur aktive, was default waere
             //wenn noch nicht vorhanden einfuegen:
             $BLACKLIST->addBL(array("siteid" => TM_SITEID, "expr" => $ADR_BL[0]['email'], "aktiv" => 1, "type" => "email"));
             $_MAIN_MESSAGE .= "<br>" . sprintf(___("Die E-Mail-Adresse %s wurde in die Blacklist eingetragen."), display($ADR_BL[0]['email']));
         } else {
             $_MAIN_MESSAGE .= "<br>" . sprintf(___("Die E-Mail-Adresse %s ist bereits in der Blacklist vorhanden."), display($ADR_BL[0]['email']));
         }
         //if blacklisted
     }
     //blacklist multi
     if ($user_is_manager && $set == "blacklist_domain_multi") {
         //hier wird ein aray erzeugt mit allen domainnamen, auch doppelte!
         $ADR_BL = $ADDRESS->getAdr($adr_id_arr[$acc_m]);
         $bl_domains[$acc_m] = getDomainFromEMail($ADR_BL[0]['email']);
     }
     //blacklist domain multi
 }
 //for acc_m
 if ($user_is_manager && $set == "blacklist_domain_multi") {
     //hier nun blacklist domains array unifien und dann erst eintragen!
     $bl_domains = array_unique($bl_domains);
     //unify!
     foreach ($bl_domains as $bl_domainname) {
         //dublettencheck! per getBL diesmal da wir nur domainnamen haben, is blacklisted sich aber auf email bezieht!
         $BL = $BLACKLIST->getBL(0, array("type" => "domain", "expr" => $bl_domainname));
         //wenn nix gefunden, eintragen:
         if (count($BL) < 1) {
             $BLACKLIST->addBL(array("siteid" => TM_SITEID, "expr" => $bl_domainname, "aktiv" => 1, "type" => "domain"));
             $_MAIN_MESSAGE .= "<br>" . sprintf(___("Die Domain %s wurde in die Blacklist eingetragen."), display($bl_domainname));
 function checkBL($str, $type = "all", $only_active = 1)
 {
     //erweiterung, neue fkt: check nach typ und gibt alle matches zurueck! in einem array ....
     //while match, set return[0]=true
     //add matches and type to array:
     //$return[1][$match_c]['type']=
     //$return[1][$match_c]['expr']=
     //$match_c++;
     if (!empty($str)) {
         $match_c = 0;
         $return[0] = false;
         //match: true, default/dont match: false
         $return[1] = array();
         //match: true, default/dont match: false
         $Query = "SELECT \n\t\t\t\t\t\t\t\t\t\t" . TM_TABLE_BLACKLIST . ".id ,\n\t\t\t\t\t\t\t\t\t\t" . TM_TABLE_BLACKLIST . ".aktiv ,\n\t\t\t\t\t\t\t\t\t\t" . TM_TABLE_BLACKLIST . ".expr ,\n\t\t\t\t\t\t\t\t\t\t" . TM_TABLE_BLACKLIST . ".type \n\t\t\t\t\t\t\t\t\t\tFROM " . TM_TABLE_BLACKLIST . "\n\t\t\t\t\t\t\t\t\t\tWHERE " . TM_TABLE_BLACKLIST . ".siteid='" . TM_SITEID . "'";
         if (empty($type) || $type == "all") {
             $Query .= "\n\t\t\t\t\t\t\t\tAND (\n\t\t\t\t\t\t\t\t" . TM_TABLE_BLACKLIST . ".expr='" . dbesc($str) . "'\n\t\t\t\t\t\t\t\tOR " . TM_TABLE_BLACKLIST . ".expr='" . dbesc(getDomainFromEMail($str)) . "'\n\t\t\t\t\t\t\t\tOR '" . dbesc($str) . "' REGEXP " . TM_TABLE_BLACKLIST . ".expr\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t";
         }
         if ($type == "email") {
             $Query .= "\n\t\t\t\t\t\t\t\tAND " . TM_TABLE_BLACKLIST . ".expr='" . dbesc($str) . "'\n\t\t\t\t\t\t\t";
         }
         //domain
         //check for domain
         if ($type == "domain") {
             $Query .= "\n\t\t\t\t\t\t\t\tAND " . TM_TABLE_BLACKLIST . ".expr='" . dbesc(getDomainFromEMail($str)) . "'\n\t\t\t\t\t\t\t";
         }
         //domain
         //check for regexpression
         if ($type == "expr") {
             //we do not use php ereg/i, too much overhead, we let mysql do the stuff... lets see how it works:
             //mysql: SELECT * FROM foo WHERE bar REGEXP "baz"
             $Query .= "\n\t\t\t\t\t\t\t\tAND '" . dbesc($str) . "' REGEXP " . TM_TABLE_BLACKLIST . ".expr\n\t\t\t\t\t\t\t";
         }
         //expr
         if ($only_active == 1) {
             $Query .= " AND " . TM_TABLE_BLACKLIST . ".aktiv=1";
         }
         $this->DB->Query($Query);
         while ($this->DB->next_record()) {
             $return[0] = true;
             $return[1][$match_c]['expr'] = $this->DB->Record['expr'];
             $return[1][$match_c]['aktiv'] = $this->DB->Record['aktiv'];
             $return[1][$match_c]['type'] = $this->DB->Record['type'];
             $match_c++;
         }
         return $return;
     }
     //!empty str
 }