Download BBCode
Pagina 1 din 1 • Distribuiţi
Download BBCode
Download BBCode
Buna seara,
Acum ceva timp un utilizator a cerut un tutorial cum poate crea un nou BBCode pentru download.
Acum am gasit solutia perfecta, codul functioneaza perfect, integrare in noul editor, usor de utilizat, usor de personalizat si foarte util pentru a nu mai folosi taguri si PM pentru a oferi link.
Pasul 1:
Panou de administrare > MODULE > HTML & JAVASCRIPT > Gestiunea codurilor JavaScript > Coduri JavaScript > Creati un nou cod JavaScript:
Titlu * : Download BBCode
Amplasare : Toate Paginile
Cod JavaScript * :
- Cod:
(function($) {
document.write('<script type="text/javascript" src="https://use.fontawesome.com/141c9eaa90.js"></script>');
var Required_Post = 70,
Open_Type = true,
Show_ERROR_Message = 'Nu ai mesajele necesare pentru download.';
$(function() {
$(function() {
$('body').append('<div id="download" class="sceditor-dropdown sceditor-download" style="visibility:hidden;width:auto;text-align:left;"><div><label for="linkdownload" unselectable="on">URL</label> <input type="text" id="linksrc" class="url" placeholder="http://" value=""></div><div><input type="button" class="button" value="inserare"></div></div>');
$('.sceditor-group:last-child').after('<div class="sceditor-group" id="download_link"><a class="sceditor-button" title="Download BBCode" onclick="selectWysiwyg(this, \'download\');"><div style="background:url(https://i.servimg.com/u/f62/19/70/74/92/if_dow13.png) no-repeat center;"></div></a></div>');
$('div input[value="inserare"]', $('#download')).live("click", function(e) {
$('textarea#text_editor_textarea').sceditor('instance').insert('[download='+ $('#linksrc', $('#download')).val() +']');
$('#linksrc', $('#download')).val('');
$('#download').css({'visibility':'hidden'});
});
for(var i = 0, j = $('.post'); i <= j.length; i++) {
if(/\/t(\d+)-|\/t(\d*)p(\d+)-/g.test(window.location.href)) {
if(_userdata.user_posts <= Required_Post) {
j[i].innerHTML = j[i].innerHTML.replace(/\[download=(.*?)\]/g, '<div id="download-link" class="error">'+ Show_ERROR_Message +'</div>');
}
else if(_userdata.user_posts >= Required_Post) {
(Open_Type == true) ? j[i].innerHTML = j[i].innerHTML.replace(/\[download=(.*?)\]/g, "<div id=\"download-link\"><i class=\"fa fa-download\" aria-hidden=\"true\"></i><a href=\"$1\" target=\"_blank\">Download</a></div>") : j[i].innerHTML = j[i].innerHTML.replace(/\[download=(.*?)\]/g, "<div id=\"download-link\"><i class=\"fa fa-download\" aria-hidden=\"true\"></i><a href=\"$1\">Download</a></div>");
}
}
}
});
});
}(jQuery));
Pasul 2:
Panou de administrare > AFISARE > Imagini si culori > Culori > Foaia de stil CSS:
- Cod:
div#download-link {
background: #f1c444;
width: auto;
display: inline-block;
padding: 5px 10px;
border: 1px solid rgba(171, 153, 26, 0.21);
border-radius: 2px;
}
div#download-link > a {
color: #231d1d;
text-decoration: none;
font-size: 14px;
}
i.fa.fa-download {
margin-right: 5px;
font-size: 14px;
}
div#download-link.error {
background: #e44343;
color: wheat;
}
Personalizare:
Required_Post = 30 // Aici se pune numarul necesar de mesaje per utilizator pentru a ii aparea butonul de download.
Open_Type = true // Ttue = deschide o noua pagina catre link-ul de download || False = se deschide in pagina curenta link-ul de download
Show_ERROR_Message= 'Nu ai mesajele necesare pentru download.' // Aici este mesajul care va aparea in caz ca nu are numarul necesar de mesaje postate
Demo:
https://imgur.com/a/AfKtF
Re: Download BBCode
Felicitari @apollo ,un lucru de nota 10
Dani David- Membru activ
- Mesaje : 551
Varsta : 57
Localizare : Bucuresti
Data înscrierii : 04/06/2017
Mulțumiri : 9
Re: Download BBCode
Felicitari pentru cod!
Forumul Forumurilor Regulile Forumgratuit | Tutoriale | FAQ | Recuperarea parolei pentru forum și unelte |
*** Forumul de suport nu vă va solicita niciodată adresa de e-mail sau parola, așa că vă rugăm să nu le postați nicăieri! ***
Nu ofer suport prin PM!
Re: Download BBCode
Salut,
Pentru probleme cu cod-ul, vă rugăm să faceți un topic în secțiunea corespunzătoare.
Mulțumesc de înțelegere!
Pentru probleme cu cod-ul, vă rugăm să faceți un topic în secțiunea corespunzătoare.
Mulțumesc de înțelegere!
Forumul Forumurilor Regulile Forumgratuit | Tutoriale | FAQ | Recuperarea parolei pentru forum și unelte |
*** Forumul de suport nu vă va solicita niciodată adresa de e-mail sau parola, așa că vă rugăm să nu le postați nicăieri! ***
Nu ofer suport prin PM!
Re: Download BBCode
Salut,nDyc3 a scris:Nu mai merge codul acesta.
Pentru probleme cu cod-ul, vă rugăm să faceți un topic în secțiunea corespunzătoare.
Mulțumesc de înțelegere!
Forumul Forumurilor Regulile Forumgratuit | Tutoriale | FAQ | Recuperarea parolei pentru forum și unelte |
*** Forumul de suport nu vă va solicita niciodată adresa de e-mail sau parola, așa că vă rugăm să nu le postați nicăieri! ***
Nu ofer suport prin PM!
Re: Download BBCode
Buna dimineata,
Revin cu un mic update:
Aplasare: Topicuri
Cod Javascript
Codul CSS
Revin cu un mic update:
Aplasare: Topicuri
Cod Javascript
- Cod:
/**
* Title : Forumotion tools for users
* Version : v1.2-beta
* Author : SSYT
* Author URI : http://help.forumgratuit.ro
* License : GNU - General Public License v3.0
* Documentation : Unnavaible
* Last update : Nov 25, 2023 at 03:47
*/
document.write('<script type="text/javascript" src="https://use.fontawesome.com/141c9eaa90.js"></script>');
$(function() {
/**
* Settings for that application
* number @required_post number of post of user
* string @error_msg your message show to user informations
*/
const required_post = 12,
error_msg = 'Nu ai mesajele necesare pentru download.';
$(document.body).append('<div id="download" class="sceditor-dropdown sceditor-download" style="visibility:hidden;width:auto;text-align:left;"><div><label for="linkdownload" unselectable="on">URL</label> <input type="text" id="linksrc" class="url" placeholder="http://" value=""></div><div><input type="button" class="button" value="inserare"></div></div>');
/**
* Fix some errors for ForumGratuit editor reload frame
* For putting on last group of buttons you need change .after to .append
*
* func @after put element after existing element
* func @find find exact element intro list of elements
* func @last find exact last element from list
*/
window.addEventListener("load", () => {
$('.sceditor-toolbar')
.find('.sceditor-group')
.last()
.after('<div class="sceditor-group" id="download_link"><a class="sceditor-button" title="Download BBCode" onclick="selectWysiwyg(this, \'download\');"><div style="background:url(\'https://i.servimg.com/u/f62/19/70/74/92/if_dow13.png\') no-repeat center;"></div></a></div>');
});
$('div input[value="inserare"]', $('#download')).on("click", () => {
$('textarea#text_editor_textarea').sceditor('instance').insert(`[download=${$('#linksrc', $('#download')).val()}]`);
$('#linksrc', $('#download')).val();
$('#download').css({'visibility':'hidden'});
});
/**
* Use For Loop it\'s more faster that .each .map .forEach
* Fasted variant for this code is use for loop
*/
for(var i = 0, j = document.querySelectorAll('.post.clearfix'); i < j.length; i++) {
const postContent = j[i].querySelector('.post-entry');
if(location.href.match(/\/t(\d+)-|\/t(\d*)p(\d+)-/gi) && _userdata.user_posts <= required_post) {
postContent.innerHTML = postContent.innerHTML.replace(/\[download=(.*?)\]/gi, `<div id="download-link" class="error">${error_msg}</div>`);
} else if(required_post >= _userdata.user_posts) {
postContent.innerHTML = postContent.innerHTML.replace(/\[download=(.*?)\]/g, `<div id="download-link"><i class="fa fa-download" aria-hidden="true"></i><a href="${$1}" target="_blank">Download</a></div>`);
}
}
});
Codul CSS
- Cod:
div#download-link {
background: #f1c444;
width: auto;
display: inline-block;
padding: 5px 10px;
border: 1px solid rgba(171, 153, 26, 0.21);
border-radius: 2px;
}
div#download-link > a {
color: #231d1d;
text-decoration: none;
font-size: 14px;
}
i.fa.fa-download {
margin-right: 5px;
font-size: 14px;
}
div#download-link.error {
background: #e44343;
color: #e1e1e1;
margin: 30px 40%;
}
Pagina 1 din 1
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum