Ejemplo n.º 1
0
 function sortByTWZ()
 {
     // Check for request forgeries
     JRequest::checkToken() or die('Invalid Token');
     global $mainframe;
     $db =& JFactory::getDBO();
     $user =& JFactory::getUser();
     $cid = JRequest::getVar('cid', array(0), '', 'array');
     $option = JRequest::getCmd('option');
     $section = JRequest::getVar('section');
     JArrayHelper::toInteger($cid, array(0));
     $lid = $cid[0];
     // keine Liga gewählt
     if ($lid < 1) {
         $msg = JText::_('MTURN_SORT_TWZ');
         $mainframe->redirect('index.php?option=' . $option . '&section=' . $section, $msg);
     }
     if (CLM_usertype != 'admin' and CLM_usertype != 'tl') {
         JError::raiseWarning(500, JText::_('TOURNAMENT_NO_ACCESS'));
         return FALSE;
     }
     // tournament started, already some results?
     $query = "SELECT COUNT(id) FROM `#__clm_rnd_spl`" . " WHERE lid =" . $lid;
     $db->setQuery($query);
     $count = $db->loadResult();
     if ($count > 0) {
         JError::raiseWarning(500, JText::_('MTURN_SORTING_NOT_POSSIBLE_EG'));
         $mainframe->redirect('index.php?option=' . $option . '&section=' . $section);
     }
     // load liga parameter
     $db = JFactory::getDBO();
     $id = @$options['id'];
     $query = " SELECT stamm,ersatz,sid,teil FROM #__clm_liga " . " WHERE id = " . $lid;
     $db->setQuery($query);
     $anoboards = $db->loadObjectList();
     $noboards = $anoboards[0]->stamm + $anoboards[0]->ersatz;
     //$noboards	= $anoboards[0]->stamm;
     $sid = $anoboards[0]->sid;
     $teil = $anoboards[0]->teil;
     $query = " SELECT m.tln_nr, m.id, AVG(d.DWZ) as twz " . " FROM #__clm_mannschaften AS m " . " LEFT JOIN #__clm_meldeliste_spieler AS a ON a.sid = m.sid AND a.lid = m.liga AND (a.zps = m.zps OR a.zps = m.sg_zps) AND a.mnr = m.man_nr " . " LEFT JOIN #__clm_dwz_spieler AS d ON d.sid = a.sid AND d.DWZ !=0 AND d.Mgl_Nr = a.mgl_nr AND d.ZPS = a.zps " . " WHERE m.liga = " . $lid . " AND m.sid = " . $sid . " AND a.snr < " . ($noboards + 1) . " GROUP BY m.tln_nr" . " ORDER BY twz DESC, tln_nr ASC";
     $db->setQuery($query);
     $teams = $db->loadObjectList();
     if (!isset($teams)) {
         JError::raiseWarning(500, JText::_('MTURN_SORTING_NOT_POSSIBLE_NM'));
         $mainframe->redirect('index.php?option=' . $option . '&section=' . $section);
     }
     $table =& JTable::getInstance('mannschaften', 'TableCLM');
     // $tlnr umsortieren
     $tlnr = 0;
     // alle Spieler durchgehen
     foreach ($teams as $value) {
         $tlnr++;
         $table->load($value->id);
         $table->tln_nr = $tlnr;
         $table->store();
     }
     require_once JPATH_COMPONENT . DS . 'controllers' . DS . 'ergebnisse.php';
     CLMControllerErgebnisse::calculateRanking($sid, $lid);
     // Log schreiben
     $clmLog = new CLMLog();
     $clmLog->aktion = JText::_('MTURN_AKTION_SORT_BY_TWZ');
     $table =& JTable::getInstance('ligen', 'TableCLM');
     $table->load($cid[0]);
     $clmLog->params = array('cids' => implode(',', $cid), 'lid' => $table->id, 'sid' => $table->sid);
     $clmLog->write();
     $msg = JText::_('MTURN_AKTION_SORT_BY_TWZ');
     $mainframe->redirect('index.php?option=' . $option . '&section=' . $section, $msg);
 }
Ejemplo n.º 2
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);
 }
Ejemplo n.º 3
0
     $query = "UPDATE #__clm_mannschaften" . " SET rankingpos = " . $ko_heim . " WHERE sid = " . $sid . " AND liga = " . $lid . " AND tln_nr = " . $tln_nr;
     $db->setQuery($query);
     $db->query();
     //echo "<br>ko_heim query: ".$ko_heim."  ".$query;
     //echo "<br>error: ".mysql_errno() . ": " . mysql_error(). "\n";
     // Für Gastmannschaft updaten
     $query = "UPDATE #__clm_mannschaften" . " SET rankingpos = " . $ko_gast . " WHERE sid = " . $sid . " AND liga = " . $lid . " AND tln_nr = " . $gegner;
     $db->setQuery($query);
     $db->query();
     //echo "<br>ko_gast query: ".$ko_gast."  ".$query;
     //echo "<br>error: ".mysql_errno() . ": " . mysql_error(). "\n";
     //die();
 }
 require_once JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_clm' . DS . 'controllers' . DS . 'ergebnisse.php';
 //require_once(JPATH_COMPONENT.DS.'controllers'.DS.'ergebnisse.php');
 CLMControllerErgebnisse::calculateRanking($sid, $lid);
 //require_once(JPATH_COMPONENT.DS.'views'.DS.'runden.php');
 //CLMViewRunden::dwz( $option, 0, $sid, $lid );
 //mtmt ende
 // Mails verschicken ?
 $query = "SELECT mail, name, runden FROM #__clm_liga" . " WHERE sid =" . $sid . " AND id =" . $lid;
 $db->setQuery($query);
 $mail = $db->loadObjectList();
 if ($mail[0]->mail > 0) {
     // Konfigurationsparameter auslesen
     $config =& JComponentHelper::getParams('com_clm');
     // Zur Abwärtskompatibilität mit CLM <= 1.0.3 werden alte Daten aus Language-Datei als Default eingelesen
     $from = $config->get('email_from', JText::_('RESULT_DATA_MAIL'));
     $fromname = $config->get('email_fromname', JText::_('RESULT_DATA_FROM'));
     $bcc = $config->get('email_bcc', $config->get('bcc'));
     // nur wegen sehr leistungsschwachen Providern