News Team Board Templates Mods Tutorials
Gast
Forum
Supportbereich Forum: Activity-Point-System Thread: Activitypoints über einen Cronjob ausführen lassen
Activitypoints über einen Cronjob ausführen lassen
Seite: « 1 »
#1 am 13.06.2012 um 23:54 Uhr für diesen Post danken Diesen Beitrag zitieren
bla-bla-bla
User
Posts: 44
Danksagungen: 4
2.gif
Neuling

Hi, besteht die möglichkeit damit man die Activitypoints über einen Cronjob ausführen kann. Wenn ja würde mich interessieren wie das geht ich hoffe das ihr mir dabei weiterhelfen könnt. Mir wüde es reichen wenn die Activitypoints einmal am Tag z.b. um 0:00 Uhr Aktualisiert werden. Falls die frage aufkommen sollte ob mein Webspace Anbieter Cronjobs anbietet ja das macht er...

 

 

 


IP gespeichert
#2 am 14.06.2012 um 14:21 Uhr für diesen Post danken Diesen Beitrag zitieren
STrike
Moderator
Posts: 636
Danksagungen: 36
7.gif
Foren-As

Wenn die Points immer wieder neu ausgelesen werden, kannst du das gleiche machen, wie wir das hier gemacht haben:

 

http://dzcp-zone.de/forum/?action=showthread&kid=46&id=1881&page=2#p13

 

Aber ich meine, nitro wollte dies sowieso umschreiben, oder irre ich mich da jetzt?

 


 

Tretet unserer Topliste bei und schaff dich selber ganz nach vorne

IP gespeichert
#3 am 14.06.2012 um 14:42 Uhr für diesen Post danken Diesen Beitrag zitieren
bla-bla-bla
User
Posts: 44
Danksagungen: 4
2.gif
Neuling

ah ok danke durch diesen post bin ich ja drauf aufmerksam geworden und ich hatte mir auch schon die im incadditional-functions/activitypoints.php angeschaut aber ich bin mir nicht sicher was ich genau rausnehmen muss...

 

ich würde das hier zum beispiel rausnehmen:

 

   Code:

