[FINAL] AJAX Userinfo 1.0.4

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12178
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: [FINAL] AJAX Userinfo 1.0.4

Beitrag von Mahony »

Hallo
Wie wärs mal mit Augen aufmachen und eine Seite zurück navigieren? Da hättest du das gefunden --> viewtopic.php?p=1159646#p1159646
Hier der direkte Link zu den Änderungen --> http://www.phpbb.com/community/viewtopi ... #p11841145


Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Benutzeravatar
seemann1965
Mitglied
Beiträge: 495
Registriert: 12.11.2009 19:15

Re: [FINAL] AJAX Userinfo 1.0.4

Beitrag von seemann1965 »

hallo mahony,
danke dir für die schnelle hilfe, es ist schon spät oder eher früh kann schon nix mehr sehen, danke dir.

seemann

Edit: Funktionert einwandfrei, bleibt nix mehr hängen.
Kaum macht man es richtig, funktioniert es !

Portal der Volksmarine
KevinB
Mitglied
Beiträge: 43
Registriert: 01.12.2008 15:17

Re: [FINAL] AJAX Userinfo 1.0.4

Beitrag von KevinB »

ich habe den mod auch bei mir drauf gemacht es geht auch alles ich habe blos das problem das sich das fenster über meinen kategorien aufgeht und nicht über den mauszeiger in einer älteren version war es nicht so meine frage jetzt ist das jetzt normal oder nicht weil ich es davor besser fand also wo es neben der maus auf ging hoffe um hilfe hier noch mal ein pic dazu [ externes Bild ]
Benutzeravatar
archivar
Mitglied
Beiträge: 572
Registriert: 07.08.2008 08:25
Wohnort: Deutschland

Re: [FINAL] AJAX Userinfo 1.0.4

Beitrag von archivar »

KevinB hat geschrieben:ich habe den mod auch bei mir drauf gemacht es geht auch alles ich habe blos das problem das sich das fenster über meinen kategorien aufgeht und nicht über den mauszeiger in einer älteren version war es nicht so meine frage jetzt ist das jetzt normal oder nicht weil ich es davor besser fand also wo es neben der maus auf ging hoffe um hilfe hier.....
Schau mal hier:
Mahony hat geschrieben:Hallo
Wie wärs mal mit Augen aufmachen und eine Seite zurück navigieren? Da hättest du das gefunden --> viewtopic.php?p=1159646#p1159646
Hier der direkte Link zu den Änderungen --> http://www.phpbb.com/community/viewtopi ... #p11841145


Grüße: Mahony
Läuft so bei mir Tadellos auch unter phpBB-3.0.7-PL1; board3_Portal_105. :)
V. G. archivar
Benutzeravatar
Frank1604
Ehemaliges Teammitglied
Beiträge: 2106
Registriert: 07.11.2007 09:25
Wohnort: Einhausen
Kontaktdaten:

Re: [FINAL] AJAX Userinfo 1.0.4

Beitrag von Frank1604 »

Bei mir auch tadelos mit den Änderungen.
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
KevinB
Mitglied
Beiträge: 43
Registriert: 01.12.2008 15:17

Re: [FINAL] AJAX Userinfo 1.0.4

Beitrag von KevinB »

also um ehrlich zu sein habe ich jetzt nicht genau verstanden was ich tuhen soll um dies so zu machen wie ich es haben will
Benutzeravatar
archivar
Mitglied
Beiträge: 572
Registriert: 07.08.2008 08:25
Wohnort: Deutschland

Re: [FINAL] AJAX Userinfo 1.0.4

Beitrag von archivar »

So-das Ganze mal in Deutsch: :D
Diese Änderungen beziehen sich auf eine neue Installation von AJAX Userinfo 1.0.4 und wurden von @Mahony vorgeschlagen.
Wer nicht weiß wie er den Mod updaten soll: die alte Version komplett rückgängig machen und danach die neue Version installieren.
Du machst alles so wie es in der install.xml (außer die Änderung der includes/functions_content.php) und in der subsilver2.xml von AJAX Userinfo 1.0.4 steht
Dann änderst Du die root/includes/functions_content.php:
suche in root/includes/functions_content.php:

