function clm_api_view_tournament() { $lang = clm_core::$lang->tournament; $table = new clm_class_table("tournament", "db_tournament", 15, 13); if (clm_core::$access->access('BE_tournament_create') !== false) { $table->add_button($lang->categories, $lang->categories_title, clm_core::$load->gen_url(array("view" => "catmain")), "clm_table_url clm_button clm_button_big clm_button_big_article"); $table->add_button($lang->special, $lang->special_title, clm_core::$load->gen_url(array("view" => "sonderranglistenmain")), "clm_table_url clm_button clm_button_big clm_button_big_article"); $table->add_button($lang->new, $lang->new_title, clm_core::$load->gen_url(array("view" => "turform")), "clm_table_url clm_button clm_button_new clm_button_big clm_button_big_new"); } if (clm_core::$access->access('BE_tournament_create') !== false) { $table->add_button($lang->copy, $lang->copy_title, json_encode(array("db_tournament_copy", array("", false))), "clm_table_event clm_button clm_button_new clm_button_big clm_button_big_save-copy"); } if (clm_core::$access->access('BE_tournament_delete') !== false) { $table->add_button($lang->del, $lang->del_title, json_encode(array("db_tournament_del", array("", false))), "clm_table_event clm_button clm_button_del clm_table_confirm clm_button_big clm_button_big_delete"); } if (clm_core::$access->access('BE_tournament_edit_detail') !== false) { $table->add_button($lang->edit, $lang->edit_title, clm_core::$load->gen_url(array("view" => "turform", "task" => "edit"), array("id")) . "&id=", "clm_table_multi clm_button clm_button_edit clm_button_big clm_button_big_edit"); } if (clm_core::$access->access('BE_tournament_edit_round') !== false) { $table->add_button($lang->newRounds, $lang->newRounds_title, json_encode(array("db_tournament_genRounds", array("", false))), "clm_table_event clm_button clm_button_new clm_button_big clm_button_big_back"); $table->add_button($lang->delRounds, $lang->delRounds_title, json_encode(array("db_tournament_delRounds", array("", false))), "clm_table_event clm_button clm_button_del clm_table_confirm clm_button_big clm_button_big_cancel"); $table->add_button($lang->dwzUpdate, $lang->dwzUpdate_title, json_encode(array("db_tournament_updateDWZ", array("", false))), "clm_table_event clm_button clm_button_edit clm_table_confirm clm_button_big clm_button_big_default"); $table->add_button($lang->dwzGen, $lang->dwzGen_title, json_encode(array("db_tournament_genDWZ", array("", false))), "clm_table_event clm_button clm_button_new clm_button_big clm_button_big_refresh"); $table->add_button($lang->dwzDel, $lang->dwzDel_title, json_encode(array("db_tournament_delDWZ", array("", false))), "clm_table_event clm_button clm_button_del clm_button_big clm_button_big_cancel"); } if (clm_core::$access->access('BE_tournament_edit_detail') !== false) { $table->add_button($lang->public, $lang->public_title, json_encode(array("db_tournament_publish", array("", true, false))), "clm_table_event clm_button clm_button_edit clm_button_big clm_button_big_publish"); $table->add_button($lang->hide, $lang->hide_title, json_encode(array("db_tournament_publish", array("", false, false))), "clm_table_event clm_button clm_button_edit clm_button_big clm_button_big_unpublish"); } // Ordering (besondere Behandlung) if (clm_core::$access->access('BE_tournament_edit_detail') !== false) { $table->add_button($lang->ordering, $lang->ordering_title, json_encode(array("db_ordering", array("", "", "turniere"))), "clm_table_ordering clm_button clm_button_save_icon"); } $season = array("" => $lang->season); $category = array("" => $lang->category); $fix = clm_core::$api->db_season_array(1); $season += $fix[2]; list($parentArray, $parentKeys, $parentChilds) = clm_class_category::get(); $category += $parentArray; $table->add_filter_field("catidAlltime:catidEdition", $category); $table->add_filter_field("sid", $season, clm_core::$access->getSeason()); $table->add_filter_field("typ", array("" => $lang->mode0, 1 => $lang->mode1, 2 => $lang->mode2, 3 => $lang->mode3, 4 => $lang->mode4, 5 => $lang->mode5, 6 => $lang->mode6)); $table->add_filter_field("published", array("" => $lang->status0, 1 => $lang->status1, 0 => $lang->status2)); $fix = clm_core::$load->load_view("table", $table->result()); return array(true, "m_tableSuccess", "<div class='clm'>" . $fix[1] . "</div>"); }
function clm_api_view_tournament_group($liga = 2) { if (clm_core::$access->access('BE_league_general') == 0 && clm_core::$access->access('BE_teamtournament_general') == 0) { return array(false, "e_noRights"); } $table = new clm_class_table("tournament_group", "db_tournament_group", 15, 13); //Andere Position? clm_core::$load->load_js("modal"); clm_core::$load->load_css("modal"); //Andere Position? $lang = clm_core::$lang->tournament_group; //CLM parameter auslesen $config = clm_core::$db->config(); $countryversion = $config->countryversion; if (clm_core::$access->access('BE_teamtournament_create') !== false or clm_core::$access->access('BE_league_create') !== false) { $table->add_button($lang->categories, $lang->categories_title, clm_core::$load->gen_url(array("view" => "catmain")), "clm_table_url clm_button clm_button_big clm_button_big_article"); } if (clm_core::$access->access('BE_league_create') !== false) { $table->add_button($lang->newLeague, $lang->newLeague_title, clm_core::$load->gen_url(array("section" => "ligen"), array("view")), "clm_table_url clm_button clm_button_new clm_button_big clm_button_big_new"); } if (clm_core::$access->access('BE_teamtournament_create') !== false) { $table->add_button($lang->newNoneLeague, $lang->newNoneLeague_title, clm_core::$load->gen_url(array("section" => "mturniere"), array("view")), "clm_table_url clm_button clm_button_new clm_button_big clm_button_big_new"); } if (clm_core::$access->access('BE_league_create') !== false || clm_core::$access->access('BE_teamtournament_create') !== false) { $table->add_button($lang->copy, $lang->copy_title, json_encode(array("db_tournament_copy", array("", true))), "clm_table_event clm_button clm_button_new clm_button_big clm_button_big_save-copy"); } if (clm_core::$access->access('BE_league_delete') !== false || clm_core::$access->access('BE_teamtournament_delete') !== false) { $table->add_button($lang->del, $lang->del_title, json_encode(array("db_tournament_del", array("", true))), "clm_table_event clm_button clm_button_del clm_table_confirm clm_button_big clm_button_big_delete"); } if (clm_core::$access->access('BE_league_edit_detail') !== false || clm_core::$access->access('BE_teamtournament_edit_detail') !== false) { /* Erst wenn Ligen und Mannschaftsturniere mit der selben Ansicht bearbeitet werden können, kann dies hier angepasst wieder aktiviert werden. $table->add_button($lang->edit,$lang->edit_title,clm_core::$load->gen_url(array("view"=>"ligen","task"=>"edit"),array("id"))."&id=","clm_table_multi clm_button clm_button_edit clm_button_big clm_button_big_edit"); */ $table->add_button($lang->ranking, $lang->ranking_title, json_encode(array("db_tournament_ranking", array("", true))), "clm_table_event clm_button clm_button_new clm_button_big clm_button_big_default"); $table->add_button($lang->sort, $lang->sort_title, json_encode(array("db_tournament_sortByTWZ", array("", true))), "clm_table_event clm_button clm_button_new clm_button_big clm_button_big_default"); } if (clm_core::$access->access('BE_league_edit_round') !== false || clm_core::$access->access('BE_teamtournament_edit_round') !== false) { $table->add_button($lang->newRounds, $lang->newRounds_title, json_encode(array("db_tournament_genRounds", array("", true))), "clm_table_event clm_button clm_button_new clm_button_big clm_button_big_back"); $table->add_button($lang->delRounds, $lang->delRounds_title, json_encode(array("db_tournament_delRounds", array("", true))), "clm_table_event clm_button clm_button_del clm_table_confirm clm_button_big clm_button_big_cancel"); if ($countryversion == "de") { $table->add_button($lang->dwzUpdate, $lang->dwzUpdate_title, json_encode(array("db_tournament_updateDWZ", array("", true))), "clm_table_event clm_button clm_button_edit clm_table_confirm clm_button_big clm_button_big_default"); $table->add_button($lang->dwzGen, $lang->dwzGen_title, json_encode(array("db_tournament_genDWZ", array("", true))), "clm_table_event clm_button clm_button_new clm_button_big clm_button_big_refresh"); $table->add_button($lang->dwzDel, $lang->dwzDel_title, json_encode(array("db_tournament_delDWZ", array("", true))), "clm_table_event clm_button clm_button_del clm_button_big clm_button_big_cancel"); } } if (clm_core::$access->access('BE_league_edit_detail') !== false || clm_core::$access->access('BE_teamtournament_edit_detail') !== false) { $table->add_button($lang->public, $lang->public_title, json_encode(array("db_tournament_publish", array("", true, true))), "clm_table_event clm_button clm_button_edit clm_button_big clm_button_big_publish"); $table->add_button($lang->hide, $lang->hide_title, json_encode(array("db_tournament_publish", array("", false, true))), "clm_table_event clm_button clm_button_edit clm_button_big clm_button_big_unpublish"); } // Ordering (besondere Behandlung) if (clm_core::$access->access('BE_league_edit_detail') !== false || clm_core::$access->access('BE_teamtournament_edit_detail') !== false) { $table->add_button($lang->ordering, $lang->ordering_title, json_encode(array("db_ordering", array("", "", "liga"))), "clm_table_ordering clm_button clm_button_save_icon"); } $season = array("" => $lang->season); $category = array("" => $lang->category); $fix = clm_core::$api->db_season_array(1); $season += $fix[2]; list($parentArray, $parentKeys, $parentChilds) = clm_class_category::get(); $category += $parentArray; $table->add_filter_field("catidAlltime:catidEdition", $category); $table->add_filter_field("sid", $season, clm_core::$access->getSeason()); $table->add_filter_field("runden_modus", array("" => $lang->mode0, 1 => $lang->mode1, 2 => $lang->mode2, 3 => $lang->mode3, 4 => $lang->mode4, 5 => $lang->mode5)); // Freie Auswahl zwischen Ligen und Mannschaftsturniere if (clm_core::$access->access('BE_league_general') == 1 && clm_core::$access->access('BE_teamtournament_general') == 1) { if ($liga == 2) { $selected = ""; } elseif ($liga == 1) { $selected = 0; } else { $selected = 1; } $table->add_filter_field("liga_mt", array("" => $lang->liga_mt0, 0 => $lang->liga_mt1, 1 => $lang->liga_mt2), $selected); } else { if (clm_core::$access->access('BE_league_general') == 1) { $table->add_filter_field("liga_mt", array(0 => $lang->liga_mt1)); } else { if (clm_core::$access->access('BE_teamtournament_general') == 1) { $table->add_filter_field("liga_mt", array(1 => $lang->liga_mt2)); } } } $table->add_filter_field("published", array("" => $lang->status0, 1 => $lang->status1, 0 => $lang->status2)); $fix = clm_core::$load->load_view("table", $table->result()); return array(true, "m_tableSuccess", "<div class='clm'>" . $fix[1] . "</div>"); }
function clm_api_db_tournament() { $table = '#__clm_turniere'; $primaryKey = 'id'; $columns = array(array('db' => 'id', 'dt' => 0), array('db' => 'name', 'dt' => 1), array('db' => 'sid', 'dt' => 2), array('db' => 'dateStart', 'dt' => 3), array('db' => 'invitationText', 'dt' => 4), array('db' => 'vereinZPS', 'dt' => 5), array('db' => 'typ', 'dt' => 6), array('db' => 'runden', 'dt' => 7), array('db' => 'teil', 'dt' => 8), array('db' => 'tl', 'dt' => 9), array('db' => 'id', 'dt' => 10), array('db' => 'rnd', 'dt' => 11), array('db' => 'published', 'dt' => 12), array('db' => 'ordering', 'dt' => 13), array('db' => 'id', 'dt' => 14)); $allowed = array("typ" => "i", "published" => "i", "sid" => "i", "catidAlltime:catidEdition" => "i"); $out = clm_class_DataTables::simple($_POST, $table, $primaryKey, $columns, $allowed, clm_core::$db); $lang = clm_core::$lang->tournament; $clmAccess = clm_core::$access; for ($i = 0; $i < count($out["data"]); $i++) { $out["data"][$i][0] = $i + 1; $out["data"][$i][1] = clm_class_category::name($out["data"][$i][14], false); if (!($out["data"][$i][9] != $clmAccess->getJid() and $clmAccess->access('BE_tournament_edit_detail') !== true or $clmAccess->access('BE_tournament_edit_detail') === false)) { $out["data"][$i][1] = '<a href="' . clm_core::$load->gen_url(array("view" => "turform", "task" => "edit", "id" => $out["data"][$i][14])) . '">' . $out["data"][$i][1] . '</a>'; } // Saisonname statt sid Anzeigen $sid = intval($out["data"][$i][2]); $out["data"][$i][2] = clm_core::$db->saison->get($sid)->name; // dateStart durch dateStart und dateEnd ersetzen if (clm_core::$db->turniere->get($out["data"][$i][14])->dateStart != '0000-00-00') { $out["data"][$i][3] = clm_core::$load->date_to_string(clm_core::$db->turniere->get($out["data"][$i][14])->dateStart, false, true); if (clm_core::$db->turniere->get($out["data"][$i][14])->dateEnd != '0000-00-00') { $out["data"][$i][3] .= " " . $lang->until . " " . clm_core::$load->date_to_string(clm_core::$db->turniere->get($out["data"][$i][14])->dateEnd, false, true); } } else { $out["data"][$i][3] = $lang->unknownDate; } // Veranstalter / Ausrichter $out["data"][$i][5] = clm_core::$load->zps_to_district($out["data"][$i][5]); if (clm_core::$db->turniere->get($out["data"][$i][14])->bezirkTur == 1) { $out["data"][$i][5] = $lang->districtEvent . ($out["data"][$i][5] != "" ? "<br />" . $out["data"][$i][5] : ""); } // Ausschreibung if ($out["data"][$i][4] == "") { $out["data"][$i][4] = $lang->column3_no; } else { $out["data"][$i][4] = $lang->column3_yes; } if (!($out["data"][$i][9] != $clmAccess->getJid() and $clmAccess->access('BE_tournament_edit_detail') !== true or $clmAccess->access('BE_tournament_edit_detail') === false)) { $out["data"][$i][4] = '<a href="' . clm_core::$load->gen_url(array("view" => "turinvite", "task" => "edit", "id" => $out["data"][$i][14])) . '">' . $out["data"][$i][4] . '</a>'; } // Modus ID in Name umsetzen $out["data"][$i][6] = clm_core::$load->mode_to_name(intval($out["data"][$i][6]), false); // eingetragene Teilnehmer $query = 'SELECT COUNT(id)' . ' FROM #__clm_turniere_tlnr' . ' WHERE turnier = ' . $out["data"][$i][14]; if (!($out["data"][$i][9] != $clmAccess->getJid() and $clmAccess->access('BE_tournament_edit_detail') !== true or $clmAccess->access('BE_tournament_edit_detail') === false)) { $out["data"][$i][8] = '<a href="' . clm_core::$load->gen_url(array("view" => "turplayers", "task" => "edit", "id" => $out["data"][$i][14])) . '">' . $out["data"][$i][8] . " " . $lang->player . '</a>' . "<br/>" . $lang->open . clm_core::$db->count($query) . " " . $lang->registered . $lang->close; } else { $out["data"][$i][8] = $out["data"][$i][8] . " " . $lang->player . "<br/>" . $lang->open . clm_core::$db->count($query) . " " . $lang->registered . $lang->close; } // Runden mit Bestätigung/tl_ok // eingetragene Teilnehmer $query = 'SELECT COUNT(id)' . ' FROM #__clm_turniere_rnd_termine' . ' WHERE turnier = ' . $out["data"][$i][14] . ' AND tl_ok = \'1\''; // Durchläufe Anzeigen if (clm_core::$db->turniere->get($out["data"][$i][14])->dg > 1) { $out["data"][$i][7] = clm_core::$db->turniere->get($out["data"][$i][14])->dg . " x " . $out["data"][$i][7]; } if (!($out["data"][$i][9] != $clmAccess->getJid() and $clmAccess->access('BE_tournament_edit_detail') !== true or $clmAccess->access('BE_tournament_edit_detail') === false)) { $out["data"][$i][7] = '<a href="' . clm_core::$load->gen_url(array("view" => "turrounds", "task" => "edit", "id" => $out["data"][$i][14])) . '">' . $out["data"][$i][7] . " " . $lang->rounds . '</a>' . "<br/>" . $lang->open . clm_core::$db->count($query) . " " . $lang->confirmed . $lang->close; } else { $out["data"][$i][7] = $out["data"][$i][7] . " " . $lang->rounds . "<br/>" . $lang->open . clm_core::$db->count($query) . " " . $lang->confirmed . $lang->close; } // Turnierleiter $query = 'SELECT name' . ' FROM #__clm_user' . ' WHERE jid = ' . $out["data"][$i][9] . ' AND sid = ' . $sid; $result = clm_core::$db->loadAssocList($query); if (count($result) == 1) { $out["data"][$i][9] = $result[0]["name"]; } else { $out["data"][$i][9] = "-"; } // DWZ berechnet $params = clm_core::$db->turniere->get($out["data"][$i][10])->params; $params = new clm_class_params($params); if ($params->get("inofDWZ", "0") == "1") { $out["data"][$i][10] = '<button class="clm_table_image" value=\'["db_tournament_delDWZ",[' . $out["data"][$i][14] . ',false]]\'><img width="16" height="16" src="' . clm_core::$load->gen_image_url("table/apply") . '" /></button>'; } else { $out["data"][$i][10] = '<button class="clm_table_image" value=\'["db_tournament_genDWZ",[' . $out["data"][$i][14] . ',false]]\'><img width="16" height="16" src="' . clm_core::$load->gen_image_url("table/cancel") . '" /></button>'; } // Runden freigegeben if ($out["data"][$i][11] == 1) { $out["data"][$i][11] = '<button class="clm_table_image clm_button_del_danger" value=\'["db_tournament_delRounds",[' . $out["data"][$i][14] . ',false]]\'><img width="16" height="16" src="' . clm_core::$load->gen_image_url("table/apply") . '" /></button>'; } else { $out["data"][$i][11] = '<button class="clm_table_image" value=\'["db_tournament_genRounds",[' . $out["data"][$i][14] . ',false]]\'><img width="16" height="16" src="' . clm_core::$load->gen_image_url("table/cancel") . '" /></button>'; } // Veröffentlicht if ($out["data"][$i][12] == 1) { $out["data"][$i][12] = '<button class="clm_table_image " value=\'["db_tournament_publish",[' . $out["data"][$i][14] . ',false,false]]\'><img width="16" height="16" src="' . clm_core::$load->gen_image_url("table/apply") . '" /></button>'; } else { $out["data"][$i][12] = '<button class="clm_table_image" value=\'["db_tournament_publish",[' . $out["data"][$i][14] . ',true,false]]\'><img width="16" height="16" src="' . clm_core::$load->gen_image_url("table/cancel") . '" /></button>'; } $out["data"][$i][13] = '<input class="clm_table_orderingBox" onkeypress="return clm_isChangeNumber(event);" value="' . $out["data"][$i][13] . '" type="text">'; $out["data"][$i][13] .= '<input class="clm_table_orderingId" value="' . $out["data"][$i][14] . '" type="hidden">'; } return array(true, "m_tableSuccess", $out); }
function clm_api_db_tournament_group() { $table = '#__clm_liga'; $primaryKey = 'id'; $columns = array(array('db' => 'id', 'dt' => 0), array('db' => 'name', 'dt' => 1), array('db' => 'sid', 'dt' => 2), array('db' => 'runden_modus', 'dt' => 3), array('db' => 'runden', 'dt' => 4), array('db' => 'teil', 'dt' => 5), array('db' => 'stamm', 'dt' => 6), array('db' => 'sl', 'dt' => 7), array('db' => 'bemerkungen', 'dt' => 8), array('db' => 'mail', 'dt' => 9), array('db' => 'id', 'dt' => 10), array('db' => 'rnd', 'dt' => 11), array('db' => 'published', 'dt' => 12), array('db' => 'ordering', 'dt' => 13), array('db' => 'id', 'dt' => 14)); // Erzwinge Filter bei unzureichenden Berechtigungen if (clm_core::$access->access('BE_league_general') == 1 && clm_core::$access->access('BE_teamtournament_general') == 0) { if (in_array('liga_mt', $_POST["names"])) { $_POST["values"][array_search("liga_mt", $_POST["names"])] = "0"; } else { $_POST["names"][] = "liga_mt"; $_POST["values"][] = "0"; } } else { if (clm_core::$access->access('BE_league_general') == 0 && clm_core::$access->access('BE_teamtournament_general') == 1) { if (in_array('liga_mt', $_POST["names"])) { $_POST["values"][array_search("liga_mt", $_POST["names"])] = "1"; } else { $_POST["names"][] = "liga_mt"; $_POST["values"][] = "1"; } } } $allowed = array("runden_modus" => "i", "published" => "i", "sid" => "i", "catidAlltime:catidEdition" => "i", "liga_mt" => "i"); $out = clm_class_DataTables::simple($_POST, $table, $primaryKey, $columns, $allowed, clm_core::$db); $lang = clm_core::$lang->tournament_group; $clmAccess = clm_core::$access; for ($i = 0; $i < count($out["data"]); $i++) { if (clm_core::$db->liga->get($out["data"][$i][0])->liga_mt == 0) { $right = "league"; $section = "ligen"; } else { $right = "teamtournament"; $section = "mturniere"; } $out["data"][$i][0] = $i + 1; $out["data"][$i][1] = clm_class_category::name($out["data"][$i][14], true); if (!($out["data"][$i][7] != $clmAccess->getJid() and $clmAccess->access('BE_' . $right . '_edit_detail') !== true or $clmAccess->access('BE_' . $right . '_edit_detail') === false)) { //$out["data"][$i][1] = '<a href="'.clm_core::$load->gen_url(array("section"=>"ligen","task"=>"edit","cid[]"=>$out["data"][$i][14]),array("view")).'">'.$out["data"][$i][1].'</a>'; $out["data"][$i][1] = '<a href="' . clm_core::$load->gen_url(array("section" => $section, "task" => "edit", "cid[]" => $out["data"][$i][14]), array("view")) . '">' . $out["data"][$i][1] . '</a>'; } // Saisonname statt sid Anzeigen $sid = intval($out["data"][$i][2]); $out["data"][$i][2] = clm_core::$db->saison->get($sid)->name; // Modus ID in Name umsetzen $out["data"][$i][3] = clm_core::$load->mode_to_name(intval($out["data"][$i][3]), true); // Runden mit Bestätigung/sl_ok // eingetragene Teilnehmer $query = 'SELECT COUNT(id)' . ' FROM #__clm_runden_termine' . ' WHERE liga = ' . $out["data"][$i][14] . ' AND sl_ok = \'1\''; // Durchläufe Anzeigen if (clm_core::$db->liga->get($out["data"][$i][14])->durchgang > 1) { $out["data"][$i][4] = clm_core::$db->liga->get($out["data"][$i][14])->durchgang . " x " . $out["data"][$i][4]; } if (!($out["data"][$i][7] != $clmAccess->getJid() and $clmAccess->access('BE_' . $right . '_edit_detail') !== true or $clmAccess->access('BE_' . $right . '_edit_detail') === false) and $out["data"][$i][11] == 1) { $out["data"][$i][4] = '<a href="' . clm_core::$load->gen_url(array("section" => "runden", "liga" => $out["data"][$i][14]), array("view")) . '">' . $out["data"][$i][4] . " " . $lang->rounds . '</a>' . "<br/>" . $lang->open . clm_core::$db->count($query) . " " . $lang->confirmed . $lang->close; } else { $out["data"][$i][4] = $out["data"][$i][4] . " " . $lang->rounds . "<br/>" . $lang->open . clm_core::$db->count($query) . " " . $lang->confirmed . $lang->close; } // Stammspieler + Ersatzspieler $out["data"][$i][6] = $out["data"][$i][6] . " " . $lang->open . $lang->plus . " " . clm_core::$db->liga->get($out["data"][$i][14])->ersatz . $lang->close; // Turnierleiter $query = 'SELECT name' . ' FROM #__clm_user' . ' WHERE jid = ' . $out["data"][$i][7] . ' AND sid = ' . $sid; $result = clm_core::$db->loadAssocList($query); if (count($result) == 1) { $out["data"][$i][7] = $result[0]["name"]; } else { $out["data"][$i][7] = "-"; } if ($out["data"][$i][8] == "") { $out["data"][$i][8] = $lang->column9_no; } else { $out["data"][$i][8] = '<a href="javascript:void(0);" onclick=\'clm_modal_display("' . htmlspecialchars($out["data"][$i][8], ENT_QUOTES, "UTF-8") . '")\' href="javascript:;" >' . $lang->column9_yes . '</a>'; } // Mail if ($out["data"][$i][9] == 1) { $out["data"][$i][9] = '<button class="clm_table_image " value=\'["db_tournament_publish",[' . $out["data"][$i][14] . ',false,true,"mail"]]\'><img width="16" height="16" src="' . clm_core::$load->gen_image_url("table/apply") . '" /></button>'; } else { $out["data"][$i][9] = '<button class="clm_table_image" value=\'["db_tournament_publish",[' . $out["data"][$i][14] . ',true,true,"mail"]]\'><img width="16" height="16" src="' . clm_core::$load->gen_image_url("table/cancel") . '" /></button>'; } // DWZ berechnet $params = clm_core::$db->liga->get($out["data"][$i][10])->params; $params = new clm_class_params($params); if ($params->get("inofDWZ", "0") == "1") { $out["data"][$i][10] = '<button class="clm_table_image" value=\'["db_tournament_delDWZ",[' . $out["data"][$i][14] . ',true]]\'><img width="16" height="16" src="' . clm_core::$load->gen_image_url("table/apply") . '" /></button>'; } else { $out["data"][$i][10] = '<button class="clm_table_image" value=\'["db_tournament_genDWZ",[' . $out["data"][$i][14] . ',true]]\'><img width="16" height="16" src="' . clm_core::$load->gen_image_url("table/cancel") . '" /></button>'; } // Runden if ($out["data"][$i][11] == 1) { $out["data"][$i][11] = '<button class="clm_table_image " value=\'["db_tournament_delRounds",[' . $out["data"][$i][14] . ',true]]\'><img width="16" height="16" src="' . clm_core::$load->gen_image_url("table/apply") . '" /></button>'; } else { $out["data"][$i][11] = '<button class="clm_table_image" value=\'["db_tournament_genRounds",[' . $out["data"][$i][14] . ',true]]\'><img width="16" height="16" src="' . clm_core::$load->gen_image_url("table/cancel") . '" /></button>'; } // Veröffentlicht if ($out["data"][$i][12] == 1) { $out["data"][$i][12] = '<button class="clm_table_image " value=\'["db_tournament_publish",[' . $out["data"][$i][14] . ',false,true]]\'><img width="16" height="16" src="' . clm_core::$load->gen_image_url("table/apply") . '" /></button>'; } else { $out["data"][$i][12] = '<button class="clm_table_image" value=\'["db_tournament_publish",[' . $out["data"][$i][14] . ',true,true]]\'><img width="16" height="16" src="' . clm_core::$load->gen_image_url("table/cancel") . '" /></button>'; } $out["data"][$i][13] = '<input class="clm_table_orderingBox" onkeypress="return clm_isChangeNumber(event);" value="' . $out["data"][$i][13] . '" type="text">'; $out["data"][$i][13] .= '<input class="clm_table_orderingId" value="' . $out["data"][$i][14] . '" type="hidden">'; } return array(true, "m_tableSuccess", $out); }
private static function gen() { $query = "SELECT id, name, parentid FROM #__clm_categories"; $parentList = clm_core::$db->loadObjectList($query); $new = array(); for ($i = 0; $i < count($parentList); $i++) { $new[$parentList[$i]->id] = $parentList[$i]; } $parentList = $new; // Array speichert alle Kategorien in der Tiefe ihrer Verschachtelung $parentArray = array(); // Array speichert für alle Kategorien die spezielle einzelne parentID ab $parentID = array(); // Array speichert für alle Kategorien die Keys aller vorhandenen Parents ab $parentKeys = array(); // Array speichert für alle Kategorien die Childs ab $parentChilds = array(); // aufheben für Bearbeitung in parentChilds $saved_parentList = $parentList; // erste Ebene der Parents $parentsExisting = array(); // enthält alle IDs von Parents, die bereits ermittelt wurden foreach ($parentList as $key => $value) { if (!$value->parentid || $value->parentid == 0) { $parentArray[$key] = $value->name; // Name an ID binden $parentsExisting[] = $value->id; // ID als existierender Parent eintragen // Eintrag kann nun aus Liste gelöscht werden! unset($parentList[$key]); } } $continueLoop = 1; // Flag, ob Schleife weiterlaufen soll // noch Einträge vorhanden? while (count($parentList) > 0 and $continueLoop == 1) { $continueLoop = 0; // abschalten - erst wieder anschalten, wenn Eintrag gefunden // weitere Ebenen foreach ($parentList as $key => $value) { // checken, ob ParentID in Array der bereits ermittelten Parents vorhanden if (in_array($value->parentid, $parentsExisting)) { $parentArray[$key] = $parentArray[$value->parentid] . ' / ' . $value->name; // Parent $parentID[$key] = $value->parentid; // Key $parentKeys[$key] = array($value->parentid); // hatte Parent schon keys? if (isset($parentKeys[$value->parentid])) { $parentKeys[$key] = array_merge($parentKeys[$key], $parentKeys[$value->parentid]); } $parentsExisting[] = $value->id; // Eintrag kann nun aus Liste gelöscht werden! unset($parentList[$key]); $continueLoop = 1; // Flag, ob Schleife weiterlaufen soll } } } // alle Childs foreach ($saved_parentList as $key => $value) { // nur welche, die auch Kind sind, können Kindschaft den Parents anhängen if ($value->parentid > 0) { // allen Parents dieses Childs diesen Eintrag anhängen foreach ($parentKeys[$key] as $pvalue) { $parentChilds[$pvalue][] = $key; } } } self::$parentArray = $parentArray; self::$parentKeys = $parentKeys; self::$parentChilds = $parentChilds; self::$gen = true; }