(Timezone list):


"; function get_string_between($string, $start, $end) { $string = " ".$string; $ini = strpos($string,$start); if ($ini == 0) return ""; $ini += strlen($start); $len = strpos($string,$end,$ini) - $ini; return substr($string,$ini,$len); } function parse_mIRC_time($session_line) { $first_expl = explode(":", $session_line); array_shift($first_expl); $final_time = implode(":", $first_expl); return strtotime($final_time); } function interval_to_h_min($start, $end) { $interval = $end - $start; $hours = floor($interval / (60*60)); $minutes = round(($interval - $hours * 60 * 60) / 60); if (($hours < 10) && ($hours>= 0)) { $hours = "0$hours"; } if ($minutes < 10) { $minutes = "0$minutes"; } return "$hours:$minutes"; } echo " "; echo ""; echo "
"; if (isset($_FILES["path"])) { if ($_FILES["path"]["error"] > 0) { //echo "Error: " . $_FILES["path"]["error"] . "
"; $path = false; } else { $path = $_FILES["path"]["tmp_name"]; $file_name = $_FILES["path"]["name"]; } } else { $path = false; } if (isset($_POST["show_sessions"])) { if ($_POST["show_sessions"]) { $show_sessions = true; } else { $show_sessions = false; } } else { $show_sessions = false; } if ($path != false) { //$path = "#itmejp.Twitch.tv.log"; //default path... $file = @fopen("$path", "r"); $times = array(); $names = array(); $message = array(); $links = array(); $link_time = array(); $sessions = 0; $session_ends = 0; $start_time_u = "00"; $end_time_u = "00"; $session_array = array(); $session_time_array = array(); $table_array = array(); $table_time_array = array(); if ($file) { while (($line = fgets($file, 4096)) !== false) { $time = strtotime(get_string_between($line, "[", "]")); if ($time != false) { $name = (string)get_string_between($line, "<", ">"); $message = (string)substr($line, strpos($line, ">") + 1); $times[] = $time; $names[] = $name; $messages[] = $message; $link_count = substr_count($message, "http://"); $msg_rest = $message." "; //adding a space at the end so the get_string_between can see the end for ($link_number = 0; $link_number < $link_count; $link_number++) { $link = trim("http://".get_string_between($msg_rest, "http://", " "), "\r\n "); $links[] = $link; $link_time[] = $time; $msg_rest = substr($msg_rest, strpos($msg_rest, $link) + strlen($link)); } } if (strpos($line, "Session Start") !== false) { if ($sessions == 0) { $start_time_u = parse_mIRC_time($line); } if ($show_sessions) { $session_array[] = "Session Start"; $session_time_array[] = parse_mIRC_time($line); } $sessions++; } if (strpos($line, "Session Time") !== false) { /*if ($show_sessions) { $session_array[] = "Session Time"; $session_time_array[] = parse_mIRC_time($line); }*/ } if (strpos($line, "Session Close") !== false) { $end_time_u = parse_mIRC_time($line); /*if ($show_sessions) { $session_array[] = "Session Close"; $session_time_array[] = $end_time_u; }*/ $session_ends++; } } if (!feof($file)) { echo "Error: unexpected fgets() fail\n"; } fclose($file); $total_links = count($links); $link_frequency = array_count_values($links); $number_of_links = count($link_frequency); $link_array = array_unique($links); $link_array_keys = array_keys($link_array); $link_time_array = array_intersect_key($link_time, $link_array_keys); $table_array = array_merge($session_array, $link_array); $table_time_array = array_merge($session_time_array, $link_time_array); array_multisort($table_time_array, $table_array); $note_session = ""; $note_time = ""; if ($sessions == 0) { $start_time_u = reset($times); $end_time_u = end($times); $note_session = " - Error, no sessions loaded!"; $note_time = " - Approximated start and end time."; } elseif ($session_ends < $sessions) { $note_session = " - Error, session not closed yet."; $note_time = " - Approximated end time."; $end_time_u = end($times); } $interval = interval_to_h_min($start_time_u, $end_time_u); echo "File name: $file_name
"; echo "Sessions: $sessions$note_session
"; if (explode(":", $interval)[0] < 24) { echo "Duration: $interval h [".date("H:i", $start_time_u)." - ".date("H:i", $end_time_u)."]$note_time
"; } else { echo "Duration: $interval h [".date("r", $start_time_u)." - ".date("r", $end_time_u)."]$note_time
"; } echo "Links (unique/total): $number_of_links/$total_links
"; if ($total_links <> 0) { echo ""; echo ""; echo ""; echo ""; echo "

Time # Links
"; //echo print_r($table_array); foreach ($table_time_array as $number => $time) { $link_or_session = $table_array[$number]; if (array_key_exists($link_or_session, $link_frequency)) { $frequency = " ".$link_frequency[$link_or_session]; } else { $frequency = ""; } echo "[".date("H:i", $time)."]$frequency
"; } echo "
"; foreach ($table_time_array as $number => $time) { $link_or_session = $table_array[$number]; if (array_key_exists($link_or_session, $link_frequency)) { echo "$link_or_session
"; } else { echo "$link_or_session
"; } } echo "
Current date and time: ".date("r")."

"; } else { echo "
No links found!

"; } } else { echo "
No file found!

"; } } else { echo "
No file found or error!

"; } echo $submit_form; echo "
"; echo " "; ?>