Add debug controller for some crazy debugging action

This controller will only be available if we set
ENVIRONMENT to 'development' or 'testing'.
This commit is contained in:
Karsten Heiken
2011-11-18 15:37:33 +01:00
parent 4edafd0ed5
commit 06ab8168ab
3 changed files with 64 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
<?php defined('BASEPATH') || exit('No direct script access allowed');
/*
* Copyright (c) 2011 Karsten Heiken, Eike Foken
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
/**
* @author Karsten Heiken <karsten@disposed.de>
*/
class Debug extends MY_Controller {
/**
* Constructor.
*/
public function __construct() {
parent::__construct();
if(ENVIRONMENT == "production") {
show_error("Debugging functions are not available in a production environment.", 400);
}
}
public function cancel_job($experiment, $jobId) {
$this->load->model('job');
$this->job->delete($jobId);
redirect("experiments/detail/".$experiment);
}
}
/* End of file debug.php */
/* Location: ./application/controllers/debug.php */

View File

@@ -61,6 +61,16 @@
endif; endif;
?> ?>
</p> </p>
<?php
if(ENVIRONMENT != "production" && !empty($job)):
?>
<h3>Debugging actions</h3>
<p>
<a href="<?=site_url('debug/cancel_job/'.$experiment['id'].'/'.$job['id']);?>" onclick="javascript:return confirm('This will NOT have any effect on the calculation that may or may not be running in a simulator!\nThis simply resets the job to >not started< in the database')" class="button danger">Reset this job</a>
</p>
<?php
endif;
?>
</div> </div>
<?php <?php
if (isset($job['id'])): if (isset($job['id'])):

View File

@@ -445,6 +445,10 @@ a.button.locked {
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
} }
a.button.danger, a.button.danger:hover, a.button.danger:active {
color: #f00;
}
a.button.disabled { a.button.disabled {
color: #6e6e6e; color: #6e6e6e;
background-color: #fff; background-color: #fff;