2012-03-18 14:33:06 +01:00
|
|
|
/*
|
2012-03-18 14:48:06 +01:00
|
|
|
* show-backlinks.js
|
2012-03-31 02:13:11 +02:00
|
|
|
* https://github.com/savetheinternet/Tinyboard/blob/master/js/show-backlinks.js
|
2012-03-18 14:33:06 +01:00
|
|
|
*
|
|
|
|
* Released under the MIT license
|
|
|
|
* Copyright (c) 2012 Michael Save <savetheinternet@tinyboard.org>
|
2014-01-19 14:27:24 +01:00
|
|
|
* Copyright (c) 2013-2014 Marcin Łabanowski <marcin@6irc.net>
|
2012-03-18 14:33:06 +01:00
|
|
|
*
|
|
|
|
* Usage:
|
2012-04-22 09:05:14 +02:00
|
|
|
* $config['additional_javascript'][] = 'js/jquery.min.js';
|
2012-04-29 18:59:11 +02:00
|
|
|
* // $config['additional_javascript'][] = 'js/post-hover'; (optional; must come first)
|
2012-03-18 14:48:06 +01:00
|
|
|
* $config['additional_javascript'][] = 'js/show-backlinks.js';
|
2012-03-18 14:33:06 +01:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2012-04-29 18:59:11 +02:00
|
|
|
onready(function(){
|
|
|
|
var showBackLinks = function() {
|
2014-12-16 08:35:39 +01:00
|
|
|
var reply_id = $(this).attr('id').replace(/^(reply|op)_/, '');
|
2012-03-18 14:33:06 +01:00
|
|
|
|
2012-08-27 15:01:08 +02:00
|
|
|
$(this).find('div.body a:not([rel="nofollow"])').each(function() {
|
2012-04-29 18:59:11 +02:00
|
|
|
var id, post, $mentioned;
|
2012-03-18 14:33:06 +01:00
|
|
|
|
|
|
|
if(id = $(this).text().match(/^>>(\d+)$/))
|
|
|
|
id = id[1];
|
|
|
|
else
|
|
|
|
return;
|
|
|
|
|
2012-04-29 18:59:11 +02:00
|
|
|
$post = $('#reply_' + id);
|
2014-12-16 08:35:39 +01:00
|
|
|
if($post.length == 0)
|
|
|
|
$post = $('#op_' + id);
|
|
|
|
|
2012-04-29 18:59:11 +02:00
|
|
|
if($post.length == 0)
|
2012-03-18 14:33:06 +01:00
|
|
|
return;
|
|
|
|
|
2012-04-29 18:59:11 +02:00
|
|
|
$mentioned = $post.find('p.intro span.mentioned');
|
|
|
|
if($mentioned.length == 0)
|
2012-04-29 19:01:48 +02:00
|
|
|
$mentioned = $('<span class="mentioned unimportant"></span>').appendTo($post.find('p.intro'));
|
2012-04-29 18:59:11 +02:00
|
|
|
|
|
|
|
if ($mentioned.find('a.mentioned-' + reply_id).length != 0)
|
|
|
|
return;
|
|
|
|
|
|
|
|
var $link = $('<a class="mentioned-' + reply_id + '" onclick="highlightReply(\'' + reply_id + '\');" href="#' + reply_id + '">>>' +
|
|
|
|
reply_id + '</a>');
|
|
|
|
$link.appendTo($mentioned)
|
|
|
|
|
|
|
|
if (window.init_hover) {
|
|
|
|
$link.each(init_hover);
|
|
|
|
}
|
2012-03-18 14:33:06 +01:00
|
|
|
});
|
2012-04-29 18:59:11 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
$('div.post.reply').each(showBackLinks);
|
2013-06-15 07:39:39 +02:00
|
|
|
|
2014-01-21 19:25:11 +01:00
|
|
|
$(document).on('new_post', function(e, post) {
|
2013-07-27 06:57:12 +02:00
|
|
|
if ($(post).hasClass("reply")) {
|
|
|
|
showBackLinks.call(post);
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
$(post).find('div.post.reply').each(showBackLinks);
|
|
|
|
}
|
2013-06-15 07:39:39 +02:00
|
|
|
});
|
2012-03-18 14:33:06 +01:00
|
|
|
});
|
|
|
|
|