ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Monat_post_counter

Geschlossen
  1. #1
    User Pic
    Don Alex Mitglied
    Registriert seit
    29.04.2007
    Beiträge
    187
    Beitragswertungen
    0 Beitragspunkte
    Kann mir vielleicht jemand ein Modul malen/ schreiben ^^ das mir Anzeigt wer viele Beiträge im Forum gemacht hat?

    zb.

    Januar 2010

    Don Alex - 3 Beiträge
    User 2 - 24 Beiträge
    Member2134 - 39 Beiträge usw

    sodass ich das für jeden Monat sehen kann. Weiß nicht ob das leicht ist / schnell zu machen ist. Somit frage ich mal ganz vorsichtig lächeln


    verwendete ilchClan Version: 1.1 N

    betroffene Homepage: www.dlof.de/
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    zeile 99 findest du:

    
      if (loggedin()) {
    
        $uid = $_SESSION['authid'];
    
    		$erst = escape($_SESSION['authname'],'string');
    
    	  db_query("UPDATE `prefix_user` set posts = posts+1 WHERE id = ".$uid);



    DARUNTER kommt dann sowas in der Art:



    	  # Monats-Counter-Start
    	  
    	 $msec = date('t') * 86400;  
    	  if ($msec < 86400*30){
    	       db_query("UPDATE `prefix_user`set month = posts+1 WHERE id = ".$uid);
    	  }
    	  
    	  # Monats-Counter-Ende


    Allerdings müsste man noch eine Lösung finden um den Counter beim Monatswechsel auf 0 zu setzen


    Zuletzt modifiziert von GeCk0 am 10.01.2010 - 23:41:47
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Nano.v1 Hall Of Fame
    Registriert seit
    14.02.2009
    Beiträge
    896
    Beitragswertungen
    0 Beitragspunkte
    ist nicht weiter schwer, nehmt date() und formatiert es so runter das nur die tageszahl übrig bleibt, danach ist es nur noch eine if-funktion

    $first_day_of_month = date("d");
    if ($first_day_of_month = 1) {
    
    reset_counter()
    $resetet = 1;
    }


    reset counter () schreibt in die db ebend an entsprechender funktion ne 0 rein zu beachten gilt das der counter einmalig zurückzusetzen ist, dafür brauchen wir einen schmiermerker, der sich zum 2 des Monats zurücksetzt, das ist dann resetet(), auch er muß in der db hinterlegt werden


    Zuletzt modifiziert von Nano.v1 am 11.01.2010 - 08:20:12
    Kein Support ausserhalb dieses Forum, es sei denn ich biete es selbst an, und das passiert ....?!

    Nano´s Ilch-Seite
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Don Alex Mitglied
    Registriert seit
    29.04.2007
    Beiträge
    187
    Beitragswertungen
    0 Beitragspunkte
    zuerst danke an euch beide!

    könnte ihr mir schritt für schritt sagen, was ich zu tun habe, weil ich blicke so net durch^^
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Nano.v1 Hall Of Fame
    Registriert seit
    14.02.2009
    Beiträge
    896
    Beitragswertungen
    0 Beitragspunkte
    ich mach es dir dieses we fertig, mußt dich aber gedulden
    Kein Support ausserhalb dieses Forum, es sei denn ich biete es selbst an, und das passiert ....?!

    Nano´s Ilch-Seite
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Don Alex Mitglied
    Registriert seit
    29.04.2007
    Beiträge
    187
    Beitragswertungen
    0 Beitragspunkte
    wow super lächeln

    ja natürlich kein problem lächeln bin eh super dankbar! lächeln
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    991
    Beitragswertungen
    23 Beitragspunkte
    Das geht auch ohne irgendwas in der Datenbank zu schreiben zwinker
    Wenn ich Morgen Zeit habe, werde ich es mir mal ansehen...

    MfG OloX


    Zuletzt modifiziert von OloX am 11.01.2010 - 21:57:56
    PHP, JavaScript, C/C++, CSS, HTML
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Nano.v1 Hall Of Fame
    Registriert seit
    14.02.2009
    Beiträge
    896
    Beitragswertungen
    0 Beitragspunkte
    olox ist dem deutsch möchtig *grins* hatte nicht anständig gelesen lach
    Kein Support ausserhalb dieses Forum, es sei denn ich biete es selbst an, und das passiert ....?!

    Nano´s Ilch-Seite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    991
    Beitragswertungen
    23 Beitragspunkte
    hehe lächeln
    PHP, JavaScript, C/C++, CSS, HTML
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    991
    Beitragswertungen
    23 Beitragspunkte
    Hallo lächeln

    Bin soeben damit fertig geworden zwinker
    include/contents/forum/useractivity.php
    <?php 
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    #   Modul by OloX
    #   www.dms-gaming.com +++ mairu.ilch.net
    
    
    defined ('main') or die ( 'no direct access' );
    
    $q = db_query("SELECT DISTINCT DATE_FORMAT( FROM_UNIXTIME(`time`), '%Y-%m' ) AS `date`
                   FROM `prefix_posts`
                   ORDER BY `time` ASC");
        $dAr = array();
    	while($r = db_fetch_assoc($q)) {
    		 $dAr[] = $r['date'];
    	}
    	
    if( count($dAr) > 0 ) {	
    switch ($menu->get(2)) {
        default:
        $title = $allgAr['title'].' :: Forum :: Benutzeraktivit&auml;t';
        $hmenu  = $extented_forum_menu.'<a class="smalfont" href="index.php?forum">Forum</a> &raquo; Benutzeraktivit&auml;t';
        $design = new design ( $title , $hmenu );
        $design->header();
        $tpl = new tpl ('forum/useractivity');
        
    	$i = 0;
     	$yearAk = '';
        foreach($dAr as $year){
    	    $ex = explode("-",$year); 
    	    if ($ex[0] != $yearAk ) {
    		  $yearAk = $ex[0];
    		  $tpl->set_out('date', $yearAk,0); 
              foreach($dAr as $yearmon){
    		      $m = explode("-",$yearmon);
    			  if ($m[0] == $yearAk ) {
    			     $class = $i % 2 == 0 ? 'Cnorm' : 'Cmite'; 
    				 $i++;
    				 $x = (substr($m[1],0,1) == "0" ? substr($m[1],1,2) : $m[1]);				 
    				 $ar = array('mon' => getDmon($x), 'date' => $m[0].'-'.$x,'class' => $class);
    				 $tpl->set_ar_out($ar,1); 
    			  }
    		  }
    		  $tpl->out(2); 
    	    }
    	}		
        $design->footer(); 
     
    case 'show';
    
        $y = intval($menu->get(3));
        $m = (strlen($menu->get(4)) == 1 ? '0'.intval($menu->get(4)) : intval($menu->get(4)));
    	$x = getDmon(intval($menu->get(4)));
    	
        if (checkdate($m, 20, $y) && in_array($y.'-'.$m, $dAr) ) {	
    	
           $title = $allgAr['title'].' :: Forum :: Benutzeraktivit&auml;t &raquo; &Uuml;bersicht von '.$x.' '.$y;
           $hmenu  = $extented_forum_menu.'<a class="smalfont" href="index.php?forum">Forum</a> &raquo; <a class="smalfont" href="index.php?forum-activity">Benutzeraktivit&auml;t</a> &raquo; &Uuml;bersicht von '.$x.' '.$y;
           $design = new design ( $title , $hmenu );
           $design->header();
           $tpl = new tpl ('forum/useractivity');
    	   $tpl->out(3);
    	   $i = 0;	
    	    
           $erg = db_query("SELECT `a`.`id` AS `userid`, `a`.`name` AS `aname`, COUNT(`b`.`id`) AS `panz`, `c`.`name` AS `recht_name`
                            FROM `prefix_user` as `a`
                            LEFT JOIN `prefix_posts` as `b` ON `a`.`id` = `b`.`erstid`
    						LEFT JOIN `prefix_grundrechte` as `c` ON `a`.`recht` = `c`.`id`	
                            WHERE DATE_FORMAT( FROM_UNIXTIME(`b`.`time`) , '%Y-%m' ) = '{$y}-{$m}'
                            GROUP BY `a`.`id`
                            ORDER BY `panz` DESC");				 
                while ($row = db_fetch_object($erg)) {
    			  $i++;
    			  $class = $i % 2 == 0 ? 'Cnorm' : 'Cmite'; 
    			  $ar = array('NAME' => $row->aname,
    			              'UID' => $row->userid,
    				          'ANZ' => $row->panz,
    						  'GRUPE' => $row->recht_name,
    						  'class' => $class);
    			  $tpl->set_ar_out($ar,4);
    			}
    			
    	   $tpl->out(5);        
           $design->footer();					
        }					
    
     break;
    }
    
    } else {
     echo $lang['nonewposts'];
    }
    				
    ?>



    include/templates/forum/useractivity.htm
    <table width="100%" border="0" cellpadding="3" cellspacing="1" class="border">
       <tr class="Chead" >
        <th height="30" width="30%">{date}</th>
        </tr>
        {EXPLODE}
        <tr class="{class}">
        <td><a href="index.php?forum-activity-show-{date}">{mon}</a></td>
    	</tr>
        {EXPLODE}
    </table>
    <br />
    {EXPLODE}
    <table width="100%" border="0" cellpadding="3" cellspacing="1" class="border">
      <tr class="Chead" >
        <th height="30" width="30%">{_lang_name}</th>
    		<th align="center" width="20%">{_lang_post}</th>
    		<th align="center" width="20%">{_lang_group}</th>
      </tr>
    {EXPLODE}
      <tr class="{class}">
        <td><a href="index.php?user-details-{UID}">{NAME}</a></td>
    		<td align="center"><font style="font-size: 10px">{ANZ} {_if_{ANZ}=='1'}Beitrag{_else_}{_lang_post}{/_endif}</font></td>
    		<td align="center">{GRUPE}</td>
    		</tr>
    {EXPLODE}
    </table>


    include/contents/forum.php
    unter der Zeile
        case 'search'     :  $incdatei = 'suchen.php';       break;

    das Einfügen
        case 'activity'   :  $incdatei = 'useractivity.php'; break;

    Viel Spaß damit ......

    Wenn ihr Fragen habt, dann einfach hier Fragen zwinker

    MfG OloX
    PHP, JavaScript, C/C++, CSS, HTML
    1 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Don Alex Mitglied
    Registriert seit
    29.04.2007
    Beiträge
    187
    Beitragswertungen
    0 Beitragspunkte
    zuerst danke sehr lächeln
    aber zum 2ten ^^ wo sehe ich nun was?
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    991
    Beitragswertungen
    23 Beitragspunkte
    PHP, JavaScript, C/C++, CSS, HTML
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Don Alex Mitglied
    Registriert seit
    29.04.2007
    Beiträge
    187
    Beitragswertungen
    0 Beitragspunkte
    omg -.- habs per hand eingegeben und aus dem "-" ein "_" gemacht xD

    du bist so geil danke! lachen

    ps: schnelle antwort!

    €: funzt ERSTE SAHNE!


    Zuletzt modifiziert von Don Alex am 13.01.2010 - 19:58:20
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    991
    Beitragswertungen
    23 Beitragspunkte
    Kein Problem ... freut mich zu hören lachen
    PHP, JavaScript, C/C++, CSS, HTML
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    lucasch Mitglied
    Registriert seit
    14.11.2009
    Beiträge
    85
    Beitragswertungen
    5 Beitragspunkte
    habs eingefügt so bei mir kommt diese meldung
    ng: file() [function.file]: Unable to access include/templates/forum/useractivity.htm in /var/www/vhosts/tkg-spielplatz.de/httpdocs/ilch/include/includes/class/tpl.php  on line 51
    
    Warning: file(include/templates/forum/useractivity.htm) [function.file]: failed to open stream: No such file or directory in /var/www/vhosts/tkg-spielplatz.de/httpdocs/ilch/include/includes/class/tpl.php on line 51
    
    Warning: implode() [function.implode]: Invalid arguments passed in /var/www/vhosts/tkg-spielplatz.de/httpdocs/ilch/include/includes/class/tpl.php on line 51
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    991
    Beitragswertungen
    23 Beitragspunkte
    Hey lucasch,
    hast du auch alle Schritte richtig befolgt ? Er scheint das Template nicht zu finden...

    MfG OloX
    PHP, JavaScript, C/C++, CSS, HTML
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.260
    Beitragswertungen
    1114 Beitragspunkte
    @lucasch: evtl. useractivity.htm nicht html
    @OloX: nice work


    Zuletzt modifiziert von Lord|Schirmer am 20.06.2010 - 11:44:27
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    991
    Beitragswertungen
    23 Beitragspunkte
    Thanks zwinker
    PHP, JavaScript, C/C++, CSS, HTML
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten