» Forum » Clanscript » Module und Modifikationen » Monat_post_counter
  Mitglieder   |   Gallery   |   FAQ's   |   Regeln

[ Anmelden zum schreiben ]

Monat_post_counter
Don Alex
Mitglied
0 Beitragspunkte
Posts: 187

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 10.01.2010 - 21:55:36     Zitieren
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 Smilie


verwendete ilchClan Version: 1.1 N

betroffene Homepage: www.dlof.de/
GeCk0
Administrator
92 Beitragspunkte
Posts: 2996

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 10.01.2010 - 23:40:42     Zitieren
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


.:.Module, Zitate, 1-Klick-IMG-Host, MD5 und mehr.:.
"Do not argue with an idiot. He will drag you down to his level and beat you with experience."
Nano.v1
Hall Of Fame
0 Beitragspunkte
Posts: 896

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 11.01.2010 - 08:17:18     Zitieren
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
Don Alex
Mitglied
0 Beitragspunkte
Posts: 187

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 11.01.2010 - 16:38:22     Zitieren
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^^
Nano.v1
Hall Of Fame
0 Beitragspunkte
Posts: 896

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 11.01.2010 - 16:55:00     Zitieren
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
Don Alex
Mitglied
0 Beitragspunkte
Posts: 187

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 11.01.2010 - 18:26:37     Zitieren
wow super Smilie

ja natürlich kein problem Smilie bin eh super dankbar! Smilie
OloX
Moderator
20 Beitragspunkte
Posts: 979

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 11.01.2010 - 21:56:55     Zitieren
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
Nano.v1
Hall Of Fame
0 Beitragspunkte
Posts: 896

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 12.01.2010 - 07:39:01     Zitieren
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
OloX
Moderator
20 Beitragspunkte
Posts: 979

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 12.01.2010 - 18:35:12     Zitieren
hehe Smilie


PHP, JavaScript, C/C++, CSS, HTML
OloX
Moderator
20 Beitragspunkte
Posts: 979

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 13.01.2010 - 19:04:17     Zitieren
Hallo Smilie

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
Don Alex
Mitglied
0 Beitragspunkte
Posts: 187

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 13.01.2010 - 19:28:05     Zitieren
zuerst danke sehr Smilie
aber zum 2ten ^^ wo sehe ich nun was?
OloX
Moderator
20 Beitragspunkte
Posts: 979

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 13.01.2010 - 19:29:16     Zitieren


PHP, JavaScript, C/C++, CSS, HTML
Don Alex
Mitglied
0 Beitragspunkte
Posts: 187

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 13.01.2010 - 19:30:01     Zitieren
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
OloX
Moderator
20 Beitragspunkte
Posts: 979

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 13.01.2010 - 19:34:14     Zitieren
Kein Problem ... freut mich zu hören Lachen


PHP, JavaScript, C/C++, CSS, HTML
lucasch
Mitglied
5 Beitragspunkte
Posts: 82

0 Mitglieder finden den Beitrag gut.

Merkliste 02.06.2010 - 03:49:55     Zitieren
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
OloX
Moderator
20 Beitragspunkte
Posts: 979

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 02.06.2010 - 15:53:58     Zitieren
Hey lucasch,
hast du auch alle Schritte richtig befolgt ? Er scheint das Template nicht zu finden...

MfG OloX


PHP, JavaScript, C/C++, CSS, HTML
Lord|Schirmer
Administrator
823 Beitragspunkte
Posts: 4603

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 20.06.2010 - 11:40:02     Zitieren
@lucasch: evtl. useractivity.htm nicht html
@OloX: nice work


Zuletzt modifiziert von Lord|Schirmer am 20.06.2010 - 11:44:27


"In mir schlummert ein Genie, leider wacht es nicht auf!"

my portfolio | my community | important link
OloX
Moderator
20 Beitragspunkte
Posts: 979

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 20.06.2010 - 20:23:02     Zitieren
Thanks Zwinker


PHP, JavaScript, C/C++, CSS, HTML

[ Anmelden zum schreiben ]