Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /var/www/mybb-es.com/html/inc/class_language.php on line 201
realizar una modificación en prostasts
cerezas6   31 Jan, 2013, 11:38 am
#1
A ver si me puede ayudar alguien con el plugin prostasts, los links de los hilos se ven reducidos y terminan en puntos suspensivos (...). Me gustaria que saliera el link completo del hilo. A ver si alguien me puede ayudar o dar un pista para saber que modificar Undecided Muchas gracias de antecodo.

[Imagen: SK3RN2y.png]

Dejo el codigo php:
Código PHP:
<?php
/*
_______________________________________________________
| |
| Name: ProStats 1.9.4 |
| Type: MyBB Plugin |
| Author: SaeedGh (SaeehGhMail@Gmail.com) |
| Support: http://prostats.wordpress.com/support/ |
| Last edit: December 02th, 2011 |
|_______________________________________________________|

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

*/

if (!defined("IN_MYBB"))
{
die(
"Direct initialization of this file is not allowed.");
}

$plugins->add_hook('global_start', 'prostats_run_global');
$plugins->add_hook('pre_output_page', 'prostats_run_pre_output');
$plugins->add_hook('index_start', 'prostats_run_index');
$plugins->add_hook('portal_start', 'prostats_run_portal');
$plugins->add_hook('xmlhttp', 'prostats_run_ajax');
$plugins->add_hook('admin_config_plugins_activate_commit', 'prostats_install_redirect');


function
prostats_info()
{
global
$mybb, $db;

$settings_link = '';

$query = $db->simple_select('settinggroups', '*', "name='prostats'");

if (
$db->num_rows($query))
{
$settings_link = '(<a href="index.php?module=config&action=change&search=prostats" style="color:#FF1493;">Settings</a>)';
}

//DO NOT EDIT/TRANSLATE THIS SECTION
return array(
'name' => '<img border="0" src="../images/prostats/prostats.gif" align="absbottom" /> ProStats <span style="color:#000;">/proʊˈstæts/</span>',
'description' => 'Professional stats for MyBB. ' . $settings_link,
'website' => 'http://prostats.wordpress.com',
'author' => 'SaeedGh',
'authorsite' => 'mailto:SaeedGhMail@Gmail.com',
'version' => '1.9.4', //*** ALSO IN THE SETTING "ps_version" ***
'guid' => '124b68d05dcdaf6b7971050baddf340f',
'compatibility' => '16*'
);
}


function
prostats_is_installed()
{
global
$db;

$query = $db->simple_select('settinggroups', '*', "name='prostats'");

if (
$db->num_rows($query))
{
return
true;
}

return
false;
}


function
prostats_install()
{
global
$mybb, $db;

$extra_cells = "select\n0=--\n1=Most replies\n2=Most reputations\n3=Most thanks\n4=Most viewed\n5=New members\n6=Top downloads\n7=Top posters\n8=Top referrers";

prostats_uninstall();

$ps_group = array(
'name' => "prostats",
'title' => "ProStats",
'description' => "Professional stats for MyBB.",
'disporder' => 1,
'isdefault' => 1
);

$gid = $db->insert_query("settinggroups", $ps_group);
$mybb->prostats_insert_gid = $gid;

$ps[]= array(
'name' => "ps_enable",
'title' => "Enable",
'description' => "Do you want to enable the plugin?
<style type=\"text/css\">
#row_setting_ps_enable td.first,
#row_setting_ps_position td.first,
#row_setting_ps_date_format_ty td.first,
#row_setting_ps_trow_message_pos td.first,
#row_setting_ps_latest_posts_pos td.first,
#row_setting_ps_cell_6 td.first
{
border-bottom: 4px solid #016BAE;
padding-bottom: 40px;
border-left: 0px;
border-right: 0px;
background-repeat: no-repeat;
background-position: bottom left;
}
#row_setting_ps_enable td.first {
background-image: url(../images/prostats/ps_settings_vp.gif);
}
#row_setting_ps_position td.first {
background-image: url(../images/prostats/ps_settings_ga.gif);
}
#row_setting_ps_date_format_ty td.first {
background-image: url(../images/prostats/ps_settings_mb.gif);
}
#row_setting_ps_trow_message_pos td.first {
background-image: url(../images/prostats/ps_settings_lp.gif);
}
#row_setting_ps_latest_posts_pos td.first {
background-image: url(../images/prostats/ps_settings_ec.gif);
}
#row_setting_ps_cell_6 td.first {
background-image: url(../images/prostats/ps_settings_mc.gif);
}
#row_setting_ps_version {
display: none;
}
.ec_div {
width:98px;
height:43px;
overflow:hidden;
text-direction:rtl;
margin-top:5px;
}
</style>

<link type=\"text/css\" rel=\"stylesheet\" href=\"../floatstats.php?fs_action=css\" />

<div id=\"float_notification\">
<div id=\"close_float_note\" onclick=\"toggle_float_note();\">×</div>
<div id=\"help_float_note\" title=\"This helps you find a good balance between appearance and performance before you save the new settings. For more information click!\"><a style=\"color:#FFFFFF;\" target=\"_blank\" href=\"http://prostats.wordpress.com/features/\">?</a></div>
<div style=\"float:left;margin:-4px 0 0 -5px;color:#FFFFFF;font-weight:bold;\">FloatStats</div>
<br /><br />
<table class=\"fs_tbl\" cellspacing=\"0\" cellpadding=\"0\">
<tr><td>User ID:</td><td><input id= \"fs_uid\" type=\"text\" class=\"textbox50\" /></td></tr>
<tr><td>Script:</td><td><select id= \"fs_script\" class=\"selectbox130\"><option value=\"index.php\">index.php</option><option value=\"portal.php\">portal.php</option><option value=\"showthread.php\">showthread.php</option></select></td></tr>
<tr><td>URI:</td><td><select id=\"fs_key\" class=\"selectbox60\"><option value=\"tid\">tid</option><option value=\"pid\">pid</option></select> = <input id=\"fs_value\" type=\"text\" class=\"textbox50\" /></td></tr>
</table>
<strong>
<div id=\"fs_queries_count\">?</div><br />
No. DB Queries:<br />
<div id=\"fs_mem_usage\">?</div><br />
Memory Usage:<br /><br />
<input style=\"float:left;\" type=\"checkbox\" id=\"fs_auto_refresh_chk\"><label for=\"fs_auto_refresh_chk\" style=\"float:left;margin-top:3px;\">Auto Refresh</label>
<input type=\"submit\" value=\"Refresh\" onclick=\"fs_refresh();return false;\" style=\"width:80px;float:right;\" /><br /><br />
</strong>
</div>