Code: Alles auswählen

    if (($mode == 'full' && !$profile_url) || $mode == 'no_profile')
        {
            return str_replace(array('{USERNAME_COLOUR}', '{USERNAME}'), array($username_colour, $username), (!$username_colour) ? $_profile_cache['tpl_noprofile'] : $_profile_cache['tpl_noprofile_colour']);
        }

        return str_replace(array('{PROFILE_URL}', '{USERNAME_COLOUR}', '{USERNAME}'), array($profile_url, $username_colour, $username), (!$username_colour) ? $_profile_cache['tpl_profile'] : $_profile_cache['tpl_profile_colour']);
    } 
ersetze damit:

Code: Alles auswählen

    $_uinfo_profile = '<a href="{PROFILE_URL}" onmouseover="show_popup(' . $user_id . ')" onmouseout="close_popup()">{USERNAME}</a>';
       $_uinfo_profile_colour = '<a href="{PROFILE_URL}" style="color: {USERNAME_COLOUR};" class="username-coloured" onmouseover="show_popup(' . $user_id . ')" onmouseout="close_popup()">{USERNAME}</a>';
       if (($mode == 'full' && !$profile_url) || $mode == 'no_profile')
       {
          return str_replace(array('{USERNAME_COLOUR}', '{USERNAME}'), array($username_colour, $username), (!$username_colour) ? $_profile_cache['tpl_noprofile'] : $_profile_cache['tpl_noprofile_colour']);
       }
       
       return str_replace(array('{PROFILE_URL}', '{USERNAME_COLOUR}', '{USERNAME}'), array($profile_url, $username_colour, $username), (!$username_colour) ? $_uinfo_profile : $_uinfo_profile_colour);
    } 
Dann tauschst Du den kompletten Inhalt folgender Dateien gegen diesen Code aus:
root/styles/prosilver/template/ajax_userinfo.html

