Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support

Blackman

Mitglied
  • Content count

    311
  • Joined

  • Last visited

Posts posted by Blackman


  1. Dateiname: Open-Poll / Offene Umfragen

    Dateisender: Blackman

    Datei eingesendet: 19 Oct 2006

    Datei zuletzt bearbeitet: 19 Oct 2006

    Dateikategorie: Modifikationen 1.3

    Wie eigentlich klar sein sollte, sorgt dieser Mod dafür das man nun auch offene Umfragen starten kann, der originale Quelltext kommt von mir, nach Nachbearbeitung von Stefan ist zwar nicht mehr viel davon übrig geblieben, aber dafür ist das die Garantie dafür das der Mod sich gut ins Forum eingliedert :)

    Hier klicken um diese Datei herunterzuladen


  2. Ist, glaub ich, auch so bekannt :)

    Dein Account auf dem Webserver hat mit der Datei (Programm) functions.php dem ihm maximal zugewiesenen Speicherplatz (RAM) überschritten.

    Jeder Provider stellt einem Programm eine gewisse Menge an Speicherplatz, sowohl im Ram, als auch auf der Platte zur Verfügung, und eine gewisse Anzahl an hunderstel Sekunden Prozessorleistung.

    Aus irgendeinem Grund hat nun dein Programm das überschritten.

    Fehlerbehebung hab ich schon gepostet, oftmal darf man nämlich selbst den Speicherwert für sich einstellen, deswegen musst entweder in der class_display.php oder der functions.php folgende Zeile reinstellen:

    ini_set(max_execution_time, 60);

    ini_set(memory_limit, "32M");

    Dies setzt deinen maximalen RAM auf 32 MB hoch, und deine maximal Laufzeit auf 60 Sekunden.

    Es ist, wie gesagt, nicht sicher das dein Hoster das erlaubt. Und setz die Werte (sollte es gehen), nicht zu hoch an, sonst könnte das deinen Hoster evtl. stören !

    Eine Möglichkeit das zu testen (ob du den Wert verändern darst) ist folgende:

    <?php

    ini_set(max_execution_time, 123);

    ini_set(memory_limit, "123M");

    phpinfo();

    ?>

    Dies in einer Datei speichern, die Endung php dranhängen und starten.

    Nun kommen ganz viele Zahlen. Aber solange unter den Zeilen mit max_execution_time und memory_limit bei "Local Value" ein 123 steht, gehts :)

    Hoffe du blickst noch durch, sollte es nicht gehen, musst du deinen Hoster fragen damit er es dir hoch setzt !

    BLACK


  3. Um mich mal kurz einzumischen...

    Ich finde das mit dem Testnick eine sehr gute Idee, und find es toll das du hier den Usern so sehr vertraust. Es macht die Arbeit gerade beim supporten um einiges einfacher ! Wenn ich da an die User denke denen du erstmal ihre Forumsadresse aus der Nase ziehen musst ...

    Tut mir jedenfalls echt leid für dich, das dein Testnick missbraucht wurde !

    Nunja, dann halt per PM.

    Trotzdem ne Super Idee !!!


  4. Jetzt klärt mich mal auf ...

    Bei jedem IPB das ich kenne, steht unten "Themen/Beiträge von heute".

    Das ist doch die Funktion die ihr wollt ? Und die ist auch im Standardskin drin.

    Oder was sehe ich hier falsch ? Bei 1.3 ists sie dfinitiv drin !

    BLACK


  5. WOW !!!

    Ned schlecht :)

    Irgendein Mod von dir macht folgende Anfrage:

    SELECT COUNT(p.pid) as tcnt,p.author_name,p.author_id FROM ibf_posts AS p LEFT JOIN ibf_topics AS t ON p.topic_id=t.tid LEFT JOIN ibf_forums AS f ON p.forum_id=f.id WHERE p.post_date >'1115111479' AND p.post_date=t.start_date AND p.author_id!=0 AND (f.read_perms='*' OR f.read_perms LIKE '2' OR f.read_perms LIKE '%,2' OR f.read_perms LIKE '2,%' OR f.read_perms LIKE '%,2,%' ) GROUP BY p.author_id ORDER BY tcnt DESC

    Die braucht 0,7 Sekunden !

    Diese tolle Abfrage wird in leicht veränderter Form 6 (!!!!!!!) Mal gemacht.

    Wer auch immer diesen Mod programmiert hat, lacht sich jetzt wohl ins Fäustchen !

    Die Abfragen brauchen im einzelnen:

    0,70

    0,02

    0,35

    0,65

    0,03

    1,46

    Sekunden ! Wenn man bedenkt das außer den Abfragen für die Skins (die schon mal auf 0,2 kommen können, KEINE ANDERE ABFRAGE MEHR ALS 0,0... Sekunden braucht, dann ist das der Hammer !

    Alleine 3,22 Sekunden braucht also dieser seltsame Mod !

    Der Mod scheint irgendeine Statistik zu machen ... Schau mal was du Statistisches auf der Hauptseite hast, und probier das mal im Programmcode mit /* am Anfang und */ am Ende auszukommentieren !

    Den Debug-Mode würde ich nun auf Lvl 1 zurücksetzen, da siehste die Anzahl der Anfragen an die Datenbank (Querries), und die Ladezeit. Die Ladezeot sollte UNTER 0,5 Sekunden liegen !

    SQL-Debug kannste auch wieder aus machen.

    Meld dich wennst den Mod auskommentiert hast !

    BLACK


  6. Aktiviere volle Debug-Einstellungen, dass heißt Debug-Modus 2 und einen klick bei SQL-Debug aktivieren.

    Dann musst du mir entweder die Screenshots davon geben (achtung das du evtl. deine IP uns Session-Id schwärzt), oder du gibst mir den Link zu deinem Forum. Da musste dann nix schwärzen, weil ich deine ID in meinen Abfragen eh ned sehe.

    (Achtung bei den Screenshots, ich brauch nicht nur die normalen Debug-Shots, sondern auch die MySQL-Debug-Shots)

    Dann kann ich zumindest mal gucken ob mir ungereimtheiten auffallen !

    BLACK


  7. Ich hab mir gedacht das das kommt :)

    Mir würden auf Anhieb zwei Möglichkeiten einfallen.

    Die eine wäre, das man den Programmschnippsel den ich dir gesagt hab, einfach nochmal schreibt, mit ner anderen ID.

    Und die zweite Möglichkeit wäre, das man die Foren ID's eins weiter oben in ein Array fasst, und dann der Computer meinen Programmschnippsel immer wiederholt, bis das Array leer ist. Also alle gewünschten Foren-Id's entfernt sind.

    Welche Möglichkeit willst du ?


  8. Es ist doch toll, wenn es solche Funktionen wie "get_searchable_forums()" gibt *g*

    Ich gehe mal davon aus, da diese Funktion immer erfasst welche Foren ein Mitglied durchsuchen darf, das es reicht wenn wir einfach dafür sorgen, das dein spezielles Forum dort nicht gelistet wird.

    Ich mach das jetzt alles mal so aus dem Stehgreif, meld mir bitte obs funktioniert hat :)

    Search.php suchen:

        $forum_string = implode( "," , $forum_array );

    Drüber:

    //      Funktion damit das Forum mit der ID XXX nicht mehr durchsucht werden kann ...

            $pos = array_search("XXX", $forum_array);

            if ($pos > -1)

            {

                unset($forum_array[$pos]);

                $forum_array = array_values($forum_array);

            }

    XXX muss natürlich die ID deines Forums sein, welches NICHT durchsucht werden soll !

    Nachteil, oder Vorteil der Methode (weiß ja ned genau wiesd es willst) ist das das Forum mit der ID GAR NICHT MEHR durchsucht wird, von keiner Suchmethode. Nicht von get_active, noch von "neue Beiträge" noch von der normalen Suche ...

    BLACK


  9. Also, am liebsten wäres mir natürlich das ganze an deinem Forum in vollem Betrieb einzubauen. Quasi am offenen Herzen. Aber das heißt soviel wie DB-Passwärter ändern, FTP-Passwörter ändern, und, und, und ...

    Machen wirs uns einfacher. Ich hab derzeit kein Testforum oben, das ich kaputt optimieren könnte. Ganz nebenbei hab ich auch gar keine Version 1.2 !

    Wenn du einfach ein neues 1.2 auf einen Server aufspielst (oder mir in ner Zip-Datei gibts), mit DEINEN derzeitigen Forums-Dateien (bis auf die Passwörter in der conf_global - dann ändere ich die Dateien, schreib mir auf was ich alles ändern musste, und theoretisch sollte man dann bei dir nur noch die Tabellen anlegen müssen, und die Dateien einfach durch die von mir veränderten ersetzen können.

    Alternativ, wie gesagt, kann ich probieren ne Anleitung zu schreiben, aber ich HASSE Anleitungen schreiben, das dauert dann wohl ein wenig :)

    BLACK


  10. Machbar wäre es - von der Last sollte es auch zu ertragen sein.

    Mir würde folgendes vorschweben:

    Ein Beitrag kann von jedem, eingeloggten, Mitglied bewertet werden (1-10).

    Jeder Beitrag (Topic, ibf_topics) bekommt zwei neue Felder "Rating", und "Ratings".

    Rating bezeichnet den Wert, Ratings die Menge.

    Wenn nun ein Mitglied wertet, wird Ratings + 1 gemacht, und Rating einfach + den Wert.

    Bei der Anzeige wird natürlich nicht einfach der Wert Rating ausgegeben, sondern Rating/Anzahl Ratings.

    Soweit so gut, und so einfach :)

    Doof ist nur, das man eine extra Tabelle anlegen muss, ibf_ratings. Wo folgendes vermerkt wird.

    "ID" "Rater_ID" "Topic_ID" "Rate_Date"

    Wobei man Rate-Date eventuell weglassen kann.

    Das hiese, die beiden Felder in den ibf_topics sind zu vernachlässigen, aber die extra Tabelle, pro Rate eben.

    Könnte mir vorstellen, das das in nem Forum, wo SEHR VIELE Member sind, schon ganz schön Platz verbrauchen könnte. Die Ladezeit der Topics würde sich so gut wie nicht verändern. Da der Rate-Wert schnell ausgelesen wird. Und ob man Raten kann, kann ja auch erst überprüft werden, wenn man es versucht.

    Alles in allem, sehr gut umsetzbar, aber um ehrlich zu sein, wenn du ein Forum hast, wo du mir zugang geben kannst, dann mach ichs dir, aber das alles bei mir machen und Anleitung dafür schreiben, hab ich vorerst keinen Bock. Außer es will plötzlich JEDER so einen Mod ...

    Achja, habs fast vergessen, im Profil auszulesen wäre ein bisschen ne knifflige Sache...

    Da würde ich fast sagen, man legt in der ibf_members pro Member ein "Ratings" und "Rate" an - das aktualisiert sich halt, wenn einer für dein Topic rated. Das würde gehen ...

    Ist auch nicht schlimm.

    BLACK

    PS: Wie man merkt bin ich von der Op zurück :)


  11. Wenns schnell geht ...

    Naja, einen Mod einbauen werd ich grad noch so hinbekommen.

    Also werd ich ab 18 Uhr im Channel sein.

    Du solltest die Anleitung bereit halten, und die Dateien die verändert werden müssen bereithalten. Da ich kein DCC hab, ists das beste wenn du's irgendwo hochladen kannst, oder ich gleich auf deinen FTP Zugreifen kannst (natürlich nachdem du die DB-Passwörter aud der conf_global.php rausgenommen hast, und die ftp-Passwörter verändert hast)

    BLACK

×