Nie jesteś zalogowany na forum.
Tak jak wyżej. Działy/fora widoczne dla gości tak jak tutaj :
Ale po wejściu np w DANE TECHNICZNE gość musi się zalogować /zarejestrować (przekierowanie do logowania) a po zalogowaniu by widział posty i wątku w dziale DANE TECHNICZNE. Tak jak tutaj:
Offline
Mam dzisiaj dobry dzień, do tego niezbyt co do roboty, to skleiłem Ci parę linijek kodu.
Poniższy kod musisz wrzucić do stopki, na samej górze ustawiasz sobie jakie fora mają być wyłączone dla oglądania dla gości, ale widoczne na liście. W opcjach for musisz zaznaczyć opcję "Czytanie forum" dla gości.
Może dziwne, że ja to mówię (szczególnie jak już napisałem trochę tego kodu), ale lepiej jednak dać sobie spokój z tym dodatkiem i wyłączyć czytanie forum dla gości.
Wady skryptu:
jeśli ktoś wyłączy JS to nie będzie w stanie używać forum (przez ostatnią linijkę skryptu). "Zabezpieczenie" na chama, ale kto dzisiaj wyłącza JS...
Żadne zabezpieczenia w czystym JS nie są dużym problemem dla kogoś, kto się trochę zna i chce mu się poświęcić trochę czasu. Więc jeśli chcesz w tych forach trzymać kody do głowic atomowych - odpada.
Gdybym robił to dla siebie, dodałbym po prostu do drzewa DOM nowy TR na liście forów na stronie głównej. Nie byłoby liczby postów, wątków i ostatniego postu, no ale nie można mieć wszystkiego.
Zalety:
Dodaje funkcjonalność, o którą Ci chodziło.
...to by było na tyle.
<script type="text/javascript">
var ustawienia = {
ID_forow: [2, 5, 1342, 123],
przekierowanie: 'login.php'
};
/**
KODU PONIŻEJ NIE EDYTOWAĆ
Autor: Paweł Neścior
*/
var na_stronie = function (porownaj) {
porownaj = porownaj || false;
var ret = false;
if (porownaj) {
if (ustawienia.ID_forow.indexOf(porownaj) >= 0) {
ret = true;
}
}
else {
for (var i in ustawienia.ID_forow) {
if (location.search.indexOf('id=' + ustawienia.ID_forow[i]) >= 0) {
ret = true;
break;
}
}
}
return ret;
}
var zalogowany = function () {
var login_link = document.getElementById('navlogin');
if (login_link)
return false;
return true;
}
if (location.pathname.indexOf('viewforum') >= 0) {
if (!zalogowany() && na_stronie())
location = ustawienia.przekierowanie;
}
if (location.pathname.indexOf('viewtopic') >= 0) {
if (!zalogowany()) {
var crumbs = document.getElementsByClassName('crumbs'),
dzieci = crumbs[0].getElementsByTagName('li');
for (var i = 0; i < dzieci.length-1; i++) {
var linki = dzieci[i].childNodes;
if (linki.length == 2) {
var href = linki[1].attributes.getNamedItem('href').value;
if (na_stronie(parseInt(href.split('=')[1])))
location = ustawienia.przekierowanie;
}
}
}
}
</script>
<noscript><meta http-equiv="refresh" content="0; url=index.php" /></noscript>
(do stopki)
Jakby komuś się chciało zrobić to jak napisałem w pkt. 3 w wadach, byłoby spoko.
Pzdr.
P.S. Ten tekst "Kodu poniżej nie edytować bla bla bla" to dla tych, którzy się nie znają. Jak ktoś chcę może się babrać.
Ostatnio edytowany przez Rudik (2015-02-23 14:32:47)
Offline
Ale ten czysty JS jest skomplikowany
Moja propozycja tego kodu w JQ. Kod blokuje każde forum bo nie wiem czy chodziło ci o wszystkie czy wybrane.
Do ogłoszenia (NIE WKLEJAJ JEŻELI JUŻ MASZ).
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
i to:
<script>
jQuery(document).ready(function() {
//Skrypt napisał pro14ab
jQuery("#brdheader #brdwelcome .conl li:contains('Nie jesteś zalogowany.')").val(function() {
jQuery('#punviewforum #vf').load('/login.php #login');
});
});
</script>
Oczywiście to też można ominąć bez wysiłku.
Discord: pro14ab#3318
>> GitHub <<
Polecam
Offline
Kod blokuje każde forum bo nie wiem czy chodziło ci o wszystkie czy wybrane.
Chodzi mi o blokowanie wybranych... A jeśli chodzi o kod od Rudik to powiem że nie wiem jak to zmienić... Jestem w tym zielony ale zrozumiałem to tak..
Np. te fora chce zablokować:
I czy to ma tak wyglądać ?
Offline
I teraz w kodzie wpisujesz
Ten dymek pojawia się po najechaniu na link.
Discord: pro14ab#3318
>> GitHub <<
Polecam
Offline
Dzięki @Rudik, i @pro14ab, wszystko działa jak należy.
Offline
Spoczko
@pro14ab odnośnie Twojego kodu - dzisiaj zauważyłem, że na punie jest już domyślnie załączone jQuery, więc nie trzeba go samemu załączać
Wersja 2.1.1.
Offline
Tylko na fluxe a on ma forum na punie
Discord: pro14ab#3318
>> GitHub <<
Polecam
Offline
Aaa widzisz, przyszedł mądrala i się wypowiada, a nie wie.
Offline