Code: Alles auswählen

    <script type="text/javascript">
    // <![CDATA[
       // show the popup
       function show_popup(UserID) {
          if(http_getuser) {
             document.getElementById('popup').style.display='block'; sendRequest(UserID);
          }
       }
       // hide the popup
       function close_popup() {
          document.getElementById('popup').style.display='none';
          document.getElementById('ajax_username').innerHTML = '&nbsp;';
          document.getElementById('ajax_registert').innerHTML = '&nbsp;';
          document.getElementById('ajax_posts').innerHTML = '&nbsp;';
          document.getElementById('ajax_website').innerHTML = '&nbsp;';
          document.getElementById('ajax_from').innerHTML = '&nbsp;';
          document.getElementById('ajax_last_visit').innerHTML = '&nbsp;';
          document.getElementById('ajax_rank').innerHTML = '&nbsp;';
          document.getElementById('ajax_avatar').innerHTML = '&nbsp;';
          document.getElementById('ajax_rankimage').innerHTML = '&nbsp;';
       }
       // Make the request
       function createRequestObject() {
          if(window.XMLHttpRequest){
             ro = new XMLHttpRequest();
          } else if(window.ActiveXObject) {
             ro = new ActiveXObject("Msxml2.XMLHTTP");
             if(!ro) {
                ro = new ActiveXObject("Microsoft.XMLHTTP");
             }
          }
          return ro;
       }
       var http_getuser = createRequestObject();
       function sendRequest(UserID) {
          var userinfo_url = '{AJAX_USERINFO_PATH}';
          http_getuser.open('get', userinfo_url.replace('USERID', UserID));
          http_getuser.onreadystatechange = handleResponse;
          http_getuser.send(null);
       }
       // fill in the response
       function handleResponse() {
          if(http_getuser.readyState == 4 ){
             var xmlDoc = http_getuser.responseXML;
             if(xmlDoc.hasChildNodes()) {
                document.getElementById('ajax_username').innerHTML = xmlDoc.getElementsByTagName('username')[0].firstChild.nodeValue;
                document.getElementById('ajax_registert').innerHTML = xmlDoc.getElementsByTagName('regdate')[0].firstChild.nodeValue;
                document.getElementById('ajax_posts').innerHTML = xmlDoc.getElementsByTagName('posts')[0].firstChild.nodeValue;
                document.getElementById('ajax_website').innerHTML = xmlDoc.getElementsByTagName('website')[0].firstChild.nodeValue;
                document.getElementById('ajax_from').innerHTML = xmlDoc.getElementsByTagName('from')[0].firstChild.nodeValue;
                document.getElementById('ajax_last_visit').innerHTML = xmlDoc.getElementsByTagName('lastvisit')[0].firstChild.nodeValue;
                document.getElementById('ajax_rank').innerHTML = xmlDoc.getElementsByTagName('rank')[0].firstChild.nodeValue;
                document.getElementById('ajax_avatar').innerHTML = xmlDoc.getElementsByTagName('avatar')[0].firstChild.nodeValue;
                document.getElementById('ajax_rankimage').innerHTML = xmlDoc.getElementsByTagName('rankimage')[0].firstChild.nodeValue;
                //document.getElementById('popup').style.display='block';
             }
          }
       }
       // set popup to mouse possition
       function set_div_to_mouse(e) {
          var docX, docY;
          if(e) {
             if(typeof(e.pageX) == 'number') { docX = e.pageX; docY = e.pageY;}
             else {docX = e.clientX; docY = e.clientY;}
          } else {
             e = window.event;
             docX = e.clientX; docY = e.clientY;
             if(document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollLeft)) {
                docX += document.documentElement.scrollLeft; docY += document.documentElement.scrollTop;
             }
             else if(document.body && (document.body.scrollTop || document.body.scrollLeft)) {
                docX += document.body.scrollLeft; docY += document.body.scrollTop;
             }
          }
          if (docX > document.body.offsetWidth - 400) {
             document.getElementById('popup').style.left = (docX - 350) + "px";
          } else {
             document.getElementById('popup').style.left = (docX - 5) + "px";
          }
          document.getElementById('popup').style.top    = (docY + 30) + "px";
       }
       document.onmousemove = set_div_to_mouse;
    // ]]>
    </script>
    <div class="forabg" id="popup" style="display: none;">
       <div class="inner">
          <span class="corners-top"><span></span></span>
          <ul class="topiclist fullwidth">
             <li class="header"><dl><dt>{L_READ_PROFILE}</dt></dl></li>
          </ul>
          <ul class="topiclist forums">
             <li><dl>
                <dd style="width:100%">
                   <div id="ajax_avatar"></div>
                   <strong>{L_USERNAME}:</strong> <span id="ajax_username"></span><br />
                   <strong>{L_TOTAL_POSTS}:</strong> <span id="ajax_posts"></span><br />
                   <strong>{L_SORT_RANK}:</strong> <span id="ajax_rank"></span><br />
                   <strong>{L_JOINED}:</strong> <span id="ajax_registert"></span><br />
                   <strong>{L_LAST_VISIT}:</strong> <span id="ajax_last_visit"></span><br />
                   <strong>{L_LOCATION}:</strong> <span id="ajax_from"></span><br />
                   <strong>{L_WEBSITE}:</strong> <span id="ajax_website"></span>
                   <br style="clear: both;" />
                </dd>
             </dl></li>
          </ul>
          <span class="corners-bottom"><span></span></span>
       </div>
    </div>
root/styles/subsilver2/template/ajax_userinfo.html:

