Ergebnis 1 bis 18 von 18

Thema: Durchschnittliche Beitragszahl

  1. #1
    Benutzer
    Registriert seit
    08.06.2004
    Beiträge
    53

    Durchschnittliche Beitragszahl

    Hallo,

    gibt's schon einen Hack der auf der FORUMHOME zB. unten bei der Statistik der Beiträge, Themen etc. eine Anzeige der durchschnittlichen Beiträge am Tag anzeigt?

    zB. Mitglieder: 8.910 | Themen: 85.791 | Beiträge: 863.662 (durchschnittlich 68,11 Beiträge/Tag)

    Das sich das dann vom ersten Tag des Forum's oder durch ein eingetragenes Datum errechnet. Geht sowas? Gibt's sowas schon? Ich brauch das dringend


    Cheers

  2. #2
    vB-Experte Avatar von Silmarillion
    Registriert seit
    18.05.2004
    Ort
    Unterfranken
    Beiträge
    824
    Da bekunde ich doch glatt mal mein Interesse! ^^
    Hat jemand eine Idee, wie dies umzusetzen ist? Dürfte doch eigentlich kein allzu großes Problem darstellen.

    mfg

  3. #3
    Benutzer Avatar von zap
    Registriert seit
    08.03.2003
    Ort
    Baden-Baden
    Alter
    27
    Beiträge
    91
    Probiers mal damit:

    Such in der Datei index.php nach:

    Code:
    $totalposts = vb_number_format($totalposts);
    und füge darunter ein:

    Code:
    $posts_per_day = vb_number_format($totalposts / ((time() - mktime(0, 0, 0, 9, 28, 2004)) / 86400), 2);
    Du musst noch das Datum anpassen, indem du die rot markierten Stellen änderst. (Monat, Tag , Jahr)

    Und dann eben noch die Variable $posts_per_day im Template FORUMHOME unterbringen. Sieht dann z.B. so aus:

    Code:
    ...
     <div>$vbphrase[threads]: $totalthreads, $vbphrase[posts]: $totalposts (durchschnittlich $posts_per_day pro Tag), $vbphrase[members]: $numbermembers</div>
         ...

  4. #4
    vB-Experte Avatar von Silmarillion
    Registriert seit
    18.05.2004
    Ort
    Unterfranken
    Beiträge
    824
    Danke, zap!

    Eine Frage habe ich dann aber doch noch: Was genau hat es mit der Angabe des Datums auf sich? Gehe ich richtig in der Annahme, dass ich hier bspw. den offiziellen Starttermin (Eröffnung) des Forum eintragen sollte/kann und folglich der Postingschnitt anhand dieses Datums errechnet wird?

    mfg

  5. #5
    vBulletin-Germany Team Avatar von pogo
    Registriert seit
    01.06.2001
    Ort
    Hannover
    Alter
    36
    Beiträge
    13.901
    Blog-Einträge
    5
    Genau so ist es.
    Entwickler-Blogs in deutsch, Farbe und BUNT!
    Mein Wunschzettel
    Warum du keine Anhänge herunterladen kannst!
    Suchst du Hacks, Add-ons, Modifikationen, Styles, Buttons und mehr? -> Auf zu vBGo!

  6. #6
    vB-Experte Avatar von Silmarillion
    Registriert seit
    18.05.2004
    Ort
    Unterfranken
    Beiträge
    824
    Alles klar. Danke, pogo. *gleichmaleinbauengehe* ^^

    mfg

  7. #7
    Benutzer
    Registriert seit
    08.06.2004
    Beiträge
    53
    Irgendwas stimmt an der Rechnung nicht.
    Wenn ich 03.04.2004 eingebe, bei meinen jetzigen 12000 Postings kann ja nicht 0,06 rauskommen ?!

    Was spinnt da?

  8. #8
    Benutzer Avatar von zap
    Registriert seit
    08.03.2003
    Ort
    Baden-Baden
    Alter
    27
    Beiträge
    91
    Hast du es in der richtigen Reihenfolge angegeben (Monat, Tag , Jahr) ?

  9. #9
    Benutzer
    Registriert seit
    08.06.2004
    Beiträge
    53
    Ja! Würde in meinem Fall ja eh kaum ein unterschied ergeben.
    Ob nun 03.04. oder 04.03.

    Müsste so oder so, ja über 0,06 kommen. Ich habe ebend mal die Monatszahl auf 03.09. geändert - und kam bei 0,11 raus ?!


    cheers

  10. #10
    Benutzer Avatar von zap
    Registriert seit
    08.03.2003
    Ort
    Baden-Baden
    Alter
    27
    Beiträge
    91
    Erstell mal ne neue PHP-Datei z.B. test.php mit folgendem Inhalt:

    Code:
    <?php
      
      echo '<b>Timestamp jetzt:</b> '.time().'<br /><br />';
      
      echo '<b>Timestamp Boarderöffnung:</b> '.mktime(0, 0, 0, 9, 28, 2004).'<br /><br />';
      
      echo '<b>Differenz:</b> '.(time() - mktime(0, 0, 0, 9, 28, 2004)).' = '.((time() - mktime(0, 0, 0, 9, 28, 2004)) / 86400).' Tage';
      
      ?>
    und führe sie dann im Browser aus (kannst auch vorher wieder die rot markierten Stellen ändern). Poste dann mal das Ergebnis hier.

  11. #11
    Benutzer
    Registriert seit
    08.06.2004
    Beiträge
    53
    Hi Zap,

    ich habe deite Daten drin gelassen und dabei kam jetzt gerade folgendes raus:

    Timestamp jetzt: 1097373299

    Timestamp Boarderöffnung: 1096322400

    Differenz: 1050899 = 12.16318287037 Tage



    Sagt mir??


    cheers



    EDIT: so ich habe alles noch mal überprüft, ~70 postings müsste ich angezeigt bekommen. sind aber nur 0,07 postings pro tag. habe auch genau den code von oben drin, nur halt auf das datum 4.6.04 datiert - bei rund 13k postings --- wieso spinnt das??
    Geändert von Don B. (10.10.2004 um 04:14 Uhr)

  12. #12
    Benutzer Avatar von Brano
    Registriert seit
    16.04.2004
    Alter
    25
    Beiträge
    71
    Also ich hab es so:
    $posts_per_day = vb_number_format($totalposts / ((time() - mktime(0, 0, 0, 7, 2, 2004)) / 86400000), 2);
    Und es zeigt es richtig an.
    Zitat Zitat von Metro Man
    Naja, meine Meinung wer ein vB möchte muss es sich verdienen z.B Zeitungen austragen, Ferienjob usw gibt zahlreiche möglichkeiten.

  13. #13
    Benutzer
    Registriert seit
    08.06.2004
    Beiträge
    53
    Hey danke! mit deinem code gehts auf einmal !! dank dir vielmals !!

    ich frag mich zwar gerade wieso es jetzt geht, aber naja - hauptsache es funzt


    meiner meinung nach, könnte der thread mal in fertige "hacks" verschoben werden, oder?


    cheers

  14. #14
    Profi-Benutzer Avatar von The Coon
    Registriert seit
    28.07.2008
    Ort
    Herzogenrath/Aachen
    Alter
    53
    Beiträge
    334
    Klasse, das funktioniert ja immer noch ...

    LG
    Peter

  15. #15
    Profi-Benutzer Avatar von The Coon
    Registriert seit
    28.07.2008
    Ort
    Herzogenrath/Aachen
    Alter
    53
    Beiträge
    334
    Und das auch im vBulletin 4 ...

    Das kommt nun in die forum.php (Datum anpassen - siehe frühere Posts):

    Code:
    forum.php.htm$totalthreads = vb_number_format($totalthreads);
     $threads_per_day = vb_number_format($totalthreads / ((time() - mktime(0, 0,  0, 2, 15, 2005)) / 86400000));
     vB_Template::preRegister('FORUMHOME', array('threads_per_day' =>  $threads_per_day)); 
     $totalposts = vb_number_format($totalposts);
     $posts_per_day = vb_number_format($totalposts / ((time() - mktime(0, 0, 0, 2,  15, 2005)) / 86400000));
     vB_Template::preRegister('FORUMHOME', array('posts_per_day' =>  $posts_per_day));
    Im FORUMHOME z.B. so einfügen:

    Code:
    <dt>{vb:rawphrase threads}</dt>
     <dd>{vb:raw  totalthreads} |</dd>
      Ø Themen pro Tag: <dd>{vb:raw threads_per_day}</dd>
    
    
     <dt>{vb:rawphrase  posts}</dt>
     <dd>{vb:raw  totalposts} |</dd>
      Ø Beiträge pro Tag: <dd>{vb:raw posts_per_day}</dd>
    Vielleicht gefällt´s noch jemandem ...

  16. #16
    vB-Experte
    Registriert seit
    30.05.2006
    Beiträge
    641
    Blog-Einträge
    3
    Zitat Zitat von The Coon Beitrag anzeigen
    Und das auch im vBulletin 4 ...

    Das kommt nun in die forum.php (Datum anpassen - siehe frühere Posts):

    Code:
    forum.php.htm$totalthreads = vb_number_format($totalthreads);
     $threads_per_day = vb_number_format($totalthreads / ((time() - mktime(0, 0,  0, 2, 15, 2005)) / 86400000));
     vB_Template::preRegister('FORUMHOME', array('threads_per_day' =>  $threads_per_day)); 
     $totalposts = vb_number_format($totalposts);
     $posts_per_day = vb_number_format($totalposts / ((time() - mktime(0, 0, 0, 2,  15, 2005)) / 86400000));
     vB_Template::preRegister('FORUMHOME', array('posts_per_day' =>  $posts_per_day));
    Im FORUMHOME z.B. so einfügen:

    Code:
    <dt>{vb:rawphrase threads}</dt>
     <dd>{vb:raw  totalthreads} |</dd>
      Ø Themen pro Tag: <dd>{vb:raw threads_per_day}</dd>
    
    
     <dt>{vb:rawphrase  posts}</dt>
     <dd>{vb:raw  totalposts} |</dd>
      Ø Beiträge pro Tag: <dd>{vb:raw posts_per_day}</dd>
    Vielleicht gefällt´s noch jemandem ...
    achtung, passt immer ein bisschen auf den funktions-overhead (unnötiger aufruf von funktionen) auf! hier sehe ich gleich mehrfach fehler:

    Code:
    $totalthreads = vb_number_format($totalthreads);
    $threads_per_day = vb_number_format($totalthreads / ((time() - mktime(0, 0,  0, 2, 15, 2005)) / 86400000));
    das kann schief gehen, wenn das format-ergebnis in zeile 1 ein komma enthält! php kann damit nicht anfangen (1,234 ist nicht das gleiche wie 1.234). der gleiche spass übrigens auch in zeile 3 und 4.

    in zeile 2 und 4 wird die aktuelle zeit ermittelt: unnütz! die konstante in vbulletin TIMENOW enthält schon die aktuelle zeit. verwendet man diese, spart man 2 funktionsaufrufe.

    das (vor-)registrieren von variablen erlaubt auch die registrierung von mehreren variablen. es muss also nicht für jeden wert der aufruf vB_Template:reRegister('FORUMHOME',...) erfolgen.

    ich weiss nicht was es mit dem datum da auf sich hat, aber ein besserer vorschlag dazu wäre kurz und knackig:

    PHP-Code:
    vB_Template::preRegister('FORUMHOME', array(
        
    'threads_per_day' => $totalthreads / ((TIMENOW mktime(00,  02152005)) / 86400000),
        
    'posts_per_day'   => $totalposts / ((TIMENOW mktime(0002,  152005)) / 86400000),
        )); 
    wobei man hier das doppelte mktime mit dem gleichen datum auch noch optimieren könnte.

    bei meinem code fehlt die zahlenformatierung. dafür gibt es in vb4 eine bessere variante für die templates, weil man hier die zahlenformatierung vornehmen kann. das template sähe dann so aus:

    Code:
    <dt>{vb:rawphrase threads}</dt>
     <dd>{vb:number {vb:raw totalthreads}} |</dd>
      Ø Themen pro Tag: <dd>{vb:number {vb:raw threads_per_day}, 2}</dd>
    
     <dt>{vb:rawphrase  posts}</dt>
     <dd>{vb:number {vb:raw totalposts}} |</dd>
      Ø Beiträge pro Tag: <dd>{vb:number {vb:raw posts_per_day}, 2}</dd>

  17. #17
    vB-Experte
    Registriert seit
    30.05.2006
    Beiträge
    641
    Blog-Einträge
    3
    errm... ich muss mich und den ausgangscode generell nochmal kritisieren.

    der originalcode an dieser stelle lautet:

    PHP-Code:
    $totalthreads 0;
    $totalposts 0;
    if (
    is_array($vbulletin->forumcache))
    {
        foreach (
    $vbulletin->forumcache AS $forum)
        {
            
    $totalthreads += $forum['threadcount'];
            
    $totalposts += $forum['replycount'];
        }
    }
    $totalthreads vb_number_format($totalthreads);
    $totalposts vb_number_format($totalposts); 
    hier gibt es nur 2 möglichkeiten:

    1. entweder hardcodiert in der datei rumpfuschen (nicht empfohlen!):

    dann müsste man meinen code oberhalb von

    PHP-Code:
    $totalthreads vb_number_format($totalthreads);
    $totalposts vb_number_format($totalposts); 
    einfügen.

    2. elegant über ein plugin im hook 'forumhome_complete' und dort im plugin die vorher vorgenommene zahlenformatierung zurücknehmen!

    PHP-Code:
    $_totalthreads filter_var($totalthreadsFILTER_SANITIZE_NUMBER_FLOAT);
    $_totalposts filter_var($totalpostsFILTER_SANITIZE_NUMBER_FLOAT);
    vB_Template::preRegister('FORUMHOME', array( 
        
    'threads_per_day' => $_totalthreads / ((TIMENOW mktime(00,  02152005)) / 86400000), 
        
    'posts_per_day'   => $_totalposts / ((TIMENOW mktime(0002,  152005)) / 86400000), 
        )); 
    und aus dem template muss die formatierung der zahlen wieder raus bei den original-variablen (weil bereits im originalcode formatiert):

    HTML-Code:
    <dt>{vb:rawphrase threads}</dt>
     <dd>{vb:raw totalthreads} |</dd>
      Ø Themen pro Tag: <dd>{vb:number {vb:raw threads_per_day}, 2}</dd>
    
     <dt>{vb:rawphrase  posts}</dt>
     <dd>{vb:raw totalposts} |</dd>
      Ø Beiträge pro Tag: <dd>{vb:number {vb:raw posts_per_day}, 2}</dd>

  18. #18
    Profi-Benutzer Avatar von The Coon
    Registriert seit
    28.07.2008
    Ort
    Herzogenrath/Aachen
    Alter
    53
    Beiträge
    334
    Hallo AA_,
    danke für Dein Statement und die Arbeit, die Du Dir gemacht hast. Ich setze mich da bestimmt mal dran.

    Kann Deine Codes aber nur bedingt nachvollziehen, weil ( *hosenrunterlass* ) ich von php und Programmierung des vB so gut wie nichts verstehe. Bin also einer, der sich mit Copy & Paste durchwurschtelt.

    Umso erfreuter war ich allein über den Umstand, dass ich es überhaupt (wieder) ans Laufen kriegte ...

    Gruß
    Peter

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. wie kann ich in einem geöffneten Thread, die Beitragszahl deaktivieren?
    Von Death Angel im Forum vB2 Code-Hacking Diskussionen
    Antworten: 6
    Letzter Beitrag: 04.04.2005, 20:59
  2. Beitragszahl und gelöschte Themen?
    Von datainternet im Forum vBulletin 3.0 Fragen und Probleme
    Antworten: 2
    Letzter Beitrag: 17.04.2004, 23:28
  3. Antworten: 2
    Letzter Beitrag: 21.08.2003, 18:20
  4. Durchschnittliche Antwortzeit
    Von CityHunter im Forum vB2 Code-Hacking Diskussionen
    Antworten: 0
    Letzter Beitrag: 24.05.2003, 18:48
  5. Bei gewisser Beitragszahl automatisch in die nächste usergruppe???
    Von Viper888 im Forum vBulletin 2 Fragen und Probleme
    Antworten: 2
    Letzter Beitrag: 26.02.2002, 18:41

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •