Exemplo n.º 1
0
 function save()
 {
     global $mainframe;
     // Check for request forgeries
     JRequest::checkToken() or die('Invalid Token');
     $option = JRequest::getCmd('option');
     $section = JRequest::getVar('section');
     $db =& JFactory::getDBO();
     $task = JRequest::getVar('task');
     $user =& JFactory::getUser();
     $id_id = JRequest::getVar('id');
     $date =& JFactory::getDate();
     $meldung = $user->get('id');
     $sid = JRequest::getVar('sid');
     $lid = JRequest::getVar('lid');
     $rnd = JRequest::getVar('rnd');
     $paarung = JRequest::getVar('paarung');
     $dg = JRequest::getVar('dg');
     $gemeldet = JRequest::getVar('gemeldet');
     $hzps = JRequest::getVar('hzps');
     $gzps = JRequest::getVar('gzps');
     $ko_decision = JRequest::getVar('ko_decision');
     $comment = JRequest::getVar('comment');
     // Überprüfen ob Runde schon gemeldet ist
     $query = "SELECT gemeldet, tln_nr, gegner " . " FROM #__clm_rnd_man " . " WHERE id = {$id_id} ";
     $db->setQuery($query);
     $id = $db->loadObjectList();
     $id_tln = $id[0]->tln_nr;
     $id_geg = $id[0]->gegner;
     // Punktemodus aus #__clm_liga holen
     $query = " SELECT a.stamm, a.sieg, a.remis, a.nieder, a.antritt, a.runden_modus, a.runden, " . " a.man_sieg, a.man_remis, a.man_nieder, a.man_antritt, a.sieg_bed " . " FROM #__clm_liga as a" . " WHERE a.id = " . $lid;
     $db->setQuery($query);
     $liga = $db->loadObjectList();
     $stamm = $liga[0]->stamm;
     $sieg_bed = $liga[0]->sieg_bed;
     $sieg = $liga[0]->sieg;
     $remis = $liga[0]->remis;
     $nieder = $liga[0]->nieder;
     $antritt = $liga[0]->antritt;
     $man_sieg = $liga[0]->man_sieg;
     $man_remis = $liga[0]->man_remis;
     $man_nieder = $liga[0]->man_nieder;
     $man_antritt = $liga[0]->man_antritt;
     $runden_modus = $liga[0]->runden_modus;
     $runden = $liga[0]->runden;
     // Runde noch NICHT gemeldet
     if (!$id[0]->gemeldet) {
         // Datensätze in Spielertabelle schreiben
         for ($y = 1; $y < 1 + $stamm; $y++) {
             $heim = JRequest::getVar('heim' . $y);
             $gast = JRequest::getVar('gast' . $y);
             $ergebnis = JRequest::getVar('ergebnis' . $y);
             $theim = explode("-", $heim);
             $thmgl = $theim[0];
             $thzps = $theim[1];
             $tgast = explode("-", $gast);
             $tgmgl = $tgast[0];
             $tgzps = $tgast[1];
             if ($ergebnis > 3) {
                 $kampflos = 1;
             } else {
                 $kampflos = 0;
             }
             if ($ergebnis == 1) {
                 $erg_h = $nieder + $antritt;
                 $erg_g = $sieg + $antritt;
             }
             if ($ergebnis == 2) {
                 $erg_h = $sieg + $antritt;
                 $erg_g = $nieder + $antritt;
             }
             if ($ergebnis == 3) {
                 $erg_h = $remis + $antritt;
                 $erg_g = $remis + $antritt;
             }
             if ($ergebnis == 4) {
                 $erg_h = $antritt;
                 $erg_g = $antritt;
             }
             if ($ergebnis == 5) {
                 $erg_h = 0;
                 $erg_g = $sieg + $antritt;
             }
             if ($ergebnis == 6) {
                 $erg_h = $sieg + $antritt;
                 $erg_g = 0;
             }
             if ($ergebnis == 7) {
                 $erg_h = 0;
                 $erg_g = 0;
             }
             if ($ergebnis == 8) {
                 $erg_h = 0;
                 $erg_g = 0;
             }
             if ($ergebnis == 9) {
                 $erg_h = 0;
                 $erg_g = 0;
             }
             // WICHTIG wegen NULL / SELECTED Problem
             $ergebnis--;
             // ungerade Zahl für Weiss/Schwarz
             if ($y % 2 != 0) {
                 $weiss = 0;
                 $schwarz = 1;
             } else {
                 $weiss = 1;
                 $schwarz = 0;
             }
             $query = "INSERT INTO #__clm_rnd_spl " . " ( `sid`, `lid`, `runde`, `paar`, `dg`, `tln_nr`, `brett`, `heim`, `weiss`, `spieler` " . " , `zps`, `gegner`, `gzps`, `ergebnis` , `kampflos`, `punkte`, `gemeldet`) " . " VALUES ('{$sid}','{$lid}','{$rnd}','{$paarung}','{$dg}','{$id_tln}','{$y}',1,'{$weiss}','{$thmgl}','{$thzps}'," . " '{$tgmgl}','{$tgzps}','{$ergebnis}', '{$kampflos}','{$erg_h}','{$meldung}') " . " , ('{$sid}','{$lid}','{$rnd}','{$paarung}','{$dg}','{$id_geg}','{$y}','0','{$schwarz}','{$tgmgl}','{$tgzps}'," . " '{$thmgl}','{$thzps}','{$ergebnis}', '{$kampflos}','{$erg_g}','{$meldung}') ";
             $db->setQuery($query);
             $db->query();
         }
         // in Runden Mannschaftstabelle als gemeldet schreiben
         // Brettpunkte Heim summieren
         $query = "SELECT SUM(punkte) as punkte " . " FROM #__clm_rnd_spl " . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 1 ";
         $db->setQuery($query);
         $man = $db->loadObjectList();
         $hmpunkte = $man[0]->punkte;
         // Wertpunkte Heim berechnen
         $query = "SELECT punkte, brett " . " FROM #__clm_rnd_spl " . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 1 ";
         $db->setQuery($query);
         $man_wp = $db->loadObjectList();
         $hwpunkte = 0;
         foreach ($man_wp as $man_wp) {
             $hwpunkte = $hwpunkte + ($stamm + 1 - $man_wp->brett) * $man_wp->punkte;
         }
         $query = "SELECT COUNT(kampflos) as kl " . " FROM #__clm_rnd_spl " . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 1 " . " AND kampflos > 0 ";
         $db->setQuery($query);
         $man_kl = $db->loadObjectList();
         $man_kl_punkte = $man_kl[0]->kl;
         // Brettpunkte Gast summieren
         $query = "SELECT SUM(punkte) as punkte " . " FROM #__clm_rnd_spl " . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 0 ";
         $db->setQuery($query);
         $gman = $db->loadObjectList();
         $gmpunkte = $gman[0]->punkte;
         // Wertpunkte Gast berechnen
         $query = "SELECT punkte, brett " . " FROM #__clm_rnd_spl " . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 0 ";
         $db->setQuery($query);
         $man_wp = $db->loadObjectList();
         $gwpunkte = 0;
         foreach ($man_wp as $man_wp) {
             $gwpunkte = $gwpunkte + ($stamm + 1 - $man_wp->brett) * $man_wp->punkte;
         }
         $query = "SELECT COUNT(kampflos) as kl " . " FROM #__clm_rnd_spl " . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 0 " . " AND kampflos > 0 ";
         $db->setQuery($query);
         $gman_kl = $db->loadObjectList();
         $gman_kl_punkte = $gman_kl[0]->kl;
         // Teilnehmer ID bestimmen
         $query = " SELECT a.tln_nr,a.gegner " . " FROM #__clm_rnd_man as a" . " WHERE a.id = " . $id_id;
         $db->setQuery($query);
         $tlnr = $db->loadObjectList();
         $tln_nr = $tlnr[0]->tln_nr;
         $gegner = $tlnr[0]->gegner;
         // Mannschaftspunkte Heim / Gast verteilen
         // Standard : Mehrheit der BP gewinnt, BP gleich -> Punkteteilung
         if ($sieg_bed == 1) {
             if ($hmpunkte > $gmpunkte) {
                 $hman_punkte = $man_sieg;
                 $gman_punkte = $man_nieder;
             }
             if ($hmpunkte == $gmpunkte) {
                 $hman_punkte = $man_remis;
                 $gman_punkte = $man_remis;
             }
             if ($hmpunkte < $gmpunkte) {
                 $hman_punkte = $man_nieder;
                 $gman_punkte = $man_sieg;
             }
         }
         // erweiterter Standard : mehr als die H�lfte der BP -> Sieg, H�lfte der BP -> halbe MP Zahl
         if ($sieg_bed == 2) {
             if ($hmpunkte > $stamm * ($sieg + $antritt) / 2) {
                 $hman_punkte = $man_sieg;
             }
             if ($hmpunkte == $stamm * ($sieg + $antritt) / 2) {
                 $hman_punkte = $man_remis;
             }
             if ($hmpunkte < $stamm * ($sieg + $antritt) / 2) {
                 $hman_punkte = $man_nieder;
             }
             if ($gmpunkte > $stamm * ($sieg + $antritt) / 2) {
                 $gman_punkte = $man_sieg;
             }
             if ($gmpunkte == $stamm * ($sieg + $antritt) / 2) {
                 $gman_punkte = $man_remis;
             }
             if ($gmpunkte < $stamm * ($sieg + $antritt) / 2) {
                 $gman_punkte = $man_nieder;
             }
         }
         // Antrittspunkte addieren falls angetreten
         if ($stamm > $man_kl_punkte) {
             $hman_punkte = $hman_punkte + $man_antritt;
         }
         if ($stamm > $gman_kl_punkte) {
             $gman_punkte = $gman_punkte + $man_antritt;
         }
         // Datum und Uhrzeit für Meldung
         $now = $date->toMySQL();
         // Für Heimmannschaft updaten
         $query = "UPDATE #__clm_rnd_man" . " SET gemeldet = " . $meldung . " , zeit = '{$now}'" . " , brettpunkte = " . $hmpunkte . " , manpunkte = " . $hman_punkte . " , wertpunkte = " . $hwpunkte . " , comment = '" . $comment . "'" . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 1 ";
         $db->setQuery($query);
         $db->query();
         // Für Gastmannschaft updaten
         $query = "UPDATE #__clm_rnd_man" . " SET gemeldet = " . $meldung . " , zeit = '{$now}'" . " , brettpunkte = " . $gmpunkte . " , manpunkte = " . $gman_punkte . " , wertpunkte = " . $gwpunkte . " , comment = '" . $comment . "'" . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 0 ";
         $db->setQuery($query);
         $db->query();
     } else {
         // Datensätze in Spielertabelle schreiben
         for ($y = 1; $y < 1 + $stamm; $y++) {
             $heim = JRequest::getVar('heim' . $y);
             $gast = JRequest::getVar('gast' . $y);
             $ergebnis = JRequest::getVar('ergebnis' . $y);
             $kampflos = 0;
             if ($ergebnis > 3) {
                 $kampflos = 1;
             } else {
                 $kampflos = 0;
             }
             if ($ergebnis == 1) {
                 $erg_h = $nieder + $antritt;
                 $erg_g = $sieg + $antritt;
             }
             if ($ergebnis == 2) {
                 $erg_h = $sieg + $antritt;
                 $erg_g = $nieder + $antritt;
             }
             if ($ergebnis == 3) {
                 $erg_h = $remis + $antritt;
                 $erg_g = $remis + $antritt;
             }
             if ($ergebnis == 4) {
                 $erg_h = $antritt;
                 $erg_g = $antritt;
             }
             if ($ergebnis == 5) {
                 $erg_h = 0;
                 $erg_g = $sieg + $antritt;
             }
             if ($ergebnis == 6) {
                 $erg_h = $sieg + $antritt;
                 $erg_g = 0;
             }
             if ($ergebnis == 7) {
                 $erg_h = 0;
                 $erg_g = 0;
             }
             if ($ergebnis == 8) {
                 $erg_h = 0;
                 $erg_g = 0;
             }
             if ($ergebnis == 9) {
                 $erg_h = 0;
                 $erg_g = 0;
             }
             // WICHTIG wegen NULL / SELECTED Problem
             $ergebnis--;
             $theim = explode("-", $heim);
             $thmgl = $theim[0];
             $thzps = $theim[1];
             $tgast = explode("-", $gast);
             $tgmgl = $tgast[0];
             $tgzps = $tgast[1];
             // Heim updaten
             $query = "UPDATE #__clm_rnd_spl " . " SET spieler = " . $thmgl . " , zps = '{$thzps}'" . " , gegner = " . $tgmgl . " , gzps = '{$tgzps}'" . " , ergebnis = " . $ergebnis . " , kampflos = " . $kampflos . " , punkte = " . $erg_h . " , tln_nr = " . $id_tln . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND brett = " . $y . " AND heim = 1 ";
             $db->setQuery($query);
             $db->query();
             // Gast updaten
             $query = "UPDATE #__clm_rnd_spl " . " SET spieler = " . $tgmgl . " , zps = '{$tgzps}'" . " , gegner = " . $thmgl . " , gzps = '{$thzps}'" . " , ergebnis = " . $ergebnis . " , kampflos = " . $kampflos . " , punkte = " . $erg_g . " , tln_nr = " . $id_geg . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND brett = " . $y . " AND heim = 0 ";
             $db->setQuery($query);
             $db->query();
         }
         // Prüfen ob Turnierergebnis geändert wurde. Wenn ja dann keine MP oder BP updaten !
         $query = " SELECT COUNT(dwz_edit) as edit FROM #__clm_rnd_spl " . " WHERE dwz_edit IS NOT NULL " . " AND sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg;
         $db->setQuery($query);
         $counter = $db->loadResult();
         if ($counter == "0") {
             // Brettpunkte Heim summieren
             $query = "SELECT SUM(punkte) as punkte " . " FROM #__clm_rnd_spl " . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 1 ";
             $db->setQuery($query);
             $man = $db->loadObjectList();
             $hmpunkte = $man[0]->punkte;
             // Wertpunkte Heim berechnen
             $query = "SELECT punkte, brett " . " FROM #__clm_rnd_spl " . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 1 ";
             $db->setQuery($query);
             $man_wp = $db->loadObjectList();
             $hwpunkte = 0;
             foreach ($man_wp as $man_wp) {
                 $hwpunkte = $hwpunkte + ($stamm + 1 - $man_wp->brett) * $man_wp->punkte;
             }
             // Anzahl kampflose Partien (Heim) zählen
             $query = "SELECT COUNT(kampflos) as kl " . " FROM #__clm_rnd_spl " . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 1 " . " AND kampflos > 0 ";
             $db->setQuery($query);
             $man_kl = $db->loadObjectList();
             $man_kl_punkte = $man_kl[0]->kl;
             // Brettpunkte Gast summieren
             $query = "SELECT SUM(punkte) as punkte " . " FROM #__clm_rnd_spl " . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 0 ";
             $db->setQuery($query);
             $gman = $db->loadObjectList();
             $gmpunkte = $gman[0]->punkte;
             // Wertpunkte Gast berechnen
             $query = "SELECT punkte, brett " . " FROM #__clm_rnd_spl " . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 0 ";
             $db->setQuery($query);
             $man_wp = $db->loadObjectList();
             $gwpunkte = 0;
             foreach ($man_wp as $man_wp) {
                 $gwpunkte = $gwpunkte + ($stamm + 1 - $man_wp->brett) * $man_wp->punkte;
             }
             // Anzahl kampflose Partien (Gast) zählen
             $query = "SELECT COUNT(kampflos) as kl " . " FROM #__clm_rnd_spl " . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 0 " . " AND kampflos > 0 ";
             $db->setQuery($query);
             $gman_kl = $db->loadObjectList();
             $gman_kl_punkte = $gman_kl[0]->kl;
         } else {
             JError::raiseNotice(6000, JText::_('ERGEBNISSE_ME_WERTUNG'));
         }
         // Teilnehmer ID bestimmen
         $query = " SELECT a.tln_nr,a.gegner " . " FROM #__clm_rnd_man as a" . " WHERE a.id = " . $id_id;
         $db->setQuery($query);
         $tlnr = $db->loadObjectList();
         $tln_nr = $tlnr[0]->tln_nr;
         $gegner = $tlnr[0]->gegner;
         // Mannschaftspunkte Heim / Gast
         $hman_punkte = 0;
         $gman_punkte = 0;
         if ($hmpunkte > 0 or $gmpunkte > 0) {
             // Mannschaftspunkte Heim / Gast
             // Standard : Mehrheit der BP gewinnt, BP gleich -> Punkteteilung
             if ($sieg_bed == 1) {
                 if ($hmpunkte > $gmpunkte) {
                     $hman_punkte = $man_sieg;
                     $gman_punkte = $man_nieder;
                 }
                 if ($hmpunkte == $gmpunkte) {
                     $hman_punkte = $man_remis;
                     $gman_punkte = $man_remis;
                 }
                 if ($hmpunkte < $gmpunkte) {
                     $hman_punkte = $man_nieder;
                     $gman_punkte = $man_sieg;
                 }
             }
             // erweiterter Standard : mehr als die Hälfte der BP -> Sieg, Hälfte der BP -> halbe MP Zahl
             if ($sieg_bed == 2) {
                 if ($hmpunkte > $stamm * ($sieg + $antritt) / 2) {
                     $hman_punkte = $man_sieg;
                 }
                 if ($hmpunkte == $stamm * ($sieg + $antritt) / 2) {
                     $hman_punkte = $man_remis;
                 }
                 if ($hmpunkte < $stamm * ($sieg + $antritt) / 2) {
                     $hman_punkte = $man_nieder;
                 }
                 if ($gmpunkte > $stamm * ($sieg + $antritt) / 2) {
                     $gman_punkte = $man_sieg;
                 }
                 if ($gmpunkte == $stamm * ($sieg + $antritt) / 2) {
                     $gman_punkte = $man_remis;
                 }
                 if ($gmpunkte < $stamm * ($sieg + $antritt) / 2) {
                     $gman_punkte = $man_nieder;
                 }
             }
             // Antrittspunkte addieren falls angetreten
             if ($stamm > $man_kl_punkte) {
                 $hman_punkte = $hman_punkte + $man_antritt;
             }
             if ($stamm > $gman_kl_punkte) {
                 $gman_punkte = $gman_punkte + $man_antritt;
             }
         }
         // Datum und Uhrzeit für Editorzeit
         $now = $date->toMySQL();
         // Für Heimmannschaft updaten
         $query = "UPDATE #__clm_rnd_man" . " SET editor = " . $meldung . " , edit_zeit = '{$now}'";
         if ($counter == "0") {
             $query = $query . " , brettpunkte = " . $hmpunkte . " , manpunkte = " . $hman_punkte . " , wertpunkte = " . $hwpunkte;
         }
         $query = $query . " , comment = '" . $comment . "'" . " , tln_nr = " . $tln_nr . " , gegner = " . $gegner . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 1 ";
         $db->setQuery($query);
         $db->query();
         // Für Gastmannschaft updaten
         $query = "UPDATE #__clm_rnd_man" . " SET editor = " . $meldung . " , edit_zeit = '{$now}'";
         if ($counter == "0") {
             $query = $query . " , brettpunkte = " . $gmpunkte . " , manpunkte = " . $gman_punkte . " , wertpunkte = " . $gwpunkte;
         }
         $query = $query . " , comment = '" . $comment . "'" . " , tln_nr = " . $gegner . " , gegner = " . $tln_nr . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 0 ";
         $db->setQuery($query);
         $db->query();
     }
     if ($runden_modus == 4 or $runden_modus == 5) {
         // KO Turnier
         //echo "<br>99runden_modus: ".$runden_modus;
         // Für Heimmannschaft updaten
         $query = "UPDATE #__clm_rnd_man" . " SET ko_decision = " . $ko_decision . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 1 ";
         $db->setQuery($query);
         $db->query();
         // Für Gastmannschaft updaten
         $query = "UPDATE #__clm_rnd_man" . " SET ko_decision = " . $ko_decision . " WHERE sid = " . $sid . " AND lid = " . $lid . " AND runde = " . $rnd . " AND paar = " . $paarung . " AND dg = " . $dg . " AND heim = 0 ";
         $db->setQuery($query);
         $db->query();
         if ($runden_modus == 4 or $runden_modus == 5 and $rnd < $runden) {
             // KO Turnierif ($ko_decision == 1) {
             if ($hmpunkte > $gmpunkte) {
                 $ko_par = 2;
             } elseif ($hmpunkte < $gmpunkte) {
                 $ko_par = 3;
             } elseif ($hwpunkte > $gwpunkte) {
                 $ko_par = 2;
             } else {
                 $ko_par = 3;
             }
             // Sieger Gast nach Wertpunkte
         } elseif ($ko_decision == 2) {
             $ko_par = 2;
         } elseif ($ko_decision == 4) {
             $ko_par = 2;
         } else {
             $ko_par = 3;
         }
         // Sieger Gast nach Blitz-,Los-Entscheid
         if ($ko_par == 2) {
             $ko_heim = $rnd;
             $ko_gast = $rnd - 1;
         } else {
             $ko_heim = $rnd - 1;
             $ko_gast = $rnd;
         }
         // Für Heimmannschaft updaten
         $query = "UPDATE #__clm_mannschaften" . " SET rankingpos = " . $ko_heim . " WHERE sid = " . $sid . " AND liga = " . $lid . " AND tln_nr = " . $tln_nr;
         $db->setQuery($query);
         $db->query();
         $query = "UPDATE #__clm_mannschaften" . " SET rankingpos = " . $ko_gast . " WHERE sid = " . $sid . " AND liga = " . $lid . " AND tln_nr = " . $gegner;
         $db->setQuery($query);
         $db->query();
     }
     CLMControllerErgebnisse::calculateRanking($sid, $lid);
     require_once JPATH_COMPONENT . DS . 'views' . DS . 'runden.php';
     CLMViewRunden::dwz($option, 0, $sid, $lid);
     switch ($task) {
         case 'apply':
             $msg = JText::_('ERGEBNISSE_AENDERUNG');
             $link = 'index.php?option=' . $option . '&section=' . $section . '&task=edit&cid[]=' . $id_id;
             break;
         case 'save':
         default:
             $row =& JTable::getInstance('ergebnisse', 'TableCLM');
             $row->checkin($id_id);
             $msg = JText::_('ERGEBNISSE_GESPEICHERT');
             $link = 'index.php?option=' . $option . '&section=' . $section;
             break;
     }
     // Log schreiben
     $clmLog = new CLMLog();
     if (!$id[0]->gemeldet) {
         $clmLog->aktion = JText::_('ERGEBNISSE_AKTION_GEMELDET');
     } else {
         $clmLog->aktion = JText::_('ERGEBNISSE_AKTION_EDIT');
     }
     $clmLog->params = array('sid' => $sid, 'lid' => $lid, 'rnd' => $rnd, 'paar' => $paarung, 'dg' => $dg);
     $clmLog->write();
     $mainframe->redirect($link, $msg);
 }
