silverstripe-framework/filesystem/PostBackup.php
Ingo Schommer 60860cc1b9 MINOR Unified @package PHPdoc (added where missing, removed duplicates)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@56212 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-06-15 13:33:53 +00:00

42 lines
965 B
PHP

<?php
/**
* Writes the POST array to a file as a last-ditch effort to preserve entered data.
* @package forms
* @subpackage core
*/
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);
}
}
?>