1/* 2* 3* In dieser Datei sind alle Javascript Bestandteile, welche zur Interaktion auf Mitglieder-Daten notwendig sind. 4* Beispiele: Mitglieder nach Eingabe vorschlagen, ggf. auch weitere Daten eines Mitglieds per Ajax erhalten 5* 6* */ 7/*function createRequestObject(){ 8var ro; 9var browser = navigator.appName; 10if(browser == "Microsoft Internet Explorer"){ 11ro = new ActiveXObject("Microsoft.XMLHTTP"); 12} 13else{ 14ro = new XMLHttpRequest(); 15} 16return ro; 17} 18var http = createRequestObject(); 19*/ 20// alert ('search_username.js tatsaechlich geladen'); 21var miranus_search_username; 22var miranus_search_username_suggest; 23function miranus_add_js_search_username(nodeid) { 24/* 25* ToDo: 26* 27* Es soll einheitlich in allen Foren-Bereichen möglich sein ein input Feld mit dem HTML-Code 28* onfocus="miranus_add_js(this,'search_username'); (mehr soll nicht notwendig sein) 29* um die hier definierte Auswahl-Box zu erweitern. Vgl. Template "User Widget Add". 30* 31* Das Element "miranus_search_username_suggest" zur Anzeige der Vorschläge wird also auch dynamisch hier im Javascript erzeugt. 32* 33* Dabei ist auch wichtig, dass das Input Feld stets auch funktioniert, falls Javascript deaktiviert ist oder der Ajax Aufruf fehlschlägt. 34* Der Ajax-Aufruf soll im Normalfall nur dafür sorgen, dass ein vorgeschlagener Nickname in das input-Feld kopiert wird und 35* später im PHP-Code aus diesem Nickname wieder der User gefunden wird. 36* 37* Die Verwendung vorhandener Suggestion Libs / jQuery würde ggf. bei einer folgenden Erweiterung um die Anzeige des Avatars o.ä. scheitern. 38* 39* Ein Spezialfall wie hier (Erst nach Auswahl wird ein submit Bton hinzugefügt) müsste gesondert definiert werden und an geeigneter Stelle auf die Standard-Lösung zurückgreifen 40* Evtl. mit der Ãbergabe einer function, die nach Auswahl eines Nicknames aufgerufen wird? 41* 42* */ 43if(document.getElementById(nodeid).onkeyup) return; /* Wurde bereits initialisiert */ 44else { 45miranus_search_username = document.getElementById(nodeid); /* input Feld */ 46if(!miranus_search_username) { alert ('node "' + miranus_search_username_id + '"not available'); return; } 47miranus_search_username.onkeyup = new Function("listUsers();"); 48miranus_search_username.autocomplete = "off"; 49//miranus_search_username.style.backgroundColor = '#FF6666'; /* Debug */ 50miranus_search_username_suggest = document.getElementById("UserSuggest"); 51//miranus_search_username_suggest = document.createElement('div'); 52miranus_search_username_suggest.style.position = 'relative'; /* Im Firefox OK, im IE nach rechts verrutscht */ 53miranus_search_username_suggest.style.zIndex = 99; 54miranus_search_username_suggest.style.width = document.getElementById(nodeid).style.width;//miranus_search_username.offsetWidth; 55//miranus_search_username.parentNode.insertBefore(miranus_search_username_suggest,miranus_search_username.nextSibling); 56} 57} 58function listUsers(){ 59$('#UserError').html(''); 60$('#save_button').show(); 61name = document.getElementById('username').value.replace(/'/g,"\\'"); 62if(typeof $ == "function"){getUserAlternative(name);} 63else{proposeUser(name);} 64} 65function proposeUser(name){ 66if(name.length != 0){ 67hpm_request.open('get', '../ajax/getUser.php?prefix=' +decodeURIComponent(name));// encodeURIComponent(name) 68hpm_request.onreadystatechange = getUser; 69hpm_request.send(null); 70miranus_search_username_suggest.style.display = 'block'; 71} else { 72miranus_search_username_suggest.innerHTML = ''; 73miranus_search_username_suggest.style.display = 'none'; 74} 75} 76function getUserAlternative(sname){ 77//überprüfen ob Jquery definiert ist 78if(typeof $ == "function"){ 79//getData 80if(sname.length>0){ 81$.ajax({ 82method: 'GET', 83url: '../ajax/getUser.php?prefix=' +sname, //encodeURIComponent(sname), 84success: function(res){ 85if(res) { 86var users = eval('(' + res + ')'); 87$('#UserSuggest').html(''); 88for(var i=0;i<users.length;i++){ 89var name = users[i]['text']; 90var id = users[i]['id']; 91if(name != "" && name.length !=0 ){ 92$('<li><a href="javascript:SelUser(' + "'" + escape(name.replace(/'/g,"\\\'")) + "'" + ',\''+id+'\')">'+name+'</a></li>').appendTo('#UserSuggest');} 93} 94} 95} 96}); 97} 98} 99} 100function getUser() { 101if(hpm_request.readyState == 4){ 102var response = hpm_request.responseText; 103if(!response || response == " "){ 104document.getElementById('picturediv').style.display='none'; 105miranus_search_username_suggest.innerHTML = ""; 106} 107else { 108var users = eval('(' + response + ')'); 109var list = '<div style="width:410px; display: block; position: relative; max-height: 150px; overflow: hidden;">'; 110for(var i=0;i<users.length;i++){ 111var name = users[i]['text']; 112var id = users[i]['id'] 113if(name!="" && name.length != 0) 114list += '<div style="width: 200px; margin: 1px; float: left; border: 1px solid #e6e6dc; "><a onmouseout="this.style.textDecoration=\'none\';" onmouseover="this.style.textDecoration=\'underline\';" style="text-decoration: none; display:block;width:100%;text-align:left;line-height:20px;padding:0 3px;" onclick="" href="javascript:SelUser(' + "'" + escape(name.replace(/'/g,"\\\'")) + "'" + ',\''+id+'\')">' +name + '</a></div>'; 115} 116list +='<div style="clear: both;"></div></div>'; 117miranus_search_username_suggest.innerHTML = list; 118} 119} 120} 121function SelUser(name,id){ 122document.getElementById('username').value=name; 123ChkUser(document.getElementById('username').value); 124miranus_search_username_suggest.innerHTML=''; 125miranus_search_username_suggest.display = 'none'; 126}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.