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; }
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
//"), 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) {
//"), 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) {