コード例 #1
0
ファイル: func_dso.php プロジェクト: robmat/samplebator
/**
 * Action handler for the INSERT / UPDATE of a membership record
 * returns err:string or success:messages ...
 *
 * @param int $membership_id
 * @param int $player_id
 * @param int $verein_id
 * @param int $mtype_id
 * @param string $v_passnr
 * @param date $v_mstart
 * @param date $v_mend
 */
function dso_insupdmembership($membership_id, $player_id, $verein_id, $mtype_id, $v_passnr, $v_mstart, $v_mend)
{
    global $dbi, $usertoken;
    // CHECK ACCESS 2
    $qV = sql_query('SELECT * from tverein WHERE vid=' . $verein_id, $dbi);
    $aV = sql_fetch_array($qV, $dbi);
    if ($usertoken['registermap'][$aV['verband_id']] < 3) {
        return 'E50:P2:RightsMissing:' . $usertoken['registermap'][$aV['verband_id']];
    }
    // cre_INFO, date defaults ...
    $upd_date = ls_getdate();
    // check Values
    if (!$verein_id > 0) {
        die_red('Verein not set');
    }
    if (!$mtype_id > 0) {
        die_red('Type not set');
    }
    if (!$player_id > 0) {
        die_red('Player not set');
    }
    if (strlen($v_passnr) < 3) {
        die_red('Pass Number not set');
    }
    if (!check_date($v_mstart)) {
        $v_mstart = substr($upd_date, 0, 4) . '-01-01';
    }
    if (!check_date($v_mend)) {
        $v_mend = substr($upd_date, 0, 4) . '-12-31';
    }
    /* CODE from the workflow ORM stuff ...
    	$p=new cPlayer;
    	$p->setDB($dbi);
    	$p->getbyID($player_id);
    	$p->saveMembershipVerein($v_verein,$v_mtype,$v_passnr,$v_mstart,$v_mend);
    	if (strlen($p->pError)>1){debug($p->pError);return 0;}else{return 1;}
    	*/
    if ($membership_id > 0) {
        $qry = "UPDATE tmembership SET mtype={$mtype_id},mvereinid={$verein_id},mpassnr='{$v_passnr}', mstart='{$v_mstart}',mend='{$v_mend}'," . "mcre_user='******'uname'] . "',mcre_date='{$upd_date}' where mpid={$player_id} and mid={$membership_id} limit 1";
    } else {
        $qry = 'INSERT into tmembership(mid,mpid,mtype,mpassnr,mstart,mend,mvereinid,mcre_user,mcre_date,mstatus,mflag)' . " VALUES(0,{$player_id},{$mtype_id},'{$v_passnr}','{$v_mstart}','{$v_mend}',{$verein_id},'" . $usertoken['uname'] . "','{$upd_date}',0,0)";
    }
    if (!($presult = sql_query($qry, $dbi))) {
        return '<font color=red>E71:DB error on MembershipRecord save possible constraint violation</font>';
    }
    # // In any case we store the KEYVAL directly into the player record  ...
    # // and we make sure the player is marked as active ...
    $keyfield = dso_getPassKeyFieldForType($mtype_id);
    $sql = "update tplayer set {$keyfield}=\"{$v_passnr}\",pactive=1 where pid={$player_id}";
    if (!($ans = sql_query($sql, $dbi))) {
        return 'Database error on keyfield save ...';
    }
    dsolog(1, $usertoken['uname'], 'Created Membership for pid: (' . $player_id . ')');
    if ($presult == 1) {
        return 'Membership Saved';
    } else {
        return 'E88:saving ';
    }
}
コード例 #2
0
ファイル: dso_player.php プロジェクト: robmat/samplebator
/**
*	purpose:	list specific players according to searchstring 
* 	params:		findstring, findpassnr
*	returns:	renders Page with Browsebar+PlayerTable
*/
function listall($findstr = '', $findpass = '', $firstLetter = '')
{
    # zeigt einen Table mit einer SpielerListe an
    global $dbi, $realm_id, $playercode, $usertoken;
    if (sizeof($usertoken['registermap']) < 1) {
        die_red('Err58:RegisterMap');
    }
    if (strlen($findstr) < 1 && strlen($findpass) < 1 && strlen($firstLetter) < 1) {
        $findstr = 'A';
    }
    $aTH = array('Aktiv', 'Vorname', 'Nachname', 'Key-1', 'Key-2', 'PLZ', 'Wohnsitz');
    $RS = DB_listPlayers($dbi, 0, $findstr, '', $findpass, '', '', $firstLetter);
    $target = $playercode . '?func=edit&amp;vpid=%P1%';
    $ROWS = RecordsetToClickTable($RS, 0, $target, 0);
    // OUTPUT //
    echo setPageTitle('<h3>Liste::Spielereintr&auml;ge ' . $findstr . '</h3>');
    echo LastNameBrowseBar($firstLetter);
    OpenTable('browse');
    echo ArrayToTableHead($aTH);
    echo $ROWS;
    CloseTable();
    debug('Anzahl der gefundenen Spieler = ' . sizeof($RS));
}
コード例 #3
0
ファイル: func_match.php プロジェクト: robmat/samplebator
/**
*	purpose:	update / INSERT into existing LEG Record, function is executed once for each Leg
* 	params:		$aLegValuePairs array containing ["L:xx" "G:xx" "P:xx" ....]
*	returns:	ORM class Error String
* 	logic:		depending on some key values the SAVE is discarded
*/
function _LS_InsUpdateLegRecord($eventID, &$aLegValuePairs)
{
    require_once "../ORM/leg.php";
    require_once "../ORM/legrounds.php";
    global $dbi;
    $event = reteventconfig($eventID);
    $leg_dist = $event['evsgldist'];
    if (!$leg_dist > 1) {
        die_red('Err312:UnknownLegDistance');
    }
    $leg_ID = 0;
    /*
     * retrieve the l_id value from the key-pairs
     */
    foreach ($aLegValuePairs as $keypair) {
        if (substr($keypair, 0, 1) == 'L') {
            $leg_ID = substr($keypair, 2);
        }
    }
    if ($event['evsgldarts'] == 1) {
        $cL = new cLeg();
    } else {
        $cL = new cLegRounds();
    }
    $cL->setDB($dbi);
    $cL->getbyID($leg_ID);
    /*
     * decode the denominator strings G,P,S,F ... into field names
     * set sensible defaults, any OUTPUT is written into the Game-DIV
     * WE use the new ORM objects for this ...
     */
    foreach ($aLegValuePairs as $keypair) {
        $aVal = explode(':', $keypair);
        if (!is_numeric($aVal[1])) {
            $aVal[1] = 0;
        }
        if (sizeof($aVal) > 2) {
            die_red('E274:SaveLeg:KeyValueError:Please correct and save again');
        }
        /*
         * decode json and pass values into objects
         */
        switch (strtoupper($aVal[0])) {
            case 'G':
                $cL->aDATA['lgid'] = $aVal[1];
                break;
            case 'P':
                $cL->aDATA['lpid'] = $aVal[1];
                break;
            case 'S':
                $cL->aDATA['lroundscore'] = $aVal[1];
                break;
            case 'D':
                $cL->aDATA['ldarts'] = $aVal[1];
                break;
            case 'R':
                $cL->aDATA['lscore'] = $leg_dist - $aVal[1];
                break;
            case 'C':
                $cL->aDATA['lroundcheck'] = $aVal[1];
                break;
            case 'F':
                $cL->aDATA['lfinish'] = $aVal[1];
                break;
            case 'B':
                $cL->aDATA['lstart'] = $aVal[1];
                break;
            case 'M':
                $cL->aDATA['lhighscore'] = $aVal[1];
                break;
            case 'M171':
                $cL->aDATA['lhighscore171'] = $aVal[1];
                break;
        }
    }
    /*
     * logic tests ... same as in GUI ... shall we put this into the DBclass ???
     */
    if (!$cL->aDATA['lpid'] > 0) {
        return 0;
    }
    if (!$cL->aDATA['lgid'] > 0) {
        return 0;
    }
    if ($event['evsgldarts'] == 1) {
        if (!$cL->aDATA['ldarts'] > 0) {
            return 0;
        }
    } else {
        if (!$cL->aDATA['lroundscore'] > 0) {
            return 0;
        }
        if (!$cL->aDATA['lroundcheck'] > 0) {
            return 0;
        }
    }
    #debug($cL->aDATA);
    $cL->save();
    return $cL->pDBret;
}
コード例 #4
0
ファイル: ls_system.php プロジェクト: robmat/samplebator
function _createMatch($mkey, $eventid, $rnum, $vtid, $vdate, $m_loc)
{
    # create entries for
    # tblmatch, tblmatchteam,tblgame,tblgameplayer
    # tblleg no entries !!!
    # location = home team
    # MatchDate = $vdate
    # based on the GLOBAL event config
    global $dbi, $LS_LEVEL, $username, $event;
    if ($LS_LEVEL < 2) {
        die_red('Err463:NoAccess ...');
    }
    # where is the location of the HomeTeam ??
    $resx = sql_query("select T.id,T.tlocation_id,L.lname from tblteam T,tbllocation L where T.tlocation_id=L.id and T.id={$vtid['0']}", $dbi);
    $row = sql_fetch_array($resx, $dbi);
    $resloc = sql_query("select id,lname from tbllocation where id={$m_loc}", $dbi);
    $rowloc = sql_fetch_array($resloc, $dbi);
    $loc = $rowloc[lname];
    $locid = $rowloc[tlocation_id];
    $strsql = "INSERT INTO tblmatch(mid,mkey,mevid,mround,mhtid,matid,mdate,mlocation,mstatus,mactive) values(0,\"{$mkey}\",{$eventid},{$rnum},{$vtid['0']},{$vtid['1']},\"{$vdate}\",\"{$loc}\",0,1)";
    #debug($strsql);
    $resx = sql_query($strsql, $dbi);
    if ($resx != 1) {
        die_red('Err480:Event: (' . $event['evname'] . ') Match: ' . $mkey . ' Creation of Match Entry failed');
    }
    # ok now we create the 2 matching records for match - team, match - team ...
    # make sure we have values instead of NULL ...
    if (!$vlegs[0]) {
        $vlegs[0] = 0;
        $vlegs[1] = 0;
    }
    if (!$vsets[0]) {
        $vsets[0] = 0;
        $vsets[1] = 0;
    }
    if (!$vpoints[0]) {
        $vpoints[0] = 0;
        $vpoints[1] = 0;
    }
    $strsql = "INSERT into tblmatchteam(mtid,mtmkey,mthome,mttid,mtlegs,mtlegslost,mtsetslost,mtsets,mtpoints) values(0,'{$mkey}',1,{$vtid['0']},{$vlegs['0']},{$vlegs['1']},{$vsets['1']},{$vsets['0']},{$vpoints['0']})";
    $resx = sql_query($strsql, $dbi);
    $strsql = "INSERT into tblmatchteam(mtid,mtmkey,mthome,mttid,mtlegs,mtlegslost,mtsetslost,mtsets,mtpoints) values(0,'{$mkey}',0,{$vtid['1']},{$vlegs['1']},{$vlegs['0']},{$vsets['0']},{$vsets['1']},{$vpoints['1']})";
    $resx = sql_query($strsql, $dbi);
    # finally we create the number of required singel and pairs GAME records ...
    # read from config ==> use global event ARRAY ??????????
    # $resx=sql_query("select E.evsingles,E.evdoubles,E.evsgllegs,E.evdbllegs from tblevent E where E.id=$eventid",$dbi);
    # $row=sql_fetch_array($resx,$dbi);
    $iSingle = $event['evsingles'];
    $iPair = $event['evdoubles'];
    $iLegSingle = $event['evsgllegs'];
    $iLegPair = $event['evdbllegs'];
    # for every single we create 1 game entry and ?? legentries ....
    for ($i = 1; $i <= $iSingle; $i++) {
        $strsql = "INSERT INTO tblgame(gid,gmkey,gtype,gsets,glegs,gstatus) values (0,\"{$mkey}\",1,1,{$iLegSingle},0)";
        $resx = sql_query($strsql, $dbi);
    }
    for ($i = 1; $i <= $iPair; $i++) {
        $strsql = "INSERT INTO tblgame(gid,gmkey,gtype,gsets,glegs,gstatus) values (0,\"{$mkey}\",2,1,{$iLegPair},0)";
        $resx = sql_query($strsql, $dbi);
    }
    # // the gameentries are done lets create some fake tblgameplayer entries
    # // gpid | gpgid | gppid | gpsetwon | gplegswon
    # // ver 3.17 storing the teamID in the tblgameplayer entry (used for the WO functionality)
    $presult = sql_query("select gid,gtype from tblgame where gmkey=\"{$mkey}\" order by gid asc", $dbi);
    while (list($gid, $gtype) = sql_fetch_row($presult, $dbi)) {
        $i = 0;
        # // it type = 1 single then 2 entries, for type=2 pairs create 4 entries
        $thisTeam = 0;
        for ($i = 0; $i < $gtype * 2; $i++) {
            if ($gtype == 1) {
                if ($i == 0) {
                    $thisTeam = $vtid[0];
                }
                if ($i == 1) {
                    $thisTeam = $vtid[1];
                }
            } elseif ($gtype == 2) {
                if ($i < 2) {
                    $thisTeam = $vtid[0];
                }
                if ($i > 1) {
                    $thisTeam = $vtid[1];
                }
            }
            $res1 = sql_query("INSERT into tblgameplayer(gpid,gpgid,gppid,gpsetwon,gplegswon,gptid) values(0,{$gid},0,0,0,{$thisTeam})", $dbi);
            # // we leave the tid entry empty here - this is filled when the player is assigned ...
        }
    }
    # // we do not create ANY LEGENTRIES - these are created by the game-edit-save page on demand ...
    dsolog(1, $username, 'Match ' . $mkey . ' initialised');
}
コード例 #5
0
ファイル: Message.php プロジェクト: robmat/samplebator
/**
*	purpose	this is the system outbox, all messages send by the system
*	params	
*	returns		HTML table with action buttons per row
*/
function _showOutbox()
{
    global $dbi, $usertoken;
    if ($usertoken['usertype_id'] < 5) {
        die_red('Err:Msg95:WrongUser');
    }
    $RS = DB_listMessage($dbi);
    $HEAD = '';
    $ROWS = '';
    $ROWS = RecordsetToDataTable($RS, array(1, 2, 3, 5, 6, 7, 8), array('delmessage', 'setmessage'), array(array(0), array(0)), array('Del', 'Chg'));
    $aTH = array('Status', 'Absender', 'Datum', 'Gruppe', 'Empf&auml;nger', 'Link', 'Nachricht', 'Aktion', 'Aktion');
    $HEAD = ArrayToTableHead($aTH);
    // OUTPUT //
    echo '<script type="text/javascript">$("#pagetitle").html("Outbox");</script>';
    echo '<div id=\'mailadm\'>';
    echo '<table><tr><td>' . _button('Send Pending Liga', 'msgsendall()') . '</td><td>' . _button('Purge All', 'delall()') . '</td></tr></table>';
    echo '</div>';
    echo OpenTable('maillist', 1);
    echo $HEAD . $ROWS;
    echo CloseTable(1);
}
コード例 #6
0
ファイル: Game.php プロジェクト: robmat/samplebator
function _blankGame()
{
    die_red('E:WrongAction');
}
コード例 #7
0
ファイル: lsdbMessage.php プロジェクト: robmat/samplebator
<?php

