Annotation of FreeBSD/tinderbox/webui/index.php, revision 1.1
1.1 ! as 1: <?php
! 2: #-
! 3: # Copyright (c) 2005 Oliver Lehmann <oliver@FreeBSD.org>
! 4: # All rights reserved.
! 5: #
! 6: # Redistribution and use in source and binary forms, with or without
! 7: # modification, are permitted provided that the following conditions
! 8: # are met:
! 9: # 1. Redistributions of source code must retain the above copyright
! 10: # notice, this list of conditions and the following disclaimer
! 11: # 2. Redistributions in binary form must reproduce the above copyright
! 12: # notice, this list of conditions and the following disclaimer in the
! 13: # documentation and/or other materials provided with the distribution.
! 14: #
! 15: # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
! 16: # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
! 17: # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
! 18: # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
! 19: # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
! 20: # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
! 21: # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
! 22: # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
! 23: # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
! 24: # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
! 25: # SUCH DAMAGE.
! 26: #
! 27: # $MCom: portstools/tinderbox/webui/index.php,v 1.22 2007/10/13 02:28:47 ade Exp $
! 28: #
! 29:
! 30: $starttimer = explode( ' ', microtime() );
! 31:
! 32: require_once 'module/moduleBuilds.php';
! 33: require_once 'module/moduleBuildPorts.php';
! 34: require_once 'module/moduleConfig.php';
! 35: require_once 'module/modulePorts.php';
! 36: require_once 'module/modulePortFailureReasons.php';
! 37: require_once 'module/moduleSession.php';
! 38: require_once 'module/moduleTinderd.php';
! 39: require_once 'module/moduleUsers.php';
! 40:
! 41: require_once $templatesdir.'/messages.inc';
! 42:
! 43: $moduleBuilds = new moduleBuilds();
! 44: $moduleBuildPorts = new moduleBuildPorts();
! 45: $moduleConfig = new moduleConfig();
! 46: $modulePorts = new modulePorts();
! 47: $modulePortFailureReasons = new modulePortFailureReasons();
! 48: $moduleSession = new moduleSession();
! 49: $moduleTinderd = new moduleTinderd();
! 50: $moduleUsers = new moduleUsers();
! 51:
! 52: $moduleSession->start();
! 53: if( isset($_POST['do_login']) ) {
! 54: $moduleUsers->do_login( $_POST['User_Name'], $_POST['User_Password'] );
! 55: } elseif( isset($_POST['do_logout']) || ( $moduleUsers->is_logged_in() && !$moduleUsers->get_www_enabled() ) ) {
! 56: $moduleUsers->do_logout();
! 57: header( 'Location: index.php' );
! 58: }
! 59:
! 60: $display_login = $moduleUsers->display_login();
! 61:
! 62: $action = $_REQUEST['action'];
! 63:
! 64: switch( $action ) {
! 65: case 'describe_port': $port_id = $_REQUEST['id'];
! 66: $display = $modulePorts->display_describe_port( $port_id );
! 67: break;
! 68: case 'failed_buildports': $build = $_REQUEST['build'];
! 69: $maintainer = $_REQUEST['maintainer'];
! 70: $display = $moduleBuildPorts->display_failed_buildports( $build, $maintainer, null );
! 71: break;
! 72: case 'bad_buildports': $build = $_REQUEST['build'];
! 73: $maintainer = $_REQUEST['maintainer'];
! 74: $display = $moduleBuildPorts->display_failed_buildports( $build, $maintainer, 'foo' );
! 75: break;
! 76: case 'latest_buildports': $build = $_REQUEST['build'];
! 77: $display = $moduleBuildPorts->display_latest_buildports( $build );
! 78: break;
! 79: case 'list_buildports': $build = $_REQUEST['build'];
! 80: $sort = '';
! 81: if (isset($_REQUEST['sort'])) {
! 82: $sort = $_REQUEST['sort'];
! 83: }
! 84: $display = $moduleBuildPorts->display_list_buildports( $build, $sort );
! 85: break;
! 86: case 'list_tinderd_queue': $build_id = $_REQUEST['filter_build_id'];
! 87: $display = $moduleTinderd->list_tinderd_queue( $build_id );
! 88: break;
! 89: case 'change_tinderd_queue': $ctinderdq = $_REQUEST['change_tinderd_queue'];
! 90: $entry_id = $_REQUEST['entry_id'];
! 91: $build_id = $_REQUEST['build_id'];
! 92: $priority = $_REQUEST['priority'];
! 93: $emailoc = $_REQUEST['email_on_completion'];
! 94: $moduleTinderd->change_tinderd_queue( $ctinderdq, $entry_id, $build_id, $priority, $emailoc );
! 95: $build_id = $_REQUEST['filter_build_id'];
! 96: $display = $moduleTinderd->list_tinderd_queue( $build_id );
! 97: break;
! 98: case 'add_tinderd_queue': $atinderdq = $_REQUEST['add_tinderd_queue'];
! 99: $build_id = $_REQUEST['new_build_id'];
! 100: $priority = $_REQUEST['new_priority'];
! 101: $directory = $_REQUEST['new_port_directory'];
! 102: $emailoc = $_REQUEST['new_email_on_completion'];
! 103: $moduleTinderd->add_tinderd_queue( $atinderdq, $build_id, $priority, $directory, $emailoc );
! 104: $build_id = $_REQUEST['filter_build_id'];
! 105: $display = $moduleTinderd->list_tinderd_queue( $build_id );
! 106: break;
! 107: case 'display_add_user': $display = $moduleUsers->display_add_user( '', '', '', '', array() );
! 108: break;
! 109: case 'add_user': $user_name = $_REQUEST['user_name'];
! 110: $user_email = $_REQUEST['user_email'];
! 111: $user_pwd = $_REQUEST['user_password'];
! 112: $wwwenabled = $_REQUEST['www_enabled'];
! 113: $display = $moduleUsers->action_user( 'add', '', $user_name, $user_email, $user_pwd, $wwwenabled );
! 114: switch( $display ) {
! 115: case '1': unset( $display ); header( 'Location: index.php' ); break;
! 116: case '0': $display = $moduleUsers->display_add_user( $user_name, $user_email, $user_pwd, $wwwenabled ); break;
! 117: }
! 118: break;
! 119: case 'display_modify_user': $user_id = $_REQUEST['modify_user_id'];
! 120: $display = $moduleUsers->display_modify_user( 1, $user_id, '', '', '', '', array() );
! 121: break;
! 122: case 'modify_user': $actionuser = $_REQUEST['action_user'];
! 123: $user_id = $_REQUEST['user_id'];
! 124: $user_name = $_REQUEST['user_name'];
! 125: $user_email = $_REQUEST['user_email'];
! 126: $user_pwd = $_REQUEST['user_password'];
! 127: $wwwenabled = $_REQUEST['www_enabled'];
! 128: $display = $moduleUsers->action_user( $actionuser, $user_id, $user_name, $user_email, $user_pwd, $wwwenabled );
! 129: switch( $display ) {
! 130: case '1': unset( $display ); header( 'Location: index.php' ); break;
! 131: case '0': $display = $moduleUsers->display_modify_user( 0, $user_id, $user_name, $user_email, $user_pwd, $www_enabled ); break;
! 132: }
! 133: break;
! 134: case 'display_failure_reasons': $failure_reason_tag = $_REQUEST['failure_reason_tag'];
! 135: $display = $modulePortFailureReasons->display_failure_reasons( $failure_reason_tag );
! 136: break;
! 137: case 'config': $display = $moduleConfig->display_config();
! 138: break;
! 139: case 'list_builds':
! 140: default: $display = $moduleBuilds->display_list_builds();
! 141: break;
! 142: }
! 143:
! 144: echo $display;
! 145:
! 146: if( isset( $with_timer ) && $with_timer == 1 ) {
! 147: $endtimer = explode( ' ', microtime() );
! 148: $timer = ( $endtimer[1]-$starttimer[1] )+( $endtimer[0]-$starttimer[0] );
! 149: printf( '<p style="color:#FF0000;font-size:10px;">elapsed: %03.6f seconds, %s', $timer, ' </p>' );
! 150: }
! 151: echo '<p style="font-size:10px;"><b>Note:</b> The Tinderbox web interface requires cookies to be enable.</p>';
! 152: ?>