Bravo List
Register
Go Back   > Bravo List > P2P > Forum > Downloads
Reply
  #1  
Old 8th October 2008, 04:55
Dragan3591's Avatar
Dragan3591 Dragan3591 is offline
Senior Member
 
Join Date: Oct 2008
United States
Posts: 168
Exclamation FTS v2.0 BETA
DEMO
Username: Test
Pass: user1234
This will give you sysop privileges so you can check it out!


BTW: No update yet, only install which is done great

attention

Attention

Latest release of this source is FTS 1.1
In the future you can check for new versions of this source here http://sourceforge.net/projects/freetosu





Attached Files
File Type: zip Fts_2.0_beta.zip (3.66 MB, 645 views)

Last edited by Dragan3591; 13th October 2008 at 21:14. Reason: Fixing the Demo link
Reply With Quote
The Following 5 Users Say Thank You to Dragan3591 For This Useful Post:
HelixiR (21st December 2008), ocha (16th February 2009), Security (10th January 2009), thairocker (29th October 2008), zenja7777 (26th October 2008)
  #2  
Old 8th October 2008, 08:37
Tony's Avatar
Tony Tony is offline
Senior Member
 
Join Date: Mar 2008
P2P
Posts: 182
Default
Its not like they are hiding the 2.0 beta code and making it so people cant use it without them saying so just do what i do and save all the trouble and post a like to it ..

its opensource remember and you dont need to be higher than anybody to veiw latest beta codes if they have made it downloadable lol

freetorrentsource - Google Code
Reply With Quote
  #3  
Old 8th October 2008, 11:22
Subzero's Avatar
Subzero Subzero is offline
Coder
 
Join Date: Jul 2008
P2P
Posts: 190
Wink
Just downloaded it its not hard to do your own staffpanel ill do one if you want and post here for now untill they bring one out


PLEASE NOTE THIS IS BETA !

-see first post for the download link-

This package contains FTS 2.0 - The next generation of FTS - BETA.
To install, simply go to install folder throught an browser :D .
You have to make include,include/secrets.php,include/annconf.php, install writable for installer to work.
For best results, make all files writable(0777).

Last edited by Subzero; 8th October 2008 at 12:13.
Reply With Quote
  #4  
Old 8th October 2008, 12:23
Dragan3591's Avatar
Dragan3591 Dragan3591 is offline
Senior Member
 
Join Date: Oct 2008
United States
Posts: 168
Default
You don't have to work too hard on it, all that has to happen is to change that link from cpanel which leads to staffpanel.php into admin.php.
I'm at work so I don't have the code here, but I'll post mine here when I get home.

Here we go.
I fixed some wrong links and added link to users from index, also I cleaned it a little. I like when you can go to userlist from there instead going around.

Make sure you make backups to all changed files so you can reverse it if something goes wrong. I tested this and it works but if you have problems please contact me!!

First in your language file find
PHP Code:
define("BUDDY_LIST""Buddylist"); 
under it add
PHP Code:
define("USERS""Users"); 
This is just adding the translation, otherwise you can get error page.

Next open your header.php from \templates\tbdev
and erase everything in it.
Now copy this code in it.

PHP Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<title><?= $title ?></title>
<link rel="stylesheet" href="templates/tbdev/TBDev.css" type="text/css">
<script language="javascript" type="text/javascript" src="js/resizer.js"></script>
<script language="javascript" type="text/javascript" src="js/tooltips.js"></script>
<link rel="alternate" type="application/rss+xml" title="RSS" href="<?=$DEFAULTBASEURL?>/rss.php">
<link rel="shortcut icon" href="<?=$DEFAULTBASEURL;?>/favicon.ico" type="image/x-icon" />
<?scripts();?>
<?=$includescripts
;?>
<link rel="stylesheet" href="scripts/windowfiles/dhtmlwindow.css" type="text/css" />
<script type="text/javascript" src="scripts/windowfiles/dhtmlwindow.js">
</script>
<link rel="stylesheet" href="scripts/modalfiles/modal.css" type="text/css" />
<script type="text/javascript" src="scripts/modalfiles/modal.js"></script>
<script type="text/javascript" src="scripts/passtre.js"></script>
<?
global $invitesys;
echo
'<script type="text/javascript" src="scripts/collapse.js"></script><style type="text/css">.iconspan{
float: right;
margin: 3px;
cursor:hand;
cursor:pointer;
font-weight: bold;
}.icongroup1{
width: 500px;
}.eg-bar {
background: #ECE9D8;
}</style>'

?>
</head>
<body onload="document.getElementById( 'password' ).focus();">