while($getuser _fetch($qry)) {
                
$forum_thread 0;
                
$forum_post1 0;
                
$forum_post2 0;
                
$forum_post3 0;
                
$actnews 0;
                
$news_com 0;
                
$actartikel 0;
                
$artikel_com 0;
                
$cw_com 0;
                
$shout 0;
                
$ges 0;
        
                
$qryfthreads db("SELECT * FROM ".$db['f_threads']."
                                                                                            WHERE t_reg = '"
.intval($getuser['id'])."'");
                while(
$getfthreads _fetch($qryfthreads)) {
                        
$forum_thread $forum_thread+$actsettings['forum_threads'];
                        
$ges $ges+$actsettings['forum_threads'];
                }
        
                
$qryfposts db("SELECT text FROM ".$db['f_posts']."
                                                                                    WHERE reg = '"
.intval($getuser['id'])."'");
                while(
$getfposts _fetch($qryfposts)) {
                        if(
strlen($getfposts['text']) >= $actsettings['min_z_forum3']) {
                                
$forum_post3 $forum_post3+$actsettings['forum_post3'];
                                
$ges $ges+$actsettings['forum_post3'];
                        } elseif(
strlen($getfposts['text']) >= $actsettings['min_z_forum2']) {
                                
$forum_post2 $forum_post2+$actsettings['forum_post2'];
                                
$ges $ges+$actsettings['forum_post2'];
                        } elseif(
strlen($getfposts['text']) >= $actsettings['min_z_forum1']) {
                                
$forum_post1 $forum_post1+$actsettings['forum_post1'];
                                
$ges $ges+$actsettings['forum_post1'];
                        }
                }
        
                
$qryactnews db("SELECT * FROM ".$db['news']."
                                                                                        WHERE autor = '"
.intval($getuser['id'])."'");
                while(
$getactnews _fetch($qryactnews)) {
                        
$actnews $actnews+$actsettings['news'];
                        
$ges $ges+$actsettings['news'];
                }
        
                
$qrynewscom db("SELECT comment FROM ".$db['newscomments']."
                                                                                        WHERE reg = '"
.intval($getuser['id'])."'");
                while(
$getnewscom _fetch($qrynewscom)) {
                        if(
strlen($getnewscom['comment']) >= $actsettings['min_z_newscom']) {
                                
$news_com $news_com+$actsettings['news_com'];
                                
$ges $ges+$actsettings['news_com'];
                        }
                }
        
                
$qryactartikel db("SELECT * FROM ".$db['artikel']."
                                                                                                    WHERE autor = '"
.intval($getuser['id'])."'");
                while(
$getactartikel _fetch($qryactartikel)) {
                        
$actartikel $actartikel+$actsettings['artikel'];
                        
$ges $ges+$actsettings['artikel'];
                }
        
                
$qryartikelcom db("SELECT comment FROM ".$db['acomments']."
                                                                                                    WHERE reg = '"
.intval($getuser['id'])."'");
                while(
$getartikelcom _fetch($qryartikelcom)) {
                        if(
strlen($getartikelcom['comment']) >= $actsettings['min_z_artikelcom']) {
                                
$artikel_com $artikel_com+$actsettings['artikel_com'];
                                
$ges $ges+$actsettings['artikel_com'];
                        }
                }
        
                
$qrycwcom db("SELECT comment FROM ".$db['cw_comments']."
                                                                                WHERE reg = '"
.intval($getuser['id'])."'");
                while(
$getcwcom _fetch($qrycwcom)) {
                        if(
strlen($getcwcom['comment']) >= $actsettings['min_z_cwcom']) {
                                
$cw_com $cw_com+$actsettings['cw_com'];
                                
$ges $ges+$actsettings['cw_com'];
                        }
                }
        
                
$qryshout db("SELECT * FROM ".$db['shout']."
                                                                                WHERE email = '"
.intval($getuser['id'])."'");
                while(
$getshout _fetch($qryshout)) {
                        
$shout $shout+$actsettings['shout'];
                        
$ges $ges+$actsettings['shout'];
                }
            
                
$ges $ges+$getuser['activitypoints_plus'];
                
$ges $ges-$getuser['activitypoints_minus'];        
                
                
$qryadd db("INSERT INTO ".$sql_prefix."activitypoints                                                            
                                                                        SET  `user` = '"
.intval($getuser['id'])."',
                                                                                            `forum_threads` = '"
.((int)$forum_thread)."',
                                                                                            `forum_post1` = '"
.((int)$forum_post1)."',
                                                                                            `forum_post2` = '"
.((int)$forum_post2)."',
                                                                                            `forum_post3` = '"
.((int)$forum_post3)."',
                                                                                            `news` = '"
.((int)$actnews)."',
                                                                                            `news_com` = '"
.((int)$news_com)."',
                                                                                            `artikel` = '"
.((int)$actartikel)."',
                                                                                            `artikel_com` = '"
.((int)$artikel_com)."',
                                                                                            `cw_com` = '"
.((int)$cw_com)."',
                                                                                            `shout` = '"
.((int)$shout)."',
                                                                                            `plus` = '"
.((int)$getuser['activitypoints_plus'])."',
                                                                                            `minus` = '"
.((int)$getuser['activitypoints_minus'])."',
                                                                                            `ges` = '"
.((int)$ges)."'");
        }       
        
        
$qry db("SELECT id,ges FROM ".$sql_prefix."activitypoints ORDER BY `ges` DESC");
        while(
$get _fetch($qry)) {
                if(
$get['ges'] != $activity_last$activity_pos++;
                
$qryupdate db("UPDATE ".$sql_prefix."activitypoints
                                                                                    SET `pos` = '"
.((int)$activity_pos)."'
                                                                                    WHERE `id` = '"
.intval($get['id'])."'");
                
$activity_last $get['ges'];
        }
}
 



oder das hier :

   Code:

