diff --git a/js/auto-reload.js b/js/auto-reload.js index 4a872024..87e332df 100644 --- a/js/auto-reload.js +++ b/js/auto-reload.js @@ -8,6 +8,7 @@ * Copyright (c) 2012 Michael Save * Copyright (c) 2013-2014 Marcin Ɓabanowski * Copyright (c) 2013 undido + * Copyright (c) 2014 Fredrick Brennan * * Usage: * $config['additional_javascript'][] = 'js/jquery.min.js'; @@ -27,6 +28,8 @@ $(document).ready(function(){ var poll_interval; + // Add an update link + $('.boardlist.bottom').prev().after("["+_("Update thread")+"] ()"); // Grab the settings var settings = new script_settings('auto-reload'); @@ -37,6 +40,7 @@ $(document).ready(function(){ // number of ms to wait before reloading var poll_interval_delay = poll_interval_mindelay_bottom; + var poll_current_time = poll_interval_delay; var end_of_page = false; @@ -68,6 +72,14 @@ $(document).ready(function(){ window_active = false; }); + var timer_update = function() { + $('#update_secs').text(poll_current_time/1000); + } + + var decrement_timer = function() { + poll_current_time = poll_current_time - 1000; + } + var recheck_activated = function() { if (new_posts && window_active && $(window).scrollTop() + $(window).height() >= @@ -115,6 +127,9 @@ $(document).ready(function(){ } poll_interval = setTimeout(poll, poll_interval_delay); + poll_current_time = poll_interval_delay; + + return false; }; $(window).scroll(function() { @@ -128,9 +143,15 @@ $(document).ready(function(){ clearTimeout(poll_interval); poll_interval = setTimeout(poll, poll_interval_shortdelay); + poll_current_time = poll_interval_shortdelay; end_of_page = true; }).trigger('scroll'); + $('#update_thread').on('click', poll); + setInterval(timer_update, 1000); + setInterval(decrement_timer, 1000); + poll_interval = setTimeout(poll, poll_interval_delay); + timer_update(); }); diff --git a/js/post-hover.js b/js/post-hover.js index 2808b8e7..0becfb70 100644 --- a/js/post-hover.js +++ b/js/post-hover.js @@ -58,8 +58,8 @@ onready(function(){ // link links to itself or to op; ignore } else if($post.is(':visible') && - $post.offset().top + $post.height() >= $(window).scrollTop() && - $post.offset().top <= $(window).scrollTop() + $(window).height()) { + $post.offset().top >= $(window).scrollTop() && + $post.offset().top + $post.height() <= $(window).scrollTop() + $(window).height()) { // post is in view $post.addClass('highlighted'); } else { diff --git a/search.php b/search.php index 394aa3ff..71f4ae5e 100644 --- a/search.php +++ b/search.php @@ -15,7 +15,7 @@ $boards = listBoards(TRUE); } - $body = Element('search_form.html', Array('boards' => $boards, 'board' => isset($_GET['board']) ? $_GET['board'] : false, 'search' => isset($_GET['search']) ? str_replace('"', '"', utf8tohtml($_GET['search'])) : false)); + $body = Element('search_form.html', Array('boards' => $boards, 'b' => isset($_GET['board']) ? $_GET['board'] : false, 'search' => isset($_GET['search']) ? str_replace('"', '"', utf8tohtml($_GET['search'])) : false)); if(isset($_GET['search']) && !empty($_GET['search']) && isset($_GET['board']) && in_array($_GET['board'], $boards)) { $phrase = $_GET['search']; diff --git a/stylesheets/style.css b/stylesheets/style.css index 80ed6e2b..1f51bb18 100644 --- a/stylesheets/style.css +++ b/stylesheets/style.css @@ -689,6 +689,7 @@ form.ban-appeal textarea { .options_tab_icon { padding: 5px; color: black; + cursor: pointer; } .options_tab_icon.active { color: red; diff --git a/templates/main.js b/templates/main.js index 97f1135f..9286d201 100644 --- a/templates/main.js +++ b/templates/main.js @@ -154,6 +154,7 @@ function highlightReply(id) { var post = document.getElementById('reply_'+id); if (post) post.className += ' highlighted'; + window.location.hash = id; } return true; }