forked from leftypol/leftypol
large cleanup
This commit is contained in:
parent
88092e4f9e
commit
c9423a2c34
15 changed files with 7150 additions and 7064 deletions
116
inc/remote.php
116
inc/remote.php
|
@ -1,57 +1,67 @@
|
|||
<?php
|
||||
class Remote {
|
||||
public function __construct($config) {
|
||||
foreach($config as $name => $value) {
|
||||
$this->{$name} = $value;
|
||||
}
|
||||
|
||||
$methods = Array();
|
||||
|
||||
if(!isset($this->auth['method']))
|
||||
error('Unspecified authentication method.');
|
||||
|
||||
// Connect
|
||||
$this->connection = ssh2_connect($this->host, isset($this->port) ? $this->port : 22, $methods);
|
||||
|
||||
switch($this->auth['method']) {
|
||||
case 'pubkey':
|
||||
|
||||
if(!isset($this->auth['public']))
|
||||
error('Public key filename not specified.');
|
||||
if(!isset($this->auth['private']))
|
||||
error('Private key filename not specified.');
|
||||
|
||||
if(!ssh2_auth_pubkey_file($this->connection, $this->auth['username'], $this->auth['public'], $this->auth['private'], isset($this->auth['passphrase']) ? $this->auth['passphrase']: null))
|
||||
error('Public key authentication failed.');
|
||||
break;
|
||||
case 'plain':
|
||||
if(!ssh2_auth_password($this->connection, $this->auth['username'], $this->auth['password']))
|
||||
error('Plain-text authentication failed.');
|
||||
break;
|
||||
default:
|
||||
error('Unknown authentication method: "' . $this->auth['method'] . '".');
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2012 Tinyboard Development Group
|
||||
*/
|
||||
|
||||
if(realpath($_SERVER['SCRIPT_FILENAME']) == str_replace('\\', '/', __FILE__)) {
|
||||
// You cannot request this file directly.
|
||||
exit;
|
||||
}
|
||||
|
||||
class Remote {
|
||||
public function __construct($config) {
|
||||
foreach($config as $name => $value) {
|
||||
$this->{$name} = $value;
|
||||
}
|
||||
|
||||
public function write($data, $remote_path) {
|
||||
global $config;
|
||||
|
||||
switch($this->type) {
|
||||
case 'sftp':
|
||||
$sftp = ssh2_sftp($this->connection);
|
||||
file_write('ssh2.sftp://' . $sftp . $remote_path, $data, true);
|
||||
break;
|
||||
case 'scp':
|
||||
$file = tempnam($config['tmp'], 'tinyboard-scp');
|
||||
// Write to temp file
|
||||
file_write($file, $data);
|
||||
|
||||
ssh2_scp_send($this->connection, $file, $remote_path, 0755);
|
||||
break;
|
||||
default:
|
||||
error('Unknown send method.');
|
||||
}
|
||||
$methods = Array();
|
||||
|
||||
if(!isset($this->auth['method']))
|
||||
error('Unspecified authentication method.');
|
||||
|
||||
// Connect
|
||||
$this->connection = ssh2_connect($this->host, isset($this->port) ? $this->port : 22, $methods);
|
||||
|
||||
switch($this->auth['method']) {
|
||||
case 'pubkey':
|
||||
|
||||
if(!isset($this->auth['public']))
|
||||
error('Public key filename not specified.');
|
||||
if(!isset($this->auth['private']))
|
||||
error('Private key filename not specified.');
|
||||
|
||||
if(!ssh2_auth_pubkey_file($this->connection, $this->auth['username'], $this->auth['public'], $this->auth['private'], isset($this->auth['passphrase']) ? $this->auth['passphrase']: null))
|
||||
error('Public key authentication failed.');
|
||||
break;
|
||||
case 'plain':
|
||||
if(!ssh2_auth_password($this->connection, $this->auth['username'], $this->auth['password']))
|
||||
error('Plain-text authentication failed.');
|
||||
break;
|
||||
default:
|
||||
error('Unknown authentication method: "' . $this->auth['method'] . '".');
|
||||
}
|
||||
};
|
||||
?>
|
||||
|
||||
}
|
||||
|
||||
public function write($data, $remote_path) {
|
||||
global $config;
|
||||
|
||||
switch($this->type) {
|
||||
case 'sftp':
|
||||
$sftp = ssh2_sftp($this->connection);
|
||||
file_write('ssh2.sftp://' . $sftp . $remote_path, $data, true);
|
||||
break;
|
||||
case 'scp':
|
||||
$file = tempnam($config['tmp'], 'tinyboard-scp');
|
||||
// Write to temp file
|
||||
file_write($file, $data);
|
||||
|
||||
ssh2_scp_send($this->connection, $file, $remote_path, 0755);
|
||||
break;
|
||||
default:
|
||||
error('Unknown send method.');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue