Skip to content
Snippets Groups Projects
default.php 14.4 KiB
Newer Older
TonyFord's avatar
TonyFord committed
<?php

tonyford's avatar
tonyford committed
ini_set('display_errors', 1);
ini_set('log_errors',1);
error_reporting(E_ALL);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

TonyFord's avatar
TonyFord committed
define( 'SAISON', '{{ page.saison }}' );
TonyFord's avatar
TonyFord committed
define( 'SAISON_NOW', '{{ site.data.global.saison_now }}' );
TonyFord's avatar
TonyFord committed

include_once('functions/db_connect.php');
include_once('functions/db_methods.php');

TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
$UNKNOWN=[];
$T = db_getFromTeams();
foreach( $T as $t ){
  $u=db_getUnknownSpieler( $t['id'] );
  if( count($u) > 0 ) $UNKNOWN[]=$u;
}

TonyFord's avatar
TonyFord committed

tonyford's avatar
tonyford committed
if( !empty($_POST['csv']) ) $csv=$_POST['csv'];
$secret='';
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
if( !empty($csv) ){

  $secret=$_POST['secret'];
  $user=db_checkSecret($secret);
  if( $user ){
    $C=preg_split('/
/',$csv);
    if( trim($C[0]) == 'runde,spieltag,T,H,A,TH,TA,MID' ){
      foreach( $C as $i=>$v ){
        if( $i > 0 ) db_addErgebnisse(SAISON.','.$v,$secret);
      }
TonyFord's avatar
TonyFord committed
    } else if( trim($C[0]) == 'Saison,Spieltag,MatchID,teamID,L,Pos,SpielerID,Spieler,Z+,Z-,T,A,Bk' ) {
TonyFord's avatar
TonyFord committed
      foreach( $C as $i=>$v ){
        if( $i > 0 ) db_addStatistik($v,$secret);
      }
TonyFord's avatar
TonyFord committed
    } else if( trim($C[0]) == 'TeamID,N,SpielerID,Attr,Spieler,Alter,Pos,S,T,A,Z+,Z-,Zd' ){
TonyFord's avatar
TonyFord committed
      $TEAMS=db_getIdNtFromTeams();
TonyFord's avatar
TonyFord committed
      foreach( $C as $i=>$v ){
TonyFord's avatar
TonyFord committed
        $w=preg_split('/,/',$v);
        if( !empty($TEAMS[$w[0]]) ){
          if( $TEAMS[$w[0]] == $w[1] ){
            //db_addSpieler($v,$secret);
TonyFord's avatar
TonyFord committed
          }
        }
TonyFord's avatar
TonyFord committed
      }
    } else if( trim($C[0]) == 'SpielerID,Spieler,Alter,Nt,Saison,Liga,TeamID,Team,S,T,A,Z+,Z-,Zd,Bk,Bi+,Bi-,Attr,Face,Karriereende' ){
      db_addSpieler(array_pop($C),$secret);
TonyFord's avatar
TonyFord committed
    }
  }

}

?>
<!DOCTYPE html>
<html>

<head>
TonyFord's avatar
TonyFord committed
  <link rel="stylesheet" href="assets/css/all.min.css">
tonyford's avatar
tonyford committed
  <link rel="stylesheet" href="assets/css/custom.css?8">
TonyFord's avatar
TonyFord committed
  <script src="assets/js/jquery.min.js"></script>
tonyford's avatar
tonyford committed
  <script src="assets/js/script.js?3"></script>
TonyFord's avatar
TonyFord committed
</head>

<body>

  <script>
TonyFord's avatar
TonyFord committed
    var SAISON_SETTINGS={{ site.pages | where_exp: 'item','item.saison>25' | sort: 'saison' | map: 'finalteams' | jsonify }};
TonyFord's avatar
TonyFord committed
    var DATA={{ site.data | jsonify }};
TonyFord's avatar
TonyFord committed
    var SAISON='{{ page.saison }}';
TonyFord's avatar
TonyFord committed
    var SAISON_NOW='{{ site.data.global.saison_now }}';
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
    var TEAMS=<?=json_encode( db_getFromTeams() )?>;
    var T2ID={};
TonyFord's avatar
TonyFord committed
    var FINALTEAMS={{ page.finalteams | default: 4 }};
TonyFord's avatar
TonyFord committed
    TEAMS.forEach(
      function(v){
        T2ID[v.nt] = v.id;
      }
    );
    var STARTLISTE={{ page.startliste | jsonify }}; {% assign startliste_size = page.startliste[0] | size | append: '' %}
    var STARTLISTE_PARTIEN={{ site.data.partien | map: startliste_size | jsonify  }}[0];
    var STARTLISTE_PARTIEN_PAUSE={{ page.startliste_partien_pause | jsonify }};
    if( $.isArray( STARTLISTE_PARTIEN_PAUSE ) ){
      STARTLISTE_PARTIEN.forEach(
        function(v,i){
          if( STARTLISTE_PARTIEN_PAUSE[i] != undefined ){
            STARTLISTE_PARTIEN[i][0]=STARTLISTE_PARTIEN_PAUSE[i];
          }
        }
      );
    }
    var SPIELER=<?=json_encode( db_getFromSpieler() )?>;
TonyFord's avatar
TonyFord committed
    var UNKNOWN=<?=json_encode( $UNKNOWN )?>.reduce((a,b) => (a.concat(b)));
tonyford's avatar
tonyford committed
    var NEUESPIELER=<?= json_encode( db_getLatestFromSpieler() ) ?>;
TonyFord's avatar
TonyFord committed
    var ERGEBNISSE=<?=json_encode( db_getFromErgebnisse() )?>;
TonyFord's avatar
TonyFord committed
    var STAT_SAISON=<?=json_encode( db_getFromStatistikBySaison(SAISON))?>;
    var STAT_ALL=<?=json_encode( db_getFromStatistik())?>;
    STATISTIK_SAISON={};
    STAT_SAISON.forEach(
TonyFord's avatar
TonyFord committed
      function(v,i){
        if( STATISTIK_SAISON[v.SpielerID] == undefined ) STATISTIK_SAISON[v.SpielerID]={ 'S' :0, 'T' : 0, 'A' : 0, 'Z' : 0, 'Zpos' : 0, 'Zneg' : 0, 'MID' : [], 'face' : '' };
TonyFord's avatar
TonyFord committed
        STATISTIK_SAISON[v.SpielerID].S++;
        STATISTIK_SAISON[v.SpielerID].T+=v.Tore*1;
        STATISTIK_SAISON[v.SpielerID].A+=v.Assists*1;
        STATISTIK_SAISON[v.SpielerID].Z+=v.Zwk*1;
        STATISTIK_SAISON[v.SpielerID].Zpos+=v.Zpos*1;
        STATISTIK_SAISON[v.SpielerID].Zneg+=v.Zneg*1;
        STATISTIK_SAISON[v.SpielerID].MID.push(v.MID);
        STATISTIK_SAISON[v.SpielerID].name=v.name;
        STATISTIK_SAISON[v.SpielerID].age=v.age*1;
        STATISTIK_SAISON[v.SpielerID].age_saison=v.age_saison*1;
        STATISTIK_SAISON[v.SpielerID].nt=v.nt;
        STATISTIK_SAISON[v.SpielerID].attr=v.attr;
        STATISTIK_SAISON[v.SpielerID].face=v.face;
TonyFord's avatar
TonyFord committed
      }
    );

    STATISTIK_ALL={};
    STAT_ALL.forEach(
      function(v,i){
        if( STATISTIK_ALL[v.SpielerID] == undefined ) STATISTIK_ALL[v.SpielerID]={ 'S' :0, 'T' : 0, 'A' : 0, 'Z' : 0, 'Zpos' : 0, 'Zneg' : 0, 'MID' : [], 'face' : '' };
TonyFord's avatar
TonyFord committed
        STATISTIK_ALL[v.SpielerID].S++;
        STATISTIK_ALL[v.SpielerID].T+=v.Tore*1;
        STATISTIK_ALL[v.SpielerID].A+=v.Assists*1;
        STATISTIK_ALL[v.SpielerID].Z+=v.Zwk*1;
        STATISTIK_ALL[v.SpielerID].Zpos+=v.Zpos*1;
        STATISTIK_ALL[v.SpielerID].Zneg+=v.Zneg*1;
        STATISTIK_ALL[v.SpielerID].MID.push(v.MID);
        STATISTIK_ALL[v.SpielerID].name=v.name;
        STATISTIK_ALL[v.SpielerID].age=v.age*1;
        STATISTIK_ALL[v.SpielerID].age_saison=v.age_saison*1;
        STATISTIK_ALL[v.SpielerID].nt=v.nt;
        STATISTIK_ALL[v.SpielerID].attr=v.attr;
        STATISTIK_ALL[v.SpielerID].face=v.face;
TonyFord's avatar
TonyFord committed
      }
    );

    const STEP={{ page.step | default: '1' }};
    const FINALS_STEP={{ page.finals_step | default: '0' }};
    const LIGASPIELTAG={{ page.ligaspieltag | default: '1' }};
TonyFord's avatar
TonyFord committed
    const SAISON_START_DATE=new Date( '{{ page.date }}' ).toJSON();
TonyFord's avatar
TonyFord committed

    // check ob alle Teams der Startliste in DB vorhanden sind
    var check=
    STARTLISTE.map(
      (a) => (
        a.map( (b) => ( T2ID[b] != undefined ) )
      )
    ).reduce(( c,d ) => ( c && d )).reduce(( e,f ) => ( e && f ));

    if( check ){
      $(document).ready( function(){
tonyford's avatar
tonyford committed

TonyFord's avatar
TonyFord committed
          calculatePartien('{{ page.saison }}', '{{ page.date }}');
TonyFord's avatar
TonyFord committed
          calculatePunktestand('{{ page.saison }}', '7');
          //calculatePunktestand( 0, '7');
          calculateTabelle('{{ page.saison }}','T');
          calculateTabelle('{{ page.saison }}','A');
          calculateTabelle('{{ page.saison }}','Z');
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
          $('h4.tabelle button').on('click',
TonyFord's avatar
TonyFord committed
            function(){
TonyFord's avatar
TonyFord committed
              $('h4.tabelle button').toggleClass('active',false);
TonyFord's avatar
TonyFord committed
              $(this).toggleClass('active',true);
              $('table.tabelle').toggleClass('d-none',true);
              $('#tabelle_'+$(this).text()[0]).toggleClass('d-none',false);
TonyFord's avatar
TonyFord committed
            }
          );
TonyFord's avatar
TonyFord committed
          $('#news tbody').html('');
          UNKNOWN.forEach(

            function(v,i){

TonyFord's avatar
TonyFord committed
              var team=TEAMS.filter((a) => ( a.nt == v.nt ))[0];
              if( team == undefined ) return;

TonyFord's avatar
TonyFord committed
              if( v.nt == 'xx' ) return;
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
              var tr = document.createElement('tr');

              var td = document.createElement('td');

              var st=parseInt(( new Date() - new Date(v.zeitstempel) ) / 1000 / 3600 / 24);

              $(td).text( st == 1 ? 'vor ' + st + ' Tag' : 'vor ' + st + ' Tagen' );
              $(tr).append(td);

tonyford's avatar
tonyford committed
              var td = document.createElement('td');
              td.innerText='';
              $(tr).append(td);

TonyFord's avatar
TonyFord committed
              var td = document.createElement('td');
              var img = document.createElement('img');
              img.src='images/flags/' + ( v.flag ? v.flag : v.nt ) + '.svg';
              img.classList='flags';
              $(td).append(img);
              $(tr).append(td);

              var td = document.createElement('td');
              td.classList='mono';
              var a = document.createElement('a');
              a.href='https://ultrasoccer.de/playerprofile/?id='+v.SpielerID;
              a.target='ultrasoccer';
              $(a).text(v.SpielerID);
              $(td).append(a);
              $(tr).append(td);

              var td = document.createElement('td');
              var a = document.createElement('a');
              a.href='https://ultrasoccer.de/players/?id='+v.teamID;
              a.target='ultrasoccer';
              $(a).text(v.team);
              $(td).append(a);
              $(tr).append(td);

              $('#news tbody').append(tr);

            }
          );

          NEUESPIELER.forEach(

            function(v,i){
              var team=TEAMS.filter((a) => ( a.nt == v.nt ))[0];
              if( team == undefined ) return;

TonyFord's avatar
TonyFord committed
              if( STARTLISTE.reduce((a,b) => (a.concat(b))).indexOf( v.nt ) == -1 ) return;

TonyFord's avatar
TonyFord committed
              var tr = document.createElement('tr');

              var td = document.createElement('td');

TonyFord's avatar
TonyFord committed
              var st=parseInt(( new Date() - new Date(v.zeitstempl) ) / 1000 / 3600 / 24);
TonyFord's avatar
TonyFord committed


              $(td).text( st == 1 ? 'vor ' + st + ' Tag' : 'vor ' + st + ' Tagen' );
              $(tr).append(td);

              var td = document.createElement('td');
              var div = document.createElement('div');
              div.classList='face';

              var img = document.createElement('img');
              img.src='images/facegenerator/fg_head_' + v.face.split(/_/g)[0] + '.png';
              $(div).append(img);

              var img = document.createElement('img');
              img.src='images/facegenerator/fg_hair_' + v.face.split(/_/g)[1] + '.png';
              $(div).append(img);

              var img = document.createElement('img');
              img.src='images/facegenerator/fg_beard_' + v.face.split(/_/g)[2] + '.png';
              $(div).append(img);

              var img = document.createElement('img');
              img.src='images/facegenerator/fg_mouth_' + v.face.split(/_/g)[3] + '.png';
              $(div).append(img);

              var img = document.createElement('img');
              img.src='images/facegenerator/fg_eyes_' + v.face.split(/_/g)[4] + '.png';
              $(div).append(img);

              $(td).append(div);
              $(tr).append(td);

TonyFord's avatar
TonyFord committed
              var td = document.createElement('td');
              var img = document.createElement('img');

              img.src='images/flags/' + ( team.flag ? team.flag : team.nt ) + '.svg';

              img.classList='flags';
              $(td).append(img);
              $(tr).append(td);

              var td = document.createElement('td');
              var a = document.createElement('a');
tonyford's avatar
tonyford committed
              a.href='https://ultrasoccer.de/playerprofile/?id='+v.SpielerID;
TonyFord's avatar
TonyFord committed
              a.target='ultrasoccer';
TonyFord's avatar
TonyFord committed
              if( v.attr != '' ){
                Object.values( v.attr.split(/ /g) ).forEach(
                  function(w){
                    var attr = document.createElement('i');
                    attr.classList='fas '+w;
                    $(td).append(attr);
                  }
                )
              }
TonyFord's avatar
TonyFord committed
              $(a).text(v.name);
              var span=document.createElement('span');
              $(span).text(' ('+v.age+')');
TonyFord's avatar
TonyFord committed

TonyFord's avatar
TonyFord committed
              $(td).append(a);
              $(td).append(span);
              $(tr).append(td);

              var td = document.createElement('td');
              var a = document.createElement('a');
              a.href='https://ultrasoccer.de/players/?id='+v.teamID;
              a.target='ultrasoccer';
              $(a).text(team.name);
              $(td).append(a);
              $(tr).append(td);


              $('#news tbody').append(tr);

            }
          );


TonyFord's avatar
TonyFord committed

        }
      );
    } else {
      alert( 'Error: Nicht alle Teams der Startliste sind in der DB vorhanden!');
    }




  </script>

  <form method="POST">
  <div id="copypaste" class="d-none" ondblclick="$(this).toggleClass('d-none')">
    <button type="submit">update</button>
    <input type="text" name="secret" placeholder="secret" value="<?=$secret?>">
    <textarea name="csv"></textarea>
  </div>
  </form>

  <div class="div_right">
TonyFord's avatar
TonyFord committed
    <div id="saisons">
TonyFord's avatar
TonyFord committed
      <button id="historie" class="" onclick="calculateHistorie()"><b>HISTORIE</b></button> <button id="ewige" class="" onclick="calculateEwige()"><b>EWIGE</b></button>
TonyFord's avatar
TonyFord committed
      {% for f in site.pages %}
        {% assign fn = f.name | slice:0,2 %}
        {% assign fn_isnumeric = fn | is_numeric %}
        {% if fn_isnumeric %}
        {% assign fn = fn | times: 1 %}
        <a href="./{{ fn }}.php"><button class="{% if page.saison == fn %}active{% endif %}"><b>{{ fn | minus: 25 }}</b><sup>{{ fn }}</sup></button></a>
        {% endif %}
      {% endfor %}
TonyFord's avatar
TonyFord committed
    </div>
TonyFord's avatar
TonyFord committed
    <h4 class="tabelle">Tabelle <button>Zweikampf</button><button>Assists</button><button>Tore</button><button class="punktestand active">Punktestand</button></h2>
TonyFord's avatar
TonyFord committed

    <table id="tabelle_P" class="tabelle">
TonyFord's avatar
TonyFord committed
      <thead>
        <tr>
          <th>Pl.</th>
          <th>Sp.</th>
          <th>Team</th>
TonyFord's avatar
TonyFord committed
          <th><i class="fas fa-trophy" title="Pokalgewinn"></i></th>
          <th><i class="fas fa-crown" title="Meistertitel"></i></th>
          <th><i class="fas fa-star" title="knapp gescheitert"></i></th>
          <th title="Siege">S</th>
          <th title="Unentschieden">U</th>
          <th title="Niederlagen">N</th>
TonyFord's avatar
TonyFord committed
          <th>Hist.</th>
          <th>Tore</th>
          <th>Dif</th>
TonyFord's avatar
TonyFord committed
          <th>Zwk</th>
TonyFord's avatar
TonyFord committed
          <th>Pkt.</th>
        </tr>
      </thead>
      <tbody>
      </tbody>
    </table>

    <table id="tabelle_T" class="tabelle d-none">
TonyFord's avatar
TonyFord committed
      <thead>
        <tr>
          <th>Pl.</th>
          <th>Sp.</th>
          <th></th>
TonyFord's avatar
TonyFord committed
          <th>Name</th>
          <th>Team</th>
          <th>T</th>
        </tr>
      </thead>
      <tbody>
      </tbody>
    </table>

    <table id="tabelle_A" class="tabelle d-none">
TonyFord's avatar
TonyFord committed
      <thead>
        <tr>
          <th>Pl.</th>
          <th>Sp.</th>
          <th></th>
TonyFord's avatar
TonyFord committed
          <th>Name</th>
          <th>Team</th>
          <th>A</th>
        </tr>
      </thead>
      <tbody>
      </tbody>
    </table>

    <table id="tabelle_Z" class="tabelle d-none">
TonyFord's avatar
TonyFord committed
      <thead>
        <tr>
          <th>Pl.</th>
          <th>Sp.</th>
          <th></th>
TonyFord's avatar
TonyFord committed
          <th>Name</th>
          <th>Team</th>
TonyFord's avatar
TonyFord committed
          <th>Z</th>
TonyFord's avatar
TonyFord committed
        </tr>
      </thead>
      <tbody>
      </tbody>
    </table>

TonyFord's avatar
TonyFord committed
    <table id="tabelle_team" class="tabelle d-none" ondblclick="backToActiveTable()">
      <thead>
        <tr>
          <th>Spieler</th>
          <th>Alter</th>
          <th>S/T/A</th>
          <th>Zwk</th>
        </tr>
      </thead>
      <tbody>
      </tbody>
    </table>

TonyFord's avatar
TonyFord committed
    <table id="tabelle_historie" class="tabelle d-none" ondblclick="backToActiveTable()">
      <thead>
        <tr>
        </tr>
      </thead>
      <tbody>
      </tbody>
    </table>

TonyFord's avatar
TonyFord committed
    <h3>Spielerdebüts</h3>
    <table id="news">
      <thead>
        <th>Zeit</th>
        <th></th>
TonyFord's avatar
TonyFord committed
        <th>Nt</th>
        <th>Spieler</th>
        <th>Team</th>
      </thead>
      <tbody>

      </tbody>
    </table>

TonyFord's avatar
TonyFord committed
  </div>
TonyFord's avatar
TonyFord committed

  <div id="partien" class="div_left">
  </div>

TonyFord's avatar
TonyFord committed
  <div id="lastresults" class="d-none" ondblclick="hideLastResults(true)">
    <table>
      <tbody>
      </tbody>
    </table>
  </div>
TonyFord's avatar
TonyFord committed


TonyFord's avatar
TonyFord committed
</body>

</html>