<?php 
 
if (!isset($adminindex)) { 
    die("Abort."); 
} 
 
require_once '../classes/configserver.class.php'; 
global $oCS; 
$oCS = new configServer(); 
 
$sHtml = ''; 
 
 
// ---------------------------------------------------------------------- 
// ACTIONS 
// ---------------------------------------------------------------------- 
 
if ($sAppAction) { 
    $aResult = array(); 
    switch ($sAppAction) { 
 
        case 'addgroup': 
            $sValue = $_POST['label']; 
            $aResult = $oCS->addGroup($_POST); 
            break; 
        case 'deletegroup': 
            $aResult = $oCS->deleteGroup($_POST); 
            break; 
        case 'updategroup': 
            $aResult = $oCS->setGroup($_POST); 
            break; 
 
        case 'addserver': 
            $aResult = $oCS->addServer($_POST); 
            break; 
        case 'deleteserver': 
            $aResult = $oCS->deleteServer($_POST); 
            break; 
        case 'updateserver': 
            $aResult = $oCS->setServer($_POST); 
            break; 
 
        default: 
            $oMsg->add("SKIP: action $sAppAction is not implemented (yet).", 'error'); 
    } 
 
    if (count($aResult)) { 
        $sLabel = array_key_exists('label', $_POST) ? $_POST['label'] : $_POST['oldlabel']; 
        if ($aResult['result']) { 
            $oMsg->add(sprintf($aLangTxt['AdminMessageServer-' . $sAppAction . '-ok'], $sLabel), 'success'); 
        } else { 
            $oMsg->add(sprintf($aLangTxt['AdminMessageServer-' . $sAppAction . '-error'], $sLabel), 'error'); 
            // $oMsg->add('ERROR: '. $sAppAction . ' - '.$aResult['error'].' - data: ' . print_r($_POST, 1), 'error'); 
        } 
    } 
    /* 
      $sMarkId='divfrm-'.md5($sGroup ).'-'.md5($sId); 
      $sHtml.='<style>#'.$sMarkId.'{border-left: 2px solid #fc2;}</style>'; 
     */ 
} 
 
 
 
// ---------------------------------------------------------------------- 
// OUTPUT 
// ---------------------------------------------------------------------- 
?> 
<script> 
 
    function createSrvFilter(){ 
    var sHtml = ''; 
    var sOptions = '<option value="">-</option>'; 
    $('h3').each(function () { 
        sOptions += '<option value="' + $(this).parent().attr("id") + '">' + $(this).html() + '</option>'; 
    }); 
    sHtml += '\n\ 
        <form class="form-inline"><div class="form-group">\n\ 
            <select id="selGroup" onchange="doFilter()">' + sOptions + '</select>\n\ 
            \n\ 
            <input type="text" id="eFilterServer"\n\ 
            onchange="doFilter()" onkeydown="doFilter()" onkeyup="doFilter()"\n\ 
            placeholder="'+aLang['srvFilterPlaceholder']+'" \n\ 
            value=""\n\ 
            >\n\ 
        </div></form>\n\ 
            '; 
    $('#divServerFilter').html(sHtml); 
    } 
 
    function doFilter(){ 
    var iCount = 0; 
    var s = $('#eFilterServer').val(); 
    var sGroup = $('#selGroup').val(); 
     
    if (sGroup){ 
        $('.divGroup').css("display", "none"); 
        $('#'+sGroup).css("display", "block"); 
    } else { 
        $('.divGroup').css("display", "block"); 
    } 
     
    $('.divServer').each(function () { 
        if (!s || $(this).html().indexOf(s) >= 0){ 
        iCount++; 
        $(this).css("display", "block"); 
        } else { 
        $(this).css("display", "none"); 
    } 
 
    }); 
    } 
 
    // window.setTimeout("createSrvFilter();", 200); 
</script> 
 
<?php 
 
$sHtml.='<h4>' . $aLangTxt['AdminLblServers'] . '</h4>' 
        . '<div class="subh3">' 
        . '<div class="hintbox">' 
        . $aLangTxt['AdminHintServers'] 
        . '</div>' 
        . '<div id="divServerFilter"></div>' 
        . '<br>' 
; 
 
 
 
// loop over groups 
if (count($oCS->getGroups())) { 
    // add a group 
     
    $sHtml.='' 
        . '<div class="divServergroup">' 
            . $oCS->renderFormGroup() . '<br>' 
        ; 
    foreach ($oCS->getGroups() as $sGroup) { 
         
        // add a server 
        $sDivNew = 'divAddServer' . md5($sGroup); 
        $sHtml.='' 
                . $oCS->renderFormGroup($sGroup) . '<br>' 
                . '<div style="margin-left: 3%" class="">' 
                // . '<div id="' . $sDivNew . '" class="divNew">' 
                . $oCS->renderFormServer($sGroup) . '<br>' 
                // . '</div><br>' 
        ; 
 
        // show servers of the current group 
        $aServers = $oCS->getServers($sGroup); 
        if (count($aServers)) { 
            foreach ($aServers as $sId) { 
                $sHtml.=$oCS->renderFormServer($sGroup, $sId); 
            } 
        } 
        $sHtml.='</div><br><br><br>'; 
    } 
     
    // highlight saved items 
    $sHtml.='</div>'; 
    $sGroup = (array_key_exists('group', $_POST) && $_POST['group']) ? $_POST['group'] : false; 
    $sLabel = (array_key_exists('label', $_POST) && $_POST['label']) ? $_POST['label'] : false; 
    if ($sGroup) { 
        $sHtml.="\n\n" . '<script>' 
                . '$(function() { 
                    $(\'#' . $oCS->getDivId($sGroup) . '\').addClass("lastsave"); 
                    $(\'#' . $oCS->getDivId($sLabel) . '\').addClass("lastsave"); 
                    $(\'#' . $oCS->getDivId($sGroup, $sLabel) . '\').addClass("lastsave"); 
                    });' 
                . '</script>'; 
    } 
} 
$sHtml.='</div>'; 
 
 
echo $sHtml; 
 
 |