$roo->jerr('Could not retrieve the event log file');
}
- $log = file_get_contents($file);
+ $log = json_decode(file_get_contents($file), true);
- print_r($log);exit;
+ if(empty($log['POST']) || empty($log['POST']['_delete']) || empty($log['DELETED_DATAOBJECTS'])){
+ $roo->jerr('Invalid url');
+ }
+
+ $restored = array();
+
+ foreach ($log['DELETED_DATAOBJECTS'] as $d){
+ if(
+ empty($d['id']) ||
+ empty($d['_table']) ||
+ (
+ !empty($restored[$d['_table']]) &&
+ in_array($d['id'], $restored[$d['_table']])
+ )
+ ){
+ continue;
+ }
+
+ if(!isset($restored[$d['_table']])){
+ $restored[$d['_table']] = array();
+ }
+
+ $restored[$d['_table']][] = $d['id'];
+
+ $table = DB_DataObject::factory($d['_table']);
+
+ if (!is_a($table,'DB_DataObject')) {
+ continue;
+ }
+
+ unset($d['_table']);
+
+ $table->setFrom($d);
+
+ /*
+ * need to use the old id
+ */
+ $table->id = $d['id'];
+
+ $table->sequenceKey(false,false);
+
+ $table->insert();
+ }
+ $roo->jok('RESTORE');
}
}