コード例 #1
0
 /**
  * Resume Transfers
  *
  * @param $options
  * @param array $extra
  * @return mixed
  */
 function _transfersResume($options = '', $extra = array())
 {
     // parse options
     $optionsSet = $this->_parseOptions(array('p' => 1), $options, $extra);
     if ($optionsSet === false) {
         return false;
     }
     $profile = isset($optionsSet['p']) ? $optionsSet['p'][0] : null;
     $this->_outputMessage("Resuming all transfers" . (!empty($profile) ? " using profile " . $profile : '') . " ...\n");
     // build args for _transferStart
     $newOptions = $this->_buildOptions('p', $optionsSet);
     // Pass-thru option 'p'.
     $transferList = getTransferArray();
     $sf = new StatFile("");
     foreach ($transferList as $transfer) {
         $sf->init($transfer);
         if (trim($sf->running) == 0) {
             $this->_transferStart($transfer, $newOptions[0], $newOptions[1]);
         }
     }
 }
コード例 #2
0
/**
 * bulk
 *
 * @param $op
 */
function dispatcher_bulk($op)
{
    global $cfg;
    // is enabled ?
    if ($cfg["enable_bulkops"] != 1) {
        AuditAction($cfg["constants"]["error"], "ILLEGAL ACCESS: " . $cfg["user"] . " tried to use " . $op);
        @error("bulkops are disabled", "", "");
    }
    // messages
    $dispatcherMessages = array();
    // op-switch
    switch ($op) {
        case "stop":
            $transferList = getTransferArray();
            foreach ($transferList as $transfer) {
                if (isTransferRunning($transfer)) {
                    if ($cfg['isAdmin'] || IsOwner($cfg["user"], getOwner($transfer))) {
                        $ch = ClientHandler::getInstance(getTransferClient($transfer));
                        $ch->stop($transfer);
                        if (count($ch->messages) > 0) {
                            $dispatcherMessages = array_merge($dispatcherMessages, $ch->messages);
                        }
                    }
                }
            }
            break;
        case "resume":
            $transferList = getTransferArray();
            $sf = new StatFile("");
            foreach ($transferList as $transfer) {
                $sf->init($transfer);
                if (trim($sf->running) == 0 && !isTransferRunning($transfer)) {
                    if ($cfg['isAdmin'] || IsOwner($cfg["user"], getOwner($transfer))) {
                        $ch = ClientHandler::getInstance(getTransferClient($transfer));
                        $ch->start($transfer, false, false);
                        if (count($ch->messages) > 0) {
                            $dispatcherMessages = array_merge($dispatcherMessages, $ch->messages);
                        }
                    }
                }
            }
            break;
        case "start":
            $transferList = getTransferArray();
            foreach ($transferList as $transfer) {
                if (!isTransferRunning($transfer)) {
                    if ($cfg['isAdmin'] || IsOwner($cfg["user"], getOwner($transfer))) {
                        $ch = ClientHandler::getInstance(getTransferClient($transfer));
                        $ch->start($transfer, false, false);
                        if (count($ch->messages) > 0) {
                            $dispatcherMessages = array_merge($dispatcherMessages, $ch->messages);
                        }
                    }
                }
            }
            break;
    }
    // error if messages
    if (count($dispatcherMessages) > 0) {
        @error("There were Problems", "", "", $dispatcherMessages);
    }
}
コード例 #3
0
/**
 * transfers
 *
 * @param $action
 */
function sa_transfers($action = "")
{
    global $cfg, $error, $statusImage, $statusMessage, $htmlTitle, $htmlTop, $htmlMain;
    if ($action == "") {
        return;
    }
    buildPage("t");
    switch ($action) {
        case "0":
            // Transfers-main
            $htmlTitle = "Transfer Bulk Operations";
            $htmlMain .= '<br><div align="left">';
            $htmlMain .= '<p>Select action to perform on all items in the transfer list:</p>';
            $htmlMain .= '<a href="' . _FILE_THIS . '?t=1"><img src="themes/' . $cfg["theme"] . '/images/arrow.gif" width="9" height="9" title="Stop All Transfers" border="0"> Stop All Transfers</a>';
            $htmlMain .= '<p>';
            $htmlMain .= '<a href="' . _FILE_THIS . '?t=2"><img src="themes/' . $cfg["theme"] . '/images/arrow.gif" width="9" height="9" title="Start All Transfers" border="0"> Start All Transfers</a>';
            $htmlMain .= '<p>';
            $htmlMain .= '<a href="' . _FILE_THIS . '?t=3"><img src="themes/' . $cfg["theme"] . '/images/arrow.gif" width="9" height="9" title="Resume All Transfers" border="0"> Resume All Transfers</a>';
            $htmlMain .= '<br><br><strong>Note:</strong><br>\'Start All Transfers\' will start all transfers in the transfer list, regardless of whether they have been started previously or not.<br><br>\'Resume All Transfers\' will only start those transfers that have previously been started and are currently in the \'stopped\' state';
            $htmlMain .= '</div><br><br>';
            break;
        case "1":
            // Transfers-Stop
            $htmlTitle = "Transfers - Stop";
            $htmlMain .= '<br><strong>Transfers Stopped:</strong><br>';
            $htmlMain .= '<pre>';
            $transferList = getTransferArray();
            foreach ($transferList as $transfer) {
                if (isTransferRunning($transfer)) {
                    $ch = ClientHandler::getInstance(getTransferClient($transfer));
                    $ch->stop($transfer);
                    $htmlMain .= ' - ' . $transfer . "";
                    $htmlMain .= "\n";
                }
            }
            $htmlMain .= '</pre>';
            $htmlMain .= '<hr><br>';
            break;
        case "2":
            // Transfers-Start
            $htmlTitle = "Transfers - Start";
            $htmlMain .= '<br><strong>Transfers Started:</strong><br>';
            $htmlMain .= '<pre>';
            $transferList = getTransferArray();
            foreach ($transferList as $transfer) {
                if (!isTransferRunning($transfer)) {
                    $ch = ClientHandler::getInstance(getTransferClient($transfer));
                    $ch->start($transfer, false, false);
                    $htmlMain .= ' - ' . $transfer . "";
                    $htmlMain .= "\n";
                }
            }
            $htmlMain .= '</pre>';
            $htmlMain .= '<hr><br>';
            break;
        case "3":
            // Transfers-Resume
            $htmlTitle = "Transfers - Resume";
            $htmlMain .= '<br><strong>Transfers Resumed:</strong><br>';
            $htmlMain .= '<pre>';
            $transferList = getTransferArray();
            $sf = new StatFile("");
            foreach ($transferList as $transfer) {
                $sf->init($transfer);
                if (trim($sf->running) == 0 && !isTransferRunning($transfer)) {
                    $ch = ClientHandler::getInstance(getTransferClient($transfer));
                    $ch->start($transfer, false, false);
                    $htmlMain .= ' - ' . $transfer . "";
                    $htmlMain .= "\n";
                }
            }
            $htmlMain .= '</pre>';
            $htmlMain .= '<hr><br>';
            break;
    }
    $htmlMain .= '<br><strong>Transfers:</strong><br>';
    $htmlMain .= '<pre>';
    $transferList = getTransferArray();
    foreach ($transferList as $transfer) {
        $htmlMain .= ' - ' . $transfer . "";
        if (isTransferRunning($transfer)) {
            $htmlMain .= " (running)";
        }
        $htmlMain .= "\n";
    }
    $htmlMain .= '</pre>';
    printPage();
    exit;
}