while($getuser _fetch($qry)) {
                
$forum_thread 0;
                
$forum_post1 0;
                
$forum_post2 0;
                
$forum_post3 0;
                
$actnews 0;
                
$news_com 0;
                
$actartikel 0;
                
$artikel_com 0;
                
$cw_com 0;
                
$shout 0;
                
$ges 0;
        
                
$qryfthreads db("SELECT * FROM ".$db['f_threads']."
                                                                                            WHERE t_reg = '"
.intval($getuser['id'])."'");
                while(
$getfthreads _fetch($qryfthreads)) {
                        
$forum_thread $forum_thread+$actsettings['forum_threads'];
                        
$ges $ges+$actsettings['forum_threads'];
                }
        
                
$qryfposts db("SELECT text FROM ".$db['f_posts']."
                                                                                    WHERE reg = '"
.intval($getuser['id'])."'");
                while(
$getfposts _fetch($qryfposts)) {
                        if(
strlen($getfposts['text']) >= $actsettings['min_z_forum3']) {
                                
$forum_post3 $forum_post3+$actsettings['forum_post3'];
                                
$ges $ges+$actsettings['forum_post3'];
                        } elseif(
strlen($getfposts['text']) >= $actsettings['min_z_forum2']) {
                                
$forum_post2 $forum_post2+$actsettings['forum_post2'];
                                
$ges $ges+$actsettings['forum_post2'];
                        } elseif(
strlen($getfposts['text']) >= $actsettings['min_z_forum1']) {
                                
$forum_post1 $forum_post1+$actsettings['forum_post1'];
                                
$ges $ges+$actsettings['forum_post1'];
                        }
                }
        
                
$qryactnews db("SELECT * FROM ".$db['news']."
                                                                                        WHERE autor = '"
.intval($getuser['id'])."'");
                while(
$getactnews _fetch($qryactnews)) {
                        
$actnews $actnews+$actsettings['news'];
                        
$ges $ges+$actsettings['news'];
                }
        
                
$qrynewscom db("SELECT comment FROM ".$db['newscomments']."
                                                                                        WHERE reg = '"
.intval($getuser['id'])."'");
                while(
$getnewscom _fetch($qrynewscom)) {
                        if(
strlen($getnewscom['comment']) >= $actsettings['min_z_newscom']) {
                                
$news_com $news_com+$actsettings['news_com'];
                                
$ges $ges+$actsettings['news_com'];
                        }
                }
        
                
$qryactartikel db("SELECT * FROM ".$db['artikel']."
                                                                                                    WHERE autor = '"
.intval($getuser['id'])."'");
                while(
$getactartikel _fetch($qryactartikel)) {
                        
$actartikel $actartikel+$actsettings['artikel'];
                        
$ges $ges+$actsettings['artikel'];
                }
        
                
$qryartikelcom db("SELECT comment FROM ".$db['acomments']."
                                                                                                    WHERE reg = '"
.intval($getuser['id'])."'");
                while(
$getartikelcom _fetch($qryartikelcom)) {
                        if(
strlen($getartikelcom['comment']) >= $actsettings['min_z_artikelcom']) {
                                
$artikel_com $artikel_com+$actsettings['artikel_com'];
                                
$ges $ges+$actsettings['artikel_com'];
                        }
                }
        
                
$qrycwcom db("SELECT comment FROM ".$db['cw_comments']."
                                                                                WHERE reg = '"
.intval($getuser['id'])."'");
                while(
$getcwcom _fetch($qrycwcom)) {
                        if(
strlen($getcwcom['comment']) >= $actsettings['min_z_cwcom']) {
                                
$cw_com $cw_com+$actsettings['cw_com'];
                                
$ges $ges+$actsettings['cw_com'];
                        }
                }
        
                
$qryshout db("SELECT * FROM ".$db['shout']."
                                                                                WHERE email = '"
.intval($getuser['id'])."'");
                while(
$getshout _fetch($qryshout)) {
                        
$shout $shout+$actsettings['shout'];
                        
$ges $ges+$actsettings['shout'];
                }
            
                
$ges $ges+$getuser['activitypoints_plus'];
                
$ges $ges-$getuser['activitypoints_minus'];        
                
                
$qryadd db("INSERT INTO ".$sql_prefix."activitypoints                                                            
                                                                        SET  `user` = '"
.intval($getuser['id'])."',
                                                                                            `forum_threads` = '"
.((int)$forum_thread)."',
                                                                                            `forum_post1` = '"
.((int)$forum_post1)."',
                                                                                            `forum_post2` = '"
.((int)$forum_post2)."',
                                                                                            `forum_post3` = '"
.((int)$forum_post3)."',
                                                                                            `news` = '"
.((int)$actnews)."',
                                                                                            `news_com` = '"
.((int)$news_com)."',
                                                                                            `artikel` = '"
.((int)$actartikel)."',
                                                                                            `artikel_com` = '"
.((int)$artikel_com)."',
                                                                                            `cw_com` = '"
.((int)$cw_com)."',
                                                                                            `shout` = '"
.((int)$shout)."',
                                                                                            `plus` = '"
.((int)$getuser['activitypoints_plus'])."',
                                                                                            `minus` = '"
.((int)$getuser['activitypoints_minus'])."',
                                                                                            `ges` = '"
.((int)$ges)."'");
        }       
        
        
