<script>
// https://stackoverflow.com/questions/233507/how-to-log-out-user-from-web-site-using-basic-authentication
var logout_from = '../login.php/'; // dir or file to logout from
var to_url = '../'; // dir or file to goto
(function logout() {
var userAgent = navigator.userAgent.toLowerCase();
if (userAgent.indexOf("msie") != -1) {
document.execCommand("ClearAuthenticationCache", false);
}
xhr_object = null;
if(window.XMLHttpRequest)
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject)
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
alert ("Your browser doesn't support XMLHTTPREQUEST");
xhr_object.open ('GET', logout_from, false, 'username', 'password');
xhr_object.send ("");
xhr_object = null;
document.location = to_url; // redirect to the url
// window.close(); // or close the window without a redirect
return false;
})();
</script>
Okay, maar dan moet je daar ook je oplossing zoeken, in plaats van om Joomla heenmetselen. In Joomla kun je toch prima een rol bijmaken? Wellicht heeft Joomla inmiddels zoiets als een sitetree (het is een eeuw sinds ik dat ding voor het laatst heb gebruikt) maar anders zou je een menu kunnen ge/misbruiken om een soort van boomstructuur aan te leggen? En vervolgens (niet mooi maar wel effectief) zou je op grond van die structuur beslissingen kunnen nemen of iemand toegang heeft of niet. Zo zou je kunnen hardcoden dat iedereen die iets onder /leden wil zien een bepaald recht of rol moet hebben. Niet mooi of ideaal, maar het zal in ieder geval werken. En wellicht heeft Joomla inmiddels meer middelen tot zijn beschikking om dit te doen, mogelijk kun je (of kon je al) vereiste rollen/rechten ophangen aan individuele pagina's o.i.d.. Zorg in ieder geval dat je de Joomla-manier gebruikt of hier in ieder geval (zoveel mogelijk) gebruik van maakt, maar ga niet buiten het systeem ombouwen. En ga dus altijd via een plan te werk.
En als je dat niet kunt, wilt of lukt dan zou je je natuurlijk ook af kunnen vragen waarom je Joomla in eerste instantie gebruikt. Ik vond het zelf een verschrikkelijk onhandig systeem.
Het was de bedoeling een supersimpele login te maken met maar 1 user die altijd hetzelfde is. Dus het werkt prima zo. Joomla gebruik ik eigenlijk alleen de basis van, gebruikers kunnen via joomla menu items aanmaken e.d. en dan haal ik die aanpassingen zelf uit de joomla database en gebruik die data aan de voorkant met mijn eigen code. Het is dus geen joomla cms met een joomla voorkant, zo'n beetje 70% van de cms functionaliteiten heb ik eruit gehaald.
En waarom bouw je dit niet zelf als je Joomla nauwelijks gebruikt? Je moet je realiseren dat je je wel een erfenis op de hals haalt op het moment dat je een volledig open source content management systeem als basis gebruikt om andere dingen te bouwen. Je zult dan op de hoogte moeten blijven van patches, security, lekken et cetera. Als je je Joomla-installatie in eerste instantie al onderhoudt?
Heb je bij wijze van test of gedachtenexperiment wel eens geprobeerd om in te schatten hoeveel tijd het kost om de functionaliteit die jij van Joomla gebruikt zelf te bouwen? Toen ik met Joomla werkte kon ik daar niet echt boomstructuren in kwijt (behalve door misbruik te maken van menu's) en aangezien jij een eind op weg bent met het bouwen van eigen structuren die meer dan één niveau diep zijn zou ik mijzelf hardop de vraag stellen of Joomla je niet meer in de weg zit dan tegemoet komt.