Exemplo n.º 2
0
 function dwz_start()
 {
     global $mainframe;
     // Check for request forgeries
     JRequest::checkToken() or die('Invalid Token');
     $db =& JFactory::getDBO();
     $cid = JRequest::getVar('cid', array(), '', 'array');
     $option = JRequest::getCmd('option');
     $section = JRequest::getVar('section');
     JArrayHelper::toInteger($cid);
     $row =& JTable::getInstance('runden', 'TableCLM');
     $row->load($cid[0]);
     $liga =& JTable::getInstance('ligen', 'TableCLM');
     $liga->load($row->liga);
     // keine Runde/Liga gewählt
     if ($cid[0] < 1) {
         JError::raiseWarning(500, JText::_('RUNDE_NO_AUSWERTEN'));
         $mainframe->redirect('index.php?option=' . $option . '&section=' . $section);
     }
     //Liga einschl. Saison wird durch User im Screen bestimmt
     $data =& JTable::getInstance('runden', 'TableCLM');
     // load the row from the db table
     $data->load($cid[0]);
     $sid = $data->sid;
     $lid = $data->liga;
     // Zeiger setzen auf ligaweite DWZ-Auswertung
     $dwz = 0;
     // Prüfen ob User Berechtigung zum auswerten hat
     if ($liga->sl !== CLM_ID and CLM_usertype !== 'admin') {
         JError::raiseWarning(500, JText::_('RUNDE_ST_AUSWER'));
         $link = 'index.php?option=' . $option . '&section=' . $section;
         $mainframe->redirect($link);
     }
     // Anzeige in Runden ob DWZ ausgewertet wurde
     $query = "SELECT a.lid,a.runde, a.dg, COUNT(a.runde) as cnt_rnd " . " FROM #__clm_rnd_man as a " . " WHERE a.sid = " . $sid . " AND a.lid = " . $lid . " AND a.gemeldet > 1 " . " GROUP BY a.lid, a.dg, a.runde ";
     $db->setQuery($query);
     $cnt_liga = $db->loadObjectList();
     foreach ($cnt_liga as $liga_dwz) {
         $query = " UPDATE #__clm_runden_termine ";
         $liga->load($liga_dwz->lid);
         if ($liga->runden_modus == 4) {
             $pairings = pow(2, $liga->runden - 0 - $liga_dwz->runde);
         } elseif ($liga->runden_modus == 5) {
             $pairings = pow(2, $liga->runden - 1 - $liga_dwz->runde);
             if ($pairings < 1) {
                 $pairings = 1;
             }
         } else {
             $pairings = $liga->teil / 2;
         }
         if ($liga_dwz->cnt_rnd < $pairings * 2) {
             $query = $query . " SET dwz = 2 ";
         } else {
             $query = $query . " SET dwz = 1 ";
         }
         $query = $query . " WHERE  sid = " . $sid . " AND liga = " . $liga_dwz->lid . " AND nr = " . ($liga_dwz->runde + ($liga_dwz->dg - 1) * $liga->runden);
         $db->setQuery($query);
         $db->query();
     }
     require_once JPATH_COMPONENT . DS . 'views' . DS . 'runden.php';
     CLMViewRunden::dwz($option, 0, $sid, $lid);
 }
