mirror of
https://github.com/magicbug/Cloudlog
synced 2024-11-22 17:52:16 +00:00
added logic to auto-populate the hrd_username from station_callsign
This commit is contained in:
parent
09bdac5428
commit
ee989de988
@ -1,14 +1,14 @@
|
||||
<?php
|
||||
|
||||
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||
defined('BASEPATH') or exit('No direct script access allowed');
|
||||
|
||||
/*
|
||||
* This adds the hrdlog username to the station profile as this is needed
|
||||
* for special callsigns
|
||||
*/
|
||||
|
||||
class Migration_hrdlog_username extends CI_Migration {
|
||||
|
||||
class Migration_hrdlog_username extends CI_Migration
|
||||
{
|
||||
public function up()
|
||||
{
|
||||
if (!$this->db->field_exists('hrdlog_username', 'station_profile')) {
|
||||
@ -17,6 +17,23 @@ class Migration_hrdlog_username extends CI_Migration {
|
||||
);
|
||||
$this->dbforge->add_column('station_profile', $fields);
|
||||
}
|
||||
|
||||
// SELECT all rows where hrdlog_code is not empty
|
||||
$this->db->where("(hrdlog_code IS NOT NULL AND hrdlog_code != '')");
|
||||
$query = $this->db->get('station_profile');
|
||||
$rows = $query->result();
|
||||
|
||||
// Iterate through all selected rows
|
||||
foreach ($rows as $row) {
|
||||
// Extract the username using the regex pattern
|
||||
$regex = '/^((\d|[A-Z])+\/)?((\d|[A-Z]){3,})(\/(\d|[A-Z])+)?(\/(\d|[A-Z])+)?$/';
|
||||
preg_match($regex, $row->station_callsign, $matches);
|
||||
$username = $matches[3];
|
||||
|
||||
// Update the row with the extracted username
|
||||
$this->db->where('station_id', $row->station_id);
|
||||
$this->db->update('station_profile', array('hrdlog_username' => $username));
|
||||
}
|
||||
}
|
||||
|
||||
public function down()
|
||||
@ -25,4 +42,4 @@ class Migration_hrdlog_username extends CI_Migration {
|
||||
$this->dbforge->drop_column('station_profile', 'hrdlog_username');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user