mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-09-08 18:51:12 +02:00
40 lines
939 B
PHP
40 lines
939 B
PHP
|
<?php
|
||
|
/**
|
||
|
* Writes the POST array to a file as a last-ditch effort to preserve entered data.
|
||
|
*/
|
||
|
class PostBackup extends Object {
|
||
|
|
||
|
static function writeToFile($data, $controller, $form) {
|
||
|
|
||
|
// the static variable defines whether or not to backup a posted form
|
||
|
if(!$form->stat('backup_post_data'))
|
||
|
return;
|
||
|
|
||
|
// Append to the file
|
||
|
if(!file_exists(BACKUP_DIR))
|
||
|
mkdir(BACKUP_DIR, 0775, true);
|
||
|
|
||
|
$backupFile = fopen(BACKUP_DIR . '/' . $form->class, 'a');
|
||
|
|
||
|
$date = date('Y-m-d G:i:s');
|
||
|
|
||
|
$postData = var_export($data, true);
|
||
|
|
||
|
$backup = <<<BAK
|
||
|
***BEGIN ENTRY***
|
||
|
Date and time: {$date}
|
||
|
URL: http://{$_SERVER['HTTP_HOST']}:{$_SERVER['SERVER_PORT']}{$_SERVER['PHP_SELF']}?{$_SERVER['QUERY_STRING']}
|
||
|
Client IP: {$_SERVER['REMOTE_ADDR']}
|
||
|
Controller: {$controller->class}
|
||
|
|
||
|
$postData
|
||
|
***END ENTRY***
|
||
|
BAK;
|
||
|
|
||
|
fwrite($backupFile, $backup);
|
||
|
fclose($backupFile);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
?>
|