silverstripe-framework/filesystem/PostBackup.php
Geoff Munn bf3c09bec6 First post
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@50105 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-02-25 01:06:39 +00:00

40 lines
927 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, Filesystem::$folder_create_mask, 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);
}
}
?>