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: ?>