include 'empty_main.php';
if (sizeof($usertoken['msgmap']) < 1 && $usertoken['usertype_id'] < 6) {
    die_red('No access to the Message SubSystem');
}
#debug($usertoken['msgmap']);
/*
 * common pageobjects
 */
$buttons = '<table><tr><td>' . _button('Create', 'msgtab(1)') . '</td><td>' . _button('Inbox', 'msgtab(2)') . '</td><td>' . _button('Outbox', 'msgtab(3)') . '</td></tr></table><hr/>';
echo '<script type="text/javascript" src="code/lsdbmail.js"></script>';
echo '</div>';
echo setPageTitle('Message Center');
echo setPageControlTabs($buttons);
LS_page_end();
コード例 #8
0
ファイル: Membership.php プロジェクト: robmat/samplebator
/**
*	purpose	security controlled membership listing + action buttons for non public access
*	params		
*	returns		HTML Table with rows
*/
function _listMemberShip($player_id, $verein_id, $mtype_id, $verband_ID, $m_active)
{
    global $dbi, $usertoken;
    /* create a meaningful type_comparison string */
    if ($mtype_id > 0) {
        $type_comp = '=' . $mtype_id;
    } else {
        die_red('Err157:MemberTypeRequired');
    }
    $RS = DB_listMemberShips($dbi, $player_id, $verein_id, $type_comp, $m_active, $verband_ID);
    if (sizeof($RS) > 2000) {
        die_red('Selection returns more than 2000 rows (' . sizeof($RS) . ')');
    }
    if (sizeof($RS) < 1) {
        die_green('Search criteria returns nothing ...');
    }
    /*
     * no actions for non-registermap members ...
     */
    if (sizeof($usertoken['registermap']) < 1) {
        $aTH = array('Verein', 'Meldeart', 'PassNr', 'Meldung Ende', 'ID', 'Vorname', 'Nachname');
        $ROWS = RecordsetToDataTable($RS, array(2, 3, 4, 5, 6, 7, 8));
    } else {
        $aTH = array('Verein', 'Meldeart', 'PassNr', 'Meldung Ende', 'ID', 'Vorname', 'Nachname', 'Aktion');
        $ROWS = RecordsetToDataTable($RS, array(2, 3, 4, 5, 6, 7, 8), array('playeredit', 'memberdel'), array(array(6), array(0, 6)), array('Edit Player', 'Del'));
    }
    $HEAD = ArrayToTableHead($aTH);
    $sum = '<div>Search criteria returned ' . sizeof($RS) . ' records.</div>';
    return $sum . '<table class="tchild" id="tmembers" name="tmembers">' . $HEAD . $ROWS . '</table>';
}
コード例 #9
0
ファイル: egate.php プロジェクト: robmat/samplebator
function _uploadMembership($file, $membertype_id)
{
    #
    # // add a payment record to this player ... depending on OEDV / OEDSO
    # // passnr;start;end;firstname;lastname;vereinID => $membertype_id
    # //
    $fp = fopen($file, "r");
    while ($lineIn = fgetcsv($fp, 1000, ";")) {
        if (sizeof($lineIn) < 6) {
            die_red('Error517:DataSetSize:' . debug($lineIn));
        }
        if (strlen($lineIn[5]) < 5) {
            die_red('Err518:NoValidVereinsZVR:' . debug($lineIn));
        }
        if (strlen($lineIn[1]) < 8) {
            die_red('Err519:MalformedStartDate:' . debug($lineIn));
        }
        if (strlen($lineIn[2]) < 8) {
            die_red('Err519:MalformedEndDate:' . debug($lineIn));
        }
        $RS[] = $lineIn;
    }
    fclose($fp);
    foreach ($RS as $R) {
        // check if player exist -> msg
        // check if verein exist -> msg
        // action ....			-> msg
        $PID = dso_checkPlayerByPassNr($R[0]);
        if ($PID > 0) {
            $aMSG[] = '<font color=green>Identified Player ' . $R[3] . ' ' . $R[4] . ' as unique ID:' . $PID . '</font>';
            $VID = dso_verifyVereinZVR($R[5]);
            if ($VID > 0) {
                $aMSG[] = '<font color=green>Player OK, Verein OK -- adding Membership</font>';
                $aMSG[] = dso_insupdmembership(0, $PID, $VID, $membertype_id, $R[0], $R[1], $R[2]);
            } else {
                $aMSG[] = '<font color=red>Verein with ID ' . $R[5] . ' not found or no rights to register players for this Verein</font>';
                $aMSG[] = '<font color=red>REJECTED LINE:' . $R[0] . ';' . $R[1] . ';' . $R[2] . ';' . $R[3] . ';' . $R[4] . ';' . $R[5] . ';</font>';
            }
        } else {
            $aMSG[] = '<font color=red>Player ' . $R[3] . ' ' . $R[4] . ' can not be identified, no membership added</font>';
            $aMSG[] = '<font color=red>REJECTED LINE:' . $R[0] . ';' . $R[1] . ';' . $R[2] . ';' . $R[3] . ';' . $R[4] . ';' . $R[5] . ';</font>';
        }
    }
    // == OUTPUT == //
    // ============ //
    echo setPageTitle('Log Output from Bulk IMPORT (Records:' . sizeof($RS) . ') for Type=' . $membertype_id);
    echo '<p>The loader is doing some minimum checks on the expected fieldvalues - rejected entries are shown in <font color="red">red</font>.</p>';
    OpenTable('output');
    foreach ($aMSG as $MSG) {
        echo '<tr><td>' . $MSG . '</td></tr>';
    }
    CloseTable();
}
コード例 #10
0
ファイル: Match.php プロジェクト: robmat/samplebator
function _saveComment($match_key, $match_comment)
{
    global $dbi;
    $qry1 = 'UPDATE tblmatch set mcomment=\'' . $match_comment . '\' where mkey=\'' . $match_key . '\' limit 1';
    $p1 = sql_query($qry1, $dbi);
    if ($p1 == 1) {
        die_green('Saved');
    } else {
        die_red('Error');
    }
}
コード例 #11
0
ファイル: listMembership.php プロジェクト: robmat/samplebator
} else {
    $player_id = 0;
}
# this is either 'true' or 'undefined'
if (isset($_POST['mactive']) && strip_tags($_POST['mactive']) == 'true') {
    $m_active = 1;
} else {
    $m_active = 0;
}
/*
 * security check on the length of params ...
 */