Code: Alles auswählen

    <script type="text/javascript">
    // <![CDATA[
       // show the popup
       function show_popup(UserID) {
          if(http_getuser) {
             document.getElementById('popup').style.display='block'; sendRequest(UserID);
          }
       }
       // hide the popup
       function close_popup() {
          document.getElementById('popup').style.display='none';
          document.getElementById('ajax_username').innerHTML = '&nbsp;';
          document.getElementById('ajax_registert').innerHTML = '&nbsp;';
          document.getElementById('ajax_posts').innerHTML = '&nbsp;';
          document.getElementById('ajax_website').innerHTML = '&nbsp;';
          document.getElementById('ajax_from').innerHTML = '&nbsp;';
          document.getElementById('ajax_last_visit').innerHTML = '&nbsp;';
          document.getElementById('ajax_rank').innerHTML = '&nbsp;';
          document.getElementById('ajax_avatar').innerHTML = '&nbsp;';
          document.getElementById('ajax_rankimage').innerHTML = '&nbsp;';
       }
       // Make the request
       function createRequestObject() {
          if(window.XMLHttpRequest){
             ro = new XMLHttpRequest();
          } else if(window.ActiveXObject) {
             ro = new ActiveXObject("Msxml2.XMLHTTP");
             if(!ro) {
                ro = new ActiveXObject("Microsoft.XMLHTTP");
             }
          }
          return ro;
       }
       var http_getuser = createRequestObject();
       function sendRequest(UserID) {
          var userinfo_url = '{AJAX_USERINFO_PATH}';
          http_getuser.open('get', userinfo_url.replace('USERID', UserID));
          http_getuser.onreadystatechange = handleResponse;
          http_getuser.send(null);
       }
       // fill in the response
       function handleResponse() {
          if(http_getuser.readyState == 4 ){
             var xmlDoc = http_getuser.responseXML;
             if(xmlDoc.hasChildNodes()) {
                document.getElementById('ajax_username').innerHTML = xmlDoc.getElementsByTagName('username')[0].firstChild.nodeValue;
                document.getElementById('ajax_registert').innerHTML = xmlDoc.getElementsByTagName('regdate')[0].firstChild.nodeValue;
                document.getElementById('ajax_posts').innerHTML = xmlDoc.getElementsByTagName('posts')[0].firstChild.nodeValue;
                document.getElementById('ajax_website').innerHTML = xmlDoc.getElementsByTagName('website')[0].firstChild.nodeValue;
                document.getElementById('ajax_from').innerHTML = xmlDoc.getElementsByTagName('from')[0].firstChild.nodeValue;
                document.getElementById('ajax_last_visit').innerHTML = xmlDoc.getElementsByTagName('lastvisit')[0].firstChild.nodeValue;
                document.getElementById('ajax_rank').innerHTML = xmlDoc.getElementsByTagName('rank')[0].firstChild.nodeValue;
                document.getElementById('ajax_avatar').innerHTML = xmlDoc.getElementsByTagName('avatar')[0].firstChild.nodeValue;
                document.getElementById('ajax_rankimage').innerHTML = xmlDoc.getElementsByTagName('rankimage')[0].firstChild.nodeValue;
                //document.getElementById('popup').style.display='block';
             }
          }
       }
       // set popup to mouse possition
       function set_div_to_mouse(e) {
          var docX, docY;
          if(e) {
             if(typeof(e.pageX) == 'number') { docX = e.pageX; docY = e.pageY;}
             else {docX = e.clientX; docY = e.clientY;}
          } else {
             e = window.event;
             docX = e.clientX; docY = e.clientY;
             if(document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollLeft)) {
                docX += document.documentElement.scrollLeft; docY += document.documentElement.scrollTop;
             }
             else if(document.body && (document.body.scrollTop || document.body.scrollLeft)) {
                docX += document.body.scrollLeft; docY += document.body.scrollTop;
             }
          }
          if (docX > document.body.offsetWidth - 400) {
             document.getElementById('popup').style.left = (docX - 350) + "px";
          } else {
             document.getElementById('popup').style.left = (docX - 5) + "px";
          }
          document.getElementById('popup').style.top    = (docY + 30) + "px";
       }
       document.onmousemove = set_div_to_mouse;
    // ]]>
    </script>
    <div id="popup" style="display: none;">
    <table class="tablebg" width="100%" cellspacing="1">
    <tr>
       <th>{L_READ_PROFILE}</th>
    </tr>
    <tr>
    <td class="row1" nowrap="nowrap">
       <div class="box1" style="width:100px; float: left;" align="center">
       <span id="ajax_avatar"></span>
       </div>
       <div class="box1" style="margin-left: 100px;">
          <strong>{L_USERNAME}:</strong> <span id="ajax_username"></span><br />
          <strong>{L_TOTAL_POSTS}:</strong> <span id="ajax_posts"></span><br />
          <strong>{L_SORT_RANK}:</strong> <span id="ajax_rank"></span><br />
          <strong>{L_JOINED}:</strong> <span id="ajax_registert"></span><br />
          <strong>{L_LAST_VISIT}:</strong> <span id="ajax_last_visit"></span><br />
          <strong>{L_LOCATION}:</strong> <span id="ajax_from"></span><br />
          <strong>{L_WEBSITE}:</strong> <span id="ajax_website"></span>
            <br style="clear: both;" />
       </div>
    </td>
    </tr>
    </table>
    </div>
