$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 '
'; # echo html_selectbox('srv', $servers, $srv); # echo html_selectbox('chn', $channels, $chn); echo nice_list(); echo 'ridu: '.html_selectbox('per', $pages_array, $per); echo html_selectbox('tim', $times, $tim); echo 'otsi: '; 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 ''.$lines.'
'; 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; } ?>