Membres connectés récemment
[PHPBB3] Script d'auto-suggestion pour le système de tags
2 participants
Page 1 sur 1 • Partagez
- Version du forum :PHPBB3
- Templates modifiés :oui
- Navigateur :Chrome
Bonjour, j'ai bien copié à la lettre le script (pour lequel je vous remercie d'ailleurs, c'est particulièrement utile), cependant, ça ne fonctionne pas. J'ai aussi ajouté le z-index:9999; (mentionné ici) à la div "mention_suggestion", mais rien ne s'affiche. J'ai quelques scripts d'actifs sur le forum, peut-être est-ce lié. (Pour information, car il s'agit toujours des tags, j'ai aussi un script censé afficher un @ avant la citation multiple dans l'éditeur de message mais celle-ci n'apparaît pas non plus).
Merci et bonne soirée
Merci et bonne soirée
Milouze14 aime ce message
Bonjour @milouze14, merci de la réponse, j'étais pas certaine de quels codes fournir. Du coup, voici la template memberlist_body :
Pour ce qui est des scripts j'ai ça, je ne sais pas trop lesquels pourraient affecter celui-ci ? :
Merci encore
- Code:
<!----------------------------------------------->
<!-- BARRE DE SELECTION -------------->
<div class="links_bar">
<form action="{S_MODE_ACTION}" method="get">
<span>
{L_USER_SELECT} <input type="text" class="inputbox tiny" name="username" maxlength="25" size="20" value="{L_USER_SELECT_VALUE}" />
{L_SELECT_SORT_METHOD} {S_MODE_SELECT}
{L_ORDER} {S_ORDER_SELECT}
{S_HIDDEN_SID}
<input class="button2" type="submit" name="submit" value="{L_SUBMIT}" />
</span>
<!-- Pagination -->
<!-- BEGIN switch_pagination -->
<span class="pagination right">
{PAGINATION}
</span>
<!-- END switch_pagination -->
</form>
</div>
<!----------------------------------------------->
<!-- LISTE DES MEMBRES -------------->
<div class="container">
<!-- Titre de la liste des membres -->
<h1 class="page-title">{PAGE_TITLE}</h1>
<!-- Liste des membres -->
<div class="userlist">
<!-- Affichage d'un profil -->
<!-- BEGIN memberrow -->
<div class="userlist_profil">
<!-- Avatar -->
<div class="userlist_avatar">
{memberrow.AVATAR_IMG}
</div>
<!-- Conteneurs des informations de membre -->
<div class="userlist_details">
<!-- Pseudo -->
<span class="pseudo">
<a href="{memberrow.U_VIEWPROFILE}">{memberrow.USERNAME}</a>
</span>
<!-- Champs de profil -->
<div class="userlist_infos">
{memberrow.LASTVISIT}<br />
{memberrow.POSTS}<br />
<hr></hr>
</div>
<!-- Lien de contact -->
<div class="userlist_contact right">
{memberrow.PM_IMG}
{memberrow.WWW_IMG}
</div>
</div>
</div>
<!-- END memberrow -->
<!-- Fin d'un profil -->
</div>
<!-- Fin liste des membres -->
</div>
Pour ce qui est des scripts j'ai ça, je ne sais pas trop lesquels pourraient affecter celui-ci ? :
Merci encore
Milouze14 aime ce message
Hello heartless,
alors pour les scripts, les intitulés ne m’intéressent pas chère amie, c'est plus les contenus .
Bref, ton template étant modifié et pour le script fonctionne , j'ai modifié l'avatar afin qu'il est le pseudo du membre, mais un style viendra le cacher.
Remplace ton template par celui-ci (l'apparence ne changera pas) :
Penses a enregistrer puis à valider en cliquant respectivement sur puis
Les modifications effectuées:
Puis le style pour masquer le pseudo:
Puis le script dans sa totalité:
alors pour les scripts, les intitulés ne m’intéressent pas chère amie, c'est plus les contenus .
Bref, ton template étant modifié et pour le script fonctionne , j'ai modifié l'avatar afin qu'il est le pseudo du membre, mais un style viendra le cacher.
Remplace ton template par celui-ci (l'apparence ne changera pas) :
- Code:
<!----------------------------------------------->
<!-- BARRE DE SELECTION -------------->
<div class="links_bar">
<form action="{S_MODE_ACTION}" method="get">
<span>
{L_USER_SELECT} <input type="text" class="inputbox tiny" name="username" maxlength="25" size="20" value="{L_USER_SELECT_VALUE}" />
{L_SELECT_SORT_METHOD} {S_MODE_SELECT}
{L_ORDER} {S_ORDER_SELECT}
{S_HIDDEN_SID}
<input class="button2" type="submit" name="submit" value="{L_SUBMIT}" />
</span>
<!-- Pagination -->
<!-- BEGIN switch_pagination -->
<span class="pagination right">
{PAGINATION}
</span>
<!-- END switch_pagination -->
</form>
</div>
<!----------------------------------------------->
<!-- LISTE DES MEMBRES -------------->
<style>
.userlist_avatar a[href^="/u"] span{display:none;}
</style>
<div class="container">
<!-- Titre de la liste des membres -->
<h1 class="page-title">{PAGE_TITLE}</h1>
<!-- Liste des membres -->
<div class="userlist">
<!-- Affichage d'un profil -->
<!-- BEGIN memberrow -->
<div class="userlist_profil">
<!-- Avatar -->
<div class="userlist_avatar">
<a href="{memberrow.U_VIEWPROFILE}">{memberrow.AVATAR_IMG} {memberrow.USERNAME}</a>
</div>
<!-- Conteneurs des informations de membre -->
<div class="userlist_details">
<!-- Pseudo -->
<span class="pseudo">
<a href="{memberrow.U_VIEWPROFILE}">{memberrow.USERNAME}</a>
</span>
<!-- Champs de profil -->
<div class="userlist_infos">
{memberrow.LASTVISIT}<br />
{memberrow.POSTS}<br />
<hr></hr>
</div>
<!-- Lien de contact -->
<div class="userlist_contact right">
{memberrow.PM_IMG}
{memberrow.WWW_IMG}
</div>
</div>
</div>
<!-- END memberrow -->
<!-- Fin d'un profil -->
</div>
<!-- Fin liste des membres -->
</div>
Penses a enregistrer puis à valider en cliquant respectivement sur puis
Les modifications effectuées:
- Code:
<a href="{memberrow.U_VIEWPROFILE}">{memberrow.AVATAR_IMG} {memberrow.USERNAME}</a>
Puis le style pour masquer le pseudo:
- Code:
<style>
.userlist_avatar a[href^="/u"] span{display:none;}
</style>
Puis le script dans sa totalité:
- Code:
!window.fa_mentionner && !/\/privmsg|\/profile\?mode=editprofile&page_profil=signature/.test(window.location.href) && $(function(){$(function(){
'SCEDITOR @HANDLE AUTO-SUGGEST';
'DEVELOPED BY ANGE TUTEUR';
'NO DISTRIBUTION WITHOUT CONSENT OF THE AUTHOR';
'ORIGIN : http://fmdesign.forumotion.com/t943-auto-suggest-mentions-as-you-type#19157';
var container = $('.sceditor-container')[0],
text_editor = document.getElementById('text_editor_textarea'),
frame,
instance;
if (container && text_editor) {
frame = $('iframe', container);
instance = $(text_editor).sceditor('instance');
window.fa_mentionner = {
suggest_delay : 100, // delay before suggestions show up (100ms)
// language presets
lang : {
placeholder : 'Recherche...',
not_found : 'Utilisateur non trouvé'
},
// colors of the suggestion popup
color : {
font : '#333',
hover_font : '#FFF',
error_font : '#F00',
background : '#FFF',
hover_background : '#69C',
border : '#CCC',
shadow : 'rgba(0, 0, 0, 0.176)'
},
// sceditor instance and rangeHelper
instance : instance,
rangeHelper : instance.getRangeHelper(),
// nodes for listening and modifications
frame : frame[0],
body : frame.contents().find('body')[0],
textarea : $('textarea', container)[0],
// faux textarea and suggestion list
faux_textarea : $('<div id="faux_text_editor" />')[0], // helps us mirror the cursor position in source mode
list : $('<div id="fa_mention_suggestions" style="position:absolute;" />')[0],
// version specific selectors
selectors : $('.bodyline')[0] ? ['a.gen[href^="/u"]', ' .userlist_avatar a'] :
document.getElementById('ipbwrapper') ? ['.membername', '.mini-avatar'] :
null,
// adjusts the scroll position of the faux textarea so the caret stays in line
adjustScroll : function() {
fa_mentionner.faux_textarea.scrollTop = fa_mentionner.textarea.scrollTop;
},
// updates the content in the faux textarea
updateFauxTextarea : function(active, key) {
if (key == 16) { // 16 = SHIFT
return; // return when specific keys are pressed
}
// clear suggestion queue when suggestions aren't active
if (active != true) {
fa_mentionner.clearSuggestions();
} else {
return; // return when interactive keys are pressed while suggesting ; up, down, enter
}
// use another method if in WYSIWYG mode
if (!fa_mentionner.instance.inSourceMode()) {
key != 32 ? fa_mentionner.searchWYSIWYG() : fa_mentionner.clearSuggestions();
return;
}
var val = fa_mentionner.instance.val(),
range = 0,
selection,
faux_caret,
username;
// get the position of the caret
if (document.selection) {
selection = document.selection.createRange();
selection.moveStart('character', -fa_mentionner.textarea.length);
range = selection.text.length;
} else if (fa_mentionner.textarea.selectionStart || fa_mentionner.textarea.selectionStart == 0) {
range = fa_mentionner.textarea.selectionStart;
}
// set the position of the caret
val = val.slice(0, range) + '{FAUX_CARET}' + val.slice(range, val.length);
// parse and sanitize the faux textarea content
$(fa_mentionner.faux_textarea).html(
val.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/@"(.*?)"|@(.*?)(?:\s|\r|\n|$)/g, function(M, $1, $2) {
var lastChar = M.substr(-1),
name = ($1 || $2 || '').replace(/\{FAUX_CARET\}|"/g, '');
return '<a href="#' + name + '">' + (/\s|\r|\n/.test(M) ? M.slice(0, M.length - 1) + '</a>' + lastChar : M + '</a>');
})
.replace(/\{FAUX_CARET\}/, '<span id="faux_caret" style="position:absolute;margin-left:-3px;">|</span>')
);
faux_caret = document.getElementById('faux_caret');
// mentions are parsed as <a>nchors, so when the faux caret is inside one we'll show some suggestions
if (faux_caret && faux_caret.parentNode.tagName == 'A') {
fa_mentionner.value = val;
fa_mentionner.delay = window.setTimeout(function() {
fa_mentionner.suggest(faux_caret.parentNode.href.replace(/.*?#(.*)/, '$1'), $(faux_caret).offset());
}, fa_mentionner.suggest_delay);
}
fa_mentionner.adjustScroll();
},
// search for active mentions in wysiwyg mode
searchWYSIWYG : function() {
var selected = fa_mentionner.rangeHelper.cloneSelected(),
mentions = selected.startContainer.data && selected.startContainer.data.match(/(@".*?")|(@.*?)(?:\s|\r|\n|$)/g),
offset,
offset_marker,
hit,
i;
console.log(mentions);
if (mentions && mentions[0]) {
// clean up whitespace
for (i in mentions) {
mentions[i] = mentions[i].replace(/\s$/g, '');
}
// search for the mention that's currently being modified
for (i in mentions) {
if (!fa_mentionner.wysiwyg_mentions || (mentions[i] != fa_mentionner.wysiwyg_mentions[i])) {
hit = true;
fa_mentionner.delay = window.setTimeout(function() {
fa_mentionner.rangeHelper.insertMarkers(); // insert markers to help get the caret offset
offset = $(fa_mentionner.frame).offset();
offset_marker = $('#sceditor-end-marker', fa_mentionner.body).show().offset();
// add the marker offsets to the iframe offsets
offset.left += offset_marker.left;
offset.top += offset_marker.top - fa_mentionner.body.scrollTop;
fa_mentionner.suggest(mentions[i].slice(1).replace(/^"|"$/g, ''), offset, true);
fa_mentionner.wysiwyg_active = mentions[i]; // save the active mention for later use in finish()
}, fa_mentionner.suggest_delay);
break;
}
}
// hide the suggestion list if there's no newly modified mentions
if (!hit) {
fa_mentionner.list.style.display = 'none';
fa_mentionner.focused = null;
}
fa_mentionner.wysiwyg_mentions = mentions; // update the list of mentions
}
},
// suggest a list of users based on the passed username
suggest : function(username, offset, wysiwyg) {
// insert the suggestion list to show that it's searching
fa_mentionner.list.innerHTML = '<span class="fam-info">' + fa_mentionner.lang.placeholder + '</span>';
$(fa_mentionner.list).css({
left : offset.left + 'px',
top : offset.top + 'px',
display : 'block',
overflowY : 'auto'
});
document.body.appendChild(fa_mentionner.list);
// send a query request to the memeberlist to find users who match the typed username
fa_mentionner.request = $.get('/memberlist?username=' + username, function(d) {
fa_mentionner.request = null;
var suggestion = $(fa_mentionner.selectors ? fa_mentionner.selectors[0] : '.userlist_avatar a', d),
ava = fa_mentionner.selectors ? $(fa_mentionner.selectors[1], d) : null,
i = 0,
j = suggestion.length,
name;
fa_mentionner.list.innerHTML = '';
if (j) {
for (; i < j; i++) {
name = $(suggestion[i]).text().replace(/^\s+|\s+$/g, '');
fa_mentionner.list.insertAdjacentHTML('beforeend',
'<a href="javascript:fa_mentionner.finish(\'' + name.replace(/'/g, '\\\'') + '\', ' + wysiwyg + ');" class="fa_mention_suggestion">'+
'<img class="fa_suggested_avatar" src="' + $(fa_mentionner.selectors ? ava[i] : suggestion[i]).find('img').attr('src') + '"/>'+
'<span class="fa_suggested_name">' + name + '</span>'+
'</a>'
);
}
// change overflowY property when it exceeds 7 suggestions -- prevents unsightly scroll bug
fa_mentionner.list.style.overflowY = j > 7 ? 'scroll' : 'auto';
// update the focused suggestion and scroll it into view
fa_mentionner.list.firstChild.className += ' fam-focus';
fa_mentionner.focused = fa_mentionner.list.firstChild;
fa_mentionner.scrollSuggestions();
} else {
fa_mentionner.list.innerHTML = '<span class="fam-info" style="color:' + fa_mentionner.color.error_font + ';">' + fa_mentionner.lang.not_found + '</span>';
}
});
},
// kill the suggestion timeout while typing persists
clearSuggestions : function() {
if (fa_mentionner.delay) {
window.clearTimeout(fa_mentionner.delay);
fa_mentionner.delay = null;
fa_mentionner.list.style.display = 'none';
fa_mentionner.focused = null;
}
if (fa_mentionner.request) {
fa_mentionner.request.abort();
fa_mentionner.request = null;
}
},
// finish the username
finish : function(username, wysiwyg) {
var mention, index, i;
// hide and clear suggestions
fa_mentionner.clearSuggestions();
fa_mentionner.focused = null;
fa_mentionner.list.style.display = 'none';
if (!wysiwyg) {
fa_mentionner.value = fa_mentionner.value.replace(/(?:@".[^"]*?\{FAUX_CARET\}.*?"|@\{FAUX_CARET\}.*?(\s|\n|\r|$)|@.[^"\s]*?\{FAUX_CARET\}.*?(\s|\n|\r|$))/, function(M, $1, $2) {
mention = '@"' + username + '"';
return '{MENTION_POSITION}' + ( $1 ? $1 : $2 ? $2 : '' );
});
// get the index where the mention should be
index = fa_mentionner.value.indexOf('{MENTION_POSITION}');
fa_mentionner.value = fa_mentionner.value.replace('{MENTION_POSITION}', '');
// save current scroll position for application after the value has been updated
fa_mentionner.scrollIndex = fa_mentionner.textarea.scrollTop;
// update the textarea with the completed mention
fa_mentionner.instance.val('');
fa_mentionner.instance.insert(fa_mentionner.value.slice(0, index) + mention, fa_mentionner.value.slice(index, fa_mentionner.value.length));
// restore the scroll position for the textareas
fa_mentionner.textarea.scrollTop = fa_mentionner.scrollIndex;
fa_mentionner.adjustScroll();
// update the fake textarea
fa_mentionner.updateFauxTextarea();
} else {
// save the caret range in WYSIWYG so we can restore it after replacing the HTML
fa_mentionner.rangeHelper.saveRange();
fa_mentionner.body.innerHTML = fa_mentionner.body.innerHTML.replace(new RegExp(fa_mentionner.wysiwyg_active.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") + '(<span.*?id="sceditor-end-marker".*?>)'), '@"' + username + '"$1');
fa_mentionner.body.focus();
fa_mentionner.rangeHelper.restoreRange();
// update the wysiwyg mention array so no new suggestions appear
for (i in fa_mentionner.wysiwyg_mentions) {
if (fa_mentionner.wysiwyg_mentions[i] == fa_mentionner.wysiwyg_active) {
fa_mentionner.wysiwyg_mentions[i] = '@"' + username + '"';
break;
}
}
}
},
// scroll the selected suggestion into view
scrollSuggestions : function() {
$(fa_mentionner.list).scrollTop(
(
$(fa_mentionner.focused).offset().top -
$(fa_mentionner.list).offset().top +
$(fa_mentionner.list).scrollTop()
) -
(26 * 3) // 26 = the height of the suggestions, so display 3 suggestions above while scrolling
);
}
};
// get computed styles for the textarea and apply them to the faux textarea
for (var css = window.getComputedStyle(fa_mentionner.textarea, null), i = 0, j = css.length, str = ''; i < j; i++) {
str += css[i] + ':' + css.getPropertyValue(css[i]) + ';';
}
// add styles to the head
$('head').append('<style type="text/css">'+
'#faux_text_editor {' + str + '}'+
'#faux_text_editor { position:absolute; left:0; bottom:0; z-index:-1; visibility:hidden; display:block; overflow-y:auto; }'+
'#fa_mention_suggestions { color:' + fa_mentionner.color.font + '; font-size:10px; font-family:arial, verdana, sans-serif; background:' + fa_mentionner.color.background + '; border:1px solid ' + fa_mentionner.color.border + '; margin-top:20px; z-index:999; max-height:182px; overflow-x:hidden; box-shadow:0 6px 12px ' + fa_mentionner.color.shadow + '; }'+
'a.fa_mention_suggestion, .fam-info { color:' + fa_mentionner.color.font + '; height:26px; line-height:26px; padding:0 3px; display:block; white-space:nowrap; cursor:pointer; }'+
'a.fa_mention_suggestion.fam-focus { color:' + fa_mentionner.color.hover_font + '; background:' + fa_mentionner.color.hover_background + '; }'+
'.fa_suggested_avatar { height:20px; width:20px; vertical-align:middle; margin-right:3px; }'+
'</style>');
// insert faux textarea into document
fa_mentionner.textarea.parentNode.insertBefore(fa_mentionner.faux_textarea, fa_mentionner.textarea);
// apply event handlers
fa_mentionner.textarea.onclick = fa_mentionner.updateFauxTextarea;
fa_mentionner.textarea.onscroll = fa_mentionner.adjustScroll;
// update the faux textarea on keyup
fa_mentionner.instance.keyUp(function(e) {
if (fa_mentionner.focused && e && (e.keyCode == 13 || e.keyCode == 38 || e.keyCode == 40)) {
fa_mentionner.updateFauxTextarea(true, e.keyCode);
return false;
} else {
fa_mentionner.updateFauxTextarea(false, e.keyCode);
}
});
// key events for the suggested mentions
$([document, fa_mentionner.body]).on('keydown', function(e) {
var that = e.target;
if (fa_mentionner.focused && e && e.keyCode && (that.tagName == 'TEXTAREA' || that.tagName == 'BODY')) {
// move selection down
if (e.keyCode == 40) {
var next = fa_mentionner.focused.nextSibling;
if (next) {
$(fa_mentionner.focused).removeClass('fam-focus');
next.className += ' fam-focus';
fa_mentionner.focused = next;
fa_mentionner.scrollSuggestions();
}
return false;
}
// move selection up
if (e.keyCode == 38) {
var prev = fa_mentionner.focused.previousSibling;
if (prev) {
$(fa_mentionner.focused).removeClass('fam-focus');
prev.className += ' fam-focus';
fa_mentionner.focused = prev;
fa_mentionner.scrollSuggestions();
}
return false;
}
// apply selection
if (e.keyCode == 13) {
fa_mentionner.focused.click();
return false;
}
}
});
// update focused suggestion on hover
$(document).on('mouseover', function(e) {
var that = e.target;
if (/fa_mention_suggestion/.test(that.className)) {
$(fa_mentionner.focused).removeClass('fam-focus');
that.className += ' fam-focus';
fa_mentionner.focused = that;
}
});
}
})});
@Milouze14, merci pour la réponse , malheureusement ça ne fonctionne pas, les suggestions n'apparaissent pas (le "pop-up" non plus d'ailleurs). Voici les scrips utilisés :
Remplacer image par texte :
Mentionner via option de messages :
Onglets page d'accueil :
Supprimer les champs FB etc sur les profils :
Toolbar dans navigation :
Mention facile dans le profil :
Sélectionner le code :
Icons derniers messages :
Simplification des balises :
Thème sombre :
Remplacer image par texte :
- Code:
$(function(){
$('a[href*="mode=quote"] img').replaceWith('Citer');
$('a[href*="mode=quote-multi"] img').replaceWith('Citer+');
$('a[href*="mode=edit"] img').replaceWith('Editer');
$('a[href*="&mode=delete"] img').replaceWith('Supprimer');
$('a[href*="mode=ip"] img').replaceWith('IP');
$('a[href*="mode=report"] img').replaceWith('Signaler ce sujet');
$('a[href*="mode=lock&p"] img').replaceWith('Bloquer les alertes');
$('a[href*="mode=unlock&p"] img').replaceWith('Débloquer les alertes');
$('a[href*="mode=contact"] img').replaceWith('Débloquer les alertes');
});
Mentionner via option de messages :
- Code:
/* FORUM VERSIONS
* 0 = PHPBB2
* 1 = PHPBB3
* 2 = PUNBB
* 3 = INVISION
* 4 = MODERNBB
*/
$(function() {
var version = 1,
image = 'https://images2.imgbox.com/e0/17/BfbWWUsV_o.png';
if (/mode=reply/.test(window.location.search) && my_getcookie('fa_mention')) {
document.post.message.value += '@"' + my_getcookie('fa_mention') + '" ';
my_setcookie('fa_mention','');
} if (!/\/t\d+/.test(window.location.pathname)) return;
for (var a = $(['.post-options', '.profile-icons', '.post-options', '.posting-icons', '.profile-icons'][version]), b, c, d = ['.name strong a', '.author a', '.username a', '.author a', '.postprofile-name a'][version], e, i = 0, j = a.length, t = document.getElementById('text_editor_textarea'), l = version == 1 || version == 3 || version == 4; i<j; i++) {
b = document.createElement('IMG');
b.src = image;
b.alt = 'Mentionner';
b.title = 'Mentionner ' + $(a[i]).closest('.post').find(d + ':not(.fa-mention)').text();
b.className = 'i_icon_mention';
b.onclick = function() {
var n = this.title.replace(/^.*?\s/,'');
if ($.sceditor) t.insertText('@"' + n + '" ');
else {
my_setcookie('fa_mention', n);
window.location.href = '/post?t=' + window.location.pathname.replace(/\/t(\d+)-.*/,'$1') + '&mode=reply';
}
};
if (l) {
c = document.createElement('LI');
c.appendChild(b);
}
a[i].insertBefore(l ? c : b, a[i].firstChild);
}
$(function(){
if (!$.sceditor) return;
t=$(t).sceditor('instance');
});
});
Onglets page d'accueil :
- Code:
function openCity(cityName) {
var i;
var x = document.getElementsByClassName("MPAS_pa_pseudostaff");
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
document.getElementById(cityName).style.display = "block";
}
Supprimer les champs FB etc sur les profils :
- Code:
$(function(){
$('div[id="cp-main"]').find('dt:contains("Numéro ICQ : "),dt:contains("Adresse AIM : "),dt:contains("MSN Messenger : "),dt:contains("Yahoo Messenger :"),dt:contains("Skype : "),dt:contains("Facebook : "),dt:contains("Twitter : "),dt:contains("Pinterest :")').each(function(){
$('h1.page-title:contains("Champs de contact")').remove();
var M14contact=$(this).length;
if(M14contact){$(this).closest('.panel').remove();}
});});
Toolbar dans navigation :
- Code:
$(function(){$(function(){
$('#fa_search').after('<span class="fa_tbMainElement"><div id="menutest"><a href="/">accueil</a>
<a href="/memberlist">membres</a>
<a href="/privmsg?folder=inbox">messages</a>
<a href="/profile?mode=editprofile">profil</a></div></span>');
})});
Mention facile dans le profil :
- Code:
// Par Shadow
// https://forum.forumactif.com/t378492-rendre-le-systeme-de-mentions-plus-facile-a-utiliser
$(function() {
var version = 0;
if (/mode=reply/.test(window.location.search) && my_getcookie('fa_mention')) {
document.post.message.value += '@"' + my_getcookie('fa_mention') + '" ';
my_setcookie('fa_mention','');
} if (!/\/t\d+/.test(window.location.pathname)) return;
for (var a = $(['.post_pseudo a'][version]), b, i = 0, j = a.length, t = document.getElementById('text_editor_textarea'); i<j; i++) {
b = document.createElement('A');
b.title = 'Mentionner ' + $(a[i]).text();
b.style.marginRight = '3px';
b.className = 'fa-mention';
b.innerHTML = '@';
b.href = '#';
b.onclick = function() {
var n = this.title.replace(/^.*?\s/,'');
if ($.sceditor) t.insertText('@"' + n + '" ');
else {
my_setcookie('fa_mention', n);
window.location.href = '/post?t=' + window.location.pathname.replace(/\/t(\d+)-.*/,'$1') + '&mode=reply';
}
return false;
};
a[i].parentNode.insertBefore(b, a[i]);
}
$(function(){
if (!$.sceditor) return;
t=$(t).sceditor('instance');
});
});
Sélectionner le code :
- Code:
// Par Ea
// https://forum.forumactif.com/t309759-bouton-selectionner-le-contenu-pour-les-balises-de-code
function selectCode(e) {
var s = $(e).closest("dl").find(".cont_code,code").get(0), range, selection;
var a = s, z = s;
while(a.nodeType == 1 && a.childNodes.length) a=a.firstChild;
while(z.nodeType == 1 && z.childNodes.length) z=z.lastChild;
if (!$(a).is('.fixff')) {
var fix = $('<span class="fixff"/>').insertBefore(a);
} else {
a = a.nextSibling;
}
if (document.body.createTextRange) {
range = document.body.createTextRange();
range.moveToElementText(s);
range.select();
} else if (window.getSelection) {
selection = window.getSelection();
range = document.createRange();
range.setStart(a, 0);
range.setEnd(z, z.nodeValue ? z.nodeValue.length : 0);
selection.removeAllRanges();
selection.addRange(range);
}
};
$(function(){$("dl.codebox:not(.spoiler,.hidecode) > dd.code, dl.codebox:not(.spoiler,.hidecode) > dd > code").closest("dl").find('dt').append('<span onClick="selectCode(this)" class="selectCode">Sélectionner</span>')});
Icons derniers messages :
- Code:
// Solution par Milouze14
// https://forum.forumactif.com/t400216-afficher-les-icones-de-sujets-dans-la-colonne-derniers-messages#3340636
$(function(){
$('.topicslist_row').find('.topicslist_infos[style*="background-image"]').each(function(){
var a= $(this).css('background-image');
a= a.replace('url(','').replace(')','').replace(/\"/gi, "");if(a){
$(this).css('background-image','url(https://2img.net/i/fa/empty.gif)');
$(this).find('.topic_msgicon').append('<img src="'+a+'"/>');
}});});
Simplification des balises :
- Code:
//Script par Milouze14
//https://www.milouze14.com/t27816-phpbb3-personnaliser-les-balises-hide-code-quote-et-spoiler
$(function(){
$('cite').closest('blockquote').attr('id','blank_quote');
$('code').closest('.codebox').attr('id','blank_code');
$('.codebox.spoiler').attr('id','blank_spoiler');
$('.codebox.hidecode').attr('id','blank_hide');
});
Thème sombre :
- Code:
<script>
const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]');
const currentTheme = localStorage.getItem('theme');
if (currentTheme) {
document.documentElement.setAttribute('data-theme', currentTheme);
if (currentTheme === 'dark') {
toggleSwitch.checked = true;
}
}
function switchTheme(e) {
if (e.target.checked) {
document.documentElement.setAttribute('data-theme', 'dark');
localStorage.setItem('theme', 'dark');
}
else { document.documentElement.setAttribute('data-theme', 'light');
localStorage.setItem('theme', 'light');
}
}
toggleSwitch.addEventListener('change', switchTheme, false);</script>
Oups, je viens de voir une boulette dans tes scripts:
Il faut supprimer les balises scripts chère amie.
et le laisser ainsi:
- Code:
<script>
const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]');
const currentTheme = localStorage.getItem('theme');
if (currentTheme) {
document.documentElement.setAttribute('data-theme', currentTheme);
if (currentTheme === 'dark') {
toggleSwitch.checked = true;
}
}
function switchTheme(e) {
if (e.target.checked) {
document.documentElement.setAttribute('data-theme', 'dark');
localStorage.setItem('theme', 'dark');
}
else { document.documentElement.setAttribute('data-theme', 'light');
localStorage.setItem('theme', 'light');
}
}
toggleSwitch.addEventListener('change', switchTheme, false);
</script>
Il faut supprimer les balises scripts chère amie.
et le laisser ainsi:
- Code:
const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]');
const currentTheme = localStorage.getItem('theme');
if (currentTheme) {
document.documentElement.setAttribute('data-theme', currentTheme);
if (currentTheme === 'dark') {
toggleSwitch.checked = true;
}
}
function switchTheme(e) {
if (e.target.checked) {
document.documentElement.setAttribute('data-theme', 'dark');
localStorage.setItem('theme', 'dark');
}
else { document.documentElement.setAttribute('data-theme', 'light');
localStorage.setItem('theme', 'light');
}
}
toggleSwitch.addEventListener('change', switchTheme, false);
Ah merdouille ,
remplaces par:
remplaces par:
- Code:
$(function(){
const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]');
const currentTheme = localStorage.getItem('theme');
if (currentTheme) {
document.documentElement.setAttribute('data-theme', currentTheme);
if (currentTheme === 'dark') {
toggleSwitch.checked = true;
}
}
function switchTheme(e) {
if (e.target.checked) {
document.documentElement.setAttribute('data-theme', 'dark');
localStorage.setItem('theme', 'dark');
}
else { document.documentElement.setAttribute('data-theme', 'light');
localStorage.setItem('theme', 'light');
}
}
toggleSwitch.addEventListener('change', switchTheme, false);
});
heartless aime ce message
Sujets similaires
» [PHPBB2] Script d'auto-suggestion pour le système de tags
» [PHPBB3] Script pour forcer la présentation des membres
» [PHPBB3] Couleur du groupe dans système de like
» [PHPBB2] Avatar dans l'auto suggestion des membres sur les tags qui ne s'affiche pas
» [AwesomeBB] Système comme sur ce forum pour les images
» [PHPBB3] Script pour forcer la présentation des membres
» [PHPBB3] Couleur du groupe dans système de like
» [PHPBB2] Avatar dans l'auto suggestion des membres sur les tags qui ne s'affiche pas
» [AwesomeBB] Système comme sur ce forum pour les images
Créer un compte ou se connecter pour répondre
Vous devez être membre pour répondre.
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum