public function save() { global $wpdb; $table_name = SNS_DB_PREFIX . 'backups'; $options = Sns_Option::get_options(true); $option_list = array(); foreach ($options as $option => $data) { if ($option == Sns_Option::FULL) { $option_list = array($option); break; } if ($option != Sns_Option::COUNT) { $option_list[] = $option; } } $destination = new Sns_Destination($this->type); $destinations = $destination->get_destinations(); $destination_list = array(); foreach ($destinations as $name => $dst) { if ($dst->status == Sns_Destination::SET) { $destination_list[] = $name; } } $info = json_encode(array('options' => $option_list, 'destinations' => $destination_list)); $data = array('type' => $this->type, 'info' => $info, 'backup_date' => date('Y-m-d H:i:s'), 'hash' => $this->hash, 'filename' => $this->filename); $r = $wpdb->insert($table_name, $data); if ($r === false) { throw new Sns_Exception_DB_Error('Error on inserting into ' . $table_name . ' data: ' . json_encode($data)); } }