<script type=\"text/javascript\">
var settings_options = [\"ps_enable\", \"ps_index\", \"ps_portal\", \"ps_global_tag\", \"ps_format_name\", \"ps_highlight\", \"ps_latest_posts\", \"ps_latest_posts_prefix\", \"ps_chkupdates\"];
var settings_text = [\"ps_ignoreforums\", \"ps_num_rows\", \"ps_date_format\", \"ps_date_format_ty\", \"ps_trow_message\", \"ps_latest_posts_cells\"];
var settings_select = [\"ps_trow_message_pos\", \"ps_latest_posts_pos\", \"ps_cell_1\", \"ps_cell_2\", \"ps_cell_3\", \"ps_cell_4\", \"ps_cell_5\", \"ps_cell_6\"];
</script>


<div id=\"preview_iframe_holder\">
<iframe id=\"preview_iframe\" name=\"preview_iframe\" src=\"../floatstats.php?fs_action=preview\" style=\"width:100%;border:0;height:inherit;\"></iframe>
<div id=\"preview_handle\" class=\"unselectable preview_handle\">Instant Preview</div>
</div>

<script type=\"text/javascript\" src=\"../floatstats.php?fs_action=js\"></script>
"
,
'optionscode' => "yesno",
'value' => ps_SetSettingsValue('ps_enable', '1'),
'disporder' => 1,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_index",
'title' => "Show in index",
'description' => "Show the ProStats table in the index page.",
'optionscode' => "yesno",
'value' => ps_SetSettingsValue('ps_index', '1'),
'disporder' => 3,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_portal",
'title' => "Show in portal",
'description' => "Show the ProStats table in the portal page.",
'optionscode' => "yesno",
'value' => ps_SetSettingsValue('ps_portal', '0'),
'disporder' => 4,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_global_tag",
'title' => "Activate global tag",
'description' => "So you can edit themes and insert &lt;ProStats&gt; tag wherever you want to show the stats.",
'optionscode' => "yesno",
'value' => ps_SetSettingsValue('ps_global_tag', '0'),
'disporder' => 5,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_hidefrombots",
'title' => "Hide from search bots",
'description' => "Using this option you can hide stats from all search bots you\'ve defined them in <strong><a href=\"index.php?module=config-spiders\" target=\"_blank\">Spiders/Bots</a></strong> page. This will save bandwidth and decrease server load.",
'optionscode' => "yesno",
'value' => ps_SetSettingsValue('ps_hidefrombots', '1'),
'disporder' => 6,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_ignoreforums",
'title' => "Ignore list",
'description' => "Forums not to be shown on ProStats. Seperate with comma. (e.g. 1,3,12)",
'optionscode' => "text",
'value' => ps_SetSettingsValue('ps_ignoreforums', ''),
'disporder' => 7,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_position",
'title' => "Table position in index and portal",
'description' => "Position of stats in index and portal pages.",
'optionscode' => "select\n0=Top (Header)\n1=Bottom (Footer)",
'value' => ps_SetSettingsValue('ps_position', '1'),
'disporder' => 10,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_format_name",
'title' => "Style usernames",
'description' => "Style the username in true color, font, etc.",
'optionscode' => "yesno",
'value' => ps_SetSettingsValue('ps_format_name', '1'),
'disporder' => 20,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_highlight",
'title' => "Highlighting System",
'description' => "Highlight unapproved threads and those threads which are directly under moderation of current user.<br />
Color scheme: <span style=\"background-color:#FFDDE0;\">Unapproved</span>, <span style=\"background-color:#FFFE92;\">In moderation zone</span>, <span style=\"background-color:#FFDA91;\">Both conditions!</span> "
,
'optionscode' => "yesno",
'value' => ps_SetSettingsValue('ps_highlight', '1'),
'disporder' => 25,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_subject_length",
'title' => "Subject length",
'description' => "Maximum length of topic/post subjects. (Input 0 to remove the limitation)",
'optionscode' => "text",
'value' => ps_SetSettingsValue('ps_subject_length', '25'),
'disporder' => 30,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_num_rows",
'title' => "Number of rows",
'description' => "How much items must be shown? Input an <strong style=\"color:red;\">odd</strong> number greater than or equal to 3.",
'optionscode' => "text",
'value' => ps_SetSettingsValue('ps_num_rows', '11'),
'disporder' => 41,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_date_format",
'title' => "Date and Time format",
'description' => "The format of Date and Time which would be used in stats. [<a href=\"http://php.net/manual/en/function.date.php\" target=\"_blank\">More Information</a>]",
'optionscode' => "text",
'value' => ps_SetSettingsValue('ps_date_format', 'm-d, H:i'),
'disporder' => 42,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_date_format_ty",
'title' => "Date and Time variable part",
'description' => "A part of Date and Time format that must be replaced with \"Yesterday\" or \"Today\".",
'optionscode' => "text",
'value' => ps_SetSettingsValue('ps_date_format_ty', 'm-d'),
'disporder' => 43,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_trow_message",
'title' => "Message block",
'description' => "This is a block on top/bottom of the ProStats table that you can put your HTML contents in it. Leave it empty to hide it.",
'optionscode' => "textarea",
'value' => ps_SetSettingsValue('ps_trow_message', ''),
'disporder' => 45,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_trow_message_pos",
'title' => "Message block position",
'description' => "The position of message block in the ProStats table.",
'optionscode' => "select\n0=Top\n1=Down (Default)",
'value' => ps_SetSettingsValue('ps_trow_message_pos', '1'),
'disporder' => 46,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_latest_posts",
'title' => "Show latest posts",
'description' => "Show latest posts in the ProStats table.",
'optionscode' => "yesno",
'value' => ps_SetSettingsValue('ps_latest_posts', '1'),
'disporder' => 50,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_latest_posts_prefix",
'title' => "Show prefix for latest posts",
'description' => "Show prefixes in subject of latest posts (if there are any).",
'optionscode' => "yesno",
'value' => ps_SetSettingsValue('ps_latest_posts_prefix', '1'),
'disporder' => 52,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_latest_posts_cells",
'title' => "Stats of latest posts",
'description' => "What type of stats you want to be shown for latest posts?<br />Your choices are: <strong>Latest_posts, Date, Starter, Last_sender, Forum</strong><br />Separate them by comma (\",\").",
'optionscode' => "text",
'value' => ps_SetSettingsValue('ps_latest_posts_cells', 'Latest_posts, Date, Starter, Last_sender, Forum'),
'disporder' => 55,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_latest_posts_pos",
'title' => "Latest posts position",
'description' => "The position of the Latest posts block.",
'optionscode' => "select\n0=Left\n1=Right",
'value' => ps_SetSettingsValue('ps_latest_posts_pos', '0'),
'disporder' => 60,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_cell_1",
'title' => "Extra cell 1 (Top-Left)",
'description' => "<div class=\"ec_div\"><img style=\"float:left;\" src=\"../images/prostats/ps_cells.gif\" /><img style=\"float:left;margin-top:-178px;margin-left:-28px;\" src=\"../images/prostats/ps_cells.gif\" /></div>",
'optionscode' => $extra_cells,
'value' => ps_SetSettingsValue('ps_cell_1', '4'),
'disporder' => 62,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_cell_2",
'title' => "Extra cell 2 (Bottom-Left)",
'description' => "<div class=\"ec_div\"><img style=\"float:left;\" src=\"../images/prostats/ps_cells.gif\" /><img style=\"float:left;margin-top:-159px;margin-left:-28px;\" src=\"../images/prostats/ps_cells.gif\" /></div>",
'optionscode' => $extra_cells,
'value' => ps_SetSettingsValue('ps_cell_2', '2'),
'disporder' => 64,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_cell_3",
'title' => "Extra cell 3 (Top-Middle)",
'description' => "<div class=\"ec_div\"><img style=\"float:left;\" src=\"../images/prostats/ps_cells.gif\" /><img style=\"float:left;margin-top:-178px;margin-left:-14px;\" src=\"../images/prostats/ps_cells.gif\" /></div>",
'optionscode' => $extra_cells,
'value' => ps_SetSettingsValue('ps_cell_3', '1'),
'disporder' => 66,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_cell_4",
'title' => "Extra cell 4 (Bottom-Middle)",
'description' => "<div class=\"ec_div\"><img style=\"float:left;\" src=\"../images/prostats/ps_cells.gif\" /><img style=\"float:left;margin-top:-159px;margin-left:-14px;\" src=\"../images/prostats/ps_cells.gif\" /></div>",
'optionscode' => $extra_cells,
'value' => ps_SetSettingsValue('ps_cell_4', '7'),
'disporder' => 68,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_cell_5",
'title' => "Extra cell 5 (Top-Right)",
'description' => "<div class=\"ec_div\"><img style=\"float:left;\" src=\"../images/prostats/ps_cells.gif\" /><img style=\"float:left;margin-top:-178px;margin-left:0px;\" src=\"../images/prostats/ps_cells.gif\" /></div>",
'optionscode' => $extra_cells,
'value' => ps_SetSettingsValue('ps_cell_5', '3'),
'disporder' => 70,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_cell_6",
'title' => "Extra cell 6 (Bottom-Right)",
'description' => "<div class=\"ec_div\"><img style=\"float:left;\" src=\"../images/prostats/ps_cells.gif\" /><img style=\"float:left;margin-top:-159px;margin-left:0px;\" src=\"../images/prostats/ps_cells.gif\" /></div>",
'optionscode' => $extra_cells,
'value' => ps_SetSettingsValue('ps_cell_6', '5'),
'disporder' => 72,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_xml_feed",
'title' => "Activate XML feed",
'description' => "Output the stats in XML format to show on other websites. [<a href=\"http://community.mybb.com/thread-48686.html\" target=\"_blank\">More Information</a>]",
'optionscode' => "yesno",
'value' => ps_SetSettingsValue('ps_xml_feed', '0'),
'disporder' => 78,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_chkupdates",
'title' => "Check for updates",
'description' => "Turn this setting On and you\'ll be notified whenever a new version released. Notification will be shown above the ProStats\' table and would be visible only to Admins.",
'optionscode' => "yesno",
'value' => ps_SetSettingsValue('ps_chkupdates', '1'),
'disporder' => 80,
'gid' => $gid
);

$ps[]= array(
'name' => "ps_version",
'title' => "ProStats Version",
'description' => "DO NOT MODIFY THIS SETTING",
'optionscode' => "text",
'value' => '1.9.4',
'disporder' => 90,
'gid' => $gid
);

foreach (
$ps as $p)
{
$db->insert_query("settings", $p);
}

rebuild_settings();
}


function
ps_SetSettingsValue($setting_name, $default_value)
{
global
$mybb;

return
$mybb->settings[$setting_name] ? $mybb->settings[$setting_name] : $default_value;
}


function
prostats_activate()
{
global
$db;

prostats_deactivate();

require_once
MYBB_ROOT.'inc/adminfunctions_templates.php';
find_replace_templatesets('index', '#{\$header}(\r?)\n#', "{\$header}\n{\$ps_header_index}\n");
find_replace_templatesets('index', '#{\$forums}(\r?)\n#', "{\$forums}\n{\$ps_footer_index}\n");
find_replace_templatesets('portal', '#{\$header}(\r?)\n#', "{\$header}\n{\$ps_header_portal}\n");
find_replace_templatesets('portal', '#{\$footer}(\r?)\n#', "{\$ps_footer_portal}\n{\$footer}\n");

$extra_cells = "select\n0=--\n1=Most replies\n2=Most reputations\n3=Most thanks\n4=Most viewed\n5=New members\n6=Top downloads\n7=Top posters\n8=Top referrers";

$templatearray = array(
'title' => "prostats",
'template' => "
<script type=\"text/javascript\">
<!--

var spinner=null;

function prostats_reload()
{
if(spinner){return false;}
this.spinner = new ActivityIndicator(\"body\", {image: \"images/spinner_big.gif\"});
new Ajax.Request(\'{\$mybb->settings[\'bburl\']}/xmlhttp.php?action=prostats_reload&my_post_key=\'+my_post_key, {method: \'post\',postBody:\"\", onComplete:prostats_done});
return false;
}

function prostats_done(request)
{
if(this.spinner)
{
this.spinner.destroy();
this.spinner = \'\';
}
if(request.responseText.match(/<error>(.*)<\\\/error>/))
{
message = request.responseText.match(/<error>(.*)<\\\/error>/);
alert(message[1]);
}
else if(request.responseText)
{
$(\"prostats_table\").innerHTML = request.responseText;
}
}
-->
</script>

<div id=\"prostats_table\">
{\$remote_msg}
<table width=\"100%\" border=\"0\" cellspacing=\"{\$theme[borderwidth]}\" cellpadding=\"0\" class=\"tborder\">
<thead>
<tr><td colspan=\"{\$num_columns}\">
<table border=\"0\" cellspacing=\"0\" cellpadding=\"{\$theme[tablespace]}\" width=\"100%\">
<tr class=\"thead\">
<td><strong>{\$lang->prostats_prostats}</strong></td>
<td style=\"text-align:{\$ps_ralign};\"><a href=\"\" onclick=\"return prostats_reload();\">{\$lang->prostats_reload} <img src=\"{\$mybb->settings[\'bburl\']}/images/prostats/ps_reload.gif\" style=\"vertical-align:middle;\" alt=\"\" /></a></td>
</tr>
</table>
</td>
</tr>
</thead>
<tbody>
{\$trow_message_top}
<tr valign=\"top\">
{\$prostats_content}
</tr>
{\$trow_message_down}
</tbody>
</table>
<br />
</div>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

$templatearray = array(
'title' => "prostats_readstate_icon",
'template' => "<img src=\"{\$mybb->settings[\'bburl\']}/images/prostats/ps_mini{\$lightbulb[\'folder\']}.gif\" style=\"vertical-align:middle;\" alt=\"\" />&nbsp;",
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

$templatearray = array(
'title' => "prostats_newestposts",
'template' => "<td class=\"{\$trow}\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"{\$theme[tablespace]}\">
<tr class=\"tcat smalltext\">
<td colspan=\"{\$colspan}\">{\$lang->prostats_latest_posts}</td>
</tr>
<tr>
<td colspan=\"{\$colspan}\">
<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr class=\"{\$trow} smalltext\">
{\$newestposts_cols_name}
</tr>
{\$newestposts_row}
</table></td>
</tr>
</table></td>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

$templatearray = array(
'title' => "prostats_newestposts_row",
'template' => "<tr class=\"{\$trow} smalltext\" style=\"{\$highlight}\">
{\$newestposts_cols}
</tr>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

$templatearray = array(
'title' => "prostats_newestposts_specialchar",
'template' => "<a href=\"{\$threadlink}\" style=\"text-decoration: none;\"><font face=\"arial\" style=\"line-height:10px;\">â–¼</font></a>",
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

//Most Replies
$templatearray = array(
'title' => "prostats_mostreplies",
'template' => "<td><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"{\$theme[tablespace]}\">
<tr class=\"tcat smalltext\">
<td colspan=\"2\">{\$lang->prostats_most_replies}</td>
</tr>
<tr>
<td colspan=\"2\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
{\$mostreplies_row}
</table></td></tr>
</table></td>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

$templatearray = array(
'title' => "prostats_mostreplies_row",
'template' => "<tr class=\"smalltext\" style=\"{\$highlight}\">
<td>{\$readstate_icon}<a href=\"{\$threadlink}\" title=\"{\$subject_long}\">{\$subject}</a></td>
<td align=\"{\$ps_align}\"><a href=\"javascript:MyBB.whoPosted({\$tid});\">{\$replies}</a></td>
</tr>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

//Most Reputation
$templatearray = array(
'title' => "prostats_mostreputation",
'template' => "<td><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"{\$theme[tablespace]}\">
<tr class=\"tcat smalltext\">
<td colspan=\"2\">{\$lang->prostats_most_reputations}</td>
</tr>
<tr>
<td colspan=\"2\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
{\$mostreputation_row}
</table></td></tr>
</table></td>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

$templatearray = array(
'title' => "prostats_mostreputation_row",
'template' => "<tr class=\"smalltext\">
<td><a href=\"{\$profilelink}\">{\$username}</a></td>
<td align=\"{\$ps_align}\"><a href=\"reputation.php?uid={\$uid}\">{\$repscount}</a></td>
</tr>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

//Most Thanks
$templatearray = array(
'title' => "prostats_mostthanks",
'template' => "<td><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"{\$theme[tablespace]}\">
<tr class=\"tcat smalltext\">
<td colspan=\"2\">{\$lang->prostats_most_thanks}</td>
</tr>
<tr>
<td colspan=\"2\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
{\$mostthanks_row}
</table></td></tr>
</table></td>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

$templatearray = array(
'title' => "prostats_mostthanks_row",
'template' => "<tr class=\"smalltext\">
<td><a href=\"{\$profilelink}\">{\$username}</a></td>
<td align=\"{\$ps_align}\">{\$thxnum}</td>
</tr>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

//Most Views
$templatearray = array(
'title' => "prostats_mostviews",
'template' => "<td><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"{\$theme[tablespace]}\">
<tr class=\"tcat smalltext\">
<td colspan=\"2\">{\$lang->prostats_most_views}</td>
</tr>
<tr>
<td colspan=\"2\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
{\$mostviews_row}
</table></td></tr>
</table></td>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

$templatearray = array(
'title' => "prostats_mostviews_row",
'template' => "<tr class=\"smalltext\" style=\"{\$highlight}\">
<td>{\$readstate_icon}<a href=\"{\$threadlink}\" title=\"{\$subject_long}\">{\$subject}</a></td>
<td align=\"{\$ps_align}\">{\$views}</td>
</tr>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

//Newest Members
$templatearray = array(
'title' => "prostats_newmembers",
'template' => "<td><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"{\$theme[tablespace]}\">
<tr class=\"tcat smalltext\">
<td colspan=\"2\">{\$lang->prostats_newest_members}</td>
</tr>
<tr>
<td colspan=\"2\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
{\$newmembers_row}
</table></td></tr>
</table></td>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

$templatearray = array(
'title' => "prostats_newmembers_row",
'template' => "<tr class=\"smalltext\">
<td><a href=\"{\$profilelink}\">{\$username}</a></td>
<td align=\"{\$ps_align}\">{\$regdate}</td>
</tr>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

//Top Downloads
$templatearray = array(
'title' => "prostats_topdownloads",
'template' => "<td><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"{\$theme[tablespace]}\">
<tr class=\"tcat smalltext\">
<td colspan=\"2\">{\$lang->prostats_top_downloads}</td>
</tr>
<tr>
<td colspan=\"2\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
{\$topdownloads_row}
</table></td></tr>
</table></td>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

$templatearray = array(
'title' => "prostats_topdownloads_row",
'template' => "<tr class=\"smalltext\" style=\"{\$highlight}\">
<td><img src=\"{\$attach_icon}\" width=\"11\" height=\"11\" align=\"absmiddle\" alt=\"\" />&nbsp;<a href=\"{\$postlink}\" title=\"{\$subject_long}\">{\$subject}</a></td>
<td align=\"{\$ps_align}\">{\$downloadnum}</td>
</tr>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

//Top Posters
$templatearray = array(
'title' => "prostats_topposters",
'template' => "<td><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"{\$theme[tablespace]}\">
<tr class=\"tcat smalltext\">
<td colspan=\"2\">{\$lang->prostats_top_posters}</td>
</tr>
<tr>
<td colspan=\"2\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
{\$topposters_row}
</table></td></tr>
</table></td>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

$templatearray = array(
'title' => "prostats_topposters_row",
'template' => "<tr class=\"smalltext\">
<td><a href=\"{\$profilelink}\">{\$username}</a></td>
<td align=\"{\$ps_align}\"><a href=\"search.php?action=finduser&amp;uid={\$uid}\">{\$postnum}</a></td>
</tr>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

//Top Referrers
$templatearray = array(
'title' => "prostats_topreferrers",
'template' => "<td><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"{\$theme[tablespace]}\">
<tr class=\"tcat smalltext\">
<td colspan=\"2\">{\$lang->prostats_top_topreferrers}</td>
</tr>
<tr>
<td colspan=\"2\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
{\$topreferrers_row}
</table></td></tr>
</table></td>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

$templatearray = array(
'title' => "prostats_topreferrers_row",
'template' => "<tr class=\"smalltext\">
<td><a href=\"{\$profilelink}\">{\$username}</a></td>
<td align=\"{\$ps_align}\">{\$refnum}</td>
</tr>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

$templatearray = array(
'title' => "prostats_message",
'template' => "<tr class=\"trow1\">
<td colspan=\"{\$num_columns}\">
<table border=\"0\" cellspacing=\"0\" cellpadding=\"{\$theme[tablespace]}\" width=\"100%\">
<tr class=\"smalltext\">
<td>
{\$prostats_message}
</td>
</tr>
</table>
</td>
</tr>"
,
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

$templatearray = array(
'title' => "prostats_onerowextra",
'template' => "<td class=\"{\$trow}\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>{\$single_extra_content}</tr></table></td>",
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);

$templatearray = array(
'title' => "prostats_tworowextra",
'template' => "<td class=\"{\$trow}\"><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>{\$extra_content_one}</tr><tr>{\$extra_content_two}</tr></table></td>",
'sid' => "-1"
);
$db->insert_query("templates", $templatearray);
}


function
prostats_uninstall()
{
global
$mybb, $db;

$db->delete_query("settings", "name IN ('ps_enable','ps_ignoreforums','ps_index','ps_portal','ps_position','ps_format_name','ps_highlight','ps_subject_length','ps_num_rows','ps_date_format','ps_date_format_ty','ps_trow_message','ps_trow_message_pos','ps_latest_posts','ps_latest_posts_prefix','ps_latest_posts_cells','ps_latest_posts_pos','ps_cell_1','ps_cell_2','ps_cell_3','ps_cell_4','ps_cell_5','ps_cell_6','ps_hidefrombots','ps_global_tag','ps_xml_feed','ps_chkupdates','ps_version')");
$db->delete_query("settinggroups", "name='prostats'");

rebuild_settings();
}

function
prostats_install_redirect()
{
global
$installed, $mybb;

if(
$installed == false && $mybb->input['plugin'] == 'prostats')
{
global
$message;

flash_message($message, 'success');
admin_redirect("index.php?module=config-settings&action=change&gid=".$mybb->prostats_insert_gid);
}
}

function
prostats_deactivate()
{
global
$db;

require_once
MYBB_ROOT."/inc/adminfunctions_templates.php";
find_replace_templatesets("index", '#{\$ps_header_index}(\r?)\n#', "", 0);
find_replace_templatesets("index", '#{\$ps_footer_index}(\r?)\n#', "", 0);
find_replace_templatesets("portal", '#{\$ps_header_portal}(\r?)\n#', "", 0);
find_replace_templatesets("portal", '#{\$ps_footer_portal}(\r?)\n#', "", 0);

$db->query("DELETE FROM ".TABLE_PREFIX."templates WHERE title='prostats'");
$db->query("DELETE FROM ".TABLE_PREFIX."templates WHERE title LIKE 'prostats_%'");
}


function
prostats_run_global()
{
global
$mybb, $session;

if (isset(
$GLOBALS['templatelist']))
{
if (
$mybb->settings['ps_enable'] && defined('THIS_SCRIPT'))
{
if (!
$mybb->settings['ps_hidefrombots'] || empty($session->is_spider))
{
if ((
$mybb->settings['ps_index'] && THIS_SCRIPT == 'index.php')
|| (
$mybb->settings['ps_portal'] && THIS_SCRIPT == 'portal.php')
||
$mybb->settings['ps_global_tag'])
{
$GLOBALS['templatelist'] .= ",prostats,prostats_readstate_icon,prostats_newmembers,prostats_newmembers_row,prostats_topposters,prostats_topposters_row,prostats_topreferrers,prostats_topreferrers_row,prostats_mostthanks,prostats_mostthanks_row,prostats_newestposts,prostats_newestposts_row,prostats_newestposts_specialchar,prostats_mostreplies,prostats_mostreplies_row,prostats_mostviews,prostats_mostviews_row,prostats_topdownloads,prostats_topdownloads_row,prostats_mostreputation,prostats_mostreputation_row,prostats_message,prostats_onerowextra,prostats_tworowextra";
}
}
}
}
}


function
prostats_run_index($force = false)
{
global
$mybb, $parser, $session, $unviewables, $prostats_tbl, $ps_header_index, $ps_footer_index, $ps_header_portal, $ps_footer_portal;

if (!
$mybb->settings['ps_enable']) {return false;}

if (
$mybb->settings['ps_hidefrombots'] && !empty($session->is_spider)) {return false;}

if (!
is_object($parser))
{
require_once
MYBB_ROOT.'inc/class_parser.php';
$parser = new postParser;
}

if (
ceil($mybb->settings['ps_num_rows']) != $mybb->settings['ps_num_rows'] || ceil($mybb->settings['ps_subject_length']) != $mybb->settings['ps_subject_length']){return false;}
if (
intval($mybb->settings['ps_num_rows']) < 3) {return false;}

if (
strtolower($mybb->input['stats'])=='xml' && $mybb->settings['ps_xml_feed'])
{
prostats_run_feed();
exit;
}

if (!
$mybb->settings['ps_index'] && !$force) {return false;}

$numofrows = $mybb->settings['ps_num_rows'];
$prostats_tbl = "";

$prostats_tbl = ps_MakeTable();

if (
$mybb->settings['ps_position'] == 0)
{
$ps_header_index = $prostats_tbl;
}
else if (
$mybb->settings['ps_position'] == 1)
{
$ps_footer_index = $prostats_tbl;
}
}


function
prostats_run_portal()
{
global
$mybb, $parser, $session, $ps_header_index, $ps_footer_index, $ps_header_portal, $ps_footer_portal;

if (!
$mybb->settings['ps_enable']) {return false;}

if (
$mybb->settings['ps_hidefrombots'] && !empty($session->is_spider)) {return false;}

if (!
is_object($parser))
{
require_once
MYBB_ROOT.'inc/class_parser.php';
$parser = new postParser;
}

if (
ceil($mybb->settings['ps_num_rows']) != $mybb->settings['ps_num_rows'] || ceil($mybb->settings['ps_subject_length']) != $mybb->settings['ps_subject_length']){return false;}

if (!
$mybb->settings['ps_portal']) {return false;}
if (
intval($mybb->settings['ps_num_rows']) < 3) {return false;}

$numofrows = $mybb->settings['ps_num_rows'];
$prostats_tbl = "";

$prostats_tbl = ps_MakeTable();

if (
$mybb->settings['ps_position'] == 0)
{
$ps_header_portal = $prostats_tbl;
}
else if (
$mybb->settings['ps_position'] == 1)
{
$ps_footer_portal = $prostats_tbl;
}
}


function
prostats_run_pre_output(&$contents)
{
global
$mybb, $parser, $session, $prostats_tbl, $ps_header_index, $ps_footer_index, $ps_header_portal, $ps_footer_portal;

if (!
$mybb->settings['ps_enable']) {return false;}

if (
$mybb->settings['ps_hidefrombots'] && !empty($session->is_spider)) {return false;}

if (!
is_object($parser))
{
require_once
MYBB_ROOT.'inc/class_parser.php';
$parser = new postParser;
}

if (
ceil($mybb->settings['ps_num_rows']) != $mybb->settings['ps_num_rows'] || ceil($mybb->settings['ps_subject_length']) != $mybb->settings['ps_subject_length']){return false;}
if (
intval($mybb->settings['ps_num_rows']) < 3) {return false;}

if (!
$mybb->settings['ps_global_tag']){
$contents = str_replace('<ProStats>', '', $contents);
return
false;
}

$numofrows = $mybb->settings['ps_num_rows'];
$prostats_tbl = "";

$prostats_tbl = ps_MakeTable();

$contents = str_replace('<ProStats>', $prostats_tbl, $contents);
}


function
ps_GetNewestPosts($NumOfRows, $feed=false)
{
global
$mybb, $db, $templates, $theme, $lang, $unviewables, $under_mod_forums_arr, $vcheck, $parser, $lightbulb, $trow, $newestposts_cols_name, $newestposts_cols, $colspan, $feeditem;

if (!
is_object($parser))
{
require_once
MYBB_ROOT.'inc/class_parser.php';
$parser = new postParser;
}

$query = $db->query ("
SELECT t.subject,t.username,t.uid,t.tid,t.fid,t.lastpost,t.lastposter,t.lastposteruid,t.replies,t.visible,tr.uid AS truid,tr.dateline,tp.displaystyle AS styledprefix,f.name
FROM "
.TABLE_PREFIX."threads t
LEFT JOIN "
.TABLE_PREFIX."threadsread tr ON (tr.tid=t.tid AND tr.uid='".$mybb->user['uid']."')
LEFT JOIN "
.TABLE_PREFIX."threadprefixes tp ON (tp.pid = t.prefix)
LEFT JOIN "
.TABLE_PREFIX."forums f ON (f.fid = t.fid)
WHERE (t.visible = '1' "
.$vcheck.")
"
.$unviewables['string']."
AND t.closed NOT LIKE 'moved|%'
AND t.visible != '-2'
AND f.active = '1'
ORDER BY t.lastpost DESC
LIMIT 0,"
.$NumOfRows);

$newestposts_cols_name = "";
$newestposts_cols = "";
$colspan = 0;
$active_cells = "";

$latest_posts_cells_arr = escaped_explode(",", htmlspecialchars_uni($mybb->settings['ps_latest_posts_cells']),20);

foreach(
$latest_posts_cells_arr as $latest_posts_cell)
{
++
$colspan;

switch(
$latest_posts_cell)
{
case
"Latest_posts" :
$active_cells['Latest_posts']=1;
$newestposts_cols_name .= "<td>".$lang->prostats_topic."</td>";
$cell_order[$colspan]='Latest_posts';
break;
case
"Date" :
$active_cells['Date']=1;
$newestposts_cols_name .= "<td>".$lang->prostats_datetime."&nbsp;</td>";
$cell_order[$colspan]='Date';
break;
case
"Starter" :
$active_cells['Starter']=1;
$newestposts_cols_name .= "<td>".$lang->prostats_author."</td>";
$cell_order[$colspan]='Starter';
break;
case
"Last_sender" :
$active_cells['Last_sender']=1;
$newestposts_cols_name .= "<td>".$lang->prostats_last_sender."</td>";
$cell_order[$colspan]='Last_sender';
break;
case
"Forum" :
$active_cells['Forum']=1;
$newestposts_cols_name .= "<td>".$lang->prostats_forum."</td>";
$cell_order[$colspan]='Forum';
break;
default: --
$colspan;
}
}

$trow = "trow1";

$loop_counter = 0;

while (
$newest_threads = $db->fetch_array($query))
{
$tid = $newest_threads['tid'];
$fuid = $newest_threads['uid'];
$fid = $newest_threads['fid'];
$lightbulb['folder'] = "off";
$newestposts_cols = "";
$plainprefix = "";
$styledprefix = "";

$highlight = ps_GetHighlight($newest_threads);

if (
$newest_threads['styledprefix'] && $mybb->settings['ps_latest_posts_prefix'])
{
$plainprefix = strip_tags($newest_threads['styledprefix']) . ' ';
$styledprefix = $newest_threads['styledprefix'] . '&nbsp;';
}

if (
$mybb->user['uid'])
{
if (
$newest_threads['dateline'] && $newest_threads['truid'] == $mybb->user['uid'])
{
if (
$newest_threads['lastpost'] > $newest_threads['dateline'])
{
$lightbulb['folder'] = "on";
}
}
else
{
if (
$newest_threads['lastpost'] > $mybb->user['lastvisit'])
{
$lightbulb['folder'] = "on";
}
}
}

$dateformat = $mybb->settings['ps_date_format'];

if (
$active_cells['Date'])
{
$isty = ps_GetTY($mybb->settings['ps_date_format_ty'], $newest_threads['lastpost'], $offset="", $ty=1);
if (
$isty)
{
$dateformat = preg_replace('#'.$mybb->settings['ps_date_format_ty'].'#', "vvv", $dateformat);
$datetime = my_date($dateformat, $newest_threads['lastpost'], NULL, 1);
$datetime = preg_replace('#vvv#', $isty, $datetime);
}
else
{
$datetime = my_date($dateformat, $newest_threads['lastpost'], NULL, 1);
}
}

if (
$active_cells['Latest_posts'])
{
$parsed_subject = $parser->parse_badwords($newest_threads['subject']);
$subject = htmlspecialchars_uni(ps_SubjectLength($plainprefix . $parsed_subject));
$subject = $styledprefix . my_substr($subject, my_strlen($plainprefix));
$subject_long = $plainprefix . htmlspecialchars_uni($parsed_subject);
$threadlink = get_thread_link($tid,NULL,"lastpost");
eval(
"\$readstate_icon = \"".$templates->get("prostats_readstate_icon")."\";");
eval(
"\$newestposts_specialchar = \"".$templates->get("prostats_newestposts_specialchar")."\";");
}

if (
$active_cells['Starter'])
{
$username = ps_FormatNameDb($fuid, htmlspecialchars_uni($newest_threads['username']));
$profilelink = get_profile_link($fuid);
}

if (
$active_cells['Last_sender'])
{
$lastposter_uname = ps_FormatNameDb($newest_threads['lastposteruid'], htmlspecialchars_uni($newest_threads['lastposter']));
$lastposter_profile = get_profile_link($newest_threads['lastposteruid']);
}

if (
$active_cells['Forum'])
{
$forumlink = get_forum_link($fid);
$forumname_long = $parser->parse_badwords(strip_tags($newest_threads['name']));
$forumname = htmlspecialchars_uni(ps_SubjectLength($forumname_long, NULL, true));
}

for(
$i=1;$i<=$colspan;++$i)
{
switch(
$cell_order[$i])
{
case
"Latest_posts" :
$newestposts_cols .= "<td>".$readstate_icon."<a href=\"".$threadlink."\" title=\"".$subject_long."\">".$subject."</a></td>";
break;
case
"Date" :
$newestposts_cols .= "<td>".$newestposts_specialchar.$datetime."</td>";
break;
case
"Starter" :
$newestposts_cols .= "<td><a href=\"".$profilelink."\">".$username."</a></td>";
break;
case
"Last_sender" :
$newestposts_cols .= "<td><a href=\"".$lastposter_profile."\">".$lastposter_uname."</a></td>";
break;
case
"Forum" :
$newestposts_cols.= "<td><a href=\"".$forumlink."\" title=\"".$forumname_long."\">".$forumname."</a></td>";
break;
default:
NULL;
}
}

eval(
"\$newestposts_row .= \"".$templates->get("prostats_newestposts_row")."\";");


if (
$feed)
{
$feeditem[$loop_counter]['tid'] = $tid;
$feeditem[$loop_counter]['fuid'] = $fuid;
$feeditem[$loop_counter]['fid'] = $fid;
$feeditem[$loop_counter]['bulb'] = $lightbulb['folder'];
$feeditem[$loop_counter]['lasttime'] = $newest_threads['lastpost'];
$feeditem[$loop_counter]['datetime'] = $datetime;

if (
$active_cells['Latest_posts'])
{
$feeditem[$loop_counter]['subject'] = $subject;
$feeditem[$loop_counter]['subject_long'] = $subject_long;
}

if (
$active_cells['Starter'])
{
$feeditem[$loop_counter]['username'] = htmlspecialchars_uni($newest_threads['username']);
$feeditem[$loop_counter]['username_formed'] = $username;
}

if (
$active_cells['Last_sender'])
{
$feeditem[$loop_counter]['lastposter_uid'] = $newest_threads['lastposteruid'];
$feeditem[$loop_counter]['lastposter_uname'] = htmlspecialchars_uni($newest_threads['lastposter']);
$feeditem[$loop_counter]['lastposter_uname_formed'] = $lastposter_uname;
}

if (
$active_cells['Forum'])
{
$feeditem[$loop_counter]['forumname'] = $forumname;
$feeditem[$loop_counter]['forumname_long'] = $forumname_long;
}
}

++
$loop_counter;
}

eval(
"\$newestposts = \"".$templates->get("prostats_newestposts")."\";");

return
$newestposts;
}


function
ps_GetMostReplies($NumOfRows)
{
global
$mybb, $db, $templates, $theme, $lang, $unviewables, $under_mod_forums_arr, $vcheck, $parser, $ps_align;

if (!
is_object($parser))
{
require_once
MYBB_ROOT.'inc/class_parser.php';
$parser = new postParser;
}

$query = $db->query ("
SELECT t.subject,t.tid,t.fid,t.replies,t.lastpost,t.visible,tr.uid AS truid,tr.dateline
FROM "
.TABLE_PREFIX."threads t
LEFT JOIN "
.TABLE_PREFIX."threadsread tr ON (tr.tid=t.tid AND tr.uid='".$mybb->user['uid']."')
LEFT JOIN "
.TABLE_PREFIX."forums f ON (f.fid = t.fid)
WHERE (t.visible = '1' "
.$vcheck.")
"
.$unviewables['string']."
AND t.closed NOT LIKE 'moved|%'
AND t.visible != '-2'
AND f.active = '1'
ORDER BY t.replies DESC
LIMIT 0,"
.$NumOfRows);

while (
$most_replies = $db->fetch_array($query))
{
$subject_long = htmlspecialchars_uni($parser->parse_badwords($most_replies['subject']));
$tid = $most_replies['tid'];
$subject = htmlspecialchars_uni(ps_SubjectLength($parser->parse_badwords($most_replies['subject']), NULL, true));
$replies = $most_replies['replies'];
$lightbulb['folder'] = "off";

$highlight = ps_GetHighlight($most_replies);

if (
$mybb->user['uid'])
{
if (
$most_replies['dateline'] && $most_replies['truid'] == $mybb->user['uid'])
{
if (
$most_replies['lastpost'] > $most_replies['dateline'])
{
$lightbulb['folder'] = "on";
}
}
else
{
if (
$most_replies['lastpost'] > $mybb->user['lastvisit'])
{
$lightbulb['folder'] = "on";
}
}
}

$threadlink = get_thread_link($tid);

eval(
"\$readstate_icon = \"".$templates->get("prostats_readstate_icon")."\";");
eval(
"\$mostreplies_row .= \"".$templates->get("prostats_mostreplies_row")."\";");
}
eval(
"\$column_mostreplies = \"".$templates->get("prostats_mostreplies")."\";");

return
$column_mostreplies;
}


function
ps_GetMostReputation($NumOfRows)
{
global
$mybb, $db, $templates, $theme, $lang, $parser, $ps_align;

$query = $db->query("
SELECT u.uid,u.reputation,u.username,u.usergroup,u.displaygroup
FROM "
.TABLE_PREFIX."users u
LEFT JOIN "
.TABLE_PREFIX."usergroups ug ON (u.usergroup = ug.gid)
WHERE ug.usereputationsystem='1'
ORDER BY u.reputation DESC
LIMIT 0,"
.$NumOfRows
);

while (
$most_reputations = $db->fetch_array($query)) {
$uid = $most_reputations['uid'];
$profilelink = get_profile_link($uid);
$repscount = intval($most_reputations['reputation']);
$username = ps_FormatName(htmlspecialchars_uni($most_reputations['username']), $most_reputations['usergroup'], $most_reputations['displaygroup']);

eval(
"\$mostreputation_row .= \"".$templates->get("prostats_mostreputation_row")."\";");
}
eval(
"\$column_mostreputation = \"".$templates->get("prostats_mostreputation")."\";");

return
$column_mostreputation;
}


function
ps_GetMostThanks($NumOfRows)
{
global
$mybb, $db, $templates, $theme, $lang, $ps_align;

if (!
$db->field_exists("thxcount","users"))
{
$mostthanks_row .= "<tr class=\"smalltext\"><td colspan=\"2\" align=\"center\"><small>".$lang->prostats_err_thxplugin."</small></td></tr>";
eval(
"\$column_mostthanks = \"".$templates->get("prostats_mostthanks")."\";");
return
$column_mostthanks;
}

$query = $db->query("SELECT uid,username,usergroup,displaygroup,thxcount FROM ".TABLE_PREFIX."users ORDER BY thxcount DESC LIMIT 0,".$NumOfRows);

while (
$most_thanks = $db->fetch_array($query))
{
$uid = $most_thanks['uid'];
$username = ps_FormatName(htmlspecialchars_uni($most_thanks['username']), $most_thanks['usergroup'], $most_thanks['displaygroup']);
$thxnum = $most_thanks['thxcount'];
$profilelink = get_profile_link($uid);
eval(
"\$mostthanks_row .= \"".$templates->get("prostats_mostthanks_row")."\";");
}
eval(
"\$column_mostthanks = \"".$templates->get("prostats_mostthanks")."\";");

return
$column_mostthanks;
}


function
ps_GetMostViewed($NumOfRows)
{
global
$mybb, $db, $templates, $theme, $lang, $unviewables, $under_mod_forums_arr, $vcheck, $parser, $ps_align;

if (!
is_object($parser))
{
require_once
MYBB_ROOT.'inc/class_parser.php';
$parser = new postParser;
}

$query = $db->query ("
SELECT t.subject,t.tid,t.fid,t.lastpost,t.views,t.visible,tr.uid AS truid,tr.dateline
FROM "
.TABLE_PREFIX."threads t
LEFT JOIN "
.TABLE_PREFIX."threadsread tr ON (tr.tid=t.tid AND tr.uid='".$mybb->user['uid']."')
LEFT JOIN "
.TABLE_PREFIX."forums f ON (f.fid = t.fid)
WHERE (t.visible = '1' "
.$vcheck.")
"
.$unviewables['string']."
AND t.closed NOT LIKE 'moved|%'
AND t.visible != '-2'
AND f.active = '1'
ORDER BY t.views DESC
LIMIT 0,"
.$NumOfRows);

while (
$most_views = $db->fetch_array($query))
{
$subject_long = htmlspecialchars_uni($parser->parse_badwords($most_views['subject']));
$tid = $most_views['tid'];
$subject = htmlspecialchars_uni(ps_SubjectLength($parser->parse_badwords($most_views['subject']), NULL, true));
$views = $most_views['views'];
$lightbulb['folder'] = "off";

$highlight = ps_GetHighlight($most_views);

if (
$mybb->user['uid'])
{
if (
$most_views['dateline'] && $most_views['truid'] == $mybb->user['uid'])
{
if (
$most_views['lastpost'] > $most_views['dateline'])
{
$lightbulb['folder'] = "on";
}
}
else
{
if (
$most_views['lastpost'] > $mybb->user['lastvisit'])
{
$lightbulb['folder'] = "on";
}
}
}

$threadlink = get_thread_link($tid);

eval(
"\$readstate_icon = \"".$templates->get("prostats_readstate_icon")."\";");
eval(
"\$mostviews_row .= \"".$templates->get("prostats_mostviews_row")."\";");
}
eval(
"\$column_mostviews = \"".$templates->get("prostats_mostviews")."\";");

return
$column_mostviews;
}


function
ps_GetNewMembers($NumOfRows)
{
global
$mybb, $db, $templates, $theme, $lang, $ps_align;

$query = $db->query("SELECT uid,regdate,username,usergroup,displaygroup FROM ".TABLE_PREFIX."users ORDER BY uid DESC LIMIT 0,".$NumOfRows);

while (
$newest_members = $db->fetch_array($query)) {
$uid = $newest_members['uid'];
$profilelink = get_profile_link($uid);
$username = ps_FormatName(htmlspecialchars_uni($newest_members['username']), $newest_members['usergroup'], $newest_members['displaygroup']);
if (
$newest_members['regdate']==0 || !$mybb->settings['ps_date_format_ty'])
{
$regdate = $lang->prostats_err_undefind;
}
else
{
$isty = ps_GetTY($mybb->settings['ps_date_format_ty'], $newest_members['regdate'], $offset="", $ty=1);
if (
$isty)
{
$regdate = $isty;
}
else
{
$regdate = my_date($mybb->settings['ps_date_format_ty'], $newest_members['regdate'], NULL, 1);
}
}

eval(
"\$newmembers_row .= \"".$templates->get("prostats_newmembers_row")."\";");
}
eval(
"\$column_newmembers = \"".$templates->get("prostats_newmembers")."\";");

return
$column_newmembers;
}


function
ps_GetTopDownloads($NumOfRows)
{
global
$mybb, $db, $templates, $theme, $lang, $parser, $unviewables, $under_mod_forums_arr, $vcheck, $ps_align;

if (!
is_object($parser))
{
require_once
MYBB_ROOT.'inc/class_parser.php';
$parser = new postParser;
}

$query = $db->query("
SELECT p.subject,t.fid,t.visible,a.pid,a.downloads,a.filename
FROM "
.TABLE_PREFIX."attachments a
LEFT JOIN "
.TABLE_PREFIX."posts p ON (p.pid = a.pid)
LEFT JOIN "
.TABLE_PREFIX."threads t ON (t.tid = p.tid)
WHERE (t.visible = '1' "
.$vcheck.")
"
.$unviewables['string']."
AND t.closed NOT LIKE 'moved|%'
AND t.visible != '-2'
AND a.thumbnail = ''
GROUP BY p.pid
ORDER BY a.downloads DESC
LIMIT 0,"
.$NumOfRows);

$query_icon = $db->query("SELECT extension,icon FROM ".TABLE_PREFIX."attachtypes");
while (
$result_icon = $db->fetch_array($query_icon))
{
$mimicon[$result_icon['extension']] = $result_icon['icon'];
}

while (
$top_downloads = $db->fetch_array($query))
{
$subject_long = htmlspecialchars_uni($parser->parse_badwords($top_downloads['subject']));
$pid = $top_downloads['pid'];
$subject = htmlspecialchars_uni(ps_SubjectLength($parser->parse_badwords($top_downloads['subject']), NULL, true));
$downloadnum = $top_downloads['downloads'];
$attach_icon = $mimicon[get_extension($top_downloads['filename'])];

$highlight = ps_GetHighlight($top_downloads);

$postlink = get_post_link($pid)."#pid".$pid;

eval(
"\$topdownloads_row .= \"".$templates->get("prostats_topdownloads_row")."\";");
}
eval(
"\$column_topdownloads = \"".$templates->get("prostats_topdownloads")."\";");

return
$column_topdownloads;
}


function
ps_GetTopPosters($NumOfRows)
{
global
$mybb, $db, $templates, $theme, $lang, $ps_align;

$query = $db->query("SELECT username,postnum,uid,usergroup,displaygroup FROM ".TABLE_PREFIX."users ORDER BY postnum DESC LIMIT 0,".$NumOfRows);

while (
$topposters = $db->fetch_array($query))
{
$uid = $topposters['uid'];
$username = ps_FormatName(htmlspecialchars_uni($topposters['username']), $topposters['usergroup'], $topposters['displaygroup']);
$postnum = $topposters['postnum'];

$profilelink = get_profile_link($uid);

eval(
"\$topposters_row .= \"".$templates->get("prostats_topposters_row")."\";");
}
eval(
"\$column_topposters = \"".$templates->get("prostats_topposters")."\";");

return
$column_topposters;
}


function
ps_GetTopReferrers($NumOfRows)
{
global
$mybb, $db, $templates, $theme, $lang, $ps_align;

$query = $db->query("
SELECT u.uid,u.username,u.usergroup,u.displaygroup,count(*) as refcount
FROM "
.TABLE_PREFIX."users u
LEFT JOIN "
.TABLE_PREFIX."users r ON (r.referrer = u.uid)
WHERE r.referrer = u.uid
GROUP BY r.referrer DESC
ORDER BY refcount DESC
LIMIT 0 ,"
.$NumOfRows);

while (
$topreferrer = $db->fetch_array($query)) {
$uid = $topreferrer['uid'];
$username = ps_FormatName(htmlspecialchars_uni($topreferrer['username']), $topreferrer['usergroup'], $topreferrer['displaygroup']);
$refnum = $topreferrer['refcount'];

$profilelink = get_profile_link($uid);

eval(
"\$topreferrers_row .= \"".$templates->get("prostats_topreferrers_row")."\";");
}
eval(
"\$column_topreferrers = \"".$templates->get("prostats_topreferrers")."\";");

return
$column_topreferrers;
}


function
ps_MakeTable()
{
global
$mybb, $db, $theme, $lang, $templates, $parser, $unviewables, $vcheck, $under_mod_forums_arr, $lightbulb, $unread_forums, $ps_align;
$lang->load("prostats");

$right_cols = $left_cols = $middle_cols = $extra_content = $extra_content_1_2 = $extra_content_3_4 = $extra_content_5_6 = $remote_msg = "";
$num_columns = 0;

$ps_align = $lang->settings['rtl'] ? "right" : "left";
$ps_ralign = $lang->settings['rtl'] ? "left" : "right";

//Highlighting under moderation posts
$_psGU = ps_GetUnviewable("t");

$unviewables = array(
'string' => $_psGU[0],
'array' => $_psGU[1],
);

$user_perms = user_permissions($mybb->user['uid']);

if (
$mybb->settings['ps_highlight'])
{
$_groups = $mybb->user['usergroup'];
if(!empty(
$mybb->user['additionalgroups']))
{
$_groups .= ",'{$mybb->user['additionalgroups']}'";
}
$_query1 = $db->simple_select("moderators", "*", "((id IN ({$_groups}) AND isgroup='1') OR (id='{$mybb->user['uid']}' AND isgroup='0'))");

while(
$results1 = $db->fetch_array($_query1))
{
$parent_mod_forums[] = " parentlist LIKE '%" . $results1['fid'] . "%' ";
}

if (
count($parent_mod_forums))
{
$_query2 = $db->simple_select("forums", "fid", implode($parent_mod_forums, "OR"));
while(
$results2 = $db->fetch_array($_query2))
{
$under_mod_forums_arr[] = $results2['fid'];
}

if (
count($under_mod_forums_arr))
{
$moderated_forums = implode($under_mod_forums_arr, ',');
$vcheck = " OR t.fid IN (".$moderated_forums.") ";
}
}
}

if (
$user_perms['issupermod'] == 1)
{
$vcheck = " OR '1'='1' ";
}

if (
$mybb->settings['ps_latest_posts'] == 1)
{
$middle_cols = ps_GetNewestPosts($mybb->settings['ps_num_rows']);
$num_columns = 4;
}

for(
$i=1;$i<7;++$i)
{
$extra_cell[$i] = $mybb->settings['ps_cell_'.$i];
}

$extra_row[1] = $extra_row[2] = $extra_row[3] = 2;
$extra_cols = 3;

if (
$extra_cell[5] > 0)
{
$trow = "trow2";
$extra_cols = 3;
if (
$extra_cell[6] == 0)
{
$extra_row[3] = 1;
$single_extra_content = ps_GetExtraData($extra_cell[5],true);
eval(
"\$extra_content_5_6 = \"".$templates->get("prostats_onerowextra")."\";");
}
else
{
$extra_content_one = ps_GetExtraData($extra_cell[5]);
$extra_content_two = ps_GetExtraData($extra_cell[6]);
eval(
"\$extra_content_5_6 = \"".$templates->get("prostats_tworowextra")."\";");
}
}


if (
$extra_cell[3] > 0)
{
$trow = "trow1";
$extra_cols = 2;
if (
$extra_cell[4] == 0)
{
$extra_row[2] = 1;
$single_extra_content = ps_GetExtraData($extra_cell[3],true);
eval(
"\$extra_content_3_4 = \"".$templates->get("prostats_onerowextra")."\";");
}
else
{
$extra_content_one = ps_GetExtraData($extra_cell[3]);
$extra_content_two = ps_GetExtraData($extra_cell[4]);
eval(
"\$extra_content_3_4 = \"".$templates->get("prostats_tworowextra")."\";");
}
}

if (
$extra_cell[1] > 0)
{
$trow = "trow2";
$extra_cols = 1;
if (
$extra_cell[2] == 0)
{
$extra_row[1] = 1;
$single_extra_content = ps_GetExtraData($extra_cell[1],true);
eval(
"\$extra_content_1_2 = \"".$templates->get("prostats_onerowextra")."\";");
}
else
{
$extra_content_one = ps_GetExtraData($extra_cell[1]);
$extra_content_two = ps_GetExtraData($extra_cell[2]);
eval(
"\$extra_content_1_2 = \"".$templates->get("prostats_tworowextra")."\";");
}
}

if (
$lang->settings['rtl'])
{
$extra_content = $extra_content_5_6 . $extra_content_3_4 . $extra_content_1_2;
$mybb->settings['ps_latest_posts_pos'] ? $right_cols = $extra_content : $left_cols = $extra_content;
}
else
{
$extra_content = $extra_content_1_2 . $extra_content_3_4 . $extra_content_5_6;
$mybb->settings['ps_latest_posts_pos'] ? $left_cols = $extra_content : $right_cols = $extra_content;
}

$prostats_content = $left_cols . $middle_cols . $right_cols;

if (
$mybb->settings['ps_trow_message'] != "") {
$prostats_message = unhtmlentities(htmlspecialchars_uni($mybb->settings['ps_trow_message']));
if (
$mybb->settings['ps_trow_message_pos'] == 0) {
eval(
"\$trow_message_top = \"".$templates->get("prostats_message")."\";");
}
else
{
eval(
"\$trow_message_down = \"".$templates->get("prostats_message")."\";");
}
}

if (
$mybb->settings['ps_chkupdates'] && $mybb->user['uid'] && $mybb->usergroup['cancp'])
{
$remote_msg = '<a href="http://prostats.wordpress.com/"><img alt="" src="http://mybb.cc/prostats/chk_update.php?v='.$mybb->settings['ps_version'].'" /></a>';
}

eval(
"\$prostats = \"".$templates->get("prostats")."\";");
return
$prostats;
}


function
ps_GetExtraData($cellnum,$fullrows=false)
{
global
$mybb;

if (
$fullrows)
{
Última modificación: 31 Jan, 2013, 11:44 am por cerezas6.
papi   31 Jan, 2013, 11:42 am
#2
Edito el post para encerrar el codigo en su correspondientes etiquetas. En cuanto a tu pregunta ¿has mirado entre las opciones d configuracion de prostats en ël ACP?
cerezas6   31 Jan, 2013, 11:48 am
#3
Solucionado, no me percate de que habia una opción llamada ''Subject length'' poniendola a cero, se arregla Big GrinBig GrinBig Grin, muchas gracias Big Grin
  
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.