assign('pageMetas', $pmetas);
$jsquota = ($exceeded) ? 'true' : 'false';
eval('$jssource = "' . $commonJS . '";');
$jssource .= "
";
$smarty->assign('smJS', $jssource);
$smarty->assign('smInputFrom', $srcFrom);
$smarty->assign('smInputSubject', $srcSubject);
$smarty->assign('smInputBody', $srcBody);
if ($srcFrom != "" || $srcSubject != "" || $srcBody != "") {
$boxes = $mbox['folders'];
for ($n = 0;$nmailConnected()) {
if (!$TLN->mailConnect()) $TLN->redirectAndExit('index.php?err=1', true);
if (!$TLN->mailAuth()) $TLN->redirectAndExit('index.php?err=0');
}
$retbox = $TLN->mailListMsgs($entry);
$mbox['headers'][$entry] = $retbox[0];
$thisbox = $retbox[0];
} else {
$thisbox = $mbox['headers'][$entry];
}
}
if ($TLN->mailConnected()) {
$TLN->mailDisconnect();
$UserMbox->Save($mbox);
}
$boxlist = $mbox['headers'];
function build_regex($strSearch)
{
$strSearch = trim($strSearch);
if ($strSearch != "") {
$strSearch = quotemeta($strSearch);
$arSearch = explode(' ', $strSearch);
$strSearch = join(')(', $arSearch);
}
return '|('.$strSearch.')|i';
}
if (trim($srcBody) != "") {
$get_body = 1;
}
$search_results = array();
$start = $TLN->getMicrotime();
$TLN->config['allow_html'] = false;
if ($srcFrom != "") {
$srcFrom = build_regex($srcFrom);
}
if ($srcSubject != "") {
$srcSubject = build_regex($srcSubject);
}
if ($srcBody != "") {
$srcBody = build_regex($srcBody);
}
while (list($current_folder, $messages) = each($boxlist)) {
for ($z = 0;$zgetPath($email)[0];
if ($get_body && file_exists($localname)) {
$thisfile = $TLN->readFile($localname);
$email = $TLN->parseBody($thisfile);
unset($thisfile);
}
$found = false;
if ($srcFrom != "") {
$from = $email['from'];
$srcString = $from[0]['name'].' '.$from[0]['mail'];
if (preg_match($srcFrom, $srcString)) {
$found = true;
}
}
if ($srcSubject != "" && !$found) {
$srcString = $email['subject'];
if (preg_match($srcSubject, $srcString)) {
$found = true;
}
}
if ($srcBody != "" && !$found) {
$srcString = strip_tags($email['body']);
if (preg_match($srcBody, $srcString)) {
$found = true;
}
}
if ($found) {
$messages[$z]['ix'] = $z;
$headers[] = $messages[$z];
}
}
}
$messagelist = array();
for ($i = 0;$iisFlagSet($headers[$i], 'seen')) ? 'true' : 'false';
$readlink = "javascript:readmsg(".$headers[$i]['ix'].",$read,'".urlencode($headers[$i]['folder'])."')";
$composelink = "newmsg.php?folder=$folder&nameto=".htmlspecialchars($headers[$i]['from'][0]['name']).'&mailto='.htmlspecialchars($headers[$i]['from'][0]['mail'])."";
$composelinksent = "newmsg.php?folder=$folder&nameto=".htmlspecialchars($headers[$i]['to'][0]['name']).'&mailto='.htmlspecialchars($headers[$i]['to'][0]['name'])."";
$folderlink = 'messages.php?folder='.urlencode($headers[$i]['folder'])."";
$from = $headers[$i]['from'][0]['name'];
$to = $headers[$i]['to'][0]['name'];
$subject = $headers[$i]['subject'];
if (!$TLN->isFlagSet($headers[$i], 'seen')) {
$msg_img = './images/msg_unread.gif';
} elseif ($TLN->isFlagSet($headers[$i], 'answered')) {
$msg_img = './images/msg_answered.gif';
} else {
$msg_img = './images/msg_read.gif';
}
$prior = $headers[$i]['priority'];
if ($prior == 1 || $prior == 2) {
$img_prior = '
';
} elseif ($prior == 4 || $prior == 5) {
$img_prior = '
';
} else {
$img_prior = '';
}
$msg_img = "
";
$checkbox = "";
$attachimg = ($headers[$i]['attach']) ? "
" : "";
$date = $headers[$i]['date'];
$size = ceil($headers[$i]['size']/1024);
$index = count($messagelist);
$boxname = extended_name($headers[$i]['folder']);
$messagelist[$index]['read'] = $read;
$messagelist[$index]['readlink'] = $readlink;
$messagelist[$index]['composelink'] = $composelink;
$messagelist[$index]['composelinksent'] = $composelinksent;
$messagelist[$index]['folderlink'] = $folderlink;
$messagelist[$index]['from'] = $from;
$messagelist[$index]['to'] = $to;
$messagelist[$index]['subject'] = $subject;
$messagelist[$index]['date'] = $date;
$messagelist[$index]['statusimg'] = $msg_img;
$messagelist[$index]['checkbox'] = $checkbox;
$messagelist[$index]['attachimg'] = $attachimg;
$messagelist[$index]['priorimg'] = $img_prior;
$messagelist[$index]['size'] = $size;
$messagelist[$index]['folder'] = $headers[$i]['folder'];
$messagelist[$index]['foldername'] = $boxname;
}
$smarty->assign('smMessageList', $messagelist);
unset($headers);
$smarty->assign('smDoSearch', 1);
} else {
$smarty->assign('smDoSearch', 0);
}
$smarty->display("$themez/search.tpl");