getMessages($folder); $messagecount = count($headers); if (!$messagecount || isset($decision) || isset($refr) || isset($mlist)) { $expunge = false; $require_update = false; $reg_pp = $TLN->prefs['rpp']; if (isset($pag) && isset($mlist) && !isset($start_pos)) { $start_pos = ($pag-1)*$reg_pp; } else { $start_pos = 0; } if (isset($start_pos) && isset($end_pos)) { // eg: messages.php or readmsg.php foreach (array_keys($_POST) as $key) { $matches = []; if (preg_match('|msg_([0-9a-fA-F]+)|', $key, $matches)) { $msg = $TLN->tdb->getMessage($matches[1], $folder); if (empty($msg)) { continue; /* TODO: Should we log this?? */ } if ($decision == 'delete') { $TLN->mailDeleteMsg($msg); $expunge = true; } elseif ($decision == 'move') { $TLN->mailMoveMsg($msg, $aval_folders); $expunge = true; } elseif ($decision == 'mark') { $TLN->mailSetFlag($msg, 'seen', '+'); } elseif ($decision == 'unmark') { $TLN->mailSetFlag($msg, 'seen', '-'); } } } if ($expunge) { $TLN->mailExpunge(); } if ($back) { $back_to = $start_pos; } } if ($mlist) { $TLN->mailListMsgs($folder, $start_pos, $reg_pp); require './apply_filters.php'; } if ($require_update) { $TLN->mailListMsgs($folder, $start_pos, $reg_pp); } $TLN->mailDisconnect(); } $auth['havespam'] = ($TLN->havespam || $tdb->countMessages('spam') > 0); $AuthSession->Save($auth); $tdb->syncMessages(); /* * If they used a different version (ignoring patchlevel) then * they really should checkout the preferences page, since * they have likely changed. * * HACK: */ $same_version = true; if ($TLN->prefs['version'] != $TLN->appversion) { list($their_major, $their_minor, $patch_level) = explode('.', $TLN->prefs['version']); list($our_major, $our_minor, $patch_level, $devver) = explode('.', $TLN->appversion); if (!$devver && (($their_minor != $our_minor) || ($their_major != $our_major))) { $same_version = false; } } if ((!$same_version) || ($TLN->config['check_first_login'] && !$TLN->prefs['first-login'])) { $TLN->prefs['first-login'] = 1; $TLN->savePrefs($TLN->prefs); $TLN->redirectAndExit('preferences.php?folder='.urlencode($folder)); exit; } if (isset($back_to)) { if (count($headers) > $back_to) { $TLN->redirectAndExit('readmsg.php?folder='.urlencode($folder)."&pag=$pag&ix=$back_to"); } } $refreshurl = 'messages.php?folder='.urlencode($folder)."&pag=$pag"; $TLN->redirectAndExit("$refreshurl");