Difference between revisions of "Torrentflux"
From LinuxMCE
m |
|||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
[[Category: Tutorials]] | [[Category: Tutorials]] | ||
− | |||
− | |||
I wanted to make the use of torrents a little easier. So installed torrentflux (apt-get install torrentflux). | I wanted to make the use of torrents a little easier. So installed torrentflux (apt-get install torrentflux). | ||
To het an extra folder button to move the files to the media directory and an unrar (you need to install it also) button via the webinterface I changed the following: | To het an extra folder button to move the files to the media directory and an unrar (you need to install it also) button via the webinterface I changed the following: | ||
+ | Add to lines to the bottom of the sudoers file: | ||
+ | sudo vi /etc/sudoers | ||
− | + | www-data ALL=(root) NOPASSWD: /bin/chown root\:public /var/cache/torrentflux/[a-zA-Z0-9]*/* | |
− | + | www-data ALL=(root) NOPASSWD: /bin/mv /var/cache/torrentflux/[a-zA-Z0-9]*/* /home/public/data/* | |
− | + | ||
− | + | ||
− | www-data ALL=(root) NOPASSWD: /bin/chown root\:public /var/cache/torrentflux/[a-zA-Z0-9]*/* | + | |
− | www-data ALL=(root) NOPASSWD: /bin/mv /var/cache/torrentflux/[a-zA-Z0-9]*/* /home/public/data/* | + | |
− | + | ||
add the following code to the file /usr/share/torrentflux/www/dir.php. I have put it just above: | add the following code to the file /usr/share/torrentflux/www/dir.php. I have put it just above: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | // Are we to unrar something? | ||
+ | $rar = getRequestVar('rar'); | ||
+ | if ($rar != "") | ||
+ | { | ||
$current = ""; | $current = ""; | ||
− | |||
$rar = stripslashes(stripslashes($rar)); | $rar = stripslashes(stripslashes($rar)); | ||
− | |||
$command = "cd ". escapeshellarg(dirname($cfg["path"] . $rar)) ."; /usr/bin/unrar x " . escapeshellarg($cfg["path"] . $rar); | $command = "cd ". escapeshellarg(dirname($cfg["path"] . $rar)) ."; /usr/bin/unrar x " . escapeshellarg($cfg["path"] . $rar); | ||
passthru($command); | passthru($command); | ||
session_write_close(); | session_write_close(); | ||
− | } | + | } |
− | + | // Are we to move something? | |
− | + | $move = getRequestVar('move'); | |
− | // Are we to move something? | + | if ($move != "") |
− | $move = getRequestVar('move'); | + | { |
− | if ($move != "") | + | |
− | { | + | |
− | + | ||
$current = ""; | $current = ""; | ||
− | |||
$move = stripslashes(stripslashes($move)); | $move = stripslashes(stripslashes($move)); | ||
− | |||
$command = "chmod -R 775 " . $cfg["path"] . $move; | $command = "chmod -R 775 " . $cfg["path"] . $move; | ||
$result = exec($command); | $result = exec($command); | ||
− | |||
$command = "sudo chown root:public " . $cfg["path"] . $move; | $command = "sudo chown root:public " . $cfg["path"] . $move; | ||
$result .= exec($command); | $result .= exec($command); | ||
− | |||
$command = "sudo mv '" . $cfg["path"] . $move . "' " . "'/home/public/data/videos/www/'"; | $command = "sudo mv '" . $cfg["path"] . $move . "' " . "'/home/public/data/videos/www/'"; | ||
$result .= exec($command); | $result .= exec($command); | ||
− | |||
header("Location: dir.php?dir=".urlencode($dir)); | header("Location: dir.php?dir=".urlencode($dir)); | ||
− | } | + | } |
− | + | // Are we to rename something? | |
− | // Are we to rename something? | + | $rename = getRequestVar('rename'); |
− | $rename = getRequestVar('rename'); | + | $toname = getRequestVar('toname'); |
− | $toname = getRequestVar('toname'); | + | if ($rename != "" && $toname != "") |
− | if ($rename != "" && $toname != "") | + | { |
− | { | + | echo "<pre>" . $rename . " to: " . $toname . "</pre>"; |
− | echo " | + | |
$current = ""; | $current = ""; | ||
− | |||
$rename = stripslashes(stripslashes($rename)); | $rename = stripslashes(stripslashes($rename)); | ||
$toname = stripslashes(stripslashes($toname)); | $toname = stripslashes(stripslashes($toname)); | ||
− | |||
$command = "mv '" . $cfg["path"] . $rename . "' '" . $cfg["path"] . "/" . $toname . "'"; | $command = "mv '" . $cfg["path"] . $rename . "' '" . $cfg["path"] . "/" . $toname . "'"; | ||
$result .= exec($command); | $result .= exec($command); | ||
+ | echo "<pre>" . "mv '" . $cfg["path"] . $rename . "' '" . $cfg["path"] . "/" . $toname . "'" . "</pre>"; | ||
+ | } | ||
− | + | Then just below this: | |
− | + | ||
− | </ | + | echo "</td>"; |
+ | echo "<td align=\"right\">".$fileSize." KB</td>"; | ||
+ | echo "<td>".date("m-d-Y g:i a", $timeStamp)."</td>"; | ||
+ | echo "<td align=\"right\">" | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
add this code: | add this code: | ||
− | + | ||
− | + | if( 1 == 1 ) | |
− | + | { | |
echo "<a href=\"dir.php?dir=".urlencode($dir)."&move=".urlencode($dir.$entry)."\" >"; | echo "<a href=\"dir.php?dir=".urlencode($dir)."&move=".urlencode($dir.$entry)."\" >"; | ||
echo "<img src=\"images/folder.png\" width=\"16\" height=\"16\" title=\"move to linuxMCE\" border=\"0\"></a>"; | echo "<img src=\"images/folder.png\" width=\"16\" height=\"16\" title=\"move to linuxMCE\" border=\"0\"></a>"; | ||
− | + | } | |
− | + | echo "<a href=\"javascript:popRename('" . urlencode(addslashes($dir.$entry)) ."');\">rn</a>"; | |
− | + | if( ( substr( strtolower($entry), -4 ) == ".rar" ) ) | |
− | + | { | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
echo "<a href=\"dir.php?rar=".urlencode($dir.$entry)."\" >"; | echo "<a href=\"dir.php?rar=".urlencode($dir.$entry)."\" >"; | ||
echo "<img src=\"".$image."\" width=\"16\" height=\"16\" title=\"unrar\" border=\"0\"></a>"; | echo "<img src=\"".$image."\" width=\"16\" height=\"16\" title=\"unrar\" border=\"0\"></a>"; | ||
− | + | } | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
after: | after: | ||
− | |||
− | |||
− | + | $dirName = stripslashes($dirName); | |
− | + | if (isset($dir)) | |
− | + | { | |
put the code: | put the code: | ||
− | |||
− | |||
− | |||
− | |||
+ | $javascript = <<<JSPOPRENAME | ||
+ | <script type='text/javascript' language='javascript'> | ||
+ | function popRename(name){ | ||
newwindow2=window.open('','name','height=100,width=550'); | newwindow2=window.open('','name','height=100,width=550'); | ||
var tmp = newwindow2.document; | var tmp = newwindow2.document; | ||
Line 134: | Line 95: | ||
tmp.write('</body></html>'); | tmp.write('</body></html>'); | ||
tmp.close(); | tmp.close(); | ||
− | } </script> | + | } </script> |
− | + | JSPOPRENAME; | |
− | JSPOPRENAME; | + | echo $javascript; |
− | + | ||
− | echo $javascript; | + | |
− | + | ||
− | + | ||
− | + |
Latest revision as of 18:01, 6 November 2011
I wanted to make the use of torrents a little easier. So installed torrentflux (apt-get install torrentflux).
To het an extra folder button to move the files to the media directory and an unrar (you need to install it also) button via the webinterface I changed the following:
Add to lines to the bottom of the sudoers file:
sudo vi /etc/sudoers
www-data ALL=(root) NOPASSWD: /bin/chown root\:public /var/cache/torrentflux/[a-zA-Z0-9]*/* www-data ALL=(root) NOPASSWD: /bin/mv /var/cache/torrentflux/[a-zA-Z0-9]*/* /home/public/data/*
add the following code to the file /usr/share/torrentflux/www/dir.php. I have put it just above:
// Are we to unrar something? $rar = getRequestVar('rar'); if ($rar != "") { $current = ""; $rar = stripslashes(stripslashes($rar)); $command = "cd ". escapeshellarg(dirname($cfg["path"] . $rar)) ."; /usr/bin/unrar x " . escapeshellarg($cfg["path"] . $rar); passthru($command); session_write_close(); } // Are we to move something? $move = getRequestVar('move'); if ($move != "") { $current = ""; $move = stripslashes(stripslashes($move)); $command = "chmod -R 775 " . $cfg["path"] . $move; $result = exec($command); $command = "sudo chown root:public " . $cfg["path"] . $move; $result .= exec($command); $command = "sudo mv '" . $cfg["path"] . $move . "' " . "'/home/public/data/videos/www/'"; $result .= exec($command); header("Location: dir.php?dir=".urlencode($dir)); } // Are we to rename something? $rename = getRequestVar('rename'); $toname = getRequestVar('toname'); if ($rename != "" && $toname != "") { echo "<pre>" . $rename . " to: " . $toname . "</pre>"; $current = ""; $rename = stripslashes(stripslashes($rename)); $toname = stripslashes(stripslashes($toname)); $command = "mv '" . $cfg["path"] . $rename . "' '" . $cfg["path"] . "/" . $toname . "'"; $result .= exec($command); echo "<pre>" . "mv '" . $cfg["path"] . $rename . "' '" . $cfg["path"] . "/" . $toname . "'" . "</pre>"; }
Then just below this:
echo "</td>"; echo "<td align=\"right\">".$fileSize." KB</td>"; echo "<td>".date("m-d-Y g:i a", $timeStamp)."</td>"; echo "<td align=\"right\">"
add this code:
if( 1 == 1 ) { echo "<a href=\"dir.php?dir=".urlencode($dir)."&move=".urlencode($dir.$entry)."\" >"; echo "<img src=\"images/folder.png\" width=\"16\" height=\"16\" title=\"move to linuxMCE\" border=\"0\"></a>"; } echo "<a href=\"javascript:popRename('" . urlencode(addslashes($dir.$entry)) ."');\">rn</a>"; if( ( substr( strtolower($entry), -4 ) == ".rar" ) ) { echo "<a href=\"dir.php?rar=".urlencode($dir.$entry)."\" >"; echo "<img src=\"".$image."\" width=\"16\" height=\"16\" title=\"unrar\" border=\"0\"></a>"; }
after:
$dirName = stripslashes($dirName); if (isset($dir)) {
put the code:
$javascript = <<<JSPOPRENAME <script type='text/javascript' language='javascript'> function popRename(name){ newwindow2=window.open(,'name','height=100,width=550'); var tmp = newwindow2.document; tmp.write('<html><head><title>rename ' + name + '</title>'); tmp.write('<script type=\'text/javascript\' language=\'javascript\'>function getname(obj) {'); tmp.write('window.location=\'dir.php?rename=' + escape(name) + '&toname=\' + escape(obj.childNodes[0].value);'); tmp.write('self.close();'); tmp.write('}</scr' + 'ipt>');tmp.write('</head><body>
type new name below and press enter
');tmp.write('<form action="javascript:getname(document.getElementById(\'myform\'));" name="myform" id="myform">'); tmp.write('<input style="width: 450px" type="text" value="' + name + '"></form>');tmp.write('
refresh the original page to see the results.
');tmp.write('</body></html>'); tmp.close(); } </script> JSPOPRENAME; echo $javascript;