Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/dd886334333c4d9c639c7fc159f623e8 to your computer and use it in GitHub Desktop.
Save anonymous/dd886334333c4d9c639c7fc159f623e8 to your computer and use it in GitHub Desktop.
RealGM - Add Buttons To See Most And1ed Posts From Within A Thread
// ==UserScript==
// @name RealGM - Add Buttons To See Most And1ed Posts From Within A Thread
// @author rockmanslim
// @namespace www.realgm.com
// @include http*://forums.realgm.com/boards/viewtopic.php?*
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js
// @version 1
// @grant none
// ==/UserScript==
"use strict";
var $jq311 = $.noConflict( true );
$jq311( document ).ready( function(){
addButtonsToShowMostAnd1edPostsOfCurrentThread();
});
function addButtonsToShowMostAnd1edPostsOfCurrentThread() {
var $all_and1_buttons = $jq311( 'li[id^="and1_button_"]' );
$all_and1_buttons.each( function() {
var $current_and1_button = $jq311( this );
insertMostAnd1edPostsButtonAfter( $current_and1_button );
});
}
function getThreadIdFromUrl() {
var url = document.URL;
var url_and_query_strings = url.split( /&|\?/ );
var thread_id_query_string = url_and_query_strings.find(
function( element ) {
return element.match( /^t=/ );
}
);
var thread_id_possibly_with_trailing_pound_sign = thread_id_query_string.split( '=' )[ 1 ];
var thread_id = thread_id_possibly_with_trailing_pound_sign.match( /\d+/ )[ 0 ];
return thread_id;
}
function insertMostAnd1edPostsButtonAfter( $existing_and1_button ) {
var $show_most_and1ed_posts_button = $existing_and1_button.clone();
var existing_id = $existing_and1_button.attr( 'id' );
var id_of_new_button = existing_id.replace( "and1", "most_and1ed" );
$show_most_and1ed_posts_button.attr( 'id', id_of_new_button );
var $anchor_tag_inside_new_button = $show_most_and1ed_posts_button.children( "a" ).eq( 0 );
$anchor_tag_inside_new_button.removeClass( 'and1-icon' );
var tooltip_text = "See most And1'ed posts in this thread";
$anchor_tag_inside_new_button.attr( 'title', tooltip_text );
$anchor_tag_inside_new_button.attr( 'href', 'javascript:void(0);' );
var onclick_function_text = 'getAnd1InTopic(' + getThreadIdFromUrl() + ')';
$anchor_tag_inside_new_button.attr( 'onclick', onclick_function_text );
var $span_tooltip_inside_anchor_tag = $anchor_tag_inside_new_button.children( "span" ).eq( 0 );
$span_tooltip_inside_anchor_tag.text( "Most +1" );
$existing_and1_button.after( $show_most_and1ed_posts_button );
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment