Exemple #1
0
<?php

error_reporting(E_ALL & ~E_NOTICE);
require_once 'config.php';
require_once 'functions.php';
$call = $argv[1];
$args = array();
for ($i = 2; $i < count($argv); $i++) {
    $args[] = $argv[$i];
}
$response = do_xmlrpc(xmlrpc_encode_request($call, $args));
$readable = print_r($response, true);
print trim($readable) . "\n";
Exemple #2
0
            header("Location: index.php");
        } else {
            echo "Error moving file - check permissions etc!  <a href=index.php>Continue</a>.\n";
        }
        die;
    }
}
// Move torrent dir
if (isset($r_newdir)) {
    $response = do_xmlrpc(xmlrpc_encode_request("d.set_directory", array($r_hash, $r_newdir)));
}
switch ($r_cmd) {
    case "stop":
        $response = do_xmlrpc(xmlrpc_encode_request("d.stop", array("{$r_hash}")));
        break;
    case "start":
        $response = do_xmlrpc(xmlrpc_encode_request("d.start", array("{$r_hash}")));
        break;
    case "delete":
        $response = do_xmlrpc(xmlrpc_encode_request("d.erase", array("{$r_hash}")));
        break;
    case "hashcheck":
        $response = do_xmlrpc(xmlrpc_encode_request("d.check_hash", array("{$r_hash}")));
        break;
}
$referer = parse_url($_SERVER['HTTP_REFERER']);
$script = basename($referer['path']);
if ($script != 'index.php' && $script != 'view.php' && $script != 'feedread.php' && $script != 'settings.php' || $r_cmd == "delete") {
    $script = 'index.php';
}
header("Location: {$script}?" . $referer['query']);
Exemple #3
0
//  You should have received a copy of the GNU General Public License
//  along with rtGui.  If not, see <http://www.gnu.org/licenses/>.
session_start();
$execstart = $start = microtime(true);
include "functions.php";
include "config.php";
extract($_REQUEST, EXTR_PREFIX_ALL | EXTR_REFS, 'r');
if (!isset($_SESSION['refresh'])) {
    $_SESSION['refresh'] = $defaultrefresh;
}
if (isset($r_setrefresh)) {
    $_SESSION['refresh'] = $r_setrefresh;
}
if (isset($r_setmaxup) || isset($r_setmaxdown)) {
    $response = do_xmlrpc(xmlrpc_encode_request("set_upload_rate", array("{$r_setmaxup}")));
    $response = do_xmlrpc(xmlrpc_encode_request("set_download_rate", array("{$r_setmaxdown}")));
}
$globalstats = get_global_stats();
if (isset($r_submit)) {
    echo "<script>window.top.location='index.php?reload=1';</script>";
    die;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="favicon.ico" />
<title>rtGui</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
function tracker_url($hash)
{
    global $tracker_hilite, $tracker_hilite_default;
    $response = do_xmlrpc(xmlrpc_encode_request("t.multicall", array($hash, "", "t.get_url=")));
    $url = @parse_url($response[0][0], PHP_URL_HOST);
    return $url;
}
Exemple #5
0
/** rtorrent_multicall
 *
 * Does a "multicall" request to rtorrent and returns an array of data
 * items that can be either sequential or associative.  Each data item
 * is an associative array with the requested variables as keys.
 */
function rtorrent_multicall($group, $params, $data_names, $key = null, $remove_get = false)
{
    if (!is_array($params)) {
        $params = array($params);
    }
    $index = -1;
    foreach ($data_names as $name) {
        $index++;
        $params[] = "{$group}.{$name}=";
        if ($remove_get) {
            $name = preg_replace("@^get_@", "", $name);
            $data_names[$index] = $name;
        }
        if ($key !== null && $key == $name) {
            $key_index = $index;
        }
    }
    $request = xmlrpc_encode_request("{$group}.multicall", $params);
    $response = do_xmlrpc($request);
    if (@xmlrpc_is_fault($response)) {
        trigger_error("xmlrpc: {$response['faultString']} ({$response['faultCode']})");
        return false;
    } else {
        $results = array();
        $result_index = 0;
        foreach ($response as $data_array) {
            $this_key = $key === null ? $result_index++ : $data_array[$key_index];
            $name_index = 0;
            foreach ($data_array as $data_item) {
                $results[$this_key][$data_names[$name_index++]] = $data_item;
            }
        }
        return $results;
    }
}
Exemple #6
0
        $index++;
    }
    $r_cmd = "";
}
switch ($r_cmd) {
    case "stop":
        $response = do_xmlrpc(xmlrpc_encode_request("d.stop", array("{$r_hash}")));
        break;
    case "start":
        $response = do_xmlrpc(xmlrpc_encode_request("d.start", array("{$r_hash}")));
        break;
    case "delete":
        $response = do_xmlrpc(xmlrpc_encode_request("d.erase", array("{$r_hash}")));
        break;
    case "hashcheck":
        $response = do_xmlrpc(xmlrpc_encode_request("d.check_hash", array("{$r_hash}")));
        break;
    case "setcap":
        $response = do_xmlrpc(xmlrpc_encode_request("set_upload_rate", array("{$r_setmaxup}")));
        $response = do_xmlrpc(xmlrpc_encode_request("set_download_rate", array("{$r_setmaxdown}")));
        break;
    case "addurl":
        $response = do_xmlrpc(xmlrpc_encode_request("load_start", array("{$r_addurl}")));
        break;
}
$referer = parse_url($_SERVER['HTTP_REFERER']);
$script = basename($referer['path']);
if ($script != 'index.php' && $script != 'view.php' || $r_cmd == "delete") {
    $script = 'index.php';
}
header("Location: {$script}?" . $referer['query']);
Exemple #7
0
        //     - $r_newdir exists but is not a directory, OR:
        //     - $r_newdir does not exist but moving to it fails
        //  - neither $old_path nor $r_newdir exist (??)
        rtorrent_xmlrpc('execute', array('mv', '-u', $old_path, "{$r_newdir}/"));
        rtorrent_xmlrpc('d.set_directory', array($r_hash, $r_newdir));
        rtorrent_xmlrpc('d.check_hash', array($r_hash));
    }
}
switch ($r_cmd) {
    case 'stop':
        $response = do_xmlrpc(xmlrpc_encode_request('d.stop', array($r_hash)));
        break;
    case 'start':
        $response = do_xmlrpc(xmlrpc_encode_request('d.start', array($r_hash)));
        break;
    case 'delete':
    case 'purge':
        if ($r_cmd == 'purge') {
            $path = rtorrent_xmlrpc('d.get_base_path', array($r_hash));
            $response = rtorrent_xmlrpc('execute', array('rm', '-r', $path));
        }
        $response = do_xmlrpc(xmlrpc_encode_request('d.erase', array($r_hash)));
        break;
    case 'hashcheck':
        $response = do_xmlrpc(xmlrpc_encode_request('d.check_hash', array($r_hash)));
        break;
}
if (!$r_ajax) {
    $hash = $r_tab ? "#{$r_tab}" : '';
    @header('Location: ' . $_SERVER['HTTP_REFERER'] . $hash);
}
Exemple #8
0
function get_global_stats()
{
    $retarr['upload_cap'] = do_xmlrpc(xmlrpc_encode_request("get_upload_rate", array("")));
    $retarr['download_cap'] = do_xmlrpc(xmlrpc_encode_request("get_download_rate", array("")));
    $retarr['diskspace'] = do_xmlrpc(xmlrpc_encode_request("get_directory", array("")));
    $retarr['library_version'] = do_xmlrpc(xmlrpc_encode_request("system.library_version", array("")));
    $retarr['client_version'] = do_xmlrpc(xmlrpc_encode_request("system.client_version", array("")));
    return $retarr;
}
Exemple #9
0
         }
         if ($can_add) {
             $cmd = $load_start ? 'load_start' : 'load';
             $params = array();
             if ($d_type == 'magnet') {
                 $params[] = $d_url;
             } else {
                 $params[] = "{$this_torrent_dir}/{$d_filename}";
             }
             if ($this_download_dir !== false) {
                 $params[] = "d.set_directory={$this_download_dir}";
             }
             if ($this_custom1 !== false) {
                 $params[] = "d.set_custom1={$this_custom1}";
             }
             $response = do_xmlrpc(xmlrpc_encode_request($cmd, $params));
             if (!response || @xmlrpc_is_fault($response)) {
                 $errors[] = "Failed to add torrent \"{$d_name}\" to rTorrent:\n\n" . print_r($response, true);
             }
         }
     }
 }
 if (count($errors)) {
     array_unshift($errors, "One or more errors occurred:\n");
     $script = 'alert(' . json_encode($errors) . '.join("\\n"))';
 } else {
     if (is_array($r_tags)) {
         set_error_handler('handleError');
         try {
             set_torrent_tags($r_add_torrent, $r_tags, array());
             set_user_setting('new_torrent_tags', implode('|', $r_tags));