<table width="90%" class="clear" align="center" border="0" cellspacing="0" cellpadding="0" style="background: transparent;">
<tr>
<td class="embedded" width="50%" background="templates/tbdev/images/logobg.gif">
<a href="<?=$DEFAULTBASEURL?>"><img style="border: none" alt="<?=$SITENAME?>" title="<?=$SITENAME?>" src="templates/tbdev/images/h.jpg" /></a>
</td>
<td class="embedded" width="50%" align="right" background="templates/tbdev/images/logobg.gif">
    
<noindex><form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but21.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----
">
</form>

</noindex>&nbsp;
</td>
</tr>
</table>

<!-- Top Navigation Menu for unregistered-->
<table width="90%" align="center" border="0" cellspacing="0" cellpadding="2"><tr>

<td align="center" class="topnav">&nbsp;<a href=/><font color="#FFFFFF"><? print("" .HOME"")?></font></a>
&nbsp;•&nbsp;
<a href="browse.php"><font color="#FFFFFF"><? print("" .BROWSE"")?></font></a>
<? if (get_user_class() >= UC_USER) { ?>
&nbsp;•&nbsp;
<a href=/viewrequests.php><font color="#FFFFFF"><? print("" .REQUESTS"")?></font></a>
&nbsp;•&nbsp;
<a href=/viewoffers.php><font color="#FFFFFF"><? print("" .OFFERS"")?></a>
&nbsp;•&nbsp;
<a href="upload.php"><font color="#FFFFFF"><? print("" .UPLOAD"")?></font></a>
&nbsp;•&nbsp;
<a href=/my.php><font color="#FFFFFF"><? print("" .PROFILE"")?></a>
<? ?>
&nbsp;•&nbsp;
<a href="forums.php"><font color="#FFFFFF">Forum</font></a>
<? if ($CURUSER) { ?>
&nbsp;•&nbsp;
<a href="log.php"><font color="#FFFFFF">Log</font></a>
<? ?>
&nbsp;•&nbsp;
<a href="rules.php"><font color="#FFFFFF">Rules</font></a>
&nbsp;•&nbsp;
<a href="faq.php"><font color="#FFFFFF">FAQ</font></a>
<? if ($CURUSER) { ?>
&nbsp;•&nbsp;
<!--<a href="helpdesk.php"><font color="#FFFFFF">   .          </font></a>
&nbsp;•&nbsp;-->
<a href="staff.php"><font color="#FFFFFF">Staff</font></a>
<? ?>
<? 
if($usergroups['canstaffpanel'] == 'yes') { ?>
&nbsp;•&nbsp;
<a href="admin.php"><font color="#FFFFFF">Staff Panel</font></a>
<?
}if($usergroups['cansettingspanel'] == 'yes') { 
?>
&nbsp;•&nbsp;
<a href="cpanel.php"><font color="#FFFFFF">Settings</font></a>
<?}?>
</td></tr>
</table>



<? if ($CURUSER) { ?>

<!-- //////// start the statusbar ///////////// -->

</table>

<p>

<table align="center" cellpadding="4" cellspacing="0" border="0" style="width:90%">
<tr>
<td class="tablea"><table align="center" style="width:100%" cellspacing="0" cellpadding="0" border="0">
<tr>

<td class="bottom" align="left"><span class="smallfont"><? print("" .WELCOME_BACK"")?>, <a href="userdetails.php?id=<?=$CURUSER['id']?>"><?=$CURUSER['username']?></a><?=$medaldon?><?=$warn?>&nbsp; [<a href="logout.php"><? print("" .LOG_OUT"")?></a>] <a href='/mybonus.php'>Your Karma points: <?=$CURUSER['seedbonus'];?></a> <?if($invitesys == 'yes') {?><a href='invite.php?id=<?=$CURUSER['id'];?>'>Your invites: <?=$CURUSER['invites'];?></a><?}?>&nbsp;&nbsp;<br/>
<font color=1900D1><? print("" .RATIO"")?>:</font> <?=$ratio?>&nbsp;&nbsp;<font color=green><? print("" .UPLOADED"")?>:</font> <font color=black><?=$uped?></font>&nbsp;&nbsp;<font color=darkred><? print("" .DOWNLOADED"")?>:</font> <font color=black><?=$downed?></font>&nbsp;&nbsp;<font color=1900D1><? print("" .ACTIVE_TORRENTS"")?>:&nbsp;</font></span> <img alt="Torrents seeding" title="Torrents seeding" src="pic/arrowup.gif">&nbsp;<font color=black><span class="smallfont"><?=$activeseed?></span></font>&nbsp;&nbsp;<img alt="Torrents leeching" title="Torrents leeching" src="pic/arrowdown.gif">&nbsp;<font color=black><span class="smallfont"><?=$activeleech?></span></font>&nbsp;&nbsp;<font color=1900D1><? print("" .CONNECTABLE"")?>:&nbsp;</font><?=$connectable?></td>
<td class="bottom" align="right"><span class="smallfont"><? print("" .THE_TIME_IS_NOW"")?>: <!-- clock hack -->
<span id="clock">loading</span>
<script type="text/javascript">
function refrClock()
{
var d=new Date();
var s=d.getSeconds();
var m=d.getMinutes();
var h=d.getHours();
var day=d.getDay();
var date=d.getDate();
var month=d.getMonth();
var year=d.getFullYear();
var am_pm;
if (s<10) {s="0" + s}
if (m<10) {m="0" + m}
if (h>12) {h-=12;am_pm = "PM"}
else {am_pm="AM"}
if (h<10) {h="0" + h}
document.getElementById("clock").innerHTML=h + ":" + m + ":" + s + " " + am_pm;
setTimeout("refrClock()",1000);
}
refrClock();
</script>
<!-- / clock hack --><br/>
<?
if ($messages){
print(
"<span class=smallfont><a href=inbox.php>$inboxpic</a> $messages ($unread " .NEW_")</span>");
if (
$outmessages)
print(
"<span class=smallfont>&nbsp;&nbsp;<a href=inbox.php?out=1><img height=14px style=border:none alt=" .SENTBOX" title=" .SENTBOX" src=pic/pn_sentbox.gif></a> $outmessages</span>");
else
print(
"<span class=smallfont>&nbsp;&nbsp;<a href=inbox.php?out=1><img height=14px style=border:none alt=" .SENTBOX" title=" .SENTBOX" src=pic/pn_sentbox.gif></a> 0</span>");
}
else
{
print(
"<span class=smallfont><a href=inbox.php><img height=14px style=border:none alt=inbox title=" .INBOX" src=pic/pn_inbox.gif></a> 0</span>");
if (
$outmessages)
print(
"<span class=smallfont>&nbsp;&nbsp;<a href=inbox.php?out=1><img height=14px style=border:none alt=" .SENTBOX" title=" .SENTBOX" src=pic/pn_sentbox.gif></a> $outmessages</span>");
else
print(
"<span class=smallfont>&nbsp;&nbsp;<a href=inbox.php?out=1><img height=14px style=border:none alt=" .SENTBOX" title=" .SENTBOX" src=pic/pn_sentbox.gif></a> 0</span>");
}
print(
"&nbsp;<a href=friends.php><img style=border:none alt=" .BUDDY_LIST" title=" .BUDDY_LIST" src=pic/buddylist.gif></a>");
print(
"&nbsp;<a href=users.php><img style=border:none alt=" .USERS" title=" .USERS" src=pic/userlist.gif></a>");
print(
"&nbsp;<a href=getrss.php><img style=border:none alt=" .RSS" title=" .RSS" src=pic/rss.gif></a>");
?>
</span></td>

</tr>
</table></table>
<p>

<? } else { ?>
<table align="center" cellpadding="3" cellspacing="0" border="0" style="width:90%">
<tr>
<td>
<table align="center" style="width:90%" cellspacing="0" cellpadding="0" border="0">
<form method="post" action="takelogin.php">
<center>
<? print("" .USERNAME"")?>: <input type="text" size=32 name="username" class="inputUsername" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<? print("" .PASSWORD"")?>: <input type="password" size=40 name="password" class="inputPassword"/>
<input type="submit" value="<? print("" .LOGIN"")?>!" class=btn>
</center>
</form>
</table>
</td>
</tr>
</table>
<?}?>
<!-- /////////// here we go, with the menu //////////// -->

<?php

$w 
"width=\"90%\"";
//if ($_SERVER["REMOTE_ADDR"] == $_SERVER["SERVER_ADDR"]) $w = "width=984";

?>
<table class="mainouter" align="center" <?=$w?> border="1" cellspacing="0" cellpadding="5">

<!------------- MENU ------------------------------------------------------------------------>

<? $fn substr($_SERVER['PHP_SELF'], strrpos($_SERVER['PHP_SELF'], "/") + 1); ?>



<td align="center" valign="top" class="outer" style="padding-top: 5px; padding-bottom: 5px">
<?
if($unread AND $usergroups['canpm'] == 'yes') {
print(
"<p class=success><a href=$BASEURL/inbox.php>" .YOU_HAVE$unread " .NEW_MESSAGE"" . ($unread "" .ENDING"" "") . "!</a></p>");
}
$announcement $CURUSER['announce'];
$q mysql_query('SELECT * FROM announcement ORDER BY id DESC LIMIT 5') or mysql_error(__FILE__,__LINE__);
?><div id="announcement" style="display:none;">
<div style="background: #F3F3F3; height: 100%; padding: 5px">
<?
while($ann mysql_fetch_array($q)) {
echo 
'Announce from: '.$ann['added'].'<BR>';
echo 
'Title: '.$ann['title'].'<BR>';
echo 
$ann['body'].'<BR>';
echo 
'<HR>';
}

print (
"<form method='post' action='".$_SERVER["SCRIPT_NAME"]."'>");
?>
I read all the announcements: <INPUT type='radio' name='readall' value='yes'> <input type='submit' name='save' class='btn' value='Ok'>
<?
print ("</form>");
if(
$_POST['readall'] == 'yes') {
mysql_query("UPDATE users SET announce = 'no' WHERE id=".$CURUSER['id']);
header('Location: '.$_SERVER['SCRIPT_NAME']);
}
?>
</div>
</div>

<script type="text/javascript">

function ageprompt(){
    agewindow=dhtmlmodal.open('agebox', 'div', 'announcement', 'Latest 5 announcements', 'width=750px,height=550px,left=150px,top=100px,resize=0,scrolling=0')
}

</script><?
if ($announcement == "yes")
  print(
"<p class=success><a href=# onclick=ageprompt()>There is one unread announcement. Click here to read it.</a></p>");
  print(
"<br>");
ads();
?>
Add attached picture in your pic folder and you are done!
Attached Images
 

Last edited by Dragan3591; 7th November 2008 at 02:26.
Reply With Quote
  #5  
Old 10th October 2008, 16:09
Phogo's Avatar
Phogo Phogo is offline
VIP
 
Join Date: Jan 2008
United Kingdom
Posts: 902
Default
This is a great source
Reply With Quote
  #6  
Old 12th October 2008, 14:27
empereur empereur is offline
Senior Member
 
Join Date: Mar 2008
France
Posts: 50
Default staffpanel.php
staffpanel.php ??? INTROUVABLE
Reply With Quote
  #7  
Old 12th October 2008, 15:00
empereur empereur is offline
Senior Member
 
Join Date: Mar 2008
France
Posts: 50
Default invalide
le tracker partage des donn
Reply With Quote
  #8  
Old 12th October 2008, 21:18
piku2008 piku2008 is offline
Senior Member
 
Join Date: Oct 2008
Posts: 16
Default haha problem there
there is no button in the staff pannel for giving away invites to users so plzz solve that problem and when i try to got the the invite section in the profile page its gives sql error

link to invite - Crni Biser Demo :: Login

problem

Code:
SQL Error
Table 'crnibise_beta.invites' doesn't exist
in the old tbdev theme
Reply With Quote
  #9  
Old 13th October 2008, 06:48
Dragan3591's Avatar
Dragan3591 Dragan3591 is offline
Senior Member
 
Join Date: Oct 2008
United States
Posts: 168
Default
Giving out invites to users is not even included in the code, I'll work on it and add that mod here so you can have it.
Now, onto SQL problem. This is a BETA version, and I'm not the creator, I just brought it here. When you have a BETA version, things like this happen. I hope creator will look into this and solve it his way. I will take care of the problem on my demo tracker and post changes here if you wanna use it for yourself.
__________________
CLICK HERE FOR IMPORTANT NEWS FROM BVLIST!!

"Always do sober what you said you'd do drunk. That will teach you to keep your mouth shut."
Ernest Hemingway.

"A positive attitude will not solve all your problems, but it will annoy enough people to make it worth the effort."
Herm Albright.
Reply With Quote
  #10  
Old 13th October 2008, 08:41
piku2008 piku2008 is offline
Senior Member
 
Join Date: Oct 2008
Posts: 16
Red face Read
As i want to use it in my own tracker so i want the issue to be solved about invite so if u can do it then it will be good and also its a nice code till now what i have tested but one more problem is that this code should have diff controls for mod , admin , sysop as because in the demo tracker we are using the same controls for all these three diff staff catogerie so if we uae all the controls for these three i.e admin , mod , sysop then what will be the diff in there position this means if sysop is not there or admin is not there then he can take over the control of the whoile tracker and thats useless so if u can divide the controls for these three staff levels plzzz...
Reply With Quote
Reply

Tags
beta , fts , v20

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
IPBTracker 3.0 Beta 1 Fynnon Downloads 2 17th December 2011 18:49
Beta gone? codedash Free Torrent Source 3 29th March 2009 15:22
FTS 1.0.3 Pre-Beta fr33bh Downloads 14 16th March 2009 20:26



All times are GMT +2. The time now is 15:23. vBulletin skin by ForumMonkeys. Powered by vBulletin® Version 3.8.11 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions Inc.