if ($m_code > 0) {
    $type_comp = '=' . $m_code;
} else {
    $type_comp = '>0';
}
$dbi = sql_connect($dbhost, $dbuname, $dbpass, $dbname);
$RS = DB_listMemberShips($dbi, $player_id, $verein_id, $type_comp, $m_active, $m_realm);
if (sizeof($RS) > 2000) {
    die_red('Selection returns more than 2000 rows (' . sizeof($RS) . ')');
}
if (sizeof($RS) < 1) {
    die_green('Search criteria returns nothing ...');
}
$aTH = array('Verein', 'Meldeart', 'PassNr', 'Meldung Ende', 'Vorname', 'Nachname');
$ROWS = RecordsetToDataTable($RS, array(2, 3, 4, 5, 7, 8));
$HEAD = ArrayToTableHead($aTH);
header('Content-Type: application/html; charset=ISO-8859-1');
echo '<table class="tchild" id="tmembers" name="tmembers">' . $HEAD . $ROWS . '</table>';
debug('Search criteria returned ' . sizeof($RS) . ' records.');
コード例 #12
0
ファイル: ls_loc.php プロジェクト: robmat/samplebator
<?php

/*
 * Interface to the Locations Table 
 * Showing a typical Master Detail Edit View
 * ActiveLocations show ChildRecords from the Teams Table
 */
