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");