$qry db("SELECT id,ges FROM ".$sql_prefix."activitypoints ORDER BY `ges` DESC");
        while(
$get _fetch($qry)) {
                if(
$get['ges'] != $activity_last$activity_pos++;
                
$qryupdate db("UPDATE ".$sql_prefix."activitypoints
                                                                                    SET `pos` = '"
.((int)$activity_pos)."'
                                                                                    WHERE `id` = '"
.intval($get['id'])."'");
                
$activity_last $get['ges'];
        }
}

function 
activitypoints($id,$showtext) {
  global 
$sql_prefix
 
  if(
$id != "0" AND !empty($id)) {
    
$qry db("SELECT `ges` FROM ".$sql_prefix."activitypoints
               WHERE `user` = '"
.intval($id)."'");
     
$get _fetch($qry);
  
    if(
$showtext == 'true'$return "<span class="fontBold">"._activity_points.":</span> ".$get['ges'];
    else 
$return $get['ges']; 
  } else 
$return "";
 
  return 
$return;
}
 



aber ganz sicher bin ich mir halt nicht was ich alles rausnehmen muss deswegen frage ich euch ja
 


IP gespeichert
#4 am 19.06.2012 um 22:51 Uhr für diesen Post danken Diesen Beitrag zitieren
*nitro*
Founder
Posts: 999
Danksagungen: 165
9.gif
Forenking

Umgeschrieben ist es schon.

Muss "nur" noch die ReadMe fertig machen. Daran habert es jedoch im Moment

 

Gruß *nitro*

 
IP gespeichert
#5 am 24.06.2012 um 18:24 Uhr für diesen Post danken Diesen Beitrag zitieren
*nitro*
Founder
Posts: 999
Danksagungen: 165
9.gif
Forenking

Ich suche aktuell 2 bis 3 freiwillige, welche das Update der Activity-Points mal testen.

 

Im Update habe ich die Berechunng der Punkte so umgeschrieben, dass diese nicht mehr bei jeden Seitenaufruf für alle User neu berechnet, sondern nur dann für einen User neu berechnet werden, wenn dieser eine Aktion ausführt, welche die Punkte beeinflusst (z.B. einen Forenpost macht). Wird jedoch die Punkteübersicht aufgerufen, werden die Punkte für alle User neu berechnet.

 

Wer bereit wäre, die neue Version bei sich zu testen, bitte in diesen Thread melden.

 

Gruß *nitro*

 
IP gespeichert
#6 am 08.07.2012 um 13:10 Uhr für diesen Post danken Diesen Beitrag zitieren
*nitro*
Founder
Posts: 999
Danksagungen: 165
9.gif
Forenking

Da sich leider keine Freiwilligen gefunden haben, habe ich soeben die neue Version ohne weitere Tests freigegeben.

 

Gruß *nitro*

 
IP gespeichert
Seite: « 1 »
Diesen Thread weiterempfehlen:
Switchbox
Website of the Week
http://www.brt-clan.de/news/
Navigation
Socialmedia
Spenden Twitter Facebook
Follow us
Facebook-Fanpage
   Stromanbieter vergleichen CMS © 2005 - 2013 by deV!L`z Clanportal - supported by Clantemplates Gasvergleich