Starred forum - AwesomeBB
2 posters
Page 1 of 1
Starred forum - AwesomeBB
Hi all!
How can't make works the Starred forum on AwesomeBB, no template are edited, can you help me please?
Thank you!
How can't make works the Starred forum on AwesomeBB, no template are edited, can you help me please?
- Spoiler:
- Code:
$(function() {
if (/\/c\d+-/.test(window.location.href)) return; // return if category
// automatically detects the version
var version = $('.bodylinewidth')[0] ? 0 : document.getElementById('wrap') ? 1 : $('div.pun')[0] ? 2 : document.getElementById('ipbwrapper') ? 3 : document.getElementById('fa_edge') ? 4 : 'badapple';
// error notifications
if (version == 'badapple' || !window.JSON || !window.localStorage) {
var errString = 'The plugin "fa_starred" could not be executed because : ';
if (version == 'badapple') errString += '\nYour forum version is not supported.';
if (!window.JSON) errString += '\nJSON is not supported by your browser';
if (!window.localStorage) errString += '\nThe Storage API is not support by your browser.';
window.console && console.error ? console.error(errString) : alert(errString);
return;
}
// get fontawesome if unavailable
if (!$('link[href$="font-awesome.min.css"]')[0]) {
document.getElementsByTagName('HEAD')[0].insertAdjacentHTML('beforeend', '<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.0/css/font-awesome.min.css" />');
}
window.fa_starred = {
version : version, // forum version
forums : localStorage.fa_starred_forums ? JSON.parse(localStorage.fa_starred_forums) : null,
// language settings
lang : {
star : 'Star this forum',
unstar : 'Unstar this forum',
starred : 'Starred Forums'
},
icon : {
star : '',
unstar : ''
},
// selectors
select : {
content : version ? document.getElementById('main-content') : $('#content-container td:has(> img[height="5"])')[0],
category : ['.forumline:has(.secondarytitle)', '.forabg', '.main:has(.tcr) .main-content', '.borderwrap:has(.index-box)', '.forum-category'][version],
forum : 'a.' + (version ? 'forumtitle' : 'forumlink'),
row : version == 1 ? 'li' : version == 4 ? '.forum-block' : 'tr'
},
// move the selected forum to the "starred" category
star : function(that, id, startup) {
if (!fa_starred.forums) fa_starred.forums = {};
if (!fa_starred.board) fa_starred.createStarBoard();
if (!fa_starred.forums[id]) {
// clone the row and add it to the star board
var clone = $(that).closest(fa_starred.select.row)[0].cloneNode(true),
rows = $(that).closest(fa_starred.select.row).parent().find(fa_starred.select.row);
// update the star attributes for the clone
$('.fa_star', clone).attr({
'onclick' : 'fa_starred.unstar(this, ' + id + '); return false',
'class' : 'fa_unstar',
'title' : fa_starred.lang.unstar
}).html('<i class="fa">' + fa_starred.icon.unstar + '</i>');
fa_starred.list.appendChild(clone); // append the clone to the starred category
$(that).closest(fa_starred.select.row)[0].style.display = 'none'; // hide the original row
// check if all forums are hidden for this category
for (var i = 0, j = rows.length, k = 0; i < j; i++) {
if (/none/.test(rows[i].style.display)) k++;
}
// hide the category if all forums are hidden
if (i == k) {
$(that).closest(fa_starred.select.category)[0].className += ' fa_star_hidden';
}
// jump to the star board if it's out of sight
if (!startup && document.getElementById('fa_star_board').getBoundingClientRect().top < 0) {
window.location.hash = '';
window.location.hash = '#fa_star_board';
}
// update storage
fa_starred.forums[id] = 1;
localStorage.fa_starred_forums = JSON.stringify(fa_starred.forums);
}
},
// unstar the selected forum
unstar : function (that, id) {
var forum, catg, i = 0, j;
fa_starred.list.removeChild($(that).closest(fa_starred.select.row)[0]); // remove cloned row
// update variables
forum = $(fa_starred.select.forum + '[href^="/f' + id + '-"]')[0]; // original forum
catg = $(forum).closest(fa_starred.select.category)[0]; // original category
$(forum).closest(fa_starred.select.row)[0].style.display = ''; // show the original forum's row
// show the category if all forums were hidden
if (/fa_star_hidden/.test(catg.className)) {
catg.className = catg.className.replace(/fa_star_hidden/, '');
}
// delete the starred forum and check if there are anymore stars
delete fa_starred.forums[id];
for (j in fa_starred.forums) {
if (fa_starred.forums[j]) i++;
}
// update storage
if (i) {
localStorage.fa_starred_forums = JSON.stringify(fa_starred.forums);
} else {
fa_starred.forums = null;
localStorage.removeItem('fa_starred_forums');
// remove nodes
if (version == 2) {
fa_starred.board.parentNode.removeChild(fa_starred.board.previousSibling); // remove header for punbb
}
fa_starred.board.parentNode.removeChild(fa_starred.board);
// delete node references
delete fa_starred.board;
delete fa_starred.list;
}
},
// create the "starred" category
createStarBoard : function() {
var catg = $(fa_starred.select.category, fa_starred.select.content)[0],
board = catg ? catg.cloneNode(true) : null,
rows = $(fa_starred.select.row, board);
if (!catg) return;
board.id = 'fa_star_board';
board.style.display = '';
if (version != 2) {
board.getElementsByTagName('H2')[0].innerHTML = fa_starred.lang.starred; // change category title
}
// find forum list and remove exisiting rows in the clone
fa_starred.list = rows[0].parentNode;
rows.remove();
// punbb insertion method
if (version == 2) {
var head = catg.previousSibling.cloneNode(true);
head.getElementsByTagName('H2')[0].innerHTML = fa_starred.lang.starred;
catg.parentNode.insertBefore(board, catg.previousSibling);
board.parentNode.insertBefore(head, board);
} else {
catg.parentNode.insertBefore(board, catg); // default insertion
}
fa_starred.board = board;
}
};
fa_starred.select.row += ':has(' + fa_starred.select.forum + ')'; // update row selector
// general startup
var a = $(fa_starred.select.forum, fa_starred.select.content),
i = 0,
j = a.length,
k,
id;
// setup star board and reset forum states if starred
if (fa_starred.forums) {
if (!fa_starred.board) fa_starred.createStarBoard();
for (k in fa_starred.forums) {
fa_starred.forums[k] = 0;
}
}
// setup stars and starred forums
for (; i < j; i++) {
id = a[i].href.replace(/.*?\/f(\d+).*/, '$1');
a[i].insertAdjacentHTML('afterend', '<a href="#" class="fa_star" onclick="fa_starred.star(this, ' + id + '); return false;" title="' + fa_starred.lang.star + '"><i class="fa">' + fa_starred.icon.unstar + '</i></a>');
if (fa_starred.forums) {
for (k in fa_starred.forums) {
if (k == id) {
fa_starred.star(a[i], id, true);
}
}
}
}
document.getElementsByTagName('HEAD')[0].insertAdjacentHTML('beforeend', '<style type="text/css">a.fa_star,a.fa_unstar{color:#999!important;font-size:16px;vertical-align:-2px;margin-left:3px;opacity:0}a.fa_star:hover,a.fa_unstar,li:hover a.fa_star,tr:hover a.fa_star{opacity:1}a.fa_star i,a.fa_unstar i{position:relative}a.fa_star i:hover:after,a.fa_unstar i:after{content:"' + fa_starred.icon.star + '";position:absolute;left:0;bottom:0}a.fa_unstar i:hover:after{content:""}.fa_star_hidden {display:none!important}</style>');
});
Thank you!
Re: Starred forum - AwesomeBB
Hello
Did you get this script from FM Design? If yes, please read:
https://help.forumotion.com/t157498-starred-forums
https://help.forumotion.com/t157502-giphy-button-in-editor-has-stopped-working
Did you get this script from FM Design? If yes, please read:
https://help.forumotion.com/t157498-starred-forums
https://help.forumotion.com/t157502-giphy-button-in-editor-has-stopped-working
Re: Starred forum - AwesomeBB
Hi skouliki, i red them, the first one Is not solved and the second one Is about giphy and still i can't find any Key tl change in the script
Thanks
Thanks
Re: Starred forum - AwesomeBB
If you are using tutorials from other forums, it is always best to ask the members on the forum where you see the tutorials.
Since that forum is closed you can leave a comment here
https://help.forumotion.com/t147986p270-forumactif-edge-a-free-modern-and-responsive-forum-theme#1146740
Or here
https://x.com/sethc1995?s=21&t=4n7qHZm5NGrEJZd1Rod39g
edit: https://help.forumotion.com/t147986p270-forumactif-edge-a-free-modern-and-responsive-forum-theme#1146782
since the question has been answered i will lock this thread
Since that forum is closed you can leave a comment here
https://help.forumotion.com/t147986p270-forumactif-edge-a-free-modern-and-responsive-forum-theme#1146740
Or here
https://x.com/sethc1995?s=21&t=4n7qHZm5NGrEJZd1Rod39g
edit: https://help.forumotion.com/t147986p270-forumactif-edge-a-free-modern-and-responsive-forum-theme#1146782
since the question has been answered i will lock this thread
Similar topics
» "AwesomeBB" : The new Forumotion forum version
» Starred forums
» Starred Forums
» Discover "AwesomeBB" : The new Forumotion forum version
» Paste categories / forum and add table. [AwesomeBB]
» Starred forums
» Starred Forums
» Discover "AwesomeBB" : The new Forumotion forum version
» Paste categories / forum and add table. [AwesomeBB]
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum