Файл: concrete5.7.5.6/concrete/src/Backup/Backup.php
Строк: 28
<?php
namespace ConcreteCoreBackup;
use Loader;
class Backup {
public function execute($encrypt = false) {
$db = Loader::db();
if (!file_exists(DIR_FILES_BACKUPS)) {
mkdir(DIR_FILES_BACKUPS);
file_put_contents(DIR_FILES_BACKUPS . "/.htaccess","Order Deny,AllownDeny from all");
}
$str_bkupfile = "dbu_". time() .".sql";
$arr_tables = $db->getCol("SHOW TABLES FROM `" . DB_DATABASE . "`");
foreach ($arr_tables as $bkuptable) {
$tableobj = new BackupTable($bkuptable);
$str_backupdata .= "DROP TABLE IF EXISTS $bkuptable;nn";
$str_backupdata .= $tableobj->str_createTableSql . "nn";
if ($tableobj->str_createTableSql != "" ) {
$str_backupdata .= $tableobj->str_insertionSql . "nn";
}
}
$fh_backupfile = @fopen(DIR_FILES_BACKUPS . "/". $str_bkupfile,"w");
if (!$fh_backupfile) {
throw new Exception(t('Unable to create backup file: %s', $str_bkupfile));
}
if ($encrypt == true) {
$crypt = Loader::helper('encryption');
fwrite($fh_backupfile,$crypt->encrypt($str_backupdata));
} else {
fwrite($fh_backupfile,$str_backupdata);
}
fclose($fh_backupfile);
//for security
chmod(DIR_FILES_BACKUPS . "/". $str_bkupfile,000);
}
}