Und wie immer am Schluß:
Dateien hochladen und deine Styles aktualisieren:
"Administrations-Bereich" (ACP) > "Styles" > "Templates" > jedes > "Aktualisieren"
"Administrations-Bereich" (ACP) > "Styles" > "Themes" > jedes > "Aktualisieren"
"Administrations-Bereich" (ACP) > "Styles" > "Grafiksammlungen" > jedes > "Aktualisieren"
Leere den Cache im "Administrations-Bereich" (ACP) > "Allgemein" > "Den Cache leeren"
V. G. archivar
Benutzeravatar
Daryl van Horne
Mitglied
Beiträge: 936
Registriert: 08.07.2008 01:25
Kontaktdaten:

Re: [FINAL] AJAX Userinfo 1.0.4

Beitrag von Daryl van Horne »

hi,
ich habe userinfo 1.0.3 auf mein alten board, und nun wollte ich userinfo 1.0.4 auf meinen neuen forum istallieren, und danach 1.0.3 auf 1.0.4 updaten...
allerdings, fehlt "contrib"...
brauch zum updaten einfach nur alles überschreiben, oder muss ich noch andere änderungen vornehmen!?
gruss daryl
Fettflecken halten länger, wenn man sie ab und zu mit Butter einreibt. :D http://www.00493088535469.de/
Phoenix
Mitglied
Beiträge: 129
Registriert: 20.06.2009 20:50

Re: [FINAL] AJAX Userinfo 1.0.4

Beitrag von Phoenix »

einfach das machen was archivar sagte ;)


andere frage wie kann man die userinfo erweitern mit den anzahl der Themen( der eine mod von Vergessen) und evtl. ein paar selbsterstellte Profilfelder ??
hackepeter13
Valued Contributor
Beiträge: 3545
Registriert: 21.04.2004 12:22
Wohnort: Berlin
Kontaktdaten:

Re: [FINAL] AJAX Userinfo 1.0.4

Beitrag von hackepeter13 »

Phoenix hat geschrieben:andere frage wie kann man die userinfo erweitern mit den anzahl der Themen( der eine mod von Vergessen) und evtl. ein paar selbsterstellte Profilfelder ??
Anzahl der Themen (Mod von nickvergessen vorausgesetzt):

Öffne:
ajax_userinfo.php

Suche:

Code: Alles auswählen

$sql = 'SELECT username, username_clean, user_regdate, user_posts, 
(Code ist länger)

Füge am Ende ein:

Code: Alles auswählen

, user_topics
Suche:

Code: Alles auswählen

	echo '<posts><![CDATA[' . $row['user_posts'] . ']]></posts>';
Danach einfügen:

Code: Alles auswählen

	echo '<topics><![CDATA[' . $row['user_topics'] . ']]></topics>';
Öffne:
ajax_userinfo.html

Suche:

Code: Alles auswählen

		document.getElementById('ajax_posts').innerHTML = '&nbsp;';
Danach einfügen:

Code: Alles auswählen

		document.getElementById('ajax_topics').innerHTML = '&nbsp;';
Suche:

Code: Alles auswählen

				document.getElementById('ajax_posts').innerHTML = xmlDoc.getElementsByTagName('posts')[0].firstChild.nodeValue;
Danach einfügen:

Code: Alles auswählen

				document.getElementById('ajax_topics').innerHTML = xmlDoc.getElementsByTagName('topics')[0].firstChild.nodeValue;
Suche:

Code: Alles auswählen

               <strong>{L_TOTAL_POSTS}:</strong> <span id="ajax_posts"></span><br />
Danach einfügen:

Code: Alles auswählen

               <strong>{L_TOTAL_TOPICS}:</strong> <span id="ajax_topics"></span><br />
Ich hoffe, ich habe nichts vergessen.
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“