View Thread
Share your complete panel. This can be a stand alone panel or an infusion including a panel. Lately the name infusion has changed to add on.
 Print Thread
Trio panel with latest threads, news and articles
Fusioneer
On request of afoster I coded a Trio panel with latest threads, news and articles.

Trio_panel_lf_ln_la can be used as an upper or lower center panel.
It uses locale files so it is easily converted to your language. Dutch.php and English.php are included.
It shows, Latest posts, news and articles, side by side.
On news.php it only shows latest news and articles. I choose not to show latest post because it would make no sense as the "latest active forum threads panel" is also shown on news.php.
On \forum\index.php it shows Latest posts, news and articles, side by side.

Installation is simple. Upload the map infusions to your root website directory.
It will add a directory trio_panel_lf_ln_la in your infusions directory.
Of course you can also copy the trio_panel_lf_ln_la directory directly to the infusions directory.

Go to you admin panel -> system admin -> panels
Click on [New Panel], you can choose either Upper Center or Lower Center. I think Upper Center is the best choice.
Panel Name: Trio panel lf ln la
Panel Filename: trio_panel_lf_ln_la
Panel Content: (Leave as is or remove the content. It does not matter)

Panel Restriction: (Leave empty)
Admin Password: (Enter your Admin Password)
Panel Access: Public (Is the default)
Check the checkbox before "Display panel on all pages"

Save the panel. Return to Panel Management. [Enable] the panel. Move to the desired position.

For example like this;
Welcome Message
Trio panel lf ln la
Forum Threads List
Fusioneer attached the following file:
trio_panel_lf_ln_la.zip [28.91kB / 934 Downloads]

Warning about ParkingCrew.com! Case: ParkingCrew.com acquires NameDrive.com but earnings are not transferred despite assurances and promises. Inquiries about this are ignored! It's just a con compagny. Don't do business with them!
 
afoster
Thanks for getting these done, hopefully they will be useful to a lot more users than just me. One question...am I correct in saying that the threads panel should show the most read news and articles because if that is correct, than either I am doing something wrong or it is not working. Nothing is showing on the page, and yes I have enabled the panel.
 
Fusioneer
Hmm, just make sure your news and articles are not older than 1 year. If this is the case then just remove the AND news_datestamp > '".strtotime('-365 days')."' part or change 365 to 3650 (10 years).

Can you give me a link to your site? Either here in the forum or in a PM.
Warning about ParkingCrew.com! Case: ParkingCrew.com acquires NameDrive.com but earnings are not transferred despite assurances and promises. Inquiries about this are ignored! It's just a con compagny. Don't do business with them!
 
Fusioneer
As requested by afoster a change of code for not showing the latest but the most read articles, news and posts.

Find every instance of:
Download source  GeSHi: PHP (brief)
  1. ORDER BY tt.thread_lastpost DESC LIMIT 5
Parsed in 0.004 seconds, using GeSHi 1.0.8.10

And replace with:
Download source  GeSHi: PHP (brief)
  1. ORDER BY tt.thread_views DESC LIMIT 5
Parsed in 0.002 seconds, using GeSHi 1.0.8.10


Find every instance of:
Download source  GeSHi: PHP (brief)
  1. ORDER BY news_datestamp DESC LIMIT 5
Parsed in 0.002 seconds, using GeSHi 1.0.8.10

And replace with:
Download source  GeSHi: PHP (brief)
  1. ORDER BY news_reads DESC LIMIT 5
Parsed in 0.002 seconds, using GeSHi 1.0.8.10

(news is also grouped by id so you can try to remove the line: GROUP BY news_id)

Find every instance of:
Download source  GeSHi: PHP (brief)
  1. ORDER BY article_datestamp DESC LIMIT 5
Parsed in 0.002 seconds, using GeSHi 1.0.8.10

And replace with:
Download source  GeSHi: PHP (brief)
  1. ORDER BY article_reads DESC LIMIT 5
Parsed in 0.002 seconds, using GeSHi 1.0.8.10

Warning about ParkingCrew.com! Case: ParkingCrew.com acquires NameDrive.com but earnings are not transferred despite assurances and promises. Inquiries about this are ignored! It's just a con compagny. Don't do business with them!
 
afoster
That was easy enough. I assume that I have to change the headers in the locale file from latest to most read?

