「Forumeiros」 Reputação com niveis 28.04.18 17:31
REPUTAÇÃO COM NÍVEIS
Versão [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
Criador Daemon
Descrição Este tutorial têm como objetivo personalizar a reputação, transformado-a assim em niveis.
Demostração
Instruções
Como instalar?
Entre no seu painel de controle > Módulos > HTML & JAVASCRIPT > Gestão dos códigos JavaScript > Adicionar um código JavaScript
JavaScript
CSS
Versão [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
Criador Daemon
Descrição Este tutorial têm como objetivo personalizar a reputação, transformado-a assim em niveis.
Demostração
Instruções
Como instalar?
Entre no seu painel de controle > Módulos > HTML & JAVASCRIPT > Gestão dos códigos JavaScript > Adicionar um código JavaScript
JavaScript
- Código:
/*
* Application: Reputation Levels
* Date: 20/04/2018
* Version: 1.220042018
* Copyright (c) 2018 Daemon <help.forumotion.com>
* This work is free. You can redistribute it and/or modify it
*/
function bs_reputation_ipb() {
/*
* Configure below the levels for the reputation profile,
* with the respective number needed to win it.
* You can also add a class to customize the element.
*/
var reputation = [
{
reputation: 0,
level: "Neutral",
class: "zero"
},
{
reputation: 1,
level: "Iniciante"
},
{
reputation: 10,
level: "Regular"
},
{
reputation: 20,
level: "Bom"
},
{
reputation: 35,
level: "Boa"
},
{
reputation: 50,
level: "Excelente",
class: "awesome"
}
];
/*
* Não precisa mudar nada abaixo daqui
*/
var userLink = null,
repField = null,
repFieldName = null,
repFieldValue= null,
regExp = null,
level = "",
repClass = "",
BreakException = {};
jQuery.each(jQuery(".post"), function(i, post) {
userLink = jQuery(post).find("a[href^='/u']").attr("href");
jQuery.ajax({
type: "GET",
url: userLink,
success: function(data) {
repField = jQuery("#field_id-14", data);
repFieldName = repField.find("dt").text().split(" ")[0];
repFieldValue = parseInt(repField.find("dd").text());
regExp = new RegExp("<span[^>]*>(?:<span[^>]*>)?(" + repFieldName + ")(?:<\\/span>)?\\s:\\s<\\/span>\\s*(\\d+)", "g");
try {
jQuery.each(reputation, function(key, val) {
if (val.reputation <= repFieldValue) {
level = (val.level) ? val.level : "";
repClass = (val.class) ? " " + val.class : "";
} else {
throw BreakException;
}
});
} catch (e) {
if (e !== BreakException) throw e;
}
jQuery(post).find(".label").parent().html(function(key, val) {
return jQuery(this).html().replace(regExp,"<div class='reputation_bs" + repClass + "'>$1 : $2<br><span class='title' style='font-weight:normal'>" + level + "</span></div>")
});
},
error: function(jqXHR, textStatus, errorThrown) {
console.log("**An error occurred while trying to request the data (Application: Reputation Levels)");
}
});
});
};
jQuery(function() {
bs_reputation_ipb();
});
CSS
- Código:
.reputation_bs {
background-color: #DFF0D8;
font-weight: bold;
padding: 3px 8px;
display: block !important;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
color: #3C763D;
margin: 5px auto;
font-family: Lato,Arial,Helvetica,sans-serif;
font-size: 13px;
margin-bottom: 5px;
max-width: 123px;
text-align: center;
}
.reputation_bs.zero {
background: none repeat scroll 0% 0% rgba(222, 222, 222, 0.34);
color: #6e6e6e;
}