[WCF-Plugin] Kennst du schon ...?

  • [WCF-Plugin] Kennst du schon ...?

    [webdisk]96[/webdisk]Fügt dem Frontend eine Seite hinzu, welche dem Aussehen eines Benutzerprofils entspricht. Bei jedem Aufruf wird aus dem Cache eine beliebige UserID zufällig gewählt (random) und dieser User wird dann angezeigt - klein aber fein!

    sampUCP by mtp-dev.org
    Aktuelle Version: 1.0.0
    Supportforum: klick!
    Download: klick!
    [Blockierte Grafik: http://www.abload.de/img/untitled-1clxbs2.png]
    m o r e t h a n p o s s i b l e d e v e l o p m e n t

    ==========================================================

    Sehr geehrte Benutzer,
    hiermit möchte MTP-DEV sein drittes PlugIn unter "MTP-DEV" offiziell zum Download anbieten. Dieses PlugIn dient zu dazu, Mitglieder besser kennen zu lernen, aber nicht indem man selbst schaut, wer könnte denn interessant nein - denn alle Persönlichkeiten habe etwas interessantes an sich, diese Aufgabe übernimmt also dieses Plugin für euch. Ihr habt die Möglichkeit, mit einem Klick auf den Button oben im Menü (Headermenü, auch hier auf easy-scripting zu sehen) ein Userprofil anzuschauen, doch welches, dass entscheidet eine Art "random" - Funktion im PlugIn, daher der Name "randomUser". Es wird ein ganz gewöhnliches Benutzerprofil angezeigt, woraus man schließen könnte, dass Code aus dem WCF enthalten ist, und ja, das stimmt auch. Die UserPage.class.php und das dazugehörige Template wurden kopiert und abgeändert bzw. angepasst. Da diese Dateien unter LGPL stehen, und nach einem Gespräch mit einem WoltLab-Developer klar wurde, dass ich dieses veröffentlichen darf, gibt es nun kein Halt mehr für euch, dieses herunterzuladen.

    Die Idee entstand aus eigenem Interesse: Ich durchschnüffle gerne Userprofile, doch immer wieder die gleichen ... nun wollt' ich einfach mal neue User kennen lernen, die einem gar nicht so auffallen ... ich kann nun halb easy-scripting auswendig *lach*. :)

    Ein Screenshot noch zum Abschluss:
    Bei Fragen bitten wir unser Supportforum (mtp-dev.org) zu besuchen und dort Fragen zu stellen. Das Copyright darf bei Nutzung des PlugIns nicht entfernt werden!

    Wir wünschen Ihnen viel Spaß,
    - mtp-dev.org / Vincent Petritz


    [webdisk]99[/webdisk]
  • Du musst nicht meine Beiträge löschen bloß weil sie die Wahrheit sagen. Kritikfähigkeit ist hier gleich 0

    zurück zum Thema laut meinen Informationen hast du ganze 9 Fehler in einem Pliugin (laut Woltlab). Respekt ehrlich und du willst dein Framework für 80€ (!!!!!!!!) verkaufen. Ich weiß nicht mal wie viele Fehler da drinne sind. Es gibt nicht mal eine Live Preview.

    Deine Programmierung wird nicht besser nur schlechter. Dein Plugin müsste schon alleine nur einen SQL Befehl haben nicht alle User auslesen. Du musst dir mal große Foren vorstellen. Es ist ein Unterschied wenn ein PHP Code 20000 mal ne Schleife ausführen muss er 1 mal! Zudem finde ich es lächerlich das du den Template-Code von Woltlab klaust und als deinen eigenen ausgibst. Ein actiion-Script hätte gereicht der per SQL einen zufällige ID raus sucht und dann eine Weiterleitung auf das echt Profilfeld macht!
    [mp]41[/mp]
    [mp]46[/mp]

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von lovelins12 ()

  • Und wer sagt das er den Templatecode als seinen eigenen ausgibt?

    Und es macht einen großen Unterschied ob jetzt bei jedem Aufruf die DB ausgelesen wird oder alles gecached wird. Um bei deinem Beispiel mit großen Foren zu bleiben:

    Was meinst du benötigt mehr Rechenzeit? Alle 15 Minuten ein Query und bei jedem Aufruf einfach ein zufälliges Feld anzeigen oder bei jedem Aufruf ein Query?
    [tabmenu]
    [tab='Werbung in eigener Sache']
    Du suchst einen Instant Messenger dessen Verbindung voll verschlüsselt ist? Weiterhin soll er mit anderen Instant Massenging Protokollen verknüpfbar sein? Außerdem möchtest du weltweit erreichbar sein (ähnlich icq und msn)? - Dann schick mir Post und erhalte ein unverbindliches, auf alle Fälle kostenloses, Angebot:
    [Blockierte Grafik: http://easy-scripting.net/icon/vCollection/pmEmptyS.png]
    [tab='Vorstellung']
    NurPech
    [tab='meine Tutorials']
    [subtab='C#']

    [subtab='PHP']

    [/tabmenu]

    Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von [Blockierte Grafik: http://i.creativecommons.org/l/by-nc-nd/3.0/80x15.png] verwendet werden
  • Dann hast du ja 'ne Peilung, lovelins12.
    Ich bin wohl kritikfähig, nur nicht so, das ist keine Kritik, was du ausübst.

    Im übrigen würde ich an deiner Stelle mal in die RandomUserPage.class.php schauen unter Kommentare, die UserPage.class.php steht unter LGPL und ich habe Herrn Ebert dazu auch befragt, er meinte, sofern ich Herrn Werk in den Kommentaren versehe, ist alles rechtens. Also bitte, mach halblang.

    BTW ist die Lösung mit 'nem Cache wesentlich eleganter, überleg mal warum... :)
  • NurPech schrieb:

    Und es macht einen großen Unterschied ob jetzt bei jedem Aufruf die DB ausgelesen wird oder alles gecached wird. Um bei deinem Beispiel mit großen Foren zu bleiben:

    Was meinst du benötigt mehr Rechenzeit? Alle 15 Minuten ein Query und bei jedem Aufruf einfach ein zufälliges Feld anzeigen oder bei jedem Aufruf ein Query?
    ich rede hier nicht nur vom query wenn alles gecached wird wirds früher oder später wieso ausgelesen mit einer schleife

    rechne mal damit es wurde gecached dann würde die anzahl der rechenschritte so aus sehen:

    Beim ersten mal:
    n = 1 + 2*Anzahl der User + restlcihe Schritte

    Alle anderen male:
    n = 1 + 1*Anzahl der User + restlcihe Schritte

    bei meiner Variante wären es konstant

    n = 2 + restlcihe Schritte

    Zudem müsste bei deiner Variante das Profil extra nochmal aufgebaut werden was bei mir schon compiliert ist weil es direkt auf das User-Profil geht

    Zudem wären bei deiner Variante die Mitglieder nie aktuell

    zudem ist das so ganz sicher auch nicht richtig:

    PHP-Quellcode

    1. public function readParameters() {
    2. parent::readParameters();
    3. WCF::getCache()->addResource('user', WCF_DIR.'cache/cache.user.php', WCF_DIR.'lib/system/cache/CacheBuilderUser.class.php', 300, 300);
    4. $cache = WCF::getCache()->get('user', 'user');
    5. shuffle($cache);
    6. // get profile frame
    7. $this->frame = new UserProfileFrame($this, $cache[0]);
    8. }


    So werden keine Parameter gelesen
    readParameters ist dafür da Daten zu verarbeiten die per GET/POST über geben werden!
    [mp]41[/mp]
    [mp]46[/mp]

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von lovelins12 ()

  • Deine Rechtschreibung ist übrigens genau so gut wie deine Programmierkenntnisse!

    An dieser Stelle, danke gleichfalls. ;)

    Desweiteren ist es doch wohl kein Problem, wenn ich nun zwei Templates mit nahezu dem gleichen Inhalt habe (& Klassen) - da seh ich jetzt dein Problem nicht, ich wollte es, dass es eben keine Weiterleitung zum Profil wird, sondern eine Extraseite - das ist beabsichtigt.

    Statt readParameters() hätte ich wohl tatsächlich auf readData() gehen sollen, aber da ich bei readParameters() eben noch etwas umformen musste, habe ich es vermutlich in der Methode gelassen - Flüchtigkeitsfehler, wird behoben.

    Deine Theorie jedoch, versteh' ich nicht recht bzgl.:
    "n = 1 + 1 * Anzahl der User + restliche Schritte" usw.