$s)
{
$sql = 'SELECT (channel) FROM chatlog WHERE (server) = '.esc($s[0]).' GROUP BY server, channel';
$result = sqlite_query($db, $sql);
$chann[] = sqlite_fetch_all($result);
foreach($chann as $c)
{
print_r($c);
$channels[] = $c;
}
}
#print_r($channels);
}
}
else
{
$pages_array = array(10=>10, 25=>25, 50=>50, 100=>100, 150=>150, 200=>200, 250=>250, 500=>500);
$per = (isset($_REQUEST['per']) && in_array($_REQUEST['per'], $pages_array)) ? $_REQUEST['per'] : 50;
/*
$servers = array_merge(array('--kõik serverid--'), get_list('SELECT DISTINCT LOWER(server) FROM chatlog'));
$channels = array_merge(array('--kõik kanalid--'), get_list('SELECT DISTINCT LOWER(channel) FROM chatlog'));
*/
$sql_filter_array = array();
if(isset($_REQUEST['srv']) && !empty($_REQUEST['srv']))
{
$srv = $_REQUEST['srv'];
$sql_filter_array[] = ' server =' . esc($srv).' ';
}
else
{
$srv = '';
}
if(isset($_REQUEST['chn']) && !empty($_REQUEST['chn']))
{
$chn = $_REQUEST['chn'];
$sql_filter_array[] = ' channel =' . esc('#'.$chn). ' ';
}
else
{
$chn = '';
}
if(isset($_REQUEST['wrd']) && !empty($_REQUEST['wrd']))
{
$wrd = $_REQUEST['wrd'];
$sql_filter_array[] = ' text LIKE ' . esc($wrd). ' ';
}
else
{
$wrd = '';
}
if(isset($_REQUEST['tim']) && !empty($_REQUEST['tim']))
{
$tim = $_REQUEST['tim'];
$sql_filter_array[] = ' unixtime >= ' . esc($tim). ' ';
}
else
{
$wrd = '';
}
$yesterday = strtotime('-1 day 00:00');
$today = strtotime('00:00');
$times = array(0=>'--kõik ajad--', $today=>'täna', $yesterday=>'eile');
echo '';
echo '';
$sql_filter = '';
if(!empty($sql_filter_array))
$sql_filter = ' WHERE '.join(' AND ', $sql_filter_array);
$sql_count = 'SELECT COUNT(*) FROM chatlog '.$sql_filter;
$result_count = sqlite_query($db, $sql_count);
$total_rows = sqlite_fetch_single($result_count);
$pager = pager($total_rows, $per, $pagevar='p', $pageurl="?chn=$chn&srv=$srv&p=%u&per=$per&tim=$tim");
$navbar = '';
if(isset($pager['navbar']))
$navbar = 'Leheküljed: '.join(', ', $pager['navbar']).'
';
echo $navbar;
$sql = 'SELECT * FROM chatlog '.$sql_filter.' ORDER BY unixtime DESC LIMIT '.$pager['limit'];
echo $sql.'';
$result = sqlite_query($db, $sql);
if($sqlerr = sqlite_last_error($db))
echo sqlite_error_string($sqlerr);
$data = sqlite_fetch_all($result);
$data = array_reverse($data);
$lines = '';
foreach($data as $d)
{
if($d['type']=='JOIN')
$t = $d['text'].' liitus kanaliga';
else if($d['type']=='QUIT')
$t = $d['text'].' lõpetas ühenduse';
else if($d['type']=='ACTION')
$t = $d['author'].' '.$d['text'];
else if($d['type']=='PART')
$t = $d['text'] . ' lahkus kanalilt';
else if($d['type']=='NICK')
$t = 'vahetas nime ' . $d['text'] ;
else
$t = $d['text'];
if(iconv('UTF-8', 'UTF-8', $t) != $t)
{
$t = utf8_encode($t);
}
$txt = text2links(htmlspecialchars($t));
$lines .= '| '.$d['server'].' | '.$d['channel'].' | '.htmlspecialchars($d['author']).' | '.date('Y-M-d H:i:s', $d['unixtime']).' | '.$txt.' |
';
}
echo '';
echo $navbar;
echo 'tagasi ülesse
';
}
function get_list($q)
{
$r = sqlite_query($GLOBALS['db'], $q);
if(!$r)
return false;
$rows = sqlite_fetch_all($r);
$return = array();
foreach($rows as $row)
{
if($row[0] == '*')
continue;
$return[trim($row[0], '#')] = $row[0];
}
return $return;
}
function nice_list()
{
$return = '';
$servers = get_list('SELECT DISTINCT LOWER(server) FROM chatlog');
if(!empty($servers))
foreach($servers as $s)
$channels[$s] = get_list('SELECT DISTINCT LOWER(channel) FROM chatlog WHERE server='.esc($s).'');
if(!empty($channels))
{
$return = ' ';
}
return $return;
}
?>