Added validators and new transport

This commit is contained in:
Shikiryu
2015-07-12 20:34:54 +02:00
parent 091dd4cf22
commit 8426972504
9 changed files with 165 additions and 138 deletions

View File

@@ -9,14 +9,28 @@ class BackupAbstract
protected $_streamsToBackup;
/**
*
* @param array $config
*/
function __construct()
function __construct($config = array())
{
$this->_filesToBackup = array();
foreach ($config as $name => $value) {
$this->$name = $value;
}
$this->_filesToBackup = array();
$this->_streamsToBackup = array();
}
/**
* Magic setter method
*
* @param $name
* @param $value
*/
public function __set($name, $value)
{
$this->$name = $value;
}
/**
* @return array
*/
@@ -43,19 +57,17 @@ class BackupAbstract
function addDate($format = 'Ymd')
{
$tmpFiles = array();
foreach($this->_filesToBackup as $file => $name)
{
foreach ($this->_filesToBackup as $file => $name) {
$nameA = explode('.', $name);
$nameA[] = end($nameA);
$nameA[count($nameA)-2] = date($format);
$nameA[count($nameA) - 2] = date($format);
$name = implode('.', $nameA);
$tmpFiles[$file] = $name;
}
$this->_filesToBackup = $tmpFiles;
$tmpStream = array();
foreach($this->_streamsToBackup as $name => $stream)
{
foreach ($this->_streamsToBackup as $name => $stream) {
$tmpStream[$name . '-' . date($format)] = $stream;
}
$this->_streamsToBackup = $tmpStream;
@@ -73,19 +85,17 @@ class BackupAbstract
function addTime($format = 'his')
{
$tmpFiles = array();
foreach($this->_filesToBackup as $file => $name)
{
foreach ($this->_filesToBackup as $file => $name) {
$nameA = explode('.', $name);
$nameA[] = end($nameA);
$nameA[count($nameA)-2] = date($format);
$nameA[count($nameA) - 2] = date($format);
$name = implode('.', $nameA);
$tmpFiles[$file] = $name;
}
$this->_filesToBackup = $tmpFiles;
$tmpStream = array();
foreach($this->_streamsToBackup as $name => $stream)
{
foreach ($this->_streamsToBackup as $name => $stream) {
$tmpStream[$name . '-' . date($format)] = $stream;
}
$this->_streamsToBackup = $tmpStream;
@@ -93,44 +103,9 @@ class BackupAbstract
return $this;
}
/**
*
* @param $name string
* @param $args mixed
*
* @return bool
*/
public function __call($name, $args)
{
if (substr($name,0,8) == 'backupTo') {
$type = substr($name, 8);
return Shikiryu_Backup_Transport_Factory::getAndSend($type, $this, $args);
}
}
/*function backupToEmail($to, $from, $object, $mes)
{
$email = new Shikiryu_Backup_Email();
$email->addTo($to)
->setFrom($from)
->setSubject($object)
->setMessage($mes)
->setFiles($this->_filesToBackup)
->setStreams($this->_streamsToBackup);
return $email->send();
}*/
function backupToDropbox()
{
}
function backupToFTP($adress, $login = '', $pwd = '', $path ='/')
{
$ftp = new Shikiryu_Backup_FTP($adress, $login, $pwd, $path);
$ftp->setFiles($this->_filesToBackup)
->setStreams($this->_streamsToBackup)
->send();
}
/**
@@ -139,19 +114,17 @@ class BackupAbstract
function backupToFolder($folder)
{
if (!empty($folder)) {
$folder = sprintf('%s/',rtrim($folder, '/'));
$folder = sprintf('%s/', rtrim($folder, '/'));
}
// if($folder != '')
// {
// if(substr($folder, 0, -1) != '/')
// $folder .= '/';
// }
foreach($this->_filesToBackup as $file => $name)
{
foreach ($this->_filesToBackup as $file => $name) {
copy($file, $folder . $name);
}
foreach($this->_streamsToBackup as $name => $file)
{
foreach ($this->_streamsToBackup as $name => $file) {
if (count(explode('.', $name)) < 2) {
$name = 'backup' . $name . '.txt';
}
@@ -166,22 +139,28 @@ class BackupAbstract
*
* @return bool
*/
function checkMinimumFilesize($fs)
{
foreach($this->_filesToBackup as $file => $name)
{
if (filesize($file) < $fs) {
return false;
}
function checkMinimumFilesize($fs)
{
foreach ($this->_filesToBackup as $file => $name) {
if (filesize($file) < $fs) {
return false;
}
}
foreach($this->_streamsToBackup as $name => $file)
{
foreach ($this->_streamsToBackup as $name => $file) {
if (mb_strlen($file, 'utf-8') < $fs) {
return false;
}
}
return true;
}
return true;
}
/**
* @return bool
*/
public function isValid()
{
return true;
}
}