Further authentication changes.
这个提交包含在:
父节点
cd3a85ac1b
当前提交
576df8be26
共有 7 个文件被更改,包括 70 次插入 和 11 次删除
|
|
@ -6,6 +6,16 @@ class Contest extends CI_Controller {
|
||||||
// Displays available contests
|
// Displays available contests
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
|
$this->load->model('user_model');
|
||||||
|
if(!$this->user_model->authorize($this->config->item('auth_mode'))) {
|
||||||
|
if($this->user_model->validate_session()) {
|
||||||
|
$this->user_model->clear_session();
|
||||||
|
show_error('Access denied<p>Click <a href="'.site_url('user/login').'">here</a> to log in as another user', 403);
|
||||||
|
} else {
|
||||||
|
redirect('user/login');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Load database items
|
// Load database items
|
||||||
$this->load->model('contests');
|
$this->load->model('contests');
|
||||||
$data['contests'] = $this->contests->list_contests();
|
$data['contests'] = $this->contests->list_contests();
|
||||||
|
|
@ -20,6 +30,15 @@ class Contest extends CI_Controller {
|
||||||
Displays contest logging view based on the ID provided, allowing users to log in contest mode giving them serial numbers and scoring information.
|
Displays contest logging view based on the ID provided, allowing users to log in contest mode giving them serial numbers and scoring information.
|
||||||
*/
|
*/
|
||||||
public function view($id) {
|
public function view($id) {
|
||||||
|
$this->load->model('user_model');
|
||||||
|
if(!$this->user_model->authorize($this->config->item('auth_mode'))) {
|
||||||
|
if($this->user_model->validate_session()) {
|
||||||
|
$this->user_model->clear_session();
|
||||||
|
show_error('Access denied<p>Click <a href="'.site_url('user/login').'">here</a> to log in as another user', 403);
|
||||||
|
} else {
|
||||||
|
redirect('user/login');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Load database information
|
// Load database information
|
||||||
$this->load->model('contests');
|
$this->load->model('contests');
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,15 @@ class Dashboard extends CI_Controller {
|
||||||
|
|
||||||
// Database connections
|
// Database connections
|
||||||
$this->load->model('logbook_model');
|
$this->load->model('logbook_model');
|
||||||
|
$this->load->model('user_model');
|
||||||
|
if(!$this->user_model->authorize($this->config->item('auth_mode'))) {
|
||||||
|
if($this->user_model->validate_session()) {
|
||||||
|
$this->user_model->clear_session();
|
||||||
|
show_error('Access denied<p>Click <a href="'.site_url('user/login').'">here</a> to log in as another user', 403);
|
||||||
|
} else {
|
||||||
|
redirect('user/login');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Store info
|
// Store info
|
||||||
$data['todays_qsos'] = $this->logbook_model->todays_qsos();
|
$data['todays_qsos'] = $this->logbook_model->todays_qsos();
|
||||||
|
|
@ -39,6 +48,7 @@ class Dashboard extends CI_Controller {
|
||||||
function todays_map() {
|
function todays_map() {
|
||||||
|
|
||||||
$this->load->model('logbook_model');
|
$this->load->model('logbook_model');
|
||||||
|
// TODO: Auth
|
||||||
$qsos = $this->logbook_model->get_todays_qsos('');
|
$qsos = $this->logbook_model->get_todays_qsos('');
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -138,4 +148,4 @@ function qra2latlong($strQRA)
|
||||||
$arLatLong = array($nLat,$nLong);
|
$arLatLong = array($nLat,$nLong);
|
||||||
return($arLatLong);
|
return($arLatLong);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,18 @@ class Search extends CI_Controller {
|
||||||
|
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
|
$this->load->model('user_model');
|
||||||
|
if(!$this->user_model->authorize($this->config->item('auth_mode'))) {
|
||||||
|
if($this->user_model->validate_session()) {
|
||||||
|
$this->user_model->clear_session();
|
||||||
|
show_error('Access denied<p>Click <a href="'.site_url('user/login').'">here</a> to log in as another user', 403);
|
||||||
|
} else {
|
||||||
|
redirect('user/login');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$this->load->view('layout/header');
|
$this->load->view('layout/header');
|
||||||
$this->load->view('search/main');
|
$this->load->view('search/main');
|
||||||
$this->load->view('layout/footer');
|
$this->load->view('layout/footer');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,16 @@ class Statistics extends CI_Controller {
|
||||||
|
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
|
$this->load->model('user_model');
|
||||||
|
if(!$this->user_model->authorize($this->config->item('auth_mode'))) {
|
||||||
|
if($this->user_model->validate_session()) {
|
||||||
|
$this->user_model->clear_session();
|
||||||
|
show_error('Access denied<p>Click <a href="'.site_url('user/login').'">here</a> to log in as another user', 403);
|
||||||
|
} else {
|
||||||
|
redirect('user/login');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Database connections
|
// Database connections
|
||||||
$this->load->model('logbook_model');
|
$this->load->model('logbook_model');
|
||||||
|
|
||||||
|
|
@ -32,4 +41,4 @@ class Statistics extends CI_Controller {
|
||||||
$this->load->view('statistics/index', $data);
|
$this->load->view('statistics/index', $data);
|
||||||
$this->load->view('layout/footer');
|
$this->load->view('layout/footer');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -202,6 +202,8 @@ class User_Model extends CI_Model {
|
||||||
$user_hash = $this->session->userdata('user_hash');
|
$user_hash = $this->session->userdata('user_hash');
|
||||||
|
|
||||||
if($this->_auth($user_id."-".$user_type, $user_hash)) {
|
if($this->_auth($user_id."-".$user_type, $user_hash)) {
|
||||||
|
// Freshen the session
|
||||||
|
$this->update_session($user_id);
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
$this->clear_session();
|
$this->clear_session();
|
||||||
|
|
@ -229,7 +231,13 @@ class User_Model extends CI_Model {
|
||||||
// Checks a user's level of access against the given $level
|
// Checks a user's level of access against the given $level
|
||||||
function authorize($level) {
|
function authorize($level) {
|
||||||
$u = $this->get_by_id($this->session->userdata('user_id'));
|
$u = $this->get_by_id($this->session->userdata('user_id'));
|
||||||
if(($this->validate_session()) && ($u->row()->user_type >= $level) || $this->config->item('use_auth') == FALSE) {
|
$l = $this->config->item('auth_mode');
|
||||||
|
// Check to see if the minimum level of access is higher than
|
||||||
|
// the user's own level. If it is, use that.
|
||||||
|
if($this->config->item('auth_mode') > $level) {
|
||||||
|
$level = $this->config->item('auth_mode');
|
||||||
|
}
|
||||||
|
if(($this->validate_session()) && ($u->row()->user_type >= $level) || $this->config->item('use_auth') == FALSE || $level == 0) {
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
|
|
@ -130,18 +130,21 @@ margin: 10px 0;
|
||||||
<div id="nav">
|
<div id="nav">
|
||||||
|
|
||||||
<ul id="navlist">
|
<ul id="navlist">
|
||||||
|
<?php if((($this->config->item('use_auth')) && ($this->session->userdata('user_type') >= $this->config->item('auth_mode'))) || $this->config->item('use_auth') === FALSE) { ?>
|
||||||
<li><a href="<?php echo site_url();?> " title="Dashboard">Dashboard</a></li>
|
<li><a href="<?php echo site_url();?> " title="Dashboard">Dashboard</a></li>
|
||||||
<li><a href="<?php echo site_url('logbook');?>" title="View Log">View Log</a></li>
|
<li><a href="<?php echo site_url('logbook');?>" title="View Log">View Log</a></li>
|
||||||
<li><a href="<?php echo site_url('search');?>" title="Search">Search</a></li>
|
<li><a href="<?php echo site_url('search');?>" title="Search">Search</a></li>
|
||||||
<?php if(!$this->config->item('use_auth') || $this->session->userdata('user_type') >= 2) { ?>
|
<?php if(($this->config->item('use_auth') && ($this->session->userdata('user_type') >= 2)) || $this->config->item('use_auth') === FALSE) { ?>
|
||||||
<li><a href="<?php echo site_url('qso');?>" title="Add QSO">Add QSO</a></li>
|
<li><a href="<?php echo site_url('qso');?>" title="Add QSO">Add QSO</a></li>
|
||||||
|
<?php } ?>
|
||||||
<li><a href="<?php echo site_url('contest');?>" title="Contests">Contests</a></li>
|
<li><a href="<?php echo site_url('contest');?>" title="Contests">Contests</a></li>
|
||||||
|
<?php if(($this->config->item('use_auth') && ($this->session->userdata('user_type') >= 2)) || $this->config->item('use_auth') === FALSE){ ?>
|
||||||
<li><a href="<?php echo site_url('notes');?>" title="Notes">Notes</a></li>
|
<li><a href="<?php echo site_url('notes');?>" title="Notes">Notes</a></li>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
<li><a href="<?php echo site_url('statistics');?>" title="Statistics">Statistics</a></li>
|
<li><a href="<?php echo site_url('statistics');?>" title="Statistics">Statistics</a></li>
|
||||||
<?php if($this->config->item('use_auth') && $this->session->userdata('user_type') >= 99) { ?>
|
<?php if(($this->config->item('use_auth') && $this->session->userdata('user_type') >= 99) || $this->config->item('use_auth') === FALSE) { ?>
|
||||||
<li><a href="#" id="admin">Admin</a></li>
|
<li><a href="#" id="admin">Admin</a></li>
|
||||||
<?php } ?>
|
<?php }} ?>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<?php if($this->config->item('use_auth')) { ?>
|
<?php if($this->config->item('use_auth')) { ?>
|
||||||
|
|
@ -157,7 +160,7 @@ margin: 10px 0;
|
||||||
</div>
|
</div>
|
||||||
<div id="submenu">
|
<div id="submenu">
|
||||||
<ul id="sublist">
|
<ul id="sublist">
|
||||||
<?php if($this->config->item('use_auth') && $this->session->userdata('user_type') >= 99) { ?>
|
<?php if(($this->config->item('use_auth') && $this->session->userdata('user_type') >= 99) || $this->config->item('use_auth') === FALSE){ ?>
|
||||||
<li class="ui-corner-all"><a href="<?php echo site_url('user');?>" title="Users">Users</a></li>
|
<li class="ui-corner-all"><a href="<?php echo site_url('user');?>" title="Users">Users</a></li>
|
||||||
<li><a href="<?php echo site_url('setup');?>" title="Setup">Setup</a></li>
|
<li><a href="<?php echo site_url('setup');?>" title="Setup">Setup</a></li>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
|
|
|
||||||
|
|
@ -54,11 +54,11 @@
|
||||||
<td><?php echo $row->COL_RST_RCVD; ?></td>
|
<td><?php echo $row->COL_RST_RCVD; ?></td>
|
||||||
<td><?php echo $row->COL_BAND; ?></td>
|
<td><?php echo $row->COL_BAND; ?></td>
|
||||||
<td><?php echo $row->COL_COUNTRY; ?></td>
|
<td><?php echo $row->COL_COUNTRY; ?></td>
|
||||||
<td><a href="<?php echo site_url('qso/edit'); ?>/<?php echo $row->COL_PRIMARY_KEY; ?>" ><img src="<?php echo base_url(); ?>/images/application_edit.png" width="16" height="16" alt="Edit" /></a></td>
|
<td><?php if(($this->config->item('use_auth')) && ($this->session->userdata('user_type') >= 2)) { ?><a href="<?php echo site_url('qso/edit'); ?>/<?php echo $row->COL_PRIMARY_KEY; ?>" ><img src="<?php echo base_url(); ?>/images/application_edit.png" width="16" height="16" alt="Edit" /><?php } ?></a></td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php $i++; } ?>
|
<?php $i++; } ?>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<?php echo $this->pagination->create_links(); ?>
|
<?php echo $this->pagination->create_links(); ?>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
正在加载…
在新工单中引用