function edit() { $mainframe = JFactory::getApplication(); $option = JRequest::getCmd('option'); $filter_vid = $mainframe->getUserStateFromRequest("{$option}.filter_vid", 'filter_vid', 0, 'var'); $filter_sid = $mainframe->getUserStateFromRequest("{$option}.filter_sid", 'filter_sid', 0, 'int'); $filter_gid = $mainframe->getUserStateFromRequest("{$option}.filter_gid", 'filter_gid', 0, 'int'); $db = JFactory::getDBO(); $user = JFactory::getUser(); $task = JRequest::getVar('task'); $cid = JRequest::getVar('cid', array(0), '', 'array'); $section = JRequest::getVar('section'); JArrayHelper::toInteger($cid, array(0)); $row = JTable::getInstance('ranglisten', 'TableCLM'); $vname = ""; $gname = ""; $sname = ""; if ($task == 'edit') { // illegaler Einbruchversuch über URL ! // evtl. mitschneiden !?! $saison = JTable::getInstance('saisons', 'TableCLM'); $saison->load($row->sid); if ($saison->archiv == "1") { // AND clm_core::$access->getType() !== 'admin') { JError::raiseWarning(500, JText::_('RANGLISTE_ARCHIV')); $mainframe->redirect('index.php?option=' . $option . '§ion=vereine', $msg); } if ($cid[0] == "" and $task == 'edit') { JError::raiseWarning(500, JText::_('RANGLISTE_FALSCH')); $mainframe->redirect('index.php?option=' . $option . '§ion=vereine', $msg); } // load the row from the db table $row->load($cid[0]); $sql = " SELECT Vereinname as vname FROM #__clm_dwz_vereine " . " WHERE ZPS ='" . $row->zps . "'" . " AND sid =" . $row->sid; $db->setQuery($sql); $vid = $db->loadObjectList(); $vname = $vid[0]->vname; $sql = " SELECT Gruppe as gname FROM #__clm_rangliste_name " . " WHERE id =" . $row->gid . " AND sid =" . $row->sid; $db->setQuery($sql); $gruppe = $db->loadObjectList(); $gname = $gruppe[0]->gname; $sql = " SELECT name as sname FROM #__clm_saison " . " WHERE id =" . $row->sid; $db->setQuery($sql); $saison = $db->loadObjectList(); $sname = $saison[0]->sname; } // Prüfen ob die gewählte Liste bereits existiert if ($filter_gid and $filter_vid and $filter_sid) { $sql = " SELECT id FROM #__clm_rangliste_id " . " WHERE gid =" . intval($filter_gid) . " AND sid = " . intval($filter_sid) . " AND zps = '{$filter_vid}'"; $db->setQuery($sql); $gid_check = $db->loadObjectList(); if (count($gid_check) == 0) { $exist = 0; } else { $exist = $gid_check[0]->id; } } else { $exist = 0; } // Prüfen ob Gruppe existiert if ($filter_gid and $filter_sid) { $sql = " SELECT id FROM #__clm_rangliste_name " . " WHERE sid = " . intval($filter_sid); $db->setQuery($sql); $gid_id = $db->loadObjectList(); $gid_exist = $gid_id[0]->id; } else { $gid_exist = 0; } // Rangliste in Abhängigkeit der Auswahl von vid,lid,sid ausgeben if ($task == 'edit') { $sql = " ALTER TABLE #__clm_rangliste_spieler order by sid desc,gruppe asc,zps asc,man_nr asc,Rang asc "; $db->setQuery($sql); $db->query(); $sql = " SELECT Meldeschluss, geschlecht, alter_grenze, `alter` " . " FROM #__clm_rangliste_name" . " WHERE id =" . $row->gid . " AND sid = " . $row->sid; $sql_zps = $row->zps; $sql_gid = $row->gid; $sql_sid = $row->sid; } else { $sql = " SELECT Meldeschluss, geschlecht, alter_grenze, `alter` " . " FROM #__clm_rangliste_name" . " WHERE id =" . intval($filter_gid) . " AND sid = " . intval($filter_sid); $sql_zps = $filter_vid; $sql_gid = intval($filter_gid); $sql_sid = intval($filter_sid); } $db->setQuery($sql); $gid = $db->loadObjectList(); $ges = ""; $geb = ""; if ($gid) { $melde = explode("-", $gid[0]->Meldeschluss); $jahr = $melde[0]; if ($gid[0]->alter_grenze == "1") { $geb = " AND a.Geburtsjahr < " . ($jahr - $gid[0]->alter); } if ($gid[0]->alter_grenze == "2") { $geb = " AND a.Geburtsjahr > " . ($jahr - ($gid[0]->alter + 1)); } if ($gid[0]->geschlecht == 1) { $ges = " AND a.Geschlecht = 'W' "; } if ($gid[0]->geschlecht == 2) { $ges = " AND a.Geschlecht = 'M' "; } } if ($task == 'edit') { $sql = " SELECT r.Rang, r.man_nr, a.sid,a.ZPS,a.Mgl_Nr,a.PKZ, a.DWZ," . " a.DWZ_Index,a.Geburtsjahr,a.Spielername" . " FROM #__clm_dwz_spieler as a" . " LEFT JOIN #__clm_rangliste_id as i ON i.sid = a.sid AND i.zps = a.ZPS " . " LEFT JOIN #__clm_rangliste_spieler as r ON r.sid = a.sid AND r.ZPS = a.ZPS AND r.Mgl_Nr = a.Mgl_Nr AND r.Gruppe = i.gid " . " WHERE a.ZPS = '{$sql_zps}'" . " AND i.id = " . $cid[0] . $geb . $ges . " ORDER BY r.man_nr,r.Rang ASC, a.DWZ DESC, a.DWZ_Index ASC, a.Spielername ASC "; } else { $sql = " SELECT a.sid,a.ZPS,a.Mgl_Nr,a.PKZ,a.DWZ,a.DWZ_Index,a.Geburtsjahr,a.Spielername" . " FROM #__clm_dwz_spieler as a" . " WHERE a.ZPS = '{$sql_zps}'" . " AND sid =" . $sql_sid . $geb . $ges . " ORDER BY a.DWZ DESC, a.DWZ_Index ASC, a.Spielername ASC "; } $db->setQuery($sql); $spieler = $db->loadObjectList(); // Anzahl Einträge zählen $sql = " SELECT COUNT(ZPS) as ZPS FROM #__clm_rangliste_spieler " . " WHERE Gruppe =" . $sql_gid . " AND sid = " . $sql_sid . " AND zps = '{$sql_zps}'"; $db->setQuery($sql); $count_id = $db->loadObjectList(); $count = $count_id[0]->ZPS; if (isset($row->liga)) { $sql = " SELECT sl FROM #__clm_liga " . " WHERE id =" . $row->liga; $db->setQuery($sql); $lid = $db->loadObjectList(); } else { $lid = 0; } $clmAccess = clm_core::$access; if ($clmAccess->access('BE_club_edit_ranking') === false and $task == 'edit') { JError::raiseWarning(500, JText::_('RANGLISTE_STAFFEL')); $link = 'index.php?option=' . $option . '§ion=' . $section; $mainframe->redirect($link); } if ($task == 'edit') { // do stuff for existing records $row->checkout($user->get('id')); } else { // do stuff for new records $row->published = 0; } $lists['published'] = JHtml::_('select.booleanlist', 'published', 'class="inputbox"', $row->published); // Saisonliste // $sql = "SELECT id, name FROM #__clm_saison WHERE archiv =0"; $db->setQuery($sql); $saisonlist[] = JHtml::_('select.option', '0', JText::_('RANGLISTE_SAISON_WAE'), 'id', 'name'); $saisonlist = array_merge($saisonlist, $db->loadObjectList()); $lists['sid'] = JHtml::_('select.genericlist', $saisonlist, 'filter_sid', 'class="inputbox" size="1" onchange="javascript:edit();"', 'id', 'name', intval($filter_sid)); if ($filter_sid == 0) { $filter_sid = clm_core::$access->getSeason(); } // Gruppenliste // $sql = "SELECT id as gid, Gruppe FROM #__clm_rangliste_name" . " WHERE sid =" . intval($filter_sid) . " AND published = 1"; $db->setQuery($sql); if (!$db->query()) { $this->setRedirect('index.php?option=' . $option . '§ion=' . $section); return JError::raiseWarning(500, $db->getErrorMsg()); } $gruppenlist[] = JHtml::_('select.option', '0', JText::_('RANGLISTE_GRUPPE_AUS'), 'gid', 'Gruppe'); $gruppenlist = array_merge($gruppenlist, $db->loadObjectList()); $lists['gruppe'] = JHtml::_('select.genericlist', $gruppenlist, 'filter_gid', 'class="inputbox" size="1" onchange="javascript:edit();"', 'gid', 'Gruppe', intval($filter_gid)); // Vereinliste // Vereinefilter laden $vereinlist = CLMFilterVerein::vereine_filter(0); $lists['vid'] = JHtml::_('select.genericlist', $vereinlist, 'filter_vid', 'class="inputbox" size="1" onchange="javascript:edit();"', 'zps', 'name', $filter_vid); require_once JPATH_COMPONENT . DS . 'views' . DS . 'ranglisten.php'; $jid = 0; CLMViewRanglisten::Rangliste($spieler, $row, $lists, $option, $jid, $vname, $gname, $sname, $cid, $exist, $count, $gid_exist); }