Today's Messages (off)
| Unanswered Messages (on)
| Forum: Bug Reports for V2.X |
|---|
| Topic: anonymous status |
|---|
| anonymous status [message #3752] |
Sat, 13 March 2010 16:20 |
Vrasidas  Messages: 14 Registered: October 2009 |
Leecher |
|
|
|
When the anonymous status is enabled, the username of seeder is showed in the Peer list from the description of the torrent.. How can this be changed?
|
|
| | Topic: Bug report Rules |
|---|
| Bug report Rules [message #2470] |
Sat, 21 March 2009 13:53 |
|
Simple Rules to posting Bugs
If you have altered a file it is not a bug.(Please post in Mods and hacks)
Check to make sure that bug fix has not Been posted before posting.
Post all error reports in your post.
Give your server info in your post.
Do Not show disrespect to other user's.
[Updated on: Sat, 21 March 2009 13:55]
|
|
| | Topic: [PMBT2.0.X]Bug in functions_phpBB3.php |
|---|
| [PMBT2.0.X]Bug in functions_phpBB3.php [message #2307] |
Mon, 09 February 2009 03:34 |
|
this is a bug found in function forumadd() for a unused sql wich well cause a error in new user confermation.
Open include/functions_phpBB3.php
find
<?php $num = mysql_num_rows($result); ?>
and remove
|
|
| | Topic: [PMBT2.0.X]Bug for torrent Prefix |
|---|
| [PMBT2.0.X]Bug for torrent Prefix [message #2305] |
Mon, 09 February 2009 03:31 |
|
this is a bug for site Prefix not being added to torrents on download.
open include/config_lite.php
and find
<?php $announce_text = $row["announce_text"]; ?>
and add after
<?php $torrent_prefix = $row["torrent_prefix"]; ?>
|
|
| | Forum: General Help for 2.X |
|---|
| Topic: Installation tutorial (bugs solved) for phpMyBitTorrent2.0.4-repack (phpBB 3.0.5) |
|---|
| Installation tutorial (bugs solved) for phpMyBitTorrent2.0.4-repack (phpBB 3.0.5) [message #3728] |
Wed, 10 March 2010 13:18 |
|
Install as explained in setting-up.txt attached
now the bugs:
1. at Stage #3, installation of phpBB3 forum does not start untill you edit install.php from install folder:
search for:
$user = new user();
replace with:
$user =new userbb();
2. most of you should have cookie problems generated from the incompatibility between phpBB 3.0.5 and php 5.3.x version. the forum will use sid (session ID) instead of cookies - in your browser's adress bar, when you point to forum location (eg:http://yourdomain.com/phpBB3/) after login, you'll see sid number in address (eg: http://yourdomain.com/phpBB3/index.php?sid=a8671a77946a0ee29 ea73abec4b441). due to this error, you will not be able to login to integrated forum.
the fix:
includes/functions.php
#
#---- [FIND] ----
#
if (!isset($_REQUEST[$var_name]) || (is_array($_REQUEST[$var_name]) && !is_array($default)) || (is_array($default) && !is_array($_REQUEST[$var_name])))
#
#---- [REPLACE WITH] ----
#
$super_global = ($cookie) ? '_COOKIE' : '_REQUEST';
if (!isset($GLOBALS[$super_global][$var_name]) || is_array($GLOBALS[$super_global][$var_name]) != is_array($default))
#
#---- [FIND] ----
#
$var = $_REQUEST[$var_name];
#
#---- [REPLACE WITH] ----
#
$var = $GLOBALS[$super_global][$var_name];
#
#---- [SAVE] ----
#
#
#---- [OPEN] ----
#
styles\xxxxxx\template\posting_smilies.html
#
#---- [FIND] ----
#
<a href="#" onclick="insert_text('{smiley.A_SMILEY_CODE}', true, true); return false;">
#
#---- [REPLACE WITH] ----
#
<a href="#" onclick="initInsertions();insert_text('{smiley.A_SMILEY_CODE}', true, true); return false;">
#
#---- [SAVE] ----
#
#
#---- [OPEN] ----
#
includes/functions_privmsgs.php
#
#---- [FIND] ----
#
unset($rowset[$id]);
#
#---- [REPLACE WITH] ----
#
unset($rowset[$i]);
#
#---- [SAVE] ----
#
that should do the trick.
any other fixes i'll find should be published here, in this topic.
zAzU
|
|
| | Topic: currently browsing |
|---|
| currently browsing [message #3704] |
Wed, 03 March 2010 18:13 |
|
online user part where users are currently browsing. i notice alot say httperror, wondered where that was or how to stop it. also is it possible to add a part in the users profile for staff to see the current location of the user or say last location of the user.
|
|
| | Topic: httperror.php little fix |
|---|
| httperror.php little fix [message #3541] |
Mon, 18 January 2010 06:47 |
erika  Messages: 8 Registered: January 2010 |
Leecher |
|
|
In the file httperror.php ,check ($admin_email)...
if (defined('IN_PMBT'))die ("You can't include this file");
define("IN_PMBT",true);
include("header.php");
switch ($errid) {
case 400: {
header("HTTP/1.0 400 Bad request");
bterror(str_replace("**email**",spellmail($admin_email),_http400errtxt),_http400errttl);
break;
}
case 401: {
header("HTTP/1.0 401 Access Denied");
bterror(str_replace("**email**",spellmail($admin_email),_http401errtxt),_http401errttl);
break;
}
case 403: {
header("HTTP/1.0 403 Forbidden");
bterror(str_replace("**email**",spellmail($admin_email),_http403errtxt),_http403errttl);
break;
}
case 404: {
header("HTTP/1.0 404 Access Denied");
bterror(str_replace("**email**",spellmail($admin_email),_http404errtxt),_http404errttl);
break;
}
case 500: {
header("HTTP/1.0 500 Internal Server Error");
bterror(str_replace("**email**",spellmail($admin_email),_http500errtxt),_http500errttl);
break;
}
}
include("footer.php");
?>
[Updated on: Mon, 18 January 2010 12:56] by Moderator
|
|
| | Topic: Torrent category viewer |
|---|
| Torrent category viewer [message #3149] |
Fri, 06 November 2009 19:39 |
dophert  Messages: 16 Registered: November 2009 |
Leecher |
|
|
Hey,
I want to have my categories viewed when i'm on the "Torrent" button. how to do that.
And how to create categories in categories like games>pc games
bv.
|
|
| | Topic: ip system |
|---|
| ip system [message #2923] |
Thu, 10 September 2009 20:21 |
|
replace
function getip() {
if (isset($_SERVER)) {
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && validip($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} elseif (isset($_SERVER['HTTP_CLIENT_IP']) && validip($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
} else {
if (getenv('HTTP_X_FORWARDED_FOR') && validip(getenv('HTTP_X_FORWARDED_FOR'))) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
} elseif (getenv('HTTP_CLIENT_IP') && validip(getenv('HTTP_CLIENT_IP'))) {
$ip = getenv('HTTP_CLIENT_IP');
} else {
$ip = getenv('REMOTE_ADDR');
}
}
return $ip;
}
with this in include/functions.php
function getip() {
$check = array('HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED',
'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED',
'HTTP_VIA', 'HTTP_X_COMING_FROM', 'HTTP_COMING_FROM');
foreach ($check as $c) {
if (ip_valid(&$_SERVER[$c])) {
return ip_first($_SERVER[$c]);
}
}
return $_SERVER['REMOTE_ADDR'];
}
function ip_first($ips) {
if (($pos = strpos($ips, ',')) != false) {
return substr($ips, 0, $pos);
} else {
return $ips;
}
}
function ip_valid($ips) {
if (isset($ips)) {
$ip = ip_first($ips);
$ipnum = ip2long($ip);
if ($ipnum !== -1 && $ipnum !== false && (long2ip($ipnum) === $ip)) { // PHP 4 and PHP 5
if (($ipnum < 167772160 || $ipnum > 184549375) && // Not in 10.0.0.0/8
($ipnum < -1408237568 || $ipnum > -1407188993) && // Not in 172.16.0.0/12
($ipnum < -1062731776 || $ipnum > -1062666241)) // Not in 192.168.0.0/16
return true;
}
}
return false;
}
|
|
| | Topic: Problem with user.php |
|---|
| Problem with user.php [message #2863] |
Thu, 06 August 2009 17:25 |
|
Hello.
I change in takeregister.php this line :
$sql = "INSERT INTO ".$db_prefix."_users (username, clean_username, email, password, act_key, regdate" . $passkeyrow . ") VALUES ('".addslashes($username)."', '".strtolower($username)."', '".addslashes($email)."', '".md5($password)."', '".$act_key."', NOW(),'1')" . $passkey .");";
And next :
OpenTable(_btsignup);
/*$replace_markers = Array("**sitename**","**siteurl**","**username**","**password**","**key**");
$replace_data = Array ($sitename,$siteurl,$username,$password,md5($act_key));
$confirm_mail = New eMail;
$confirm_mail->sender = $admin_email;
$confirm_mail->subject = $userregconfirmmailsub[$language];
$confirm_mail->body = str_replace($replace_markers,$replace_data,$userregconfirmmailtext[$language]);
$confirm_mail->Add($email);
$confirm_mail->Send();
echo "<p>"._btregcomplete.spellmail($admin_email)."</p>";
*/
echo "<p>You have been registerd with this site Thank You </p>";
*/
echo "<p>You have been registerd with this site Thank You </p>";
CloseTable();
And ok I don't have problem whit e-mail reg. but. When I logout then i get this error :
SQL Error
Error Executing SQL Query SELECT * FROM gustaff_prt_users WHERE username =''LIMIT 1
Error ID: 1146
Error Message: Table 'gustaff_prt.gustaff_prt_users' doesn't exist
And when I login on site : mysite.com/user.php then get blank site and must del /user.php for back logged on site.
Sory for my english
solved
[Updated on: Thu, 06 August 2009 23:09]
|
|
| | Topic: error |
|---|
| error [message #2603] |
Thu, 07 May 2009 22:05 |
evil  Messages: 25 Registered: May 2009 |
Leecher |
|
|
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(*) FROM torrent_casino_bets WHERE id = 2' at line 1
can anyone help sort this for me plz
i get that wen i took a bet in the casino
thank you
|
|
| | Forum: Feature Request for 2.X |
|---|
| Topic: latest releases |
|---|
| latest releases [message #3703] |
Wed, 03 March 2010 18:10 |
|
be nice to have a latest release mod to ad to the index page, also editable via the block itself where we can add latest releases for users to see on main page. pic some sort of desc and screens if any.
|
|
| | Topic: news |
|---|
| news [message #3695] |
Tue, 02 March 2010 09:22 |
|
id like an easier way to add site news, like an edit button on the actual block instead of having to go to admin/settings. this feature would be alot better and kwiker imo.
|
|
| | Topic: PMBT with vbulletin? |
|---|
| | Topic: automated User purening |
|---|
automated User purening [message #2598] |
Sun, 03 May 2009 13:15 |
|
This is a update to the release By Revan for PMBT 1.X
This well delete inactive users from your site in 2 stages
First stage it well check users to see who has not been in for a set
period of time it well mark there account warned for inactivity and send them a E-mail notice telling them that they have not been active and that they have a set amount of time in which to return to the site in order not to be removed.
Second it well check to see who has been set inactive read the date set as inactive if the user has not returned in such time it well remove the account from both forum and tracker.
I had to do a lot of clean up on this as when I first tested Revans
release it would always send out a notice to new user on sign up confirmation which was not very good.
then I noticed that the notices where empty of the e-mail body so I had to fix this to
I also noted that the query's used to mark accounts as active and inactive would be ran for every user wich would cause a very high load on the data base so I had to move them in the code so
that it would only run one time for every page load.
I am going to make a admin page to allow you to set your warning dates and delete dates and so that you can turn it on and off with out
going threw data base.
so here it is let me know what you think
first is the sql you well need
this one is the configs of your prune system set it to what you want
CREATE TABLE IF NOT EXISTS `torrent_userautodel` (
`inactwarning_time` int(10) NOT NULL default '0',
`autodel_users_time` int(10) NOT NULL default '0',
`autodel_users` enum('true','false') NOT NULL default 'true'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `torrent_userautodel` (`inactwarning_time`, `autodel_users_time`, `autodel_users`) VALUES
(30, 10, 'false');
ALTER TABLE `torrent_users` ADD `inactwarning` TINYINT( 1 ) NOT NULL DEFAULT '0';
ALTER TABLE `torrent_users` ADD `inactive_warn_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00';
Now open include/config.php
then below this
if (!$row = $db->sql_fetchrow($configquery)) die("phpMyBitTorrent not correctly installed! Ensure you have run setup.php or config_default.sql!!");
add:
$sql = "SELECT * FROM ".$db_prefix."_userautodel LIMIT 1;";
$userautodel = $db->sql_query($sql,BEGIN_TRANSACTION);
if (!$userautodel) die("Configuration not found! Make sure you have installed phpMyBitTorrent correctly.");
if (!$row3 = $db->sql_fetchrow($userautodel)) die("phpMyBitTorrent not correctly installed! Ensure you have run setup.php or config_default.sql!!");
and below
$version = $row["version"];
add
$inactwarning_time = $row3["inactwarning_time"]*86400;
$autodel_users_time = $row3["autodel_users_time"]*86400;
$autodel_users = ($row3["autodel_users"] == "true") ? true : false;
Now here is the Cleanup.php parts you need
first find
$db->sql_query("UPDATE ".$db_prefix."_torrents SET visible = 'no' WHERE type != 'link' AND tot_peer <= '".$down_limit."' AND UNIX_TIMESTAMP(last_action) < UNIX_TIMESTAMP(NOW()) - ".intval($dead_torrent_interval)." AND evidence != 1 AND (TRACKER IS NULL OR ".intval($autoscrape).");");
$db->sql_query("UPDATE ".$db_prefix."_torrents SET visible = 'yes' WHERE tot_peer > '".$down_limit."';");
And add after
#prune users
if ($autodel_users)
{
$userwarninactivesub = Array();
$userwarninactivesub[english] = "".$sitename." Warning";
$userwarninactivesub[german] = "".$sitename." Achtung";
$userwarninactivesub[spanish] = "Advertencia ".$sitename."";
$userwarninactivesub[brazilian] = "".$sitename." adverte";
$userwarninactivesub[portuguese] = "".$sitename." adverte";
$userwarninactivetext = Array();
$warntexten1 = "Hi,
we would like to warn you that you have not been active on **siteurl** for more than **inactwarning_time** days,
if you do not want to have your account deleted please login to it.
";
if ($autodel_users_time != 0)
{
$warntexten2 = "You have **autodel_users_time** days to log in from now.
Otherwise we will delete your account permanently.";
}
else $warntexten2 = "";
$warntexten3 = "
Thanks **sitename** Admin
**siteurl**";
$userwarninactivetext[english] = "".$warntexten1.$warntexten2.$warntexten3."";
$warntextger1 = "Wir möchten darauf hinweisen , dass du auf **siteurl** seit mehr als **inactwarning_time** Tagen nicht mehr aktiv warst,
wenn Du nicht willst, dass dein Account gelöscht wird, logge dich bitte ein.
";
if ($autodel_users_time != 0)
{
$warntextger2 = "Du hast ab jetzt **autodel_users_time** Tage Zeit um dich auf **sitename** einzuloggen.
Ansonsten werden wir deinen Account permanent löschen.";
}
else $warntextger2 = "";
$warntextger3 = "
Danke**sitename**Admin.
**siteurl**";
$userwarninactivetext[german] = "".$warntextger1.$warntextger2.$warntextger3."";
$warntextspa1 = "Hola,
Queriamos decirte que no visitaste nuestra pagina **siteurl** por mas de **inactwarning_time** dias.
Si no quieres que tu Cuenta sea borrada, por favor logueate.
";
if ($autodel_users_time != 0)
{
$warntextspa2 = "Tienes **autodel_users_time** dias para loguearte nuevamente apartir de hoy.
De otra manera borraremos tu cuenta de forma permanente.";
}
else $warntextspa2 = "";
$warntextspa3 = "
Gracias. Los **sitename** administradores
**siteurl**";
$userwarninactivetext[spanish] = "".$warntextspa1.$warntextspa2.$warntextspa3."";
$warntextbra1 = "Oi,
Nós gostaríamos de avisa-lo que voce nao tem estado ativo no **siteurl** por mais de **inactwarning_time** dias.
Se voce nao quer ter sua conta excluída, por favor conecte-se.
";
if ($autodel_users_time != 0)
{
$warntextbra2 = "Voce tem **autodel_users_time** dias a partir de hoje para fazer isso.
Caso contrário nós iremos apagar sua conta permanentemente.";
}
else $warntextbra2 = "";
$warntextbra3 = "
Obrigado **sitename** Administrador
**siteurl**";
$userwarninactivetext[brazilian] = "".$warntextbra1.$warntextbra2.$warntextbra3."";
$warntextpor1 = "Oi,
Nós gostaríamos de avisa-lo que voce nao tem estado ativo no **siteurl** por mais de **inactwarning_time** dias.
Se voce nao quer ter sua conta excluída, por favor conecte-se.
";
if ($autodel_users_time != 0)
{
$warntextpor2 = "Voce tem **autodel_users_time** dias a partir de hoje para fazer isso.
Caso contrário nós iremos apagar sua conta permanentemente.";
}
else $warntextpor2 = "";
$warntextpor3 = "
Obrigado **sitename** Administrador
**siteurl**";
$userwarninactivetext[portuguese] = "".$warntextpor1.$warntextpor2.$warntextpor3."";
$sql = "SELECT id, email, inactwarning, lastlogin, language, ban FROM ".$db_prefix."_users WHERE ban != 1 AND inactwarning != 1 AND lastlogin != '0000-00-00 00:00:00' AND (UNIX_TIMESTAMP(lastlogin) < UNIX_TIMESTAMP(NOW()) - ".$inactwarning_time.") ;";
$res = $db->sql_query($sql)or btsqlerror($sql);
while ($get_info = $db->sql_fetchrow($res))
{
echo $get_info['id']."<br>";
logerror($get_info['id'].$get_info['email'].$get_info['inactwarning'].$get_info['lastlogin'], "prune time");
$replace_markers = Array("**sitename**","**siteurl**","**inactwarning_time**","**autodel_users_time**");
$replace_data = Array ("".$sitename."","".$siteurl."","".($inactwarning_time/86400)."","".($autodel_users_time/86400)."");
if ($get_info[language] == "") $get_info[language] = "english";
$warn_mail = new eMail;
$warn_mail->sender = $admin_email;
$warn_mail->subject = $userwarninactivesub[$get_info[language]];
$warn_mail->body = str_replace($replace_markers,$replace_data,$userwarninactivetext[$get_info[language]]);
$warn_mail->Add($get_info['email']);
$warn_mail->Send();
}
}
$db->sql_query("UPDATE ".$db_prefix."_users SET inactwarning = 0, inactive_warn_time = '0000-00-00 00:00:00' WHERE inactwarning = 1 AND (UNIX_TIMESTAMP(lastlogin) > UNIX_TIMESTAMP(NOW()) - ".$inactwarning_time.");");
$up_warn = "UPDATE ".$db_prefix."_users SET inactwarning = 1, inactive_warn_time = NOW() WHERE ((UNIX_TIMESTAMP(lastlogin) < UNIX_TIMESTAMP(NOW()) - ".$inactwarning_time.") AND ban != 1 AND lastlogin != '0000-00-00 00:00:00');";
$db->sql_query($up_warn)or btsqlerror($up_warn);
Now find this
if ($autoscrape) multiscrape();
autoclean();
and add after
if ($autodel_users)
{
$sql = "SELECT id FROM ".$db_prefix."_users WHERE inactwarning = 1 AND (UNIX_TIMESTAMP(inactive_warn_time) < UNIX_TIMESTAMP(NOW()) - ".$autodel_users_time.") AND inactwarning = 1;";
$res = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($res))
{
removedinactive($row['id']);
}
}
Now Open include functions.php
find
function ratingpic($num) {//Gets the correct star rating picture
$r = round($num * 2) / 2;
if ($r < 1 OR $r > 5) return;
return pic($r."-rating.png");
}
And add after
function removedinactive($uid){
global $db, $db_prefix, $forumshare;
$sql = "SELECT username FROM ".$db_prefix."_users WHERE id = '".$uid."';";
$res = $db->sql_query($sql);
list ($username) = $db->sql_fetchrow($res);
$db->sql_freeresult($res);
if (empty($username)) return;
$sql = "SELECT avatar FROM ".$db_prefix."_users WHERE id = '".$uid."';";
$res = $db->sql_query($sql);
list ($avatar) = $db->sql_fetchrow($res);
$db->sql_freeresult($sql);
if (eregi("^user/",$avatar)) @unlink($avatar);
if($forumshare AND get_user_forum_name($username)>=2)forum_delete($uid, $username);
$sql = Array();
$sql[] = "DELETE FROM ".$db_prefix."_tickets WHERE user = '".$uid."';";
$sql[] = "DELETE FROM ".$db_prefix."_snatched WHERE userid = '".$uid."';";
$sql[] = "DELETE FROM ".$db_prefix."_shouts WHERE user = '".$uid."';";
$sql[] = "DELETE FROM ".$db_prefix."_download_completed WHERE user = '".$uid."';";
$sql[] = "DELETE FROM ".$db_prefix."_privacy_backup WHERE master = '".$uid."' OR slave = '".$uid."';";
$sql[] = "DELETE FROM ".$db_prefix."_privacy_file WHERE master = '".$uid."' OR slave = '".$uid."';";
$sql[] = "DELETE FROM ".$db_prefix."_privacy_global WHERE master = '".$uid."' OR slave = '".$uid."';";
$sql[] = "DELETE FROM ".$db_prefix."_comments_notify WHERE user = '".$uid."';";
$sql[] = "DELETE FROM ".$db_prefix."_seeder_notify WHERE user = '".$uid."';";
$sql[] = "DELETE FROM ".$db_prefix."_online_users WHERE id = '".$uid."';";
$sql[] = "UPDATE ".$db_prefix."_torrents SET owner = '0', ownertype = '2' WHERE owner = '".$uid."';";
$sql[] = "UPDATE ".$db_prefix."_peers SET uid = '0' WHERE uid = '".$uid."';";
$sql[] = "DELETE FROM ".$db_prefix."_private_messages_blacklist WHERE master = '".$uid."' OR slave = '".$uid."';";
$sql[] = "DELETE FROM ".$db_prefix."_private_messages_bookmarks WHERE master = '".$uid."' OR slave = '".$uid."';";
$sql[] = "DELETE FROM ".$db_prefix."_private_messages WHERE recipient = '".$uid."';";
$sql[] = "DELETE FROM ".$db_prefix."_users WHERE id = '".$uid."';";
foreach ($sql as $query) {
$db->sql_query($query) or btsqlerror($sql);
}
}
[Updated on: Sun, 03 May 2009 13:25]
|
|
| | Forum: PMBT 2.X Themes |
|---|
| Topic: dvtester |
|---|
| | Topic: Archer |
|---|
| Archer [message #2311] |
Mon, 09 February 2009 04:36 |
|
Attachment: Archer.rar
(Size: 466.31KB, Downloaded 108 times)
[Updated on: Sun, 07 June 2009 00:31]
|
|
| | Topic: Acidtech Tiger |
|---|
| | Topic: Acidtech Green |
|---|
| | Forum: M0dZ & HaCkZ |
|---|
| Topic: Birthday Mod |
|---|
| Birthday Mod [message #3705] |
Fri, 05 March 2010 04:31 |
|
allow a birthday list on index
Just a little something I threw together for me on monday 
open database and add
ALTER TABLE `torrent_users` ADD `birthday` varchar(20) character set utf8 collate utf8_bin default NULL, Now open user/editprofile.php and find
<?php if (!isset($jabber) OR $jabber == "") $jabber = "NULL";
processinput("jabber",$jabber); ?>
and add after
<?php if ($bday_day =='--' OR $bday_month == "--" OR $bday_year == "--") $birthday = "NULL";
else
$birthday = $bday_day.'-'.$bday_month.'-'.$bday_year;
processinput("birthday",$birthday); ?>
Now find
<?php if ($user->moderator)echo "<tr><td><p>Seedbox</p></td><td><p><input type=\"text\" name=\"seedbox\" value=\"".long2ip($userrow["seedbox"])."\" size =\"40\" /></p></td></tr>\n"; ?>
and add after
<?php //Birthday Modd
if(isset($userrow["birthday"]) OR !$userrow["birthday"]=='')$bday = explode("-", $userrow["birthday"]);
else
$bday = array('0','0','0');
$now = getdate(time() - date('Z'));
echo "<tr><td><p>";
help(pic("help.gif"),"Setting a year will list your age when it is your birthday.","BirthDay");
echo"BirthDay:</p></td>
<td><p><span class=\"genmed\">Day:</span>
<select name=\"bday_day\">
<option ".(($bday['0'] == 0)? "selected=\"selected\"" : '')." value=\"0\">--</option>
<option ".(($bday['0'] == 1)? "selected=\"selected\"" : '')." value=\"1\">1</option>
<option ".(($bday['0'] == 2)? "selected=\"selected\"" : '')." value=\"2\">2</option>
<option ".(($bday['0'] == 3)? "selected=\"selected\"" : '')." value=\"3\">3</option>
<option ".(($bday['0'] == 4)? "selected=\"selected\"" : '')." value=\"4\">4</option>
<option ".(($bday['0'] == 5)? "selected=\"selected\"" : '')." value=\"5\">5</option>
<option ".(($bday['0'] == 6)? "selected=\"selected\"" : '')." value=\"6\">6</option>
<option ".(($bday['0'] == 7)? "selected=\"selected\"" : '')." value=\"7\">7</option>
<option ".(($bday['0'] == 8)? "selected=\"selected\"" : '')." value=\"8\">8</option>
<option ".(($bday['0'] == 9)? "selected=\"selected\"" : '')." value=\"9\">9</option>
<option ".(($bday['0'] == 10)? "selected=\"selected\"" : '')." value=\"10\">10</option>
<option ".(($bday['0'] == 11)? "selected=\"selected\"" : '')." value=\"11\">11</option>
<option ".(($bday['0'] == 12)? "selected=\"selected\"" : '')." value=\"12\">12</option>
<option ".(($bday['0'] == 13)? "selected=\"selected\"" : '')." value=\"13\">13</option>
<option ".(($bday['0'] == 14)? "selected=\"selected\"" : '')." value=\"14\">14</option>
<option ".(($bday['0'] == 15)? "selected=\"selected\"" : '')." value=\"15\">15</option>
<option ".(($bday['0'] == 16)? "selected=\"selected\"" : '')." value=\"16\">16</option>
<option ".(($bday['0'] == 17)? "selected=\"selected\"" : '')." value=\"17\">17</option>
<option ".(($bday['0'] == 18)? "selected=\"selected\"" : '')." value=\"18\">18</option>
<option ".(($bday['0'] == 19)? "selected=\"selected\"" : '')." value=\"19\">19</option>
<option ".(($bday['0'] == 20)? "selected=\"selected\"" : '')." value=\"20\">20</option>
<option ".(($bday['0'] == 21)? "selected=\"selected\"" : '')." value=\"21\">21</option>
<option ".(($bday['0'] == 22)? "selected=\"selected\"" : '')." value=\"22\">22</option>
<option ".(($bday['0'] == 23)? "selected=\"selected\"" : '')." value=\"23\">23</option>
<option ".(($bday['0'] == 24)? "selected=\"selected\"" : '')." value=\"24\">24</option>
<option ".(($bday['0'] == 25)? "selected=\"selected\"" : '')." value=\"25\">25</option>
<option ".(($bday['0'] == 26)? "selected=\"selected\"" : '')." value=\"26\">26</option>
<option ".(($bday['0'] == 27)? "selected=\"selected\"" : '')." value=\"27\">27</option>
<option ".(($bday['0'] == 28)? "selected=\"selected\"" : '')." value=\"28\">28</option>
<option ".(($bday['0'] == 29)? "selected=\"selected\"" : '')." value=\"29\">29</option>
<option ".(($bday['0'] == 30)? "selected=\"selected\"" : '')." value=\"30\">30</option>
<option ".(($bday['0'] == 31)? "selected=\"selected\"" : '')." value=\"31\">31</option>
</select>
<span class=\"genmed\">Month:</span>
<select name=\"bday_month\">
<option value=\"0\">--</option>
<option ".(($bday['1'] == 1)? "selected=\"selected\"" : '')." value=\"1\">1</option>
<option ".(($bday['1'] == 2)? "selected=\"selected\"" : '')." value=\"2\">2</option>
<option ".(($bday['1'] == 3)? "selected=\"selected\"" : '')." value=\"3\">3</option>
<option ".(($bday['1'] == 4)? "selected=\"selected\"" : '')." value=\"4\">4</option>
<option ".(($bday['1'] == 5)? "selected=\"selected\"" : '')." value=\"5\">5</option>
<option ".(($bday['1'] == 6)? "selected=\"selected\"" : '')." value=\"6\">6</option>
<option ".(($bday['1'] == 7)? "selected=\"selected\"" : '')." value=\"7\">7</option>
<option ".(($bday['1'] == 8)? "selected=\"selected\"" : '')." value=\"8\">8</option>
<option ".(($bday['1'] == 9)? "selected=\"selected\"" : '')." value=\"9\">9</option>
<option ".(($bday['1'] == 10)? "selected=\"selected\"" : '')." value=\"10\">10</option>
<option ".(($bday['1'] == 11)? "selected=\"selected\"" : '')." value=\"11\">11</option>
<option ".(($bday['1'] == 12)? "selected=\"selected\"" : '')." value=\"12\">12</option>
</select>
<span class=\"genmed\">Year:</span>
<select name=\"bday_year\">
<option value=\"0\">--</option>
<option ".(($bday['2'] == 1910)? "selected=\"selected\"" : '')." value=\"1910\">1910</option>
<option ".(($bday['2'] == 1911)? "selected=\"selected\"" : '')." value=\"1911\">1911</option>
<option ".(($bday['2'] == 1912)? "selected=\"selected\"" : '')." value=\"1912\">1912</option>
<option ".(($bday['2'] == 1913)? "selected=\"selected\"" : '')." value=\"1913\">1913</option>
<option ".(($bday['2'] == 1914)? "selected=\"selected\"" : '')." value=\"1914\">1914</option>
<option ".(($bday['2'] == 1915)? "selected=\"selected\"" : '')." value=\"1915\">1915</option>
<option ".(($bday['2'] == 1916)? "selected=\"selected\"" : '')." value=\"1916\">1916</option>
<option ".(($bday['2'] == 1917)? "selected=\"selected\"" : '')." value=\"1917\">1917</option>
<option ".(($bday['2'] == 1918)? "selected=\"selected\"" : '')." value=\"1918\">1918</option>
<option ".(($bday['2'] == 1919)? "selected=\"selected\"" : '')." value=\"1919\">1919</option>
<option ".(($bday['2'] == 1920)? "selected=\"selected\"" : '')." value=\"1920\">1920</option>
<option ".(($bday['2'] == 1921)? "selected=\"selected\"" : '')." value=\"1921\">1921</option>
<option ".(($bday['2'] == 1922)? "selected=\"selected\"" : '')." value=\"1922\">1922</option>
<option ".(($bday['2'] == 1923)? "selected=\"selected\"" : '')." value=\"1923\">1923</option>
<option ".(($bday['2'] == 1924)? "selected=\"selected\"" : '')." value=\"1924\">1924</option>
<option ".(($bday['2'] == 1925)? " selected=\"selected\"" : '')." value=\"1925\">1925</option>
<option ".(($bday['2'] == 1926)? " selected=\"selected\"" : '')." value=\"1926\">1926</option>
<option ".(($bday['2'] == 1927)? " selected=\"selected\"" : '')." value=\"1927\">1927</option>
<option ".(($bday['2'] == 1928)? " selected=\"selected\"" : '')." value=\"1928\">1928</option>
<option ".(($bday['2'] == 1929)? " selected=\"selected\"" : '')." value=\"1929\">1929</option>
<option ".(($bday['2'] == 1930)? " selected=\"selected\"" : '')." value=\"1930\">1930</option>
<option ".(($bday['2'] == 1931)? " selected=\"selected\"" : '')." value=\"1931\">1931</option>
<option ".(($bday['2'] == 1932)? " selected=\"selected\"" : '')." value=\"1932\">1932</option>
<option ".(($bday['2'] == 1933)? " selected=\"selected\"" : '')." value=\"1933\">1933</option>
<option ".(($bday['2'] == 1934)? " selected=\"selected\"" : '')." value=\"1934\">1934</option>
<option ".(($bday['2'] == 1935)? " selected=\"selected\"" : '')." value=\"1935\">1935</option>
<option ".(($bday['2'] == 1936)? " selected=\"selected\"" : '')." value=\"1936\">1936</option>
<option ".(($bday['2'] == 1937)? " selected=\"selected\"" : '')." value=\"1937\">1937</option>
<option ".(($bday['2'] == 1938)? " selected=\"selected\"" : '')." value=\"1938\">1938</option>
<option ".(($bday['2'] == 1939)? " selected=\"selected\"" : '')." value=\"1939\">1939</option>
<option ".(($bday['2'] == 1940)? " selected=\"selected\"" : '')." value=\"1940\">1940</option>
<option ".(($bday['2'] == 1941)? " selected=\"selected\"" : '')." value=\"1941\">1941</option>
<option ".(($bday['2'] == 1942)? " selected=\"selected\"" : '')." value=\"1942\">1942</option>
<option ".(($bday['2'] == 1943)? " selected=\"selected\"" : '')." value=\"1943\">1943</option>
<option ".(($bday['2'] == 1944)? " selected=\"selected\"" : '')." value=\"1944\">1944</option>
<option ".(($bday['2'] == 1945)? " selected=\"selected\"" : '')." value=\"1945\">1945</option>
<option ".(($bday['2'] == 1946)? " selected=\"selected\"" : '')." value=\"1946\">1946</option>
<option ".(($bday['2'] == 1947)? " selected=\"selected\"" : '')." value=\"1947\">1947</option>
<option ".(($bday['2'] == 1948)? " selected=\"selected\"" : '')." value=\"1948\">1948</option>
<option ".(($bday['2'] == 1949)? " selected=\"selected\"" : '')." value=\"1949\">1949</option>
<option ".(($bday['2'] == 1950)? " selected=\"selected\"" : '')." value=\"1950\">1950</option>
<option ".(($bday['2'] == 1951)? " selected=\"selected\"" : '')." value=\"1951\">1951</option>
<option ".(($bday['2'] == 1952)? " selected=\"selected\"" : '')." value=\"1952\">1952</option>
<option ".(($bday['2'] == 1953)? " selected=\"selected\"" : '')." value=\"1953\">1953</option>
<option ".(($bday['2'] == 1954)? " selected=\"selected\"" : '')." value=\"1954\">1954</option>
<option ".(($bday['2'] == 1955)? " selected=\"selected\"" : '')." value=\"1955\">1955</option>
<option ".(($bday['2'] == 1956)? " selected=\"selected\"" : '')." value=\"1956\">1956</option>
<option ".(($bday['2'] == 1957)? " selected=\"selected\"" : '')." value=\"1957\">1957</option>
<option ".(($bday['2'] == 1958)? " selected=\"selected\"" : '')." value=\"1958\">1958</option>
<option ".(($bday['2'] == 1959)? " selected=\"selected\"" : '')." value=\"1959\">1959</option>
<option ".(($bday['2'] == 1960)? " selected=\"selected\"" : '')." value=\"1960\">1960</option>
<option ".(($bday['2'] == 1961)? " selected=\"selected\"" : '')." value=\"1961\">1961</option>
<option ".(($bday['2'] == 1962)? " selected=\"selected\"" : '')." value=\"1962\">1962</option>
<option ".(($bday['2'] == 1963)? " selected=\"selected\"" : '')." value=\"1963\">1963</option>
<option ".(($bday['2'] == 1964)? " selected=\"selected\"" : '')." value=\"1964\">1964</option>
<option ".(($bday['2'] == 1965)? " selected=\"selected\"" : '')." value=\"1965\">1965</option>
<option ".(($bday['2'] == 1966)? " selected=\"selected\"" : '')." value=\"1966\">1966</option>
<option ".(($bday['2'] == 1967)? " selected=\"selected\"" : '')." value=\"1967\">1967</option>
<option ".(($bday['2'] == 1968)? " selected=\"selected\"" : '')." value=\"1968\">1968</option>
<option ".(($bday['2'] == 1969)? " selected=\"selected\"" : '')." value=\"1969\">1969</option>
<option ".(($bday['2'] == 1970)? " selected=\"selected\"" : '')." value=\"1970\">1970</option>
<option ".(($bday['2'] == 1971)? " selected=\"selected\"" : '')." value=\"1971\">1971</option>
<option ".(($bday['2'] == 1972)? " selected=\"selected\"" : '')." value=\"1972\">1972</option>
<option ".(($bday['2'] == 1973)? " selected=\"selected\"" : '')." value=\"1973\">1973</option>
<option ".(($bday['2'] == 1974)? " selected=\"selected\"" : '')." value=\"1974\">1974</option>
<option ".(($bday['2'] == 1975)? " selected=\"selected\"" : '')." value=\"1975\">1975</option>
<option ".(($bday['2'] == 1976)? " selected=\"selected\"" : '')." value=\"1976\">1976</option>
<option ".(($bday['2'] == 1977)? " selected=\"selected\"" : '')." value=\"1977\">1977</option>
<option ".(($bday['2'] == 1978)? " selected=\"selected\"" : '')." value=\"1978\">1978</option>
<option ".(($bday['2'] == 1979)? " selected=\"selected\"" : '')." value=\"1979\">1979</option>
<option ".(($bday['2'] == 1980)? " selected=\"selected\"" : '')." value=\"1980\">1980</option>
<option ".(($bday['2'] == 1981)? " selected=\"selected\"" : '')." value=\"1981\">1981</option>
<option ".(($bday['2'] == 1982)? " selected=\"selected\"" : '')." value=\"1982\">1982</option>
<option ".(($bday['2'] == 1983)? " selected=\"selected\"" : '')." value=\"1983\">1983</option>
<option ".(($bday['2'] == 1984)? " selected=\"selected\"" : '')." value=\"1984\">1984</option>
<option ".(($bday['2'] == 1985)? " selected=\"selected\"" : '')." value=\"1985\">1985</option>
<option ".(($bday['2'] == 1986)? " selected=\"selected\"" : '')." value=\"1986\">1986</option>
<option ".(($bday['2'] == 1987)? " selected=\"selected\"" : '')." value=\"1987\">1987</option>
<option ".(($bday['2'] == 1988)? " selected=\"selected\"" : '')." value=\"1988\">1988</option>
<option ".(($bday['2'] == 1989)? " selected=\"selected\"" : '')." value=\"1989\">1989</option>
<option ".(($bday['2'] == 1990)? " selected=\"selected\"" : '')." value=\"1990\">1990</option>
<option ".(($bday['2'] == 1991)? " selected=\"selected\"" : '')." value=\"1991\">1991</option>
<option ".(($bday['2'] == 1992)? " selected=\"selected\"" : '')." value=\"1992\">1992</option>
<option ".(($bday['2'] == 1993)? " selected=\"selected\"" : '')." value=\"1993\">1993</option>
<option ".(($bday['2'] == 1994)? " selected=\"selected\"" : '')." value=\"1994\">1994</option>
<option ".(($bday['2'] == 1995)? " selected=\"selected\"" : '')." value=\"1995\">1995</option>
<option ".(($bday['2'] == 1996)? " selected=\"selected\"" : '')." value=\"1996\">1996</option>
<option ".(($bday['2'] == 1997)? " selected=\"selected\"" : '')." value=\"1997\">1997</option>
<option ".(($bday['2'] == 1998)? " selected=\"selected\"" : '')." value=\"1998\">1998</option>
<option ".(($bday['2'] == 1999)? " selected=\"selected\"" : '')." value=\"1999\">1999</option>
<option ".(($bday['2'] == 2000)? " selected=\"selected\"" : '')." value=\"2000\">2000</option>
<option ".(($bday['2'] == 2001)? " selected=\"selected\"" : '')." value=\"2001\">2001</option>
<option ".(($bday['2'] == 2002)? " selected=\"selected\"" : '')." value=\"2002\">2002</option>
<option ".(($bday['2'] == 2003)? " selected=\"selected\"" : '')." value=\"2003\">2003</option>
<option ".(($bday['2'] == 2004)? " selected=\"selected\"" : '')." value=\"2004\">2004</option>
<option ".(($bday['2'] == 2005)? " selected=\"selected\"" : '')." value=\"2005\">2005</option>
<option ".(($bday['2'] == 2006)? " selected=\"selected\"" : '')." value=\"2006\">2006</option>
<option ".(($bday['2'] == 2007)? " selected=\"selected\"" : '')." value=\"2007\">2007</option>
<option ".(($bday['2'] == 2008)? " selected=\"selected\"" : '')." value=\"2008\">2008</option>
<option ".(($bday['2'] == 2009)? " selected=\"selected\"" : '')." value=\"2009\">2009</option>
<option ".(($bday['2'] == 2010)? " selected=\"selected\"" : '')." value=\"2010\">2010</option>
</select></p></td></tr>\n";
//Birthday Modd End ?>
Now Open index.php and where you want it to show add
<?php OpenTable("Birthday's");
$birthday_list = '';
$now = getdate(time() - date('Z'));
$sql = "SELECT * FROM ".$db_prefix."_users WHERE ban = '0' AND birthday LIKE '" . $now['mday']."-". $now['mon']."-" . "%'";
$result = $db->sql_query($sql) or btsqlerror($sql);
echo'<img src="http://bvlist.com/images/Birthday_Cake.png" title="cake" alt="cake" />';
while ($row = $db->sql_fetchrow($result))
{
if($row["donator"] == 'true')$donator = true;
else
$donator = false;
$img = '';
if ($row["level"] == "premium") $img .= pic("icon_premium.gif",'','premium');
elseif ($row["level"] == "moderator") $img .= pic("icon_moderator.gif",'','moderator');
elseif ($row["level"] == "admin") $img .= pic("icon_admin.gif",'','admin');
if($donator) $img .= '<img src="http://bvlist.com/images/donator.gif" height="16" width="16" title="donator" alt="donator" />';
if($row["warned"] == "1") $img .= '<img src="http://bvlist.com/images/warning.gif" title="warned" alt="warned" />';
$name = ($row['name'] == '' ? $row['username'] : $row['name']);
$birthday_list .= (($birthday_list != '') ? ', ' : '') ."<a href=\"user.php?op=profile&id=".$row["id"]."\"><font color=\"".getusercolor($row["can_do"])."\">{$name}</font></a>{$img}";
if ($age = (int) substr($row['birthday'], -4))
{
$birthday_list .= ' (' . ($now['year'] - $age) . ')';
}
}
$db->sql_freeresult($result);
echo $birthday_list;
CloseTable(); ?>
and add this image to your images folder
[Updated on: Fri, 05 March 2010 04:32]
|
|
| | Topic: shoutcast radio |
|---|
| | Topic: Google Adverts |
|---|
| Google Adverts [message #3348] |
Mon, 14 December 2009 19:32 |
r35id3nt  Messages: 27 Registered: December 2009 |
Leecher |
|
|
Well ive come up with a way to add your google ads into your site. If you want it just ask and ill post the code
Demo can be found here
[Updated on: Mon, 14 December 2009 19:35]

|
|
| | Topic: comming up a DUTCH translation |
|---|
| comming up a DUTCH translation [message #3345] |
Sun, 13 December 2009 14:29 |
fammudde  Messages: 3 Registered: December 2009 Location: Schiedam netherlands |
Leecher |
|
|
a LONG time ago already talked about it with joe, finally working on it.
because of my busy life at the moment i HOPE to finish te translation around the next week ( somewhere around the 18th )
Stats for translation: 25% done
UPDATE 04-01-2010: ok because some prived shit i havent any time but now i do (A) so lets translate the stuff! i start working on it again
[Updated on: Mon, 04 January 2010 11:49]
|
|
| | Topic: you tube |
|---|
| | Topic: IMDB |
|---|
| | Topic: MP3 Player |
|---|
| MP3 Player [message #3097] |
Fri, 30 October 2009 23:57 |
|
nice mp3 player will work on all sources and scripts.
add mp3 folder to root directory.
place this where you want to show.
OpenTable(MediaPlayer);
echo "<center>\n";
echo "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" width=\"150\" height=\"141\" id=\"clock\" align=\"middle\">\n";
echo "<param name=\"movie\" value=\"mp3/player.swf\" />\n";
echo "<param name=\"quality\" value=\"high\" />\n";
echo "<param name=\"scale\" value=\"exactfit\" />\n";
echo "<param name=\"wmode\" value=\"transparent\" />\n";
echo "<param name=\"menu\" value=\"false\">\n";
echo "<embed src=\"mp3/player.swf\" quality=\"high\" scale=\"exactfit\" wmode=\"transparent\" width=\"150\" height=\"141\" name=\"clock\" align=\"middle\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" />\n";
echo "</object>\n";
CloseTable();
if you want for logged in only view add below
if ($user->user) {
OpenTable(MediaPlayer);
echo "<center>\n";
echo "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0\" width=\"150\" height=\"141\" id=\"clock\" align=\"middle\">\n";
echo "<param name=\"movie\" value=\"mp3/player.swf\" />\n";
echo "<param name=\"quality\" value=\"high\" />\n";
echo "<param name=\"scale\" value=\"exactfit\" />\n";
echo "<param name=\"wmode\" value=\"transparent\" />\n";
echo "<param name=\"menu\" value=\"false\">\n";
echo "<embed src=\"mp3/player.swf\" quality=\"high\" scale=\"exactfit\" wmode=\"transparent\" width=\"150\" height=\"141\" name=\"clock\" align=\"middle\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" />\n";
echo "</object>\n";
CloseTable();
}
load your mp3 tracks only to mp3.
open list.xml with text editor, example of 2 tracks i have left and 2 slots as example.(the mp3 files in list are not included).
can add as many as you wish/ as your hdd can hold lol. plug in maybe needed.
if so post in forums and i will post link.
|
|
| | Topic: Quick rar guide |
|---|
| Quick rar guide [message #3073] |
Thu, 29 October 2009 12:30 |
|
thought id share this as many people ask me "how do i rar up files in split volumes" you may want to add more yourself.
create new doc, named rarup.php copy all inside and upload to root
<?php
include("header.php");
OpenTable("Guide to Making Win RAR files
");
?><center>
<table class=main width=750 border=0 cellspacing=0 cellpadding=0><tr><td class=embedded>
<h2>Guide to Making Win RAR files
</h2>
<table width=100% border=1 cellspacing=0 cellpadding=10><tr><td class=text>
<p>Guide to Making Win RAR files.</p>
<ol>
<li>Download Winrar from here: '<a href=PATH TO WINRAR HERE/ target=_blank>WINRAR</a>'.</li>
<li>First find the file you want to RAR in window explorer.
.</li>
<li>Then right click and choose add to archive.</li>
<li>Next you want to choose "Store" in the compression method box.</li>
<li>In the split to volumes, bytes enter the following</li>
<li>50.000000 for DVD (files over 1.5 gig).</li>
<li>15.000000 for Music (files under 1.5 gig).</li>
Now this is important.
<li>Click the advance tab. Make sure you place a check in old style volume names.</li>
<li>This will make sure that each RAR files ends in r00, r01, r02 ect... Instead of part001, part002, ect...</li>
<li>That's it. It will then create the RAR files ready for torrent making.</li>
</td></tr></table>
</td></tr></table>
<?
CloseTable();
include("footer.php");
?>
change PATH TO WINRAR HERE with. you know lol
[Updated on: Thu, 29 October 2009 12:31]
|
|
| | Topic: Bonus Transfer |
|---|
| Bonus Transfer [message #2992] |
Thu, 15 October 2009 12:37 |
|
This Mod was created By Nightcrawler of at BVlist for Pmbt
I cleaned it up a little Hope you like it
To use Just add a link to your theme where you want to
upload the files and your done.
for example..
in blocks/usercp.php
search
print("<p>Seeding Bonus: <a href='mybonus.php'>".$seedbonus."</a></p>");
add after
echo "<br />\n";
print("<p>Transfer Bonus: <a href='bonus_transfer.php'>here</a></p>");
[Updated on: Thu, 15 October 2009 12:45]
|
|
| | Topic: [PMBT 2.0.X] Admin user PMS |
|---|
| [PMBT 2.0.X] Admin user PMS [message #2766] |
Sun, 05 July 2009 14:12 |
|
Here is a New admin tool allowing you to view search and find all PMS from users.
Please let me know If you find any bugs
<?
error_reporting(E_ALL & ~E_NOTICE);
include("header.php");
if(!$user->admin)loginrequired("admin");
define('THIS_SCRIPT', 'admin_pms');
define('HACK_TITLE', 'Dream\'s Read PMs');
define('MIN_SEARCH_WORD_LENGTH', '4');
function fetch_row_bgclass()
{
// returns the current alternating class for <TR> rows in the CP.
global $bgcounter;
return ($bgcounter++ % 2) == 0 ? 'alt1' : 'alt2';
}
function htmlspecialchars_uni($text, $entities = true)
{
return str_replace(
// replace special html characters
array('<', '>', '"'),
array('<', '>', '"'),
preg_replace(
// translates all non-unicode entities
'/&(?!' . ($entities ? '#[0-9]+|shy' : '(#[0-9]+|[a-z]+)') . ';)/si',
'&',
$text
)
);
}
function print_table_start($echobr = true, $width = '90%', $cellspacing = 0, $id = '', $border_collapse = false)
{
global $tableadded;
$tableadded = 1;
if ($echobr)
{
echo '<br />';
}
$id_html = ($id == '' ? '' : " id=\"$id\"");
echo "\n<table cellpadding=\"4\" cellspacing=\"$cellspacing\" border=\"0\" align=\"center\" width=\"$width\" style=\"border-collapse:" . ($border_collapse ? 'collapse' : 'separate') . "\" class=\"tborder\"$id_html>\n";
}
function print_form_header($phpscript = '', $do = '', $uploadform = false, $addtable = true, $name = 'cpform', $width = '90%', $target = '', $echobr = true, $method = 'post', $cellspacing = 0, $border_collapse = false)
{
global $vbulletin, $tableadded;
if (($quote_pos = strpos($name, '"')) !== false)
{
$clean_name = substr($name, 0, $quote_pos);
}
else
{
$clean_name = $name;
}
echo "<form action=\"$phpscript.php?do=$do\"" . iif($uploadform, ' enctype="multipart/form-data"') . " method=\"$method\"" . iif($target, " target=\"$target\"") . " name=\"$clean_name\" id=\"$name\">\n";
//construct_hidden_code('do', $do);
echo "<input type=\"hidden\" name=\"do\" value=\"" . htmlspecialchars_uni($do) . "\" />\n";
if ($addtable)
{
print_table_start($echobr, $width, $cellspacing, $clean_name . '_table', $border_collapse);
}
else
{
$tableadded = 0;
}
}
// grab the counts of all users that have PMs
function rpm_get_pm_users($totalpms)
{
global $db, $db_prefix;
$res ="SELECT COUNT(`pm`.`recipient`) AS total, `pm`.`sender`, `pm`.`recipient`, `user`.`username`, `user`.`id` AS `userid` FROM `torrent_private_messages` AS `pm` INNER JOIN `torrent_users` AS `user` ON (`pm`.`recipient` = `user`.`id`) WHERE `pm`.`recipient` = `user`.`id` GROUP BY `pm`.`recipient` HAVING total = " . $totalpms . " ORDER BY `pm`.`recipient` DESC ";
$pms=$db->sql_query($res) or btsqlerror($res);
return $pms;
}
function rpm_print_footer()
{
}
function rpm_get_all_pm_users()
{
global $db, $db_prefix;
$totals = $db->sql_query("
SELECT COUNT(*) AS total
FROM `" . $db_prefix . "_private_messages`
GROUP BY `recipient`
ORDER BY total DESC
");
return $totals;
}
function rpm_get_pm($pmtextid)
{
global $db, $db_prefix;
$get_pm = $db->sql_fetchrow($db->sql_query("
SELECT *
FROM `" . $db_prefix . "_private_messages`
WHERE `id` = " . $pmtextid . "
"));
return $get_pm;
}
function print_description_row($text, $htmlise = false, $colspan = 2, $class = '', $align = '', $helpname = NULL)
{
global $stylevar;
if (!$class)
{
$class = fetch_row_bgclass();
}
echo "<tr valign=\"top\">
<td class=\"$class\"" . iif($colspan != 1," colspan=\"$colspan\"") . iif($align, " align=\"$align\"") . ">" . iif($htmlise, htmlspecialchars_uni($text), $text) . "</td>\n</tr>\n";
}
function iif($expression, $returntrue, $returnfalse = '')
{
return ($expression ? $returntrue : $returnfalse);
}
function print_table_header($title, $colspan = 2, $htmlise = false, $anchor = '', $align = 'center', $helplink = true)
{
global $bgcounter, $stylevar;
if ($htmlise)
{
$title = htmlspecialchars_uni($title);
}
$title = "<b>$title</b>";
if ($anchor != '')
{
$title = "<a name=\"$anchor\">$title</a>";
}
echo "<tr>\n\t<td class=\"tcat\" align=\"$align\"" . iif($colspan != 1, " colspan=\"$colspan\"") . ">$title</td>\n</tr>\n";
$bgcounter = 0;
}
function rpm_user_exists($userid)
{
global $db;
$exists = $db->sql_fetchrow($db->sql_query("
SELECT `id`
FROM `torrent_users`
WHERE `id` = " . $userid . "
"));
if ($exists)
{
return true;
}
else
{
return false;
}
}
function print_table_footer($colspan = 2, $rowhtml = '', $tooltip = '', $echoform = true)
{
global $tableadded, $vbulletin;
if ($rowhtml)
{
$tooltip = iif($tooltip != '', " title=\"$tooltip\"", '');
if ($tableadded)
{
echo "<tr>\n\t<td class=\"tfoot\"" . iif($colspan != 1 ," colspan=\"$colspan\"") . " align=\"center\"$tooltip>$rowhtml</td>\n</tr>\n";
}
else
{
echo "<p align=\"center\"$tooltip>$extra</p>\n";
}
}
if ($tableadded)
{
echo "</table>\n";
}
if ($echoform)
{
echo "</form>\n\n\n";
}
}
function rpm_username_exists($username)
{
global $db, $db_prefix;
$exists = $db->sql_fetchrow($db->sql_query("
SELECT `id`
FROM `" . $db_prefix . "_users`
WHERE LOWER(`username`) = LOWER('" . $username . "')
"));
if ($exists)
{
return $exists['id'];
}
else
{
return false;
}
}
function rpm_get_name($userid)
{
global $db, $db_prefix;
$result = $db->sql_fetchrow($db->sql_query("
SELECT `username`
FROM `" . $db_prefix . "_users`
WHERE `id` = " . $userid . "
"));
return $result['username'];
}
// search for PMs that match key search terms
function rpm_search_pms($search_for, $match)
{
global $db, $db_prefix;
if ($match == 'exact')
{
$sql = "SELECT DISTINCT `id`, `subject`, `sent`
FROM `" . $db_prefix . "_private_messages`
WHERE `text` LIKE '%" . $search_for . "%'
ORDER BY `sent` DESC";
}
elseif ($match == 'all')
{
$a = explode(' ', $search_for);
$ands = implode("%' AND `message` LIKE '%", $a);
$sql = "SELECT DISTINCT `id`, `subject`, `sent`
FROM `" . $db_prefix . "_private_messages`
WHERE `text` LIKE '%" . $ands . "%'
ORDER BY `sent` DESC";
}
else
{
$a = explode(' ', $search_for);
$ors = implode("%' OR `text` LIKE '%", $a);
$sql = "SELECT DISTINCT `id`, `subject`, `sent`
FROM `" . $db_prefix . "_private_messages`
WHERE `text` LIKE '%" . $ors . "%'
ORDER BY `sent` DESC";
}
$result = $db->sql_query($sql);
$pms = array();
while($array = $db->sql_fetchrow($result))
{
$pms[] = $array;
}
$db->sql_freeresult($result);
return $pms;
}
function rpm_get_latest_pms($limit_by)
{
global $db, $db_prefix;
$res = "
SELECT *
FROM `" . $db_prefix . "_private_messages`
ORDER BY `sent` DESC
LIMIT 0, " . $limit_by . "
";
$result = $db->sql_query($res) or btsqlerror($res);
$pms = array();
while($array = $db->sql_fetchrow($result))
{
$pms[] = $array;
}
$db->sql_freeresult($result);
return $pms;
}
function rpm_get_pms($userid)
{
global $db, $db_prefix;
$res = "
SELECT *
FROM `" . $db_prefix . "_private_messages` AS pm
WHERE pm.sender=" . $userid . " OR pm.recipient=" . $userid . "
ORDER BY `sent` DESC
";
$result = $db->sql_query($res) or btsqlerror($res);
$pms = array();
while($array = $db->sql_fetchrow($result))
{
$pms[] = $array;
}
$db->sql_freeresult($result);
return $pms;
}
function print_cells_row($array, $isheaderrow = false, $class = false, $i = 0, $valign = 'top', $column = false, $smallfont = false)
{
global $colspan, $bgcounter, $stylevar;
if (is_array($array))
{
$colspan = sizeof($array);
if ($colspan)
{
$j = 0;
$doecho = 0;
if (!$class AND !$column AND !$isheaderrow)
{
$bgclass = fetch_row_bgclass();
}
elseif ($isheaderrow)
{
$bgclass = 'thead';
}
else
{
$bgclass = $class;
}
$bgcounter = iif($column, 0, $bgcounter);
$out = "<tr valign=\"$valign\" align=\"center\">\n";
foreach($array AS $key => $val)
{
$j++;
if ($val == '' AND !is_int($val))
{
$val = ' ';
}
else
{
$doecho = 1;
}
if ($i++ < 1)
{
$align = " align=\"$stylevar[left]\"";
}
elseif ($j == $colspan AND $i == $colspan AND $j != 2)
{
$align = " align=\"$stylevar[right]\"";
}
else
{
$align = '';
}
if (!$class AND $column)
{
$bgclass = fetch_row_bgclass();
}
if ($smallfont)
{
$val = "<span class=\"smallfont\">$val</span>";
}
$out .= "\t<td" . iif($column, " class=\"$bgclass\"", " class=\"$bgclass\"") . "$align>$val</td>\n";
}
$out .= "</tr>\n";
if ($doecho)
{
echo $out;
}
}
}
}
function print_label_row($title, $value = ' ', $class = '', $valign = 'top', $helpname = NULL, $dowidth = false)
{
global $stylevar;
if (!$class)
{
$class = fetch_row_bgclass();
}
if ($helpname !== NULL AND $helpbutton = construct_table_help_button($helpname))
{
$value = '<table cellpadding="0" cellspacing="0" border="0" width="100%"><tr valign="top"><td>' . $value . "</td><td align=\"$stylevar[right]\" style=\"padding-$stylevar[left]:4px\">$helpbutton</td></tr></table>";
}
if ($dowidth)
{
if (is_numeric($dowidth))
{
$left_width = $dowidth;
$right_width = 100 - $dowidth;
}
else
{
$left_width = 70;
$right_width = 30;
}
}
echo "<tr valign=\"$valign\">
<td class=\"$class\"" . ($dowidth ? " width=\"$left_width%\"" : '') . ">$title</td>
<td class=\"$class\"" . ($dowidth ? " width=\"$right_width%\"" : '') . ">$value</td>\n</tr>\n";
}
function rpm_print_stop_back($text = 'error')
{
global $vbphrase;
echo '<p> </p><p> </p>';
print_form_header('', '', 0, 1, 'messageform', '65%');
print_table_header($vbphrase['vbulletin_message']);
print_description_row("<blockquote><br />$text<br /><br /></blockquote>");
print_table_footer(2, '<input class="button" value="Go Back" title="" tabindex="1" onclick="window.location=\'javascript:history.back(1)\';" type="button">');
rpm_print_footer();
}
// ####################### LIST USERS WITH X AMOUNT OF PMs ##########################
if ( $_REQUEST['do'] == 'havepms' )
{
// grab list of users that have PMs
$havepms = rpm_get_pm_users($_REQUEST['totalpms']);
// if there are no PMs
if (!$db->sql_numrows($havepms))
{
rpm_print_stop_back('There are no PMs.');
die();
}
// show the list
OpenTable(HACK_TITLE . ' - List Users With ' . $_REQUEST['totalpms'] . ' PMs');
print_form_header('', '', 0, 1, 'havepmsForm');
print_table_header('List of users with ' . $_REQUEST['totalpms'] . ' PMs');
while($pms = $db->sql_fetchrow($havepms))
{
$link1 = THIS_SCRIPT . '.php?do=list&userid=' . $pms['userid'];
$link2 = 'pm.php?op=send&to=' . $pms['userid'];
$link3 = 'user.php?op=editprofile&id=' . $pms['userid'];
$row = '<span style="float:right">[<a href="' . $link1 . '">Show All PMs</a>] ';
$row .= '[<a href="' . $link2 . '">Send PM to User</a>] ';
$row .= '[<a href="' . $link3 . '">Edit User</a>]</span>';
$row .= '<b>' . $pms['username'] . '</b>';
print_description_row($row);
}
print_table_footer(2, '<input class="button" value="Go Back" title="" tabindex="1" onclick="window.location=\'javascript:history.back(1)\';" type="button">');
CloseTable();
}
// ####################### LIST ALL USERS WITH PMs ##########################
if ($_REQUEST['do'] == 'allusershavepms')
{
// get array of PM counts
$pmcounts = rpm_get_all_pm_users();
//die(print_r($pmcounts));
print_form_header('', '', 0, 1, 'allusershavepmsForm');
print_table_header('List Users With PMs');
// assign the counts
$pmtotals = array();
while ($currentpmcount = $db->sql_fetchrow($pmcounts))
{
$pmtotals["$currentpmcount[total]"]++;
}
// construct & display the rows
foreach ($pmtotals AS $pmtotal => $totalusers)
{
if ($totalusers != 1)
{
$usertext = 'There are ' . $totalusers .' users';
}
else
{
$usertext = 'There is ' . $totalusers .' user';
}
$link = THIS_SCRIPT . '.php?do=havepms&totalpms=' . $pmtotal;
$row = '<span style="float:right">[<a href="' . $link . '">List All Users</a>]</span>';
$row .= $usertext . ' with ' . $pmtotal . ' PMs' ;
print_description_row($row);
}
print_table_footer(2, '<input class="button" value="Go Back" title="" tabindex="1" onclick="window.location=\'javascript:history.back(1)\';" type="button">');
}
// ############################# READ PMs #################################
if ($_REQUEST['do'] == 'list')
{
// if no userid or username entered
if (empty($_REQUEST['userid']))
{
print('You need to enter a User ID or Username.');
}
// if it is a username
if (!is_numeric($_REQUEST['userid']))
{
// check the username exists and assign it
$userid = rpm_username_exists($_REQUEST['userid']);
// if username does not exist
if (empty($userid))
{
print('User <b>' . $_REQUEST['userid'] . '</b> does not exist.' . $userid);
die();
}
}
else // if userid
{
// if userid does not exist
if (!rpm_user_exists($_REQUEST['userid']))
{
print('User ID: <b>' . $_REQUEST['userid'] . '</b> does not exist.');
die();
}
// assign the userid
$userid = $_REQUEST['userid'];
}
// get all PMs for the user
$pms = rpm_get_pms($userid);
// if there are no PMs
if (empty($pms))
{
print('User <b>' . $_REQUEST['userid'] . '</b> has no PMs.');
die();
}
// get the username
$name = rpm_get_name($userid);
// seperate sent and recieved PMs
$sent = array();
$received = array();
foreach ($pms AS $pm)
{
// seperate sent and recieved PMs (also takes into account user sending to self via to or bcc)
if ($pm['sender'] == $userid)
{
$sent[] = $pm;
}
else
{
$received[] = $pm;
}
}
// display list of sent PMs
print_form_header('', '', 0, 1, 'sentpmlistForm');
print_table_header(count($sent) . ' PMs sent from ' . $name . ' (Userid: ' . $userid . ')', 4);
if (empty($sent))
{
print_description_row('<center>There are no sent PMs to view.</center>');
}
else
{
print_cells_row(array('pmtextid', 'PM Title', 'Date', ''), 1);
foreach ($sent AS $pm)
{
$date = $pm['sent'];
$link = THIS_SCRIPT . '.php?do=read&pmtextid=' . $pm['id'];
$row = array();
$row[] = '<div class="smallfont">' . $pm['id'] . '</div>';
$row[] = '<div class="smallfont"><span style="float:left">' . $pm['subject'] . '</span></div>';
$row[] = '<div class="smallfont">' . $date . '';
$row[] = '<div class="smallfont">[<a href="' . $link . '">View Private Message</a>]</div>';
print_cells_row($row);
}
}
print_table_footer(4, '<input class="button" value="Go Back" title="" tabindex="1" onclick="window.location=\'javascript:history.back(1)\';" type="button">');
// display list of recieved PMs
print_form_header('', '', 0, 1, 'receivedpmlistForm');
print_table_header(count($received) . ' PMs recieved for ' . $name . ' (Userid: ' . $userid . ')', 5);
if (empty($received))
{
print_description_row('<center>There are no recieved PMs to view.</center>');
}
else
{
print_cells_row(array('pmtextid', 'PM Title', 'From', 'Date', ''), 1);
foreach ($received AS $pm)
{
$date = $pm['sent'];
$link = THIS_SCRIPT . '.php?do=read&pmtextid=' . $pm['id'];
$row = array();
$row[] = '<div class="smallfont">' . $pm['id'] . '</div>';
$row[] = '<div class="smallfont"><span style="float:left">' . $pm['subject'] . '</span></div>';
$row[] = '<div class="smallfont">' . $pm['sender'] . '</div>';
$row[] = '<div class="smallfont">' . $date . '';
$row[] = '<div class="smallfont">[<a href="' . $link . '">View Private Message</a>]</div>';
print_cells_row($row);
}
}
print_table_footer(5, '<input class="button" value="Go Back" title="" tabindex="1" onclick="window.location=\'javascript:history.back(1)\';" type="button">');
}
if ($_REQUEST['do'] == 'read')
{
// no pmtextid
if (empty($_REQUEST['pmtextid']))
{
print('Need a pmtextid.');
die();
}
// if pmtext is not a number or number < 1
if (!is_numeric($_REQUEST['pmtextid']) OR $_REQUEST['pmtextid'] < 1)
{
print('Pmtextid must be a positive number.');
die();
}
// get the requested PM
$pm = rpm_get_pm($_REQUEST['pmtextid']);
// PM does not exist
if (empty($pm))
{
print('Pmtextid <b>' . $_REQUEST['pmtextid'] . '</b> does not exist.');
die();
}
// get all userids for the users that still have the PM with pmtextid
$userids = $db->sql_fetchrow($db->sql_query("
SELECT DISTINCT `sender`
FROM `".$db_prefix."_private_messages`
WHERE `id` = " . $_REQUEST['pmtextid'] . "
"));
// If there are no userids then the PM does not exist (this handles the last x PMs)
if (empty($userids))
{
print('
<center>Pmtextid <b>' . $_REQUEST['pmtextid'] . '</b> has been deleted and can not be recovered.
<br />The non-existant entry will be automatically removed within the hour by the
<br /><b>Hourly Cleanup #2</b> scheduled task.</center>
');
die();
}
// grab array of to and bcc users
//$toarray = array_values(unserialize($pm['touserarray']));
// convert date to readable format
$date = $pm['sent'];
// show PM contents
print_form_header('', '', 0, 1, 'pmlistForm');
print_table_header('Private Message Text ID : ' . $pm['id'],2);
print_label_row('<b>From:</b></b><dfn>Link goes to users Details.</dfn>', $pm['sender'] . ' (<a href = "user.php?op=profile&id=' . $pm['sender'] . '">userid: ' . $pm['sender'] . '</a>)');
if (is_array($toarray[0]))
{
print_label_row('<b>To:</b><dfn>Link(s) goes to users Details.</dfn>' , rpm_display_recipients_with_links($toarray[0]));
}
if (is_array($toarray[1]))
{
print_label_row('<b>BCC:</b></b><dfn>Link(s) goes to users Details.</dfn>' , rpm_display_recipients_with_links($toarray[1]));
}
print_label_row('<b>PM Title:</b>', $pm['subject']);
print_label_row('<b>Date:</b>', $date);
$message = format_comment($pm['text'], false, true);
parse_smiles($message);
print_label_row('<b>Message:', '<div class="smallfont">' . $message . '</div>');
print_table_footer(2, '<input class="button" value="Go Back" title="" tabindex="1" onclick="window.location=\'javascript:history.back(1)\';" type="button">');
}
// ############################### SEARCH #################################
if ($_REQUEST['do'] == 'search')
{
// if no search terms have been entered
if (empty($_REQUEST['search']))
{
rpm_print_stop_back('You must type in at least one word to search for.');
}
// assign and make search terms safe
$search_for = $_REQUEST['search'];
// see if any of the search terms is lower than the minimum length
$words = explode(" ", $search_for);
foreach ($words AS $current)
{
if (strlen($current) < MIN_SEARCH_WORD_LENGTH)
{
rpm_print_stop_back('At least one of your search terms was less than ' . MIN_SEARCH_WORD_LENGTH .' characters long.');
}
}
// assign the type of match
$match = $_REQUEST['match'];
// conduct the search
$pms = rpm_search_pms($search_for, $match);
// format search words for display purposes
switch ($match)
{
case 'exact':
$search_words = str_replace(" ", " + ", $search_for);
$search_wording = 'the exact text';
break;
case 'all':
$search_words = str_replace(" ", " and ", $search_for);
$search_wording = 'all of the following words';
break;
case 'atleastone':
$search_words = str_replace(" ", " or ", $search_for);
$search_wording = 'at least one of the following words';
break;
}
// display list of PMs found
print_form_header('', '', 0, 1, 'pmlistForm');
print_table_header('Search Results for ' . $search_wording . ': ' . $search_words . '', 4);
if (empty($pms))
{
print_description_row('<center>There are no results to view for the search text.</center>');
}
else
{
print_cells_row(array('pmtextid', 'PM Title', 'Date', ''), 1);
foreach ($pms AS $pm)
{
$date = $pm['sent'];
$link = THIS_SCRIPT . '.php?do=read&pmtextid=' . $pm['id'];
$row = array();
$row[] = '<div class="smallfont">' . $pm['id'] . '</div>';
$row[] = '<div class="smallfont"><span style="float:left">' . $pm['subject'] . '</span></div>';
$row[] = '<div class="smallfont">' . $date . '';
$row[] = '<div class="smallfont">[<a href="' . $link . '">View Private Message</a>]</div>';
print_cells_row($row);
}
}
print_table_footer(4, '<input class="button" value="Go Back" title="" tabindex="1" onclick="window.location=\'javascript:history.back(1)\';" type="button">');
}
// ########################### LATEST X PMs ###############################
if ($_REQUEST['do'] == 'latest')
{
// if nothing entered or zero entered
if (empty($_REQUEST['showlatest']))
{
rpm_print_stop_back('Enter a positive number greater than 0.');
}
// if non-numeric or negative number entered
if (!is_numeric($_REQUEST['showlatest']) OR $_REQUEST['showlatest'] < 1)
{
rpm_print_stop_back('Enter a positive number greater than 0.');
}
// get the PM list
$pms = rpm_get_latest_pms($_REQUEST['showlatest']);
// if no PMs
if (empty($pms))
{
rpm_print_stop_back('There are no PMs to view.');
}
// display PM list
print_form_header('', '', 0, 1, 'pmlistForm');
print_table_header('Show Last ' . $_REQUEST['showlatest'] . ' PMs', 5);
print_cells_row(array('pmtextid', 'PM Title', 'From', 'Date', ''), 1);
foreach ($pms AS $pm)
{
$date = $pm['sent'];
$link = THIS_SCRIPT . '.php?do=read&pmtextid=' . $pm['id'];
$row = array();
$row[] = '<div class="smallfont">' . $pm['id'] . '</div>';
$row[] = '<div class="smallfont"><span style="float:left">' . $pm['subject'] . '</span></div>';
$row[] = '<div class="smallfont">' . $pm['sender'] . '</div>';
$row[] = '<div class="smallfont">' . $date . '';
$row[] = '<div class="smallfont">[<a href="' . $link . '">View Private Message</a>]</div>';
print_cells_row($row);
}
print_table_footer(5, '<input class="button" value="Go Back" title="" tabindex="1" onclick="window.location=\'javascript:history.back(1)\';" type="button">');
}
//$byuser = "WHERE username ='".escape($userid)."' OR name = '".escape($userid)."' OR clean_username = '".escape(strtolower($userid))."' OR id = ".escape($userid)."";
//////////END PAGER///////////
$res = $db->sql_query("SELECT * FROM torrent_private_messages $byuser ORDER BY id DESC $limit") or sqlerr(__FILE__, __LINE__);
if (empty($_REQUEST['do']))
{
?>
<!-- form started:6 queries executed -->
<form action="admin_pms.php?do=list" method="post" name="listForm" id="listForm">
<input type="hidden" name="do" value="list" />
<input type="hidden" name="adminhash" value="3e73dc37dcedd5625580f2b3003a7c54" />
<input type="hidden" name="securitytoken" value="1246320728-ece494df92d839cbf13763b1e8d2fd3fdae46f8c" />
<br />
<table cellpadding="4" cellspacing="0" border="0" align="center" width="90%" style="border-collapse:separate" class="tborder" id="listForm_table">
<tr>
<td class="tcat" align="center" colspan="2"><b>Read PMs</b></td>
</tr>
<tr valign="top">
<td class="alt1">User ID or Username</td>
<td class="alt1"><div id="ctrl_userid"><input type="text" class="bginput" name="userid" id="it_userid_1" value="" size="35" dir="ltr" tabindex="1" /></div></td>
</tr>
<tr>
<td class="tfoot" colspan="2" align="center"> <input type="submit" id="submit0" class="button" tabindex="1" value="Read PMs" accesskey="s" />
</td>
</tr>
</table>
</form>
<!-- form ended: 6 queries executed -->
<!-- form started:6 queries executed -->
<form action="admin_pms.php?do=havepms" method="post" name="resetForm" id="resetForm">
<input type="hidden" name="do" value="allusershavepms" />
<input type="hidden" name="adminhash" value="3e73dc37dcedd5625580f2b3003a7c54" />
<input type="hidden" name="securitytoken" value="1246320728-ece494df92d839cbf13763b1e8d2fd3fdae46f8c" />
<br />
<table cellpadding="4" cellspacing="0" border="0" align="center" width="90%" style="border-collapse:separate" class="tborder" id="resetForm_table">
<tr>
<td class="tfoot" colspan="2" align="center"> <input type="submit" id="submit1" class="button" tabindex="1" value="List Users with PMs" accesskey="s" />
</td>
</tr>
</table>
</form>
<!-- form ended: 6 queries executed -->
<!-- form started:6 queries executed -->
<form action="admin_pms.php?do=search" method="post" name="searchForm" id="searchForm">
<input type="hidden" name="do" value="search" />
<input type="hidden" name="adminhash" value="3e73dc37dcedd5625580f2b3003a7c54" />
<input type="hidden" name="securitytoken" value="1246320728-ece494df92d839cbf13763b1e8d2fd3fdae46f8c" />
<br />
<table cellpadding="4" cellspacing="0" border="0" align="center" width="90%" style="border-collapse:separate" class="tborder" id="searchForm_table">
<tr>
<td class="tcat" align="center" colspan="2"><b>Search for PMs</b></td>
</tr>
<tr valign="top">
<td class="alt1">Search for<p><input type="button" unselectable="on" value="Large Edit Box" class="button" style="font-weight:normal" onclick="window.open('textarea.php?dir=ltr&name=search','textpopup','resizable=yes,scrollbars=yes,width=' + (screen.width - (screen.width/10)) + ',height=600');" /></p></td>
<td class="alt1"><div id="ctrl_search"><textarea name="search" id="ta_search_2" rows="4" cols="40" wrap="virtual" dir="ltr" tabindex="1"></textarea><div class="smallfont"><a href="#" onclick="return resize_textarea(1, 'ta_search_2')">Increase Size</a> <a href="#" onclick="return resize_textarea(-1, 'ta_search_2')">Decrease Size</a></div></div></td>
</tr>
<tr valign="top">
<td class="alt2">Match</td>
<td class="alt2"><div class="normal">
<div class="ctrl_"> <label for="rb_matchexact_3"><input type="radio" name="match" id="rb_matchexact_3" tabindex="1" value="exact" checked="checked" />exact text</label><br />
<label for="rb_matchall_3"><input type="radio" name="match" id="rb_matchall_3" tabindex="1" value="all" />all words</label><br />
<label for="rb_matchatleastone_3"><input type="radio" name="match" id="rb_matchatleastone_3" tabindex="1" value="atleastone" />at least one of the words</label><br />
</div> </div></td>
</tr>
<tr>
<td class="tfoot" colspan="2" align="center"> <input type="submit" id="submit2" class="button" tabindex="1" value="Search for PMs" accesskey="s" />
</td>
</tr>
</table>
</form>
<!-- form ended: 6 queries executed -->
<!-- form started:6 queries executed -->
<form action="admin_pms.php?do=latest" method="post" name="latestForm" id="latestForm">
<input type="hidden" name="do" value="latest" />
<input type="hidden" name="adminhash" value="3e73dc37dcedd5625580f2b3003a7c54" />
<input type="hidden" name="securitytoken" value="1246320728-ece494df92d839cbf13763b1e8d2fd3fdae46f8c" />
<br />
<table cellpadding="4" cellspacing="0" border="0" align="center" width="90%" style="border-collapse:separate" class="tborder" id="latestForm_table">
<tr>
<td class="tcat" align="center" colspan="2"><b>Latest PMs</b></td>
</tr>
<tr valign="top">
<td class="alt1">Number of PMs to show</td>
<td class="alt1"><div id="ctrl_showlatest"><input type="text" class="bginput" name="showlatest" id="it_showlatest_4" value="100" size="35" dir="ltr" tabindex="1" /></div></td>
</tr>
<tr>
<td class="tfoot" colspan="2" align="center"> <input type="submit" id="submit3" class="button" tabindex="1" value="Latest PMs" accesskey="s" />
</td>
</tr>
</table>
</form>
<!-- form ended: 6 queries executed -->
<?php
}
include("footer.php");
?>
|
|
| | Topic: Chat Mod |
|---|
| | Topic: Increasing Torrent Name Displayed In List [pMBT2.0.3] |
|---|
| Increasing Torrent Name Displayed In List [pMBT2.0.3] [message #2397] |
Wed, 25 February 2009 00:36 |
Threedays  Messages: 79 Registered: January 2009 Location: Australia |
Seeder |
|
|
To increase the torrent printing length for torrents listed...
On line 289 or there about in /include/bittorrent.php, increase the numbers 51 and 50 to say 71 and 70, as below.
echo "\" title=\"".$dispname."\">".((strlen($dispname) <= 71) ? search_word($dispname, $search): search_word(substr($dispname,0,70)."...", $search))."</a></p>";
[Updated on: Wed, 25 February 2009 00:37] See me at ; http://conspiracyhub.com/
|
|
| | Topic: add last forum posts to your index |
|---|
| add last forum posts to your index [message #2339] |
Fri, 13 February 2009 12:26 |
|
This mod well add the last forum posts to your tracker index
First you well need to create a new file called forumposts.php and add this
<?php
if ($user->user)
{
define( 'IN_PHPBB', true );
$phpbb_root_path = './'.$forumbase.'/'; // change in your own root path.
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
$user->session_begin();
$auth->acl( $user->data );
$user->setup();
//-- Fetch the data from the specified fora
$bbcode = new bbcode();
$news_fora_id = array( 25,19,20,16); // Change in the fora id's you need
$output = '';
$topic_count = '10'; // Change in the number of topics you want to show.
$query = "
SELECT p.topic_id, p.forum_id, p.post_time, p.post_subject, p.post_text, p.bbcode_bitfield, p.bbcode_uid,
u.user_id, u.user_email, u.username, u.user_posts, u.user_rank, u.user_colour, u.user_allow_viewonline, u.user_allow_viewemail,
t.topic_title,
(
SELECT COUNT( post_id )
FROM " . POSTS_TABLE . "
WHERE topic_id = p.topic_id
) AS aantal_posts
FROM " . POSTS_TABLE . " AS p, " . USERS_TABLE . " AS u, " . TOPICS_TABLE . " AS t
WHERE " . $db->sql_in_set( 'p.forum_id', $news_fora_id ) . "
AND u.user_id = p.poster_id
AND t.topic_id = p.topic_id
GROUP BY topic_id
ORDER BY t.topic_time DESC
LIMIT 0, {$topic_count}
";
//die('<pre>' . $query );
$result = $db->sql_query( $query )or btsqlerror($query);
$output .= "<table class=\"torrenttable\" border=\"0\" cellpadding=\"3\" width=\"100%\">";
$output .="<thead>\n<tr><th><p>Topics</p></th>";
$output .="<th><p>Replies</p></th>";
$output .="<th><p>Views</p></th>";
$output .= "</tr></thead>\n";
while( $row = $db->sql_fetchrow($result) )
{
$sql_view ="SELECT * FROM " . TOPICS_TABLE . " WHERE topic_id = ". $row['topic_id'] . "";
$res_views = $db->sql_query($sql_view);
$row_views = $db->sql_fetchrow($res_views);
// Parse the message and subject
$message = censor_text($row['post_text']);
// Second parse bbcode here
if ($row['bbcode_bitfield'])
{
$bbcode->bbcode_second_pass($message, $row['bbcode_uid'], $row['bbcode_bitfield']);
}
//$message = bbcode($message);
$message = smiley_text($message);
// Send data to output var
$output .= "<tbody>\n";
$output .="<td class=\"torrenttable\">";
$output .= "<a href=\"phpBB.php?page=viewtopic&f={$row['forum_id']} &t={$row['topic_id']}\" title=\"" . censor_text($row['post_subject']) . "\">".censor_text($row['post_subject'])."</a> <br>By <a href=\"phpBB.php?page=memberlist&mode=viewprofile&u= " . $row['user_id'] . "\" style='color:#9E8DA7'>" . $row['username'] ."</a> on \n";
$output .= $user->format_date($row['post_time'])."\n" ;
$output .= "</td>\n" ;
$output .="<td>";
$output .= $row['aantal_posts']-1 ."\n";
$output .="</td>";
$output .="<td>";
$output .= $row_views['topic_views']."\n";
$output .="</td>";
$output .="</tbody>\n";
}
$output .="</table>\n";
// print the output
OpenTable('Resent Forum Posts');
print( $output);
CloseTable();
}
?>
make sure you edit to what you like
<?php $news_fora_id = array( 25,19,20,16); // Change in the fora id's you need ?>
this one is an array and you only add the forum not the posts
<?php $topic_count = '10'; // Change in the number of topics you want to show. ?>
this is how many posts you want to show on the index
now open index.php and add
<?php include ("forumposts.php"); ?>
where you want it to show up
|
|
| | Topic: [PMBT 2.0.3] Adding tracker stats to forum |
|---|
| [PMBT 2.0.3] Adding tracker stats to forum [message #2304] |
Mon, 09 February 2009 03:28 |
|
this is not as hard as it may look
Step 1
open phpBB3/viewtopic.php and find
<?php $post_list = $user_cache = $id_cache = $attachments = $attach_list = $rowset = $update_count = $post_edit_list = array(); ?>
now replace that with
<?php #$post_list = $user_cache = $id_cache = $attachments = $attach_list = $rowset = $update_count = $post_edit_list = array();
#tracker stats
$post_list = $user_cache = $tracker_user_cache = $tracker_id_cache = $id_cache = $attachments = $attach_list = $rowset = $update_count = $post_edit_list = array(); ?>
now find
<?php // We add the signature to every posters entry because enable_sig is post dependant
if ($row['user_sig'] && $config['allow_sig'] && $user->optionget('viewsigs'))
{
$user_sig = $row['user_sig'];
} ?>
And add after
<?php if (defined('BT_SHARE'))
{
$tracker_user_cache[$poster_id] = get_tracker_stats($poster_id);
} ?>
Now find
<?php $postrow = array( ?>
and add after
<?php //tracker stats
'POSTER_UPLOAD' => (!defined('BT_SHARE'))? '' : $tracker_user_cache[$poster_id]['uploaded'],
'POSTER_DOWN_LOAD' => (!defined('BT_SHARE'))? '' : $tracker_user_cache[$poster_id]['downloaded'],
'POSTER_RATIO' => (!defined('BT_SHARE'))? '' : $tracker_user_cache[$poster_id]['ratio'],
//end ?>
OK your done there
now open say
phpBB3/styles/prosilver/templates/viewtopic_body.html
and find
<!-- IF postrow.POSTER_POSTS != '' --><dd><strong>{L_POSTS}:</strong> {postrow.POSTER_POSTS}</dd><!-- ENDIF -->
<!-- IF postrow.POSTER_JOINED --><dd><strong>{L_JOINED}:</strong> {postrow.POSTER_JOINED}</dd><!-- ENDIF -->
<!-- IF postrow.POSTER_FROM --><dd><strong>{L_LOCATION}:</strong> {postrow.POSTER_FROM}</dd><!-- ENDIF -->
And add before
<!-- IF postrow.POSTER_UPLOAD != '' --><dd><strong>Uploaded:</strong> {postrow.POSTER_UPLOAD}</dd><!-- ENDIF -->
<!-- IF postrow.POSTER_DOWN_LOAD != '' --><dd><strong>Downloaded:</strong> {postrow.POSTER_DOWN_LOAD}</dd><!-- ENDIF -->
<!-- IF postrow.POSTER_RATIO != '' --><dd><strong>Ratio:</strong> {postrow.POSTER_RATIO}</dd><!-- ENDIF -->
edit language to match yours
now go to admin panel purge cache and your done
|
|
| | Topic: Last IP in view profile |
|---|
| Last IP in view profile [message #2219] |
Sat, 08 November 2008 06:04 |
DrAgon  Messages: 192 Registered: August 2007 |
Super-Seeder Bug hunter |
|
|
for
v1.2.2
and
v2 beta
open user/profile.php
find
add before
if(($user->admin)){
echo "<tr><td><p>Last IP</p></td>\n";
echo "<td><p>".long2ip($userrow["lastip"])."</p></td>\n";
}
[Updated on: Sat, 08 November 2008 06:22]
|
|
| | Topic: Additional Anti-cheat check |
|---|
| Additional Anti-cheat check [message #2158] |
Tue, 29 July 2008 13:32 |
Revan  Messages: 125 Registered: April 2007 |
Super-Seeder modd team |
|
|
At the moment we use User Agent to discover if user is accessing announce from web browser or not, but if some smart ass would change user agent to something else it would very easily allow cheating...
This is fixed on lots of tbdev trackers however so I took their code and edited it to our purpose - thanks to the original creator!
So far we have this:
if (eregi("(Mozilla|Opera|Lynx|Netscape)",$HTTP_SERVER_VARS["HTTP_USER_AGENT"])) {
die("<html><head><title>Error!</title></head><body><h3>Sorry, but this file is not suitable for browsers.</h3></body></html>");
}
What I'm suggesting is adding these lines below:
$headers = getallheaders();
if (isset($headers["Cookie"]) || isset($headers["Accept-Language"]) || isset($headers["Accept-Charset"])) {
die("<html><head><title>Error!</title></head><body><h3>Sorry, but this file is not suitable for browsers.</h3></body></html>");
}
unset($headers);
If your server doesn't have (or allow) function getallheaders like mine (you're not using apache for example), then add these before the code:
if (!function_exists('getallheaders'))
{
function getallheaders()
{
foreach ($_SERVER as $name => $value)
{
if (substr($name, 0, 5) == 'HTTP_')
{
$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
}
}
return $headers;
}
}
|
|
| | Topic: shoutbox display invertion |
|---|
| shoutbox display invertion [message #2133] |
Fri, 04 July 2008 10:01 |
RazorSK  Messages: 52 Registered: April 2008 |
Seeder |
|
|
hi all the community, i'm blammed to use the shoutbox because there is a problem with the scroll and display some times. If a lot of people send essage and the shoutbox is refreshing, you have to constantly scroll down to get the last message. So to remove this problem i have inverted the display, so the last message are the 1st displayed. If you want to do the same thing, do that:
in frame.php
search
." window.scroll(0, 3000);\n"
or if you have done the joe fix search
." window.scroll(1,199999);\n"
and replace it with:
." window.scroll(1,1);\n"
now go 3 lines after, you have that:
$sql = "SELECT S.*, U.id as uid, U.avatar as avat, IF(U.name IS NULL, U.username, U.name) as user_name FROM ".$db_prefix."_shouts S LEFT JOIN ".$db_prefix."_users U ON S.user = U.id ORDER BY posted ASC;";
just replace it with:
$sql = "SELECT S.*, U.id as uid, U.avatar as avat, IF(U.name IS NULL, U.username, U.name) as user_name FROM ".$db_prefix."_shouts S LEFT JOIN ".$db_prefix."_users U ON S.user = U.id ORDER BY posted DESC;";
now the first line displayed is the last shout.
[Updated on: Fri, 04 July 2008 10:03]
|
|
| | Topic: offline |
|---|
| offline [message #2127] |
Tue, 01 July 2008 06:41 |
DrAgon  Messages: 192 Registered: August 2007 |
Super-Seeder Bug hunter |
|
|
v 1.2.2
This a simple offline method that I use to put site in maintenance and announce/scrape still working.
1) open header.php
before
$startpagetime = microtime();
add
2) create offline.php and put following in it:
<?php
if ($_SERVER["REMOTE_ADDR"] != 'xxx.xxx.xxx.xxx')
#header( 'Location: http://www.xxxxxxxxxxx.com/maintain/index.html');
?>
put your ip instead of xxx.xxx.xxx.xxx above so you still can access site.
put your domain instead of xxxxxxxxxxx above
3) create maintain folder/directory in your webroot folder/directory
create index.html file with following:
<body bgcolor="#000000">
<p align="center">
<img border="0" src="http://www.xxxxxxxxxxxxxxxxx.com/maintain/logo.gif" width
="800" height="121"></p>
<p> </p>
<p align="center"><font color="#FFFFFF"><b>We are performing site maintenance. W
e'll be back soon.</font></b>
</p>
</body>
add your gif or jpg logo above accordingly.
--------------------------------------
if you want to put site offline just (uncomment) remove # from header line in offline.php
You can bring site back online by (commenting) putting # back on heeder line in offline.php
|
|
| | Topic: phpbb3 integration problem |
|---|
| phpbb3 integration problem [message #2110] |
Sun, 08 June 2008 16:12 |
RazorSK  Messages: 52 Registered: April 2008 |
Seeder |
|
|
hi all the community, i got a problem with my phpbb3 integration, my tracker is located here:
http://ks358108.kimsufi.com/
if i import users, i got an error page with the message:
"Erreur d'encodage de contenu" -> "Content Encoding Error"
anyone know what is that problem ?

edit: it import some users 4 or 5 before the error
[Updated on: Sun, 08 June 2008 16:16]
|
|
| | Topic: torrent peerlist pecentage completion bar |
|---|
| torrent peerlist pecentage completion bar [message #2049] |
Wed, 21 May 2008 00:35 |
DrAgon  Messages: 192 Registered: August 2007 |
Super-Seeder Bug hunter |
|
|
for ver 1.2.2
I added a bar for completion percentage of each peer in torrent details.
used fews sections of donation bar progress ..and modified it for frame.php in peerlist section...
I ain't not expert in php/mysql..
find
add following before or after:
$perc=sprintf("%.2f%%", (1 - ($row["to_go"] / $row["torrent_size"])) * 100);
find
add before :
$usertxt.="<center><font size='1'><br><table class=main border=0 width=100><tr><td style='p
adding: 0px; background-image: url(images/loadbarbg.gif); background-repeat: repeat-x'>";
$pic = "loadbargreen.gif";
$width = round(1 * $perc);
$usertxt.="<img height=15 width=$width src=\"images/$pic\" alt='$donatein)%'><br><font size
='1'color=\"white\"><center>$perc</center></font></td></tr></table>";
oops...then clean up alt$donatein..
visually much more efficient and faster for me (perhaps other users too), than just moving the mouse over each transfer icon to see how much each peer has completed a torrent....!!
in a few days...I also might move the peer list.. all in a table vertically and sorted by progress bar (completion percentage) from...top to bottom...instead of left to right icons...
[Updated on: Wed, 21 May 2008 02:19]
|
|
| | Topic: invisible admin group |
|---|
| invisible admin group [message #1931] |
Thu, 10 April 2008 21:47 |
DrAgon  Messages: 192 Registered: August 2007 |
Super-Seeder Bug hunter |
|
|
in ver 1.2.2
I modified header.php to check for admin group before it writes to online_users tables....therefore admin group is invisible
#if ($user->user) {^M
if (!$user->admin and $user->user) {
//Update online user list^M
$pagename = substr($_SERVER["PHP_SELF"],strrpos($_SERVER["PHP_SELF"], "/"
)+1);^M
$sqlupdate = "UPDATE ".$db_prefix."_online_users SET page = '".addslashe
s($pagename)."', last_action = NOW() WHERE id = ".$user->id.";";^M
$sqlinsert = "INSERT INTO ".$db_prefix."_online_users VALUES ('".$user->
id."','".addslashes($pagename)."', NOW(), NOW())";^M
|
|
|
Pages (3): [1 ]
Current Time: Sun Mar 14 03:41:10 GMT 2010
Total time taken to generate the page: 0.13339 seconds
|