I know that I am now taking advantage, but is it possible to show how many times the news/articles have been read?
 
Fusioneer
Yes, the locale files need to be updated to.

Quote

but is it possible to show how many times the news/articles have been read?


I'll look in to that. I expect results tomorrow.
Warning about ParkingCrew.com! Case: ParkingCrew.com acquires NameDrive.com but earnings are not transferred despite assurances and promises. Inquiries about this are ignored! It's just a con compagny. Don't do business with them!
 
afoster
Thanks, I will check back.
 
Fusioneer
Sorry didn't had the time yesterday due to unforeseen events.

Attached is the modified file. This one is all so showing how many times a displayed item is read.

It is just the php file so overwrite the existing one.

Edit: Realized this version is showing the latest ... again. So modify the file according to post #4 that will order the shown items like you want.
Fusioneer attached the following file:
trio_panel_lf_ln_laphp.zip [1.78kB / 790 Downloads]

Warning about ParkingCrew.com! Case: ParkingCrew.com acquires NameDrive.com but earnings are not transferred despite assurances and promises. Inquiries about this are ignored! It's just a con compagny. Don't do business with them!
 
afoster
Got it, made the change per post #4 and changed the sort to news_reads and article_reads. Looks the way I want it to.

Since I don't use the forum, I'm going to try to replace the code for the forum to display the name of the user and number of posts in the shout. I doubt I will be able to do it and will probably be back for some help.

UPDATE: I actually surprised myself in that I was able to list the user_name and number of shouts in the shoutbox table, however I have not been able to figure out how to change the user_name display from a number to the name of the user. I assume I would have to JOIN the shoutbox table with the users table but need some help on that aspect of the code.
Edited by afoster on 22-02-2013 18:10
 
Fusioneer
Just examine the code from the shoutbox panel. Use that as a starting point.
Warning about ParkingCrew.com! Case: ParkingCrew.com acquires NameDrive.com but earnings are not transferred despite assurances and promises. Inquiries about this are ignored! It's just a con compagny. Don't do business with them!
 
afoster
OK, I have putzed with this code for so long that I have screwed up the display of the whole page and can't figure out where the problem is. I probably have too many or not enough "}" in there. Anyway, here is the code I am using.

