diff --git a/application/migrations/096_add_qso_dates_to_lotw_certs.php b/application/migrations/096_add_qso_dates_to_lotw_certs.php index b7595f99..f53dcf78 100644 --- a/application/migrations/096_add_qso_dates_to_lotw_certs.php +++ b/application/migrations/096_add_qso_dates_to_lotw_certs.php @@ -21,6 +21,20 @@ class Migration_add_qso_dates_to_lotw_certs extends CI_Migration { ); $this->dbforge->add_column('lotw_certs', $fields); } + + // Extract QSO start and end date from x509 certs and insert into + // newly created columns + + $query = $this->db->query("SELECT `lotw_cert_id`, `cert` FROM `lotw_certs` WHERE 1"); + foreach ($query->result() as $cert) { + $certdata = openssl_x509_parse($cert->cert,0); + $data = array( + 'qso_start_date' => $certdata['extensions']['1.3.6.1.4.1.12348.1.2'], + 'qso_end_date' => $certdata['extensions']['1.3.6.1.4.1.12348.1.3'], + ); + $this->db->where('lotw_cert_id', $cert->lotw_cert_id); + $this->db->update('lotw_certs', $data); + } } public function down()