Exemplo n.º 3
0
 function dwz_start()
 {
     global $mainframe;
     // Check for request forgeries
     JRequest::checkToken() or die('Invalid Token');
     $db =& JFactory::getDBO();
     $cid = JRequest::getVar('cid', array(), '', 'array');
     $option = JRequest::getCmd('option');
     $section = JRequest::getVar('section');
     JArrayHelper::toInteger($cid);
     // keine Saison gewählt
     if ($cid[0] < 1) {
         JError::raiseWarning(500, JText::_('SAISON_NO_AUSWERTEN'));
         $mainframe->redirect('index.php?option=' . $option . '&section=' . $section);
     }
     //Saison wird durch User im Screen bestimmt
     $row =& JTable::getInstance('saisons', 'TableCLM');
     $row->load($cid[0]);
     // load the row from the db table
     $sid = $row->id;
     // Zeiger setzen auf saisonweite DWZ-Auswertung
     $dwz = 1;
     // Prüfen ob User Berechtigung zum auswerten hat
     if (CLM_usertype !== 'admin') {
         JError::raiseWarning(500, JText::_('SAISON_ST_AUSWER'));
         $link = 'index.php?option=' . $option . '&section=' . $section;
         $mainframe->redirect($link);
     }
     require_once JPATH_COMPONENT . DS . 'views' . DS . 'runden.php';
     CLMViewRunden::dwz($option, 1, $sid, 0);
 }