예제 #1
0
function findUserID($text)
{
    global $tables;
    $userid = 0;
    $user = '';
    if (preg_match('/(?:X-ListMember|X-User): (.*)\\r\\n/iU', $text, $match)) {
        $user = trim($match[1]);
    }
    # some versions used the email to identify the users, some the userid and others the uniqid
    # use backward compatible way to find user
    if (strpos($user, '@') !== false) {
        $userid_req = Sql_Fetch_Row_Query(sprintf('select id from %s where email = "%s"', $tables["user"], sql_escape($user)));
        $userid = $userid_req[0];
    } elseif (preg_match("/^\\d\$/", $user)) {
        $userid = $user;
    } elseif (!empty($user)) {
        $userid_req = Sql_Fetch_Row_Query(sprintf('select id from %s where uniqid = "%s"', $tables["user"], sql_escape($user)));
        $userid = $userid_req[0];
    }
    ### if we didn't find any, parse anything looking like an email address and check if it's a subscriber.
    ## this is probably fairly time consuming, but as the process is only done once every so often
    ## that should not be too bad
    if (!$userid) {
        preg_match_all('/[\\S]+@[\\S\\.]+/', $text, $regs);
        foreach ($regs[0] as $match) {
            $email = cleanEmail($match);
            $useridQ = Sql_Fetch_Row_Query(sprintf('select id from %s where email = "%s"', $tables['user'], sql_escape($email)));
            if (!empty($useridQ[0])) {
                $userid = $useridQ[0];
                break;
            }
        }
    }
    return $userid;
}
예제 #2
0
if (!empty($_POST['importcontent'])) {
    $lines = explode("\n", $_POST['importcontent']);
    $count['imported'] = 0;
    $count['duplicate'] = 0;
    $count['processed'] = 0;
    $count['addedtolist'] = 0;
    $count['invalid'] = 0;
    $count['foundonblacklist'] = 0;
    $rejectReport = array('invalid' => "");
    $total = count($lines);
    foreach ($lines as $line) {
        if (trim($line) == '') {
            continue;
        }
        ## do some basic clearing
        $line = cleanEmail($line);
        $uniqid = getUniqid();
        if (!empty($_POST['checkvalidity'])) {
            $isValid = validateEmail($line);
        } else {
            $isValid = true;
        }
        if ($isValid) {
            ## I guess everyone will import all their users wanting to receive HTML ....
            $query = sprintf('insert into %s (email,entered,htmlemail,confirmed,uniqid)
                values("%s",now(),1,1,"%s")', $tables["user"], $line, $uniqid);
            $result = Sql_query($query, 1);
            $userid = Sql_insert_id();
            if (empty($userid)) {
                $count['duplicate']++;
                ## mark the subscriber confirmed, don't touch blacklisted
예제 #3
0
 //"), this may cause trouble: $index");
 if (!$invalid || $invalid && $_SESSION["omit_invalid"] != "yes") {
     $user["systemvalues"] = $system_values;
     reset($_SESSION["import_attribute"]);
     $replace = array();
     while (list($key, $val) = each($_SESSION["import_attribute"])) {
         if (!empty($values[$val["index"]])) {
             $user[$val["index"]] = addslashes($values[$val["index"]]);
             $replace[$key] = addslashes($values[$val["index"]]);
         }
     }
 } else {
     # Warn("Omitting invalid one: $email");
 }
 $user["systemvalues"]["email"] = parseImportPlaceHolders($system_values["email"], array_merge($replace, $system_values, array("number" => $c)));
 $user["systemvalues"]["email"] = cleanEmail($user["systemvalues"]["email"]);
 $c++;
 if (!isset($user["systemvalues"]["htmlemail"])) {
     $user["systemvalues"]["htmlemail"] = 1;
 }
 if ($_SESSION["test_import"]) {
     #   var_dump($user["systemvalues"]);#exit;
     $html = '';
     foreach ($user["systemvalues"] as $column => $value) {
         if (strpos($column, 'grouptype_') === 0) {
             if (isset($system_attributes[$column])) {
                 $column = $system_attributes[$column];
             }
         }
         if (!empty($column)) {
             if ($value) {
예제 #4
0
 //"), this may cause trouble: $index");
 if (!$invalid || $invalid && $_SESSION['omit_invalid'] != 'yes') {
     $user['systemvalues'] = $system_values;
     reset($_SESSION['import_attribute']);
     $replace = array();
     while (list($key, $val) = each($_SESSION['import_attribute'])) {
         if (!empty($values[$val['index']])) {
             $user[$val['index']] = addslashes($values[$val['index']]);
             $replace[$key] = addslashes($values[$val['index']]);
         }
     }
 } else {
     # Warn("Omitting invalid one: $email");
 }
 $user['systemvalues']['email'] = parseImportPlaceHolders($system_values['email'], array_merge($replace, $system_values, array('number' => $c)));
 $user['systemvalues']['email'] = cleanEmail($user['systemvalues']['email']);
 ++$c;
 if (!isset($user['systemvalues']['htmlemail'])) {
     $user['systemvalues']['htmlemail'] = 1;
 }
 if ($_SESSION['test_import']) {
     #   var_dump($user["systemvalues"]);#exit;
     $html = '';
     foreach ($user['systemvalues'] as $column => $value) {
         if (strpos($column, 'grouptype_') === 0) {
             if (isset($system_attributes[$column])) {
                 $column = $system_attributes[$column];
             }
         }
         if (!empty($column)) {
             if ($value) {