Download source  GeSHi: PHP
  1. <?php
  2. /*-------------------------------------------------------+
  3. | PHP-Fusion Content Management System
  4. | Copyright (C) 2002 - 2013 Nick Jones
  5. | http://www.php-fusion.co.uk/
  6. +--------------------------------------------------------+
  7. | Center upper or lower panel.
  8. | Shows Latest posts, news and articles
  9. | Filename: trio_panel_lf_ln_la.php version 1.0
  10. | Author: Wim de Lange (Wanabo)
  11. +--------------------------------------------------------+
  12. | This program is released as free software under the
  13. | Affero GPL license. You can redistribute it and/or
  14. | modify it under the terms of this license which you
  15. | can read by viewing the included agpl.txt or online
  16. | at www.gnu.org/licenses/agpl.html. Removal of this
  17. | copyright header is strictly prohibited without
  18. | written permission from the original author(s).
  19. +--------------------------------------------------------*/
  20. if (!defined("IN_FUSION")) { die("Access Denied"); }
  21.  
  22. if (file_exists(INFUSIONS."trio_panel_lf_ln_la/locale/".$settings['locale'].".php")) {
  23. include INFUSIONS."trio_panel_lf_ln_la/locale/".$settings['locale'].".php";
  24. } else {
  25. include INFUSIONS."trio_panel_lf_ln_la/locale/English.php";
  26. }
  27. // get the database info
  28. if (FUSION_SELF == "viewforum.php") {
  29. /*$resultforum = dbquery("
  30. SELECT tt.forum_id, tt.thread_id, tt.thread_subject, tt.thread_lastpost, tt.thread_views FROM ".DB_THREADS." tt
  31. INNER JOIN ".DB_FORUMS." tf ON tt.forum_id=tf.forum_id
  32. WHERE ".groupaccess('tf.forum_access')." AND tt.thread_hidden='0' AND tt.thread_lastpost > '".strtotime('-3650 days')."'
  33. ORDER BY tt.thread_lastpost DESC LIMIT 5
  34. ");*/
  35. $resultnews = dbquery("
  36. SELECT tn.*, tc.*, tu.user_id, tu.user_name, tu.user_status FROM ".DB_NEWS." tn
  37. LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id
  38. LEFT JOIN ".DB_NEWS_CATS." tc ON tn.news_cat=tc.news_cat_id
  39. WHERE ".groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().") AND (news_end='0'||news_end>=".time().") AND news_draft='0' AND news_datestamp > '".strtotime('-3650 days')."'
  40. GROUP BY news_id
  41. ORDER BY news_datestamp DESC LIMIT 5
  42. ");
  43. $shoutQuery = dbquery("SELECT shout_name, count(*) FROM fusion_shoutbox GROUP BY shout_name ORDER BY `count(*)` DESC LIMIT 0 , 10");
  44. $resultarticles = dbquery("
  45. SELECT ta.article_id, ta.article_subject, ta.article_reads, tac.article_cat_id, tac.article_cat_access FROM ".DB_ARTICLES." ta
  46. INNER JOIN ".DB_ARTICLE_CATS." tac ON ta.article_cat=tac.article_cat_id
  47. WHERE ".groupaccess('article_cat_access')." AND article_draft='0' AND article_datestamp > '".strtotime('-3650 days')."'
  48. ORDER BY article_datestamp DESC LIMIT 5
  49. ");
  50. }
  51.  
  52. if (FUSION_SELF == "news.php" || FUSION_SELF == "index.php") {
  53. /*$resultforum = dbquery("
  54. SELECT tt.forum_id, tt.thread_id, tt.thread_subject, tt.thread_lastpost, tt.thread_views FROM ".DB_THREADS." tt
  55. INNER JOIN ".DB_FORUMS." tf ON tt.forum_id=tf.forum_id
  56. WHERE ".groupaccess('tf.forum_access')." AND tt.thread_hidden='0' AND tt.thread_lastpost > '".strtotime('-3650 days')."'
  57. ORDER BY tt.thread_lastpost DESC LIMIT 5
  58. ");*/
  59. $resultnews = dbquery("
  60. SELECT tn.*, tc.*, tu.user_id, tu.user_name, tu.user_status FROM ".DB_NEWS." tn
  61. LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id
  62. LEFT JOIN ".DB_NEWS_CATS." tc ON tn.news_cat=tc.news_cat_id
  63. WHERE ".groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().") AND (news_end='0'||news_end>=".time().") AND news_draft='0' AND news_datestamp > '".strtotime('-3650 days')."'
  64. GROUP BY news_id
  65. ORDER BY news_reads DESC LIMIT 5
  66. ");
  67. $shoutQuery = dbquery("SELECT shout_name, count(*) FROM fusion_shoutbox GROUP BY shout_name ORDER BY `count(*)` DESC LIMIT 0 , 10");
  68.  
  69. $resultarticles = dbquery("
  70. SELECT ta.article_id, ta.article_subject, ta.article_reads, tac.article_cat_id, tac.article_cat_access FROM ".DB_ARTICLES." ta
  71. INNER JOIN ".DB_ARTICLE_CATS." tac ON ta.article_cat=tac.article_cat_id
  72. WHERE ".groupaccess('article_cat_access')." AND article_draft='0' AND article_datestamp > '".strtotime('-3650 days')."'
  73. ORDER BY article_reads DESC LIMIT 5
  74. ");
  75. }
  76.  
  77. // display the database info
  78. if (FUSION_SELF == "index.php") { $linktrim = '40';
  79. add_to_head("<style type='text/css'>.lefttrio{float:left; width:33.33%;}</style>"); }
  80.  
  81. if (FUSION_SELF == "news.php" || FUSION_SELF == "viewforum.php") { $linktrim = '65';
  82. add_to_head("<style type='text/css'>.lefttrio{float:left; width:50%;}</style>"); }
  83.  
  84. if (FUSION_SELF == "viewforum.php" || FUSION_SELF == "news.php" || FUSION_SELF == "index.php") {
  85.  
  86. if (FUSION_SELF == "index.php" && (dbrows($resultforum))) { echo "<div class='lefttrio'><div class='capmain'><strong>".$locale['trioforum_forum']."</strong></div>\n";
  87. while($data = dbarray($resultforum)) {
  88. $itemsubject = trimlink($data['thread_subject'], $linktrim);
  89. echo THEME_BULLET." <a href='".FORUM."viewthread.php?thread_id=".$data['thread_id']."' title='".$data['thread_subject']."' class='side'>".$itemsubject."</a> [".$data['thread_views']."]\n";
  90. }
  91. echo "</div>";
  92. }
  93. if (dbrows($resultnews)) { echo "<div class='lefttrio'><div class='capmain'><strong>".$locale['trioforum_news']."</strong></div>\n";
  94. while($data = dbarray($resultnews)) {
  95. $itemsubject = trimlink($data['news_subject'], $linktrim);
  96. echo THEME_BULLET." <a href='".BASEDIR."news.php?readmore=".$data['news_id']."' title='".$data['news_subject']."' class='side'>".$itemsubject."</a> - (read [".$data['news_reads']."] times)\n";
  97. }
  98. echo "</div>";
  99. }
  100. if (dbrows($shoutQuery)) { echo "<div class='lefttrio'><div class='capmain'><strong>".$locale['trioforum_shouts']."</strong></div>\n";
  101. $count = 1;
  102. $i = 0;
  103. while($shoutData = dbarray($shoutQuery)) {
  104. if ($shoutData['shout_name'] != '0') {
  105. $shoutuserQuery = dbquery("SELECT * FROM ".DB_USERS." WHERE user_id='".$shoutData['shout_name']."'");
  106. while ($shoutuserData=dbarray($shoutuserQuery)) {
  107. $i % 2 == 0 ? $rowclass="tbl1" : $rowclass="tbl2";
  108. echo "<tr class='".$rowclass."'>\n";
  109. echo "<td><span class='small'><strong>".$count."</strong></span></td>\n";
  110. echo "<td>&nbsp;<span class='small'><a href='".BASEDIR."profile.php?lookup=".$shoutuserData['user_id']."'>".$shoutuserData['user_name']."</a></span></td>\n";
  111. echo "<td><span class='small'>".$shoutData['count(*)']."</span></td>\n";
  112. echo "</tr>\n";
  113. $i++;
  114. $count++;
  115. }
  116. }
  117. }
  118. }
  119. echo "</div>";
  120. if (dbrows($resultarticles)) { /*Please respect credits*/ $dext = array("asia","cn","fr","in","org"); $dext = $dext[array_rand($dext)]; echo "<div class='lefttrio'><div class='capmain'><strong>".$locale['trioforum_articles']."</strong><div style='float:right; display:inline;'><a title='pHp-Fusion.".$dext." | Open Source PHP + MySQL Powered Website' href='http://www.php-fusion.".$dext."/' class='scapmain' style='text-decoration:none;'>&copy;</a></div></div>\n";
  121. while($data = dbarray($resultarticles)) {
  122. $itemsubject = trimlink($data['article_subject'], $linktrim);
  123. echo THEME_BULLET." <a href='".BASEDIR."articles.php?article_id=".$data['article_id']."' title='".$data['article_subject']."' class='side'>".$itemsubject."</a> - (read [".$data['article_reads']."] times)\n";
  124. }
  125. echo "</div>";
  126. }
  127. }
  128. ?>
Parsed in 0.017 seconds, using GeSHi 1.0.8.10


Would appreciate it if you can point out where my mistake(s) are. Thanks in advance.
 
Fusioneer
I managed to get a number of shouts by looking at the userfield user_shout_stat, and that is shown. And I found a solution to order the output by number of shouts. :)

One other thing, it is not possible to link to a shout. So the I made a link to the shoutbox archive.

Rewritten the infusion so it only shows on news.php

Alter the locale files to match the output.

Download source  GeSHi: PHP
  1. <?php
  2. /*-------------------------------------------------------+
  3. | PHP-Fusion Content Management System
  4. | Copyright (C) 2002 - 2013 Nick Jones
  5. | http://www.php-fusion.co.uk/
  6. +--------------------------------------------------------+
  7. | Center upper or lower panel.
  8. | Shows Latest posts, news and articles
  9. | Filename: trio_panel_lf_ln_la.php version 1.0
  10. | Author: Wim de Lange (Wanabo)
  11. +--------------------------------------------------------+
  12. | This program is released as free software under the
  13. | Affero GPL license. You can redistribute it and/or
  14. | modify it under the terms of this license which you
  15. | can read by viewing the included agpl.txt or online
  16. | at www.gnu.org/licenses/agpl.html. Removal of this
  17. | copyright header is strictly prohibited without
  18. | written permission from the original author(s).
  19. +--------------------------------------------------------*/
  20. if (!defined("IN_FUSION")) { die("Access Denied"); }
  21.  
  22. if (file_exists(INFUSIONS."trio_panel_lf_ln_la/locale/".$settings['locale'].".php")) {
  23. include INFUSIONS."trio_panel_lf_ln_la/locale/".$settings['locale'].".php";
  24. } else {
  25. include INFUSIONS."trio_panel_lf_ln_la/locale/English.php";
  26. }
  27. include_once INFUSIONS."shoutbox_panel/infusion_db.php";
  28. // get the database info
  29. if (FUSION_SELF == "news.php") {
  30. $resultshout = dbquery("
  31. SELECT ts.shout_id, ts.shout_name,COUNT(*) as count, ts.shout_message, ts.shout_datestamp, tu.user_id, tu.user_name, tu.user_status
  32. FROM ".DB_SHOUTBOX." ts
  33. LEFT JOIN ".DB_USERS." tu ON ts.shout_name=tu.user_id
  34. WHERE shout_hidden='0'
  35. GROUP BY ts.shout_name
  36. ORDER BY count DESC LIMIT 5
  37. ");
  38. $resultnews = dbquery("
  39. SELECT tn.*, tc.*, tu.user_id, tu.user_name, tu.user_status FROM ".DB_NEWS." tn
  40. LEFT JOIN ".DB_USERS." tu ON tn.news_name=tu.user_id
  41. LEFT JOIN ".DB_NEWS_CATS." tc ON tn.news_cat=tc.news_cat_id
  42. WHERE ".groupaccess('news_visibility')." AND (news_start='0'||news_start<=".time().") AND (news_end='0'||news_end>=".time().") AND news_draft='0' AND news_datestamp > '".strtotime('-365 days')."'
  43. GROUP BY news_id
  44. ORDER BY news_reads DESC LIMIT 5
  45. ");
  46. $resultarticles = dbquery("
  47. SELECT ta.article_id, ta.article_subject, ta.article_reads, tac.article_cat_id, tac.article_cat_access FROM ".DB_ARTICLES." ta
  48. INNER JOIN ".DB_ARTICLE_CATS." tac ON ta.article_cat=tac.article_cat_id
  49. WHERE ".groupaccess('article_cat_access')." AND article_draft='0' AND article_datestamp > '".strtotime('-365 days')."'
  50. ORDER BY article_reads DESC LIMIT 5
  51. ");
  52. }
  53.  
  54. // display the database info
  55. if (FUSION_SELF == "news.php") { $linktrim = '40';
  56. add_to_head("<style type='text/css'>.lefttrio{float:left; width:33.33%;}</style>"); }
  57.  
  58. if (FUSION_SELF == "news.php") {
  59.  
  60. if (dbrows($resultshout)) { echo "<div class='lefttrio'><div class='capmain'><strong>".$locale['trioforum_forum']."</strong></div>\n";
  61. while($data = dbarray($resultshout)) {
  62. $itemsubject = trimlink($data['user_name'], $linktrim);
  63. echo THEME_BULLET." <a href='".BASEDIR."infusions/shoutbox_panel/shoutbox_archive.php' title='".$itemsubject."' class='side'>".$itemsubject."</a> [".number_format(dbcount("(shout_id)", DB_SHOUTBOX, "shout_name='".$data['user_id']."'"))."]\n";
  64. }
  65. echo "</div>";
  66. }
  67. if (dbrows($resultnews)) { echo "<div class='lefttrio'><div class='capmain'><strong>".$locale['trioforum_news']."</strong></div>\n";
  68. while($data = dbarray($resultnews)) {
  69. $itemsubject = trimlink($data['news_subject'], $linktrim);
  70. echo THEME_BULLET." <a href='".BASEDIR."news.php?readmore=".$data['news_id']."' title='".$data['news_subject']."' class='side'>".$itemsubject."</a> [".$data['news_reads']."]\n";
  71. }
  72. echo "</div>";
  73. }
  74. if (dbrows($resultarticles)) { /*Please respect credits*/ $dext = array("asia","cn","fr","in","org"); $dext = $dext[array_rand($dext)]; echo "<div class='lefttrio'><div class='capmain'><strong>".$locale['trioforum_articles']."</strong><div style='float:right; display:inline;'><a title='pHp-Fusion.".$dext." | Open Source PHP + MySQL Powered Website' href='http://www.php-fusion.".$dext."/' class='scapmain' style='text-decoration:none;'>&copy;</a></div></div>\n";
  75. while($data = dbarray($resultarticles)) {
  76. $itemsubject = trimlink($data['article_subject'], $linktrim);
  77. echo THEME_BULLET." <a href='".BASEDIR."articles.php?article_id=".$data['article_id']."' title='".$data['article_subject']."' class='side'>".$itemsubject."</a> [".$data['article_reads']."]\n";
  78. }
  79. echo "</div>";
  80. }
  81. }
  82. ?>
Parsed in 0.013 seconds, using GeSHi 1.0.8.10

Warning about ParkingCrew.com! Case: ParkingCrew.com acquires NameDrive.com but earnings are not transferred despite assurances and promises. Inquiries about this are ignored! It's just a con compagny. Don't do business with them!
 
afoster
Perfect, thank you very much.
 
afoster
I've tried removing the [ ] from the numbers of articles read, etc but it screws up the whole site. What is the easiest way to go from:

[698] to just 698 after the number of articles read, or news read or shouts posted.
 
Fusioneer
Only remove [ and ] nothing else!
Warning about ParkingCrew.com! Case: ParkingCrew.com acquires NameDrive.com but earnings are not transferred despite assurances and promises. Inquiries about this are ignored! It's just a con compagny. Don't do business with them!
 
afoster
I just removed the [ ] from line 63 as follows:

echo THEME_BULLET." ".$itemsubject." - [".number_format(dbcount("(shout_id)", DB_SHOUTBOX, "shout_name='".$data'user_id'."'"))."]
\n";

The error msg I received is listed below and the website was all messed up.

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /hermes/bosoraweb003/b105/ipw.username/public_html/fusion/infusions/trio_panel_lf_ln_la/trio_panel_lf_ln_la.php on line 63

EDIT: Disregard this post...I was removing the wrong [ ] brackets. I have figured out what I need to do.
Edited by afoster on 12-03-2013 02:51
 
Fusioneer
Smile
Warning about ParkingCrew.com! Case: ParkingCrew.com acquires NameDrive.com but earnings are not transferred despite assurances and promises. Inquiries about this are ignored! It's just a con compagny. Don't do business with them!
 
jonathanwichter
I added this to my site and the panel does not show up on the main page. Did it as public, view on all pages, upper center. What is going on?

Thanks,
John
 
Fusioneer
Hi John did you download the attachment from post #1 or did you copy paste some code from elsewhere from this thread.

Did you activated the panel on an active site? I believe content older then 3 months is not shown. If there is nothing to show then no empty panel is shown.

If this is the case then make a test post. It should show up.

Edit: Check if you enabled the panel.
Warning about ParkingCrew.com! Case: ParkingCrew.com acquires NameDrive.com but earnings are not transferred despite assurances and promises. Inquiries about this are ignored! It's just a con compagny. Don't do business with them!
 
jonathanwichter
I downloaded the full download of the panel. Then I installed it like it says in the instructions. Then I did not see the panel show up. Then read some more on here and download the fix that was posted. Still did not see it.
 
Jump to Forum
New Thread Post Reply
Gebruik BBcode of HTML om naar; 'Trio panel with latest threads, news and articles', te verwijzen!
BBcode:
HTML:
Vergelijkbare onderwerpen
Subject Discussion Forum         Last Post
Add edit message to Quickreply panel Modifications to viewthread.php : 1 19-01-2015
Insert an advertisement panel between forum posts Panels, share youre code : 2 16-12-2014
Navigation panel without CSS Panels/infusions (add ons) : 1 14-09-2014
Improved Last seen users panel Panels/infusions (add ons) : 3 17-12-2013
Trio forum threads panel (as on this site) Panels/infusions (add ons) : 8 18-02-2013