Properly check charset when posting with newsreader via SSL
This commit is contained in:
parent
696cbd6f17
commit
b95dcb5a00
|
@ -1275,9 +1275,13 @@ function get_date_interval($value) {
|
|||
return $variance;
|
||||
}
|
||||
|
||||
function get_search_snippet($body, $content_type) {
|
||||
function get_search_snippet($body, $content_type='') {
|
||||
$body = quoted_printable_decode($body);
|
||||
if($content_type !== '') {
|
||||
$mysnippet = recode_charset($body, $content_type, "utf8");
|
||||
} else {
|
||||
$mysnippet = $body;
|
||||
}
|
||||
if($bodyend=strrpos($mysnippet, "\n---\n")) {
|
||||
$mysnippet = substr($mysnippet, 0, $bodyend);
|
||||
} else {
|
||||
|
|
|
@ -1115,7 +1115,20 @@ $date_i,$mid_i,$references_i,$bytes_i,$lines_i,$xref_i,$body) {
|
|||
$dbh = null;
|
||||
}
|
||||
if($CONFIG['article_database'] == '1') {
|
||||
$this_snippet = get_search_snippet($body, 'UTF8');
|
||||
foreach($body as $line) {
|
||||
if(trim($line) == "") {
|
||||
break;
|
||||
}
|
||||
if(stripos($line, "Content-Type: ") === 0) {
|
||||
preg_match('/.*charset=.*/', $line, $te);
|
||||
$content_type = explode("Content-Type: text/plain; charset=", $te[0]);
|
||||
}
|
||||
}
|
||||
if(isset($content_type[1])) {
|
||||
$this_snippet = get_search_snippet($body, $content_type[1]);
|
||||
} else {
|
||||
$this_snippet = get_search_snippet($body);
|
||||
}
|
||||
$article_dbh = article_db_open($spooldir.'/'.$nntp_group.'-articles.db3');
|
||||
$article_sql = 'INSERT INTO articles(newsgroup, number, msgid, date, name, subject, article, search_snippet) VALUES(?,?,?,?,?,?,?,?)';
|
||||
$article_stmt = $article_dbh->prepare($article_sql);
|
||||
|
|
Loading…
Reference in New Issue