include 'empty_main.php';
if ($usertoken['usertype_id'] < 4) {
    die_red('E:LOC1:ErrType');
}
echo '<script type="text/javascript" src="code/AjaxRequestCompact.js"></script>';
echo '<script type="text/javascript" src="code/axlocationcode.js"></script>';
# // Beginn Funktionen ----------------
$tdbg = '#888888';
// this is the boxing and frames effect ....
$tdWon = '#ccffcc';
$tdLost = '#ffcccc';
function _LS_LocationPage()
{
    global $dbi, $event, $tdbg;
    echo setPageTitle('Manage Locations');
    echo '<p>Hier werden die Spielst&auml;tten bzw. Locations im gesamten Bundesgebiet angezeigt. Ein Klick auf einen Eintrag ladet diesen zum Bearbeiten.<br><b>Unterhalb</b> der Datenmaske werden zugleich alle eingetragenen Heimmannschaften aus dem LigaSystem angezeigt.</p>';
    # SECTION 0 Navigation
    echo '<table bgcolor="' . $tdbg . '" cellpadding="2" cellspacing="1"><tr><td id="btnrefresh" bgcolor="white" onclick="initlocationpage()" onMouseOver="mover(this)" onMouseOut="mout(this)">Tabelle neu laden</td>' . '<td></td><td bgcolor="white" id="locbrowseActivity"><i>Ready</i></td>' . '<td></td><td bgcolor="white" id="locsaveActivity"><i>Ready</i></td>' . '</tr></table><br>';
    $location_count_result = sql_query('SELECT COUNT(*) FROM tbllocation l, tverband v WHERE l.lrealm_id = v.id', $dbi);
    $location_count = 0;
    while (list($count) = sql_fetch_row($location_count_result, $dbi)) {
        $location_count = $count;
    }
    $response->page = 1;
コード例 #13
0
ファイル: ls_debug.php プロジェクト: robmat/samplebator
<?php

/*
 * Controlling modul for the LIGA SYSTEM
 * Access ONLY for user.type = LigaSysAdmin or higher ... 
 * old stuff was LS_LEVEL must be 3 ...
 * There is no global EVENT or EVENTID any longer 
 */
#TODO add common DIV Layout ...
include "empty_main.php";
include "func_stat.php";
// old access mode ...
if (sizeof($usertoken['eventmap']) < 1) {
    die_red('Err16:NotAllowed');
}
# // Beginn Funktionen ----------------
$tdbg = "#CCDDCC";
$tdWon = "#ccffcc";
$tdLost = "#ffcccc";
function _blank()
{
    echo '<h3>Liga Modul - System Controlling</h3>';
    OpenTable('mnudebug');
    echo '<tr><td>' . _button('Zeige alle Spiele mit ungerader Leg Anzahl aus allen aktiven Bewerben', '', 'ls_debug.php?func=oddlegs') . '<td></tr>';
    echo '<tr><td>' . _button('Zeige alle Legs mit IRREALEN Runden Werten aus allen aktiven Bewerben', '', 'ls_debug.php?func=weirdlegs') . '<td></tr>';
    echo '<tr><td>' . _button('Zeige alle Legs mit IRREALEN Darts Werten aus allen aktiven Bewerben', '', 'ls_debug.php?func=strangelegs') . '<td></tr>';
    echo '<tr><td>' . _button('Zeige alle gespielten Matches einer Liga Gruppe und ihren Status', '', 'ls_debug.php?func=matches&stat=1') . '<td></tr>';
    echo '<tr><td>' . _button('Berechne fiktive Rangliste ALLER Spieler einer Statistikgruppe f&uuml;r einen beliebigen Zeitpunkt', '', 'ls_debug.php?func=allranking') . '<td></tr>';
    echo '<tr><td>' . _button('Zeige alle Teams einer Ligagruppe', '', 'ls_debug.php?func=allteams') . '<td></tr>';
    echo '<tr><td>' . _button('Zeige alle Spieler/Teams einer Ligagruppe', '', 'ls_debug.php?func=allplayers') . '<td></tr>';
    CloseTable();