Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 5
Seite [1]
Jam2 ClanSphere Team


Highlander





Beiträge: 3291
# Thema - 07.06.2008 um 09:05 Uhr
Tagchen,

und zwar in der Board Toplist wird ja nur die Beitragszahl gezählt.... Meine User wünschen sich aber das auch die Threads mitgezählt werden.....

ich habs jetzt so geregelt
mods/board/toplist.php +-
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
1. / 2. / ... 
<?php
// ClanSphere 2008 - www.clansphere.net
// $Id:  $

$cs_lang cs_translate('board');

include 
'mods/board/functions.php';

$start = empty($_GET['start']) ? : (int) $_GET['start'];

#$tables = 'users usr LEFT JOIN {pre}_comments cms ON cms.users_id = usr.users_id GROUP BY usr.users_id';
$tables 'comments cms INNER JOIN {pre}_users usr ON cms.users_id = usr.users_id GROUP BY cms.users_id';

$cells 'usr.users_id AS users_id, usr.users_nick AS users_nick, COUNT(cms.comments_id) AS comments';
$select cs_sql_select(__FILE__,$tables,$cells,0,'comments DESC, usr.users_nick',$start,$account['users_limit']);

$count cs_sql_select(__FILE__,$tables,'COUNT(usr.users_id)',0,0,0,0);
$count count($count);

$cs_ranks cs_sql_select(__FILE__,'boardranks','boardranks_min, boardranks_name',0,'boardranks_min ASC',0,0);

$data['pages']['list'] = cs_pages('board','toplist',$count,$start);

$cs_users $select;

if(empty(
$select)) {
  
$data['toplist'] = '';
}

$x $start;
$count_users count($cs_users);

for(
$run 0$run $count_users$run++) {
  
$x++;
  
$data['toplist'][$run]['class'] = $class $cs_users[$run]['users_id'] != $account['users_id'] ? 'leftb' 'leftc';
  
$data['toplist'][$run]['number'] = $run == || getUserPosts($cs_users[$run]['users_id']) != getUserPosts($cs_users[$run-1]['users_id']) ? $x $x-1;
  
$data['toplist'][$run]['nick_link'] = cs_url('users','view','id=' $cs_users[$run]['users_id']);
  
$data['toplist'][$run]['nick'] = $cs_users[$run]['users_nick'];
  
$data['toplist'][$run]['comments'] = getUserPosts($cs_users[$run]['users_id']);
  
$data['toplist'][$run]['rank'] = cs_secure(getRankTitle(getUserPosts($cs_users[$run]['users_id']), $cs_ranks)); 
}
  
echo 
cs_subtemplate(__FILE__,$data,'board','toplist');
?>


mod/board/functions.php +-
 
1.
2.
3.
4.
5.
6.
7.
1. / 2. / ... 
 function getUserPosts($id)
{
  
$cnt cs_sql_count(__FILE__,'comments','users_id = \'' $id '\'');
  
$cnt3 cs_sql_count(__FILE__,'threads','users_id = \'' $id '\'');
 
$cnt10 $cnt $cnt3;
    return 
$cnt10;
}


naja die Beitragszahl wird angezeigt aber



Hoffe mir kann geholfen werden =)


------------------
Gruß/ Best regards
Jam2

Nützliche Forumbeiträge/Codepastes: (Useful comments in our board / codepastes)
Template Switch for index.php
Board Navlist last posts

Edi: könnte man denn auch hier eine erweiterung einfügen?
Jam2: das web ist wie toyota.....
Edi: hö ?
Jam2: nichts ist unmöglich!
Inaktiv
Jam2 ClanSphere Team
Thread-Ersteller


Highlander





Beiträge: 3291
# Antwort: 1 - 08.06.2008 um 10:57 Uhr
also ich weiß jetzt das es an der zeile liegt

$select = cs_sql_select(__FILE__,$tables,$cells,0,'comments DESC, usr.users_nick',$start,$account['users_limit' :
);

comments DESC <- da müsste ich vorher die Threadzahl addieren o.O ich hab aber keinen Plan wie das gehen soll


------------------
Gruß/ Best regards
Jam2

Nützliche Forumbeiträge/Codepastes: (Useful comments in our board / codepastes)
Template Switch for index.php
Board Navlist last posts

Edi: könnte man denn auch hier eine erweiterung einfügen?
Jam2: das web ist wie toyota.....
Edi: hö ?
Jam2: nichts ist unmöglich!


Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 2 - 08.06.2008 um 14:10 Uhr
nach einiger trickserei hab ichs hinbekommen. ich weiß noch nicht obs auch bei unseren anderen unterstützten datenbanktypen funktioniert, falls ja kommt das wahrscheinlich ins svn. hier der code:

 
1.
2.
3.
4.
5.
1. / 2. / ... 
<?php
$tables 
'comments cms LEFT JOIN {pre}_users usr ON cms.users_id = usr.users_id LEFT JOIN {pre}_threads thr ON thr.users_id = usr.users_id GROUP BY usr.users_id';

$cells 'usr.users_id AS users_id, usr.users_nick AS users_nick, COUNT(DISTINCT cms.comments_id) + COUNT(DISTINCT thr.threads_id) AS comments'
?>


der rest bleibt gleich.


Inaktiv
|
Drag0n


Just nerd




Beiträge: 941
# Antwort: 3 - 08.06.2008 um 15:48 Uhr
hehe der duriel mal wieder xD


------------------
MfG

Drag0n

ich gebe KEINEN ICQ oder MSN Support, es sei den ich schreibe euch an


Inaktiv
|
Jam2 ClanSphere Team
Thread-Ersteller


Highlander





Beiträge: 3291
# Antwort: 4 - 08.06.2008 um 16:32 Uhr
08.06.2008 um 14:10 Uhr - duRiel:
nach einiger trickserei hab ichs hinbekommen. ich weiß noch nicht obs auch bei unseren anderen unterstützten datenbanktypen funktioniert, falls ja kommt das wahrscheinlich ins svn. hier der code:

 
1.
2.
3.
4.
5.
1. / 2. / ... 
<?php
$tables 
'comments cms LEFT JOIN {pre}_users usr ON cms.users_id = usr.users_id LEFT JOIN {pre}_threads thr ON thr.users_id = usr.users_id GROUP BY usr.users_id';

$cells 'usr.users_id AS users_id, usr.users_nick AS users_nick, COUNT(DISTINCT cms.comments_id) + COUNT(DISTINCT thr.threads_id) AS comments'
?>


der rest bleibt gleich.



funtzt super danke (mysql)


------------------
Gruß/ Best regards
Jam2

Nützliche Forumbeiträge/Codepastes: (Useful comments in our board / codepastes)
Template Switch for index.php
Board Navlist last posts

Edi: könnte man denn auch hier eine erweiterung einfügen?
Jam2: das web ist wie toyota.....
Edi: hö ?
Jam2: nichts ist unmöglich!


Inaktiv
|
duRiel ClanSphere Team


Weltmeister




Herkunft: Cambridge
Beiträge: 7300
# Antwort: 5 - 08.06.2008 um 16:53 Uhr
ist jetzt im svn, funktioniert zumindest auch unter postgre (und dann wohl auch bei den anderen).
bei getuserposts hab ich die topics jetzt auch dazugezählt.


Inaktiv
|
Antworten: 5
Seite [1]


Sie müssen sich registrieren, um zu antworten.