mirror of
https://github.com/Chouchen/Shikiryu_Backup.git
synced 2021-06-30 16:02:14 +02:00
Added validators and new transport
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user