Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var karma_system_patch = {
- key: pb.plugin.key('timelimit')
- }
- shorty_karma_system.give_or_take = function (i, n, t, a) {
- function format_tlkey(timelimit) {if(timelimit == undefined){timelimit = 0;}}
- var ksp = karma_system_patch;
- var sks = shorty_karma_system;
- console.log('TLKEY: '+ksp.key[i]);
- format_tlkey(ksp.key.get(pb.data('user').id));
- console.log('TLKEY_AFTERFORMAT: '+ksp.key[i]);
- if (i != pb.data('user').id && proboards.plugin.key('shorty_karma_plugin').can_write(pb.data('user').id)) {
- console.log('ID: '+i+' - '+n+' CAN_WRITE');
- var kr = sks.format_key(sks.key.get(i)),
- kg = sks.format_key(sks.key.get(pb.data('user').id)),
- text = ((t == 1) ? 'give' : 'take');
- if(ksp.key[i] == 0 || new Date().getTime() >= ksp.key[i]) {
- function giveK2() {
- kg.t = parseInt(new Date().getTime() + (sks.settings().time_limit * 60000));
- ksp.key[i] = parseInt(new Date().getTime() + (pb.plugin.get('karma_system_patch').settings.paTimelimit * 60000));
- sks.change_karma(kr, kg, i, n, ((t == 1) ? 'gave' : 'took'));
- kr.n = ((t == 1) ? parseInt(kr.n) + a : parseInt(kr.n) - a);
- sks.format_rank(kr.n, i);
- sks.key.set({
- object_id: i,
- value: JSON.stringify(kr),
- });
- sks.key.set({
- object_id: proboards.data('user').id,
- value: JSON.stringify(kg)
- });
- }
- if (sks.settings().confirmation) pb.window.confirm('Are you sure you want to ' + ((t == 1) ? 'give this person ' + sks.settings().lowercase_text + '' : 'take ' + sks.settings().lowercase_text + ' from this person') + '?', giveK2);
- else giveK2();
- } else if (new Date().getTime() < ksp.key[i]) {
- var months = ["January","February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
- var date = months[new Date(ksp.key[i]).getMonth()]+' '+new Date(ksp.key[i]).getDate();
- pb.window.dialog('karma-time', {
- title : 'Alert',
- resizable: false,
- draggable: false,
- html : 'You will be able to ' + ((t == 1) ? 'give' : 'take') + ' ' + sks.settings().lowercase_text + ' to this person again on '+date+' at '+$.formatTime('h:mm:ss p', new Date(kg.t))+'.',
- buttons : {
- 'OK' : function () {
- $(this).dialog('close');
- }
- }
- });
- }
- } else if (i == pb.data('user').id || !pb.plugin.key('shorty_karma_plugin').can_write(pb.data('user').id)) {
- if (i == pb.data('user').id) pb.window.alert('Alert', 'You can not change your own ' + sks.settings().lowercase_text + '.');
- else if (!pb.plugin.key('shorty_karma_plugin').can_write(pb.data('user').id)) pb.window.alert('Alert', 'You do not have permission to ' + ((t == 1) ? 'give' : 'take') + ' ' + sks.settings().lowercase_text + '.');
- }
- }
- shorty_karma_system.miniprofile_setup = function () {
- if (pb.data('route').name.match(/^thread|recent_posts|all_recent_posts|conversation$/)) {
- var sks = shorty_karma_system;
- function karma_mp_setup() {
- $('div.mini-profile:has(.user-link)').each(function () {
- var id = $(this).find('a.user-link').idFromClass('user'), dn = pb.text.escape_html($(this).find('a.user-link').text());
- var kr = sks.format_key(sks.key.get(id));
- karmabar = '<img src="'+pb.plugin.get('karma_system_patch').images.greenbar+'" title="Reputation: '+kr.n+'">';
- if (sks.settings().members) {
- if(!$(this).find('span.userKarmaBars' + id + '').length) $(this).append('<span class="userKarmaBars'+id+'"></span>');
- for(i = 1; i <= 10; i++){ if(kr.n >= i*10) $(this).find('span.userKarmaBars' + id + '').append(karmabar); }
- if(sks.settings().use_rank) {
- if(!$(this).find('span.karmarank'+id+'').length) $(this).find('div.info').append('<br /><span class="karmarank'+id+'"></span>');
- $('span.karmarank' + id+ '').html('<span class="karmaranktext miniprof">' + sks.settings().text + ' Rank</span>: <span class="karmarank"></span>');
- sks.format_rank(kr.n, id);
- }
- if(pb.data('user').is_logged_in) {
- if(!$(this).find('span.karmabuttons').length) $('div.mini-profile').append('<br /><span class="karmabuttons"></span>')
- $(this).find('span.karmabuttons').append('<a class="give-karma"><img src="'+pb.plugin.get('karma_system_patch').images.repadd+'" title="Click to add reputation" style=""></a>');
- $(this).find('span.karmabuttons a.give-karma').attr('onclick','shorty_karma_system.give_or_take('+id+', \''+dn+'\', 1, 1)');
- }
- }
- if(sks.check_edit_permission()) {
- $('span.userKarmaBars' + id + '').click(function () {
- pb.dialog('edit-karma', {
- title: 'Edit ' + sks.settings().text + '',
- resizable: false,
- draggable: false,
- html: '<input type="text" class="karmapopup" value="' + kr.n + '" style="width:95%;" />',
- buttons: {
- 'Cancel': function () {
- $(this).dialog('close');
- },
- 'Confirm': function () {
- var oldKarmaNum = kr.n;
- kr.n = parseInt($('input.karmapopup').val());
- sks.key.set({
- object_id: id,
- value: JSON.stringify(kr)
- });
- $(this).dialog('close');
- }
- }
- });
- });
- }
- });
- }
- karma_mp_setup();
- proboards.on('afterSearch', karma_mp_setup);
- }
- }
- shorty_karma_system.profile_setup = function() {
- if(proboards.data('route').name.match(/^user|show_user_(activity|following|friends|groups|notifications|gift)$/)) {
- var sks = shorty_karma_system;
- $('div.ui-tabMenu > ul').append('<li id="karma"><a href="/user/'+pb.data('route').params.user_id+'/'+sks.settings().url+'">'+sks.settings().text+'</a></li>');
- var url = new RegExp('(\/user\/'+pb.data('route').params.user_id+'\/' + sks.settings().url + ')$');
- if(window.location.href.match(url)) {
- var id = proboards.data('route').params.user_id, dn = pb.text.escape_html($('span.big_username').text());
- var kr = sks.format_key(sks.key.get(id));
- var r_ele = (sks.settings().use_rank)? '<br /><span class="karmarank'+id+'"><span class="karmaranktext fullprof">'+sks.settings().text+' Rank</span>: <span class="karmarank"></span></span>':'';
- $('li#karma').addClass('ui-active');
- $('div.pad-all-double.ui-helper-clearfix.clear form').hide();
- $('div.pad-all-double.ui-helper-clearfix.clear').append('<div class="content-box center-col"><span class="userKarmaNumber'+pb.data('route').params.user_id+'"><span class="karmatext fullprof">'+sks.settings().text+'</span>: <span class="karma">'+kr.n+'</span></span>'+((pb.data('user').is_logged_in)? ' <span class="karmaprofilebuttons"><a class="give-karma">'+sks.settings().add_text+'</a>'+sks.settings().separator+'<a class="take-karma">'+sks.settings().take_text+'</a></span>':'')+''+r_ele+'</div>');
- $('span.karmaprofilebuttons a.give-karma').attr('onclick','shorty_karma_system.give_or_take('+id+', \''+dn+'\', 1, 1)');
- $('span.karmaprofilebuttons a.take-karma').attr('onclick','shorty_karma_system.give_or_take('+id+', \''+dn+'\', 2, 1)')
- sks.format_rank(kr.n,id);
- var givenRows = '';
- var recievedRows = '';
- for(a=4;a>-1;a--) {
- if(kr.g[a] != undefined) {
- if(kr.g[a].type == 'gave') {
- var type = ''+kr.g[a].type+' '+this.settings().lowercase_text+' to';
- } else {
- var type = ''+kr.g[a].type+' '+this.settings().lowercase_text+' from'
- }
- givenRows+= '<tr class="row-'+a+'"><td class="main">You '+type+' <a class="user-link user-'+kr.g[a].id+'" href="/user/'+kr.g[a].id+'">'+kr.g[a].dn+'</a>.</td><td class="time-container"><abbr data-timestamp="'+kr.g[a].ts+'" class="time" title="'+new Date(kr.g[a].ts)+'">'+new Date(kr.g[a].ts)+'</abbr></td></tr>';
- }
- }
- if(!givenRows.length) givenRows += '<tr class="row-0"><td class="main"><div align="center">You have not given '+this.settings().lowercase_text+' to or taken '+this.settings().lowercase_text+' away from anyone.</div></td></tr>';
- for(t=4;t>-1;t--) {
- if(kr.r[t] != undefined) {
- if(kr.r[t].type == 'gave') {
- var type = ''+kr.r[t].type+' '+this.settings().lowercase_text+' to';
- } else {
- var type = ''+kr.r[t].type+' '+this.settings().lowercase_text+' from'
- }
- recievedRows+= '<tr class="row-'+t+'"><td class="main"><a class="user-link user-'+kr.r[t].id+'" href="/user/'+kr.r[t].id+'">'+kr.r[t].dn+'</a> '+type+' you.</td><td class="time-container"><abbr data-timestamp="'+kr.r[t].ts+'" class="time" title="'+new Date(kr.r[t].ts)+'">'+new Date(kr.r[t].ts)+'</abbr></td></tr>';
- }
- }
- if(!recievedRows.length) recievedRows += '<tr class="row-0"><td class="main"><div align="center">You have not had '+sks.settings().lowercase_text+' given to or taken away from you.</div></td></tr>';
- $('div.pad-all-double.ui-helper-clearfix.clear').append('<div class="content-box"><h2 style="padding:5px;">'+sks.settings().text+' Given</h2><table class="notifications list"><tbody class="notifications-container">'+givenRows+'</tbody></table></div>');
- $('div.pad-all-double.ui-helper-clearfix.clear').append('<div class="content-box"><h2 style="padding:5px;">'+sks.settings().text+' Received</h2><table class="notifications list"><tbody class="notifications-container">'+recievedRows+'</tbody></table></div>');
- if (sks.check_edit_permission()) {
- $('span.userKarmaNumber' + id + '').click(function () {
- proboards.dialog('edit-karma', {
- title : 'Edit ' + sks.settings().text + '',
- resizable: false,
- draggable: false,
- html : '<input type="text" class="karmapopup" value="' + $('span.userKarmaNumber' + id + ':eq(0) > span.karma').text() + '" style="width:95%;" />',
- buttons : {
- 'Cancel' : function () {
- $(this).dialog('close');
- },
- 'Confirm' : function () {
- kr.n = $('input.karmapopup').val();
- sks.key.set({
- object_id: id,
- value: JSON.stringify(kr),
- success:function() {
- sks.format_rank(kr.n,id);
- $('span.userKarmaNumber' + id + ' > span.karma').text(kr.n);
- }
- });
- $(this).dialog('close');
- }
- }
- });
- });
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement