<?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); } } ?>