mirror of
https://github.com/magicbug/Cloudlog
synced 2026-08-13 17:49:35 -04:00
Introduces user session validation checks to all controller actions before authorization checks. This ensures users are redirected to the login page if their session is invalid, improving security and consistency across the application.
62 lines
2 KiB
PHP
62 lines
2 KiB
PHP
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
class Maintenance extends CI_Controller {
|
|
function __construct()
|
|
{
|
|
parent::__construct();
|
|
}
|
|
|
|
/* User Facing Links to Maintenance URLs */
|
|
public function index() {
|
|
$this->load->model('user_model');
|
|
if (!$this->user_model->validate_session()) {
|
|
redirect('user/login');
|
|
}
|
|
if(!$this->user_model->authorize(99)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
|
|
$this->load->model('Logbook_model');
|
|
$this->load->model('Stations');
|
|
$data['stations']=$this->Stations->all();
|
|
$data['page_title'] = "Maintenance";
|
|
$data['qsos_with_no_station_id'] = $this->Logbook_model->check_for_station_id();
|
|
if ($data['qsos_with_no_station_id']) {
|
|
$data['calls_wo_sid']=$this->Logbook_model->calls_without_station_id();
|
|
}
|
|
$this->load->view('interface_assets/header', $data);
|
|
$this->load->view('maintenance/main');
|
|
$this->load->view('interface_assets/footer');
|
|
}
|
|
|
|
public function reassign() {
|
|
$this->load->model('user_model');
|
|
if (!$this->user_model->validate_session()) {
|
|
redirect('user/login');
|
|
}
|
|
if(!$this->user_model->authorize(99)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
|
|
$this->load->model('Logbook_model');
|
|
$this->load->model('Stations');
|
|
$call = xss_clean(($this->input->post('call')));
|
|
$qsoids = xss_clean(($this->input->post('qsoids')));
|
|
$station_profile_id = xss_clean(($this->input->post('station_id')));
|
|
|
|
// Check if target-station-id exists
|
|
$allowed=false;
|
|
$status=false;
|
|
$stations=$this->Stations->all();
|
|
foreach ($stations->result() as $station) {
|
|
if ($station->station_id == $station_profile_id) { $allowed=true; }
|
|
}
|
|
if ($allowed) {
|
|
$status=$this->Logbook_model->update_station_ids($station_profile_id,$call,$qsoids);
|
|
} else {
|
|
$status=false;
|
|
}
|
|
|
|
header('Content-Type: application/json');
|
|
echo json_encode(array('status' => $status));
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/* End of file Backup.php */
|