function get_links() { global $db; if (!isset($_SESSION['rights']['admin']['links']) and !isset($_SESSION['rights']['superadmin'])) { echo NO_ADMIN_RIGHTS; } else { $tpl = new smarty(); if (@$_GET['ajax']) { ob_end_clean(); } $links = array(); $result = $db->query('SELECT `linkID`, `name`, `url`, `bannerurl`, `beschreibung`, `hits` FROM ' . DB_PRE . 'ecp_links ORDER BY name ASC'); while ($row = mysql_fetch_assoc($result)) { $links[] = $row; } $tpl->assign('links', $links); ob_start(); $tpl->display(DESIGN . '/tpl/admin/links_overview.html'); $content = ob_get_contents(); ob_end_clean(); if (@$_GET['ajax']) { echo html_ajax_convert($content); die; } main_content(OVERVIEW, '<div id="links_overview">' . $content . '</div>', '', 1); } }
function get_smilies() { global $db; if (!isset($_SESSION['rights']['admin']['smilies']) and !isset($_SESSION['rights']['superadmin'])) { echo NO_ADMIN_RIGHTS; } else { $tpl = new smarty(); if (@$_GET['ajax']) { ob_end_clean(); } $smilies = array(); $result = $db->query('SELECT ID, filename, bedeutung FROM ' . DB_PRE . 'ecp_smilies ORDER BY ID ASC'); while ($row = mysql_fetch_assoc($result)) { $smilies[] = $row; } $tpl->assign('smilies', $smilies); ob_start(); $tpl->display(DESIGN . '/tpl/admin/smilies_overview.html'); $content = ob_get_contents(); ob_end_clean(); if (@$_GET['ajax']) { echo html_ajax_convert($content); die; } main_content(OVERVIEW, '<div id="smilie_overview">' . $content . '</div>', '', 1); } }
function get_teams() { global $db; $tpl = new smarty(); if (@$_GET['ajax']) { ob_end_clean(); } $teams = array(); $result = $db->query('SELECT tname, tID, info FROM ' . DB_PRE . 'ecp_teams ORDER BY posi ASC'); while ($row = mysql_fetch_assoc($result)) { $members = array(); $subresult = $db->query('SELECT `username`, `mID`, `userID`, `name`, `aufgabe`, `aktiv`, country FROM ' . DB_PRE . 'ecp_members LEFT JOIN ' . DB_PRE . 'ecp_user ON (ID = userID) WHERE teamID = ' . $row['tID'] . ' ORDER BY posi ASC'); while ($subrow = mysql_fetch_assoc($subresult)) { $subrow['aktiv'] ? $subrow['aktiv'] = '<span class="member_aktiv" style="cursor:pointer" onclick="member_switch_status(' . $row['tID'] . ', ' . $subrow['userID'] . ');">' . AKTIV . '</span>' : ($subrow['aktiv'] = '<span style="cursor:pointer" class="member_inaktiv" onclick="member_switch_status(' . $row['tID'] . ', ' . $subrow['userID'] . ');">' . INAKTIV . '</span>'); if ($subrow['name'] != '') { $subrow['username'] = $subrow['name']; } $members[] = $subrow; } $row['members'] = $members; $teams[] = $row; } $tpl->assign('teams', $teams); ob_start(); $tpl->display(DESIGN . '/tpl/admin/teams_overview.html'); $content = ob_get_contents(); ob_end_clean(); if (@$_GET['ajax']) { echo html_ajax_convert($content); die; } main_content(OVERVIEW, '<div id="teams_overview">' . $content . '</div>', '', 1); }
function get_ranks() { global $db; if (!isset($_SESSION['rights']['admin']['ranks']) and !isset($_SESSION['rights']['superadmin'])) { echo NO_ADMIN_RIGHTS; } else { $tpl = new smarty(); if (@$_GET['ajax']) { ob_end_clean(); } $ranks = array(); $result = $db->query('SELECT rankID, rankname, iconname, abposts, fest, money FROM ' . DB_PRE . 'ecp_ranks ORDER BY fest DESC, abposts, rankname'); while ($row = mysql_fetch_assoc($result)) { $row['abposts'] = format_nr($row['abposts'], 0); $row['money'] = format_nr($row['money'], 2); $ranks[] = $row; } $tpl->assign('ranks', $ranks); ob_start(); $tpl->display(DESIGN . '/tpl/admin/ranks_overview.html'); $content = ob_get_contents(); ob_end_clean(); if (@$_GET['ajax']) { echo html_ajax_convert($content); die; } main_content(OVERVIEW, '<div id="ranks_overview">' . $content . '</div>', '', 1); } }
function get_server() { global $db; if (!isset($_SESSION['rights']['admin']['server']) and !isset($_SESSION['rights']['superadmin'])) { echo NO_ADMIN_RIGHTS; } else { $tpl = new smarty(); if (@$_GET['ajax']) { ob_end_clean(); } $server = array(); $result = $db->query('SELECT `serverID`, `gamename`, response, `gametype`, `aktiv`, `displaymenu`, `ip`, `port`, `queryport`, `stat` FROM ' . DB_PRE . 'ecp_server ORDER BY posi ASC'); while ($row = mysql_fetch_assoc($result)) { $data = unserialize($row['response']); $row['path'] = 'images/server/maps/' . $row['gametype'] . '/' . $data['s']['game'] . '/' . $data['s']['map'] . '.jpg'; $server[] = $row; } $tpl->assign('server', $server); ob_start(); $tpl->display(DESIGN . '/tpl/admin/server_overview.html'); $content = ob_get_contents(); ob_end_clean(); if (@$_GET['ajax']) { echo html_ajax_convert($content); die; } main_content(OVERVIEW, '<div id="server_overview">' . $content . '</div>', '', 1); } }
function shoutbox_add() { global $db; if (isset($_GET['ajax'])) { $db->setMode(0); ob_end_clean(); ajax_convert_array($_POST); } $last = @$db->result(DB_PRE . 'ecp_comments', 'datum', 'bereich="shoutbox" AND (IP =\'' . strsave($_SERVER['REMOTE_ADDR']) . '\' OR (userID != 0 AND userID = ' . @(int) $_SESSION['userID'] . '))'); if (!@$_SESSION['userID'] and $_POST['shout_username'] == '' and $_POST['shout_captcha'] == '' and $_POST['shoutbox_msgbox'] == '') { if (isset($_GET['ajax'])) { echo html_ajax_convert(NOT_NEED_ALL_INPUTS); } else { table(ERROR, NOT_NEED_ALL_INPUTS); } } elseif (!@$_SESSION['userID'] and strtolower($_POST['shout_captcha']) != strtolower($_SESSION['captcha_mini'])) { if (isset($_GET['ajax'])) { echo html_ajax_convert(CAPTCHA_WRONG); } else { table(ERROR, CAPTCHA_WRONG); } } elseif (@$_SESSION['userID'] and $_POST['shoutbox_msgbox'] == '') { if (isset($_GET['ajax'])) { echo html_ajax_convert(NOT_NEED_ALL_INPUTS); } else { table(ERROR, NOT_NEED_ALL_INPUTS); } } elseif ($last > time() - SPAM_SHOUTBOX or @(int) $_COOKIE['shoutbox'] > time() - SPAM_SHOUTBOX) { $last > time() - SPAM_SHOUTBOX ? $zeit = SPAM_SHOUTBOX + $last - time() : ($zeit = SPAM_SHOUTBOX + $_COOKIE['shoutbox'] - time()); if (isset($_GET['ajax'])) { echo html_ajax_convert(str_replace(array('{sek}', '{zeit}'), array(SPAM_SHOUTBOX, $zeit), SPAM_PROTECTION_MSG)); } else { table(ERROR, str_replace(array('{sek}', '{zeit}'), array(SPAM_SHOUTBOX, $zeit), SPAM_PROTECTION_MSG)); } } else { $sql = sprintf('INSERT INTO ' . DB_PRE . 'ecp_comments (`bereich`, `userID`, `author`, `beitrag`, `datum`, `IP`) VALUES (\'shoutbox\', %d, \'%s\', \'%s\', %d, \'%s\')', @$_SESSION['userID'], strsave(htmlspecialchars(@$_POST['shout_username'])), strsave(htmlspecialchars(substr($_POST['shoutbox_msgbox'], 0, SHOUTBOX_MAX_CHARS))), time(), strsave($_SERVER['REMOTE_ADDR'])); if ($db->query($sql)) { setcookie('shoutbox', time(), time() + 365 * 86400); if (isset($_GET['ajax'])) { echo 'ok'; } else { if ($_SERVER['HTTP_REFERER'] != '') { header('Location: ' . $_SERVER['HTTP_REFERER'] . '#com_' . $db->last_id()); } else { header1('?section=news#com_' . $db->last_id()); } } } } if (isset($_GET['ajax'])) { die; } }
function admin_matchtype_edit($id) { global $db; $db->setMode(0); ob_end_clean(); ajax_convert_array($_POST); if (@$_SESSION['rights']['admin']['clanwars']['matchtype_edit'] or @$_SESSION['rights']['superadmin']) { if ($_POST['name'] == '') { echo NOT_NEED_ALL_INPUTS; } else { $sql = sprintf('UPDATE ' . DB_PRE . 'ecp_wars_matchtype SET `matchtypename` = \'%s\', `fightus` = %d WHERE matchtypeID= %d', strsave($_POST['name']), (int) @$_POST['fightus'], $id); if ($db->query($sql)) { echo 'ok'; } } } else { echo html_ajax_convert(NO_ADMIN_RIGHTS); } die; }
function get_events() { global $db; $events = array(); $db->query('SELECT calID, eventname, datum FROM ' . DB_PRE . 'ecp_calendar ORDER BY datum DESC'); while ($row = $db->fetch_assoc()) { $row['datum'] = date(LONG_DATE, $row['datum']); $events[] = $row; } $tpl = new smarty(); $tpl->assign('events', $events); ob_start(); $tpl->display(DESIGN . '/tpl/admin/calendar_overview.html'); $content = ob_get_contents(); ob_end_clean(); if (isset($_GET['ajax'])) { ob_end_clean(); echo html_ajax_convert($content); die; } else { return $content; } }
function admin_topics_del($id) { global $db; $db->setMode(0); ob_end_clean(); if (@$_SESSION['rights']['admin']['topics']['edit'] or @$_SESSION['rights']['superadmin']) { $db->query('SELECT newsID FROM ' . DB_PRE . 'ecp_news WHERE topicID = ' . $id); if ($db->num_rows()) { $sql = 'DELETE FROM ' . DB_PRE . 'ecp_comments WHERE bereich = \'news\' AND ('; while ($row = $db->fetch_assoc()) { $sql .= 'subID = ' . $row['newsID'] . ' OR '; } $db->query(substr($sql, 0, strlen($sql) - 3) . ')'); $db->query('DELETE FROM ' . DB_PRE . 'ecp_news WHERE topicID = ' . $id); } if ($db->query('DELETE FROM ' . DB_PRE . 'ecp_topics WHERE tID = ' . $id)) { echo 'ok'; } } else { echo html_ajax_convert(NO_ADMIN_RIGHTS); } die; }
function admin_news() { global $db; $tpl = new smarty(); if (@$_GET['func'] == 'pin') { ob_end_clean(); if ($db->result(DB_PRE . 'ecp_news', 'sticky', 'newsID = ' . (int) $_GET['id']) == 0) { $db->query('UPDATE ' . DB_PRE . 'ecp_news SET sticky = 1 WHERE newsID = ' . (int) $_GET['id']); } else { $db->query('UPDATE ' . DB_PRE . 'ecp_news SET sticky = 0 WHERE newsID = ' . (int) $_GET['id']); } $tpl->assign('ajax', 1); } $anzahl = $db->result(DB_PRE . 'ecp_news', 'COUNT(newsID)', 'datum > 0', 0); if ($anzahl) { $limits = get_sql_limit($anzahl, ADMIN_ENTRIES); $news = array(); $db->query('SELECT `newsID`, `topicID`, `datum`, `headline`, `topicname`, sticky FROM `' . DB_PRE . 'ecp_news` LEFT JOIN `' . DB_PRE . 'ecp_topics` ON (`topicID` = `tID`) ORDER BY sticky DESC, `datum` DESC LIMIT ' . $limits[1] . ', ' . ADMIN_ENTRIES); while ($row = $db->fetch_assoc()) { $row['datum'] = date(LONG_DATE, $row['datum']); $news[] = $row; } } $tpl->assign('seiten', makepagelink('?section=admin&site=news', isset($_GET['page']) ? $_GET['page'] : 1, $limits[0])); $tpl->assign('news', @$news); ob_start(); $tpl->display(DESIGN . '/tpl/admin/news.html'); $content = ob_get_contents(); ob_end_clean(); if (@$_GET['func'] == 'pin') { echo html_ajax_convert($content); die; } else { main_content(ADMIN_NEWS, $content, '', 1); } }
function admin_cms_edit($id) { global $db; ob_end_clean(); $db->setMode(0); ajax_convert_array($_POST); if (@$_SESSION['rights']['admin']['cms']['edit'] or @$_SESSION['rights']['superadmin']) { $lang = array(); foreach ($_POST as $key => $value) { if (strpos($key, 'cription_')) { $lang[substr($key, strpos($key, '_') + 1)] = $value; } } $head = array(); foreach ($_POST as $key => $value) { if (strpos($key, 'eadline_')) { $head[substr($key, strpos($key, '_') + 1)] = $value; } } if ($db->query(sprintf('UPDATE ' . DB_PRE . 'ecp_cms SET `headline` = \'%s\', `content` = \'%s\', `access` = \'%s\' WHERE cmsID = %d', strsave(json_encode($head)), strsave(json_encode($lang)), strsave(admin_make_rights($_POST['rights'])), $id))) { echo 'ok'; } } else { echo html_ajax_convert(NO_ADMIN_RIGHTS); } die; }
function admin_survey_edit($id) { ob_end_clean(); ajax_convert_array($_POST); if (@$_SESSION['rights']['admin']['awards']['edit'] or @$_SESSION['rights']['superadmin']) { global $db; $db->setMode(0); if ($_POST['frage'] == '' or !strtotime($_POST['start']) or !strtotime($_POST['ende']) or $_POST['sperre'] == '' or (int) $_POST['antworten'] < 1 or !count($_POST['rights']) or count($_POST) < 8) { echo NOT_NEED_ALL_INPUTS; } elseif (strtotime($_POST['ende']) < strtotime($_POST['start'])) { echo SURVEY_START_BIG_END; } else { if (in_array('all', $_POST['rights'])) { $rights = ''; } else { $rights = ','; foreach ($_POST['rights'] as $key) { $rights .= (int) $key . ','; } } $sql = sprintf('UPDATE ' . DB_PRE . 'ecp_survey SET `start` = %d, `ende` = %d, `frage` = \'%s\', `antworten` =%d, `sperre` = %d, `access` = \'%s\' WHERE surveyID = %d', strtotime($_POST['start']), strtotime($_POST['ende']), strsave($_POST['frage']), (int) $_POST['antworten'], (int) $_POST['sperre'] * (int) $_POST['multi'], strsave($rights), $id); if ($db->query($sql)) { foreach ($_POST as $key => $value) { if (strpos($key, 'answer_') !== false and $value != '') { if (strpos($key, '_old_')) { $nr = substr($key, 11); $db->query(sprintf('UPDATE ' . DB_PRE . 'ecp_survey_answers SET `answer` = \'%s\', votes = %d WHERE sID = %d AND answerID = %d', strsave($value), (int) $_POST['votes_' . $nr], $id, (int) $nr)); } else { $db->query(sprintf('INSERT INTO ' . DB_PRE . 'ecp_survey_answers (`sID`, `answer`) VALUES (%d, \'%s\')', $id, strsave($value))); } } } echo 'ok'; } } } else { echo html_ajax_convert(NO_ADMIN_RIGHTS); } die; }
function admin_forum_delete($id) { global $db; ob_end_clean(); $db->setMode(0); if (isset($_SESSION['rights']['admin']['forum']['del']) or isset($_SESSION['rights']['superadmin'])) { $result = $db->query('SELECT boardID FROM ' . DB_PRE . 'ecp_forum_boards WHERE boardparentID = ' . $id . ' OR boardID = ' . $id); while ($row = mysql_fetch_assoc($result)) { $db->query('DELETE FROM ' . DB_PRE . 'ecp_forum_abo WHERE boID = ' . $row['boardID']); $db->query('DELETE FROM ' . DB_PRE . 'ecp_forum_boards WHERE boardID = ' . $row['boardID']); $db->query('DELETE FROM ' . DB_PRE . 'ecp_forum_comments WHERE boardID = ' . $row['boardID']); $db->query('DELETE FROM ' . DB_PRE . 'ecp_forum_threads WHERE bID = ' . $row['boardID']); $db->query('DELETE FROM ' . DB_PRE . 'ecp_forum_ratings WHERE bID = ' . $row['boardID']); $db->query('DELETE FROM ' . DB_PRE . 'ecp_forum_ratings WHERE bID = ' . $row['boardID']); $db->query('SELECT attachID, strname FROM ' . DB_PRE . 'ecp_forum_attachments WHERE bID = ' . $row['boardID']); while ($sub = $db->fetch_assoc()) { @unlink('uploads/forum/' . $sub['attachID'] . '_' . $sub['strname']); } $db->query('DELETE FROM ' . DB_PRE . 'ecp_forum_attachments WHERE bID = ' . $row['boardID']); $subresult = $db->query('SELECT fsurveyID FROM ' . DB_PRE . 'ecp_forum_survey WHERE boardID = ' . $row['boardID']); while ($sub = mysql_fetch_array($subresult)) { $db->query('DELETE FROM ' . DB_PRE . 'ecp_forum_survey_answers WHERE fsID = ' . $sub['fsurveyID']); $db->query('DELETE FROM ' . DB_PRE . 'ecp_forum_survey_votes WHERE fsurID = ' . $sub['fsurveyID']); } $db->query('DELETE FROM ' . DB_PRE . 'ecp_forum_survey WHERE boardID = ' . $row['boardID']); } if (!$db->errorNum()) { echo 'ok'; } } else { echo html_ajax_convert(NO_ADMIN_RIGHTS); } die; }
function server($id = 0) { global $db, $player_field_list; update_server_cache(); if ($id) { $result = $db->query('SELECT * FROM ' . DB_PRE . 'ecp_server WHERE aktiv = 1 AND serverID = ' . $id); } else { $result = $db->query('SELECT * FROM ' . DB_PRE . 'ecp_server WHERE aktiv = 1 ORDER BY posi ASC'); } if ($db->num_rows()) { $server = array(); while ($row = mysql_fetch_assoc($result)) { $spe = array(); $data = lgsl_server_html(unserialize($row['response'])); $tpl = new smarty(); if ($row['stat']) { $tpl->assign('serverstats', true); } if ($data['b']['status'] == 0) { $tpl->assign('image', 'templates/' . DESIGN . '/images/map_no_response.jpg'); } else { if (file_exists('images/server/maps/' . $row['gametype'] . '/' . $data['s']['game'] . '/' . strtolower(str_replace(' ', '_', $data['s']['map'])) . '.jpg')) { $tpl->assign('image', 'images/server/maps/' . $row['gametype'] . '/' . $data['s']['game'] . '/' . strtolower(str_replace(' ', '_', $data['s']['map'])) . '.jpg'); } else { $tpl->assign('image', 'templates/' . DESIGN . '/images/map_no_image.jpg'); } } $tpl->assign('nextupdate', $row['datum'] + SERVER_CACHE_REFRESH - time() . ' ' . SECONDS); $row['datum'] = date('d.m.Y H:i:s', $row['datum']); $speicher = '<select size="1" name="settings">'; foreach ($row as $key => $value) { $tpl->assign($key, $value); } foreach ($data['e'] as $key => $value) { $tpl->assign($key, $value); $speicher .= "<option>{$key} => " . check_str_length($value, 40) . "</option>"; } foreach ($data['s'] as $key => $value) { $tpl->assign($key, $value); } $tpl->assign('settings', $speicher . '</select>'); if ($row['gametype'] == 'halflife' or $row['gametype'] == 'source') { if (isset($data['e']['cm_nextmap'])) { $tpl->assign('nextmap', '(' . SERVER_NEXT_MAP . ': ' . $data['e']['cm_nextmap'] . ')'); } elseif (isset($data['e']['amx_nextmap'])) { $tpl->assign('nextmap', '(' . SERVER_NEXT_MAP . ': ' . $data['e']['amx_nextmap'] . ')'); } elseif (isset($data['e']['mani_nextmap'])) { $tpl->assign('nextmap', '(' . SERVER_NEXT_MAP . ': ' . $data['e']['mani_nextmap'] . ')'); } if (isset($data['e']['cm_timeleft'])) { $tpl->assign('timeleft', '(' . SERVER_TIME_LEFT . ': ' . $data['e']['cm_timeleft'] . ')'); } elseif (isset($data['e']['amx_timeleft'])) { $tpl->assign('timeleft', '(' . SERVER_TIME_LEFT . ': ' . $data['e']['amx_timeleft'] . ')'); } $tpl->assign('plys', order_players($data['p'])); $tpl->assign('lang', $player_field_list); ob_start(); //echo 'images/server/maps/'.$row['gametype'].'/'.$data['s']['game'].'/'.strtolower(str_replace(' ', '_',$data['s']['map'])).'.jpg'; $tpl->display(DESIGN . '/tpl/server/halflife.html'); $content = ob_get_contents() . '</div>'; ob_end_clean(); } else { ob_start(); //echo 'images/server/maps/'.$row['gametype'].'/'.$data['s']['game'].'/'.strtolower(str_replace(' ', '_',$data['s']['map'])).'.jpg'; $tpl->display(DESIGN . '/tpl/server/other.html'); $output = ob_get_contents(); ob_end_clean(); error_reporting(1); $data['p'] = order_players($data['p']); if (!$data['p']) { @($output .= "\r\n\t\t\t\t <table cellpadding='4' cellspacing='2' style='margin:auto'>\r\n\t\t\t\t <tr>\r\n\t\t\t\t <td> " . SERVER_NO_PLAYERS . " </td>\r\n\t\t\t\t </tr>\r\n\t\t\t\t </table>\r\n\t\t\t\t\r\n\t\t\t\t <div style='height:20px'><br /></div>"); } else { $used_field_list = array(); foreach ($player_field_list as $field => $title) { foreach ($data['p'] as $player) { if (isset($player[$field])) { $used_field_list[$field] = $title; } } } @($output .= "\r\n\t\t\t\t <table cellpadding='1' cellspacing='1' style='width:100%;margin:auto'>\r\n\t\t\t\t <tr style=''>"); foreach ($used_field_list as $field => $title) { $output .= "\r\n\t\t\t\t <td> <b>{$title}</b> </td>"; } $output .= "\r\n\t\t\t\t </tr>"; $i = 0; foreach ($data['p'] as $player_key => $player) { $output .= "\r\n\t\t\t\t <tr class='" . (++$i % 2 ? 'row_odd' : 'row_even') . "'>"; foreach ($used_field_list as $field => $title) { $output .= "<td> {$player[$field]} </td>"; } $output .= "\r\n\t\t\t\t </tr>"; } $output .= "\r\n\t\t\t\t </table>\r\n\t\t\t\t\r\n\t\t\t\t <div style='height:20px'><br /></div>"; } error_reporting(E_ALL); $content = $output . '</div>'; } $spe['headline'] = $data['b']['status'] == 0 ? $row['ip'] . ':' . $row['port'] . ' ' . SERVER_OFFLINE : $data['s']['name']; $spe['content'] = $content; $server[] = $spe; } if (@$_GET['ajax']) { ob_end_clean(); echo html_ajax_convert($content); die; } else { $tpl = new smarty(); $tpl->assign('server', $server); ob_start(); $tpl->display(DESIGN . '/tpl/server/overview.html'); $content = ob_get_contents(); ob_end_clean(); main_content(SERVER, $content, '', 1); } } else { table(INFO, NO_ENTRIES); } }
function kalender() { global $db, $monatsnamen, $countries; if (!isset($_GET['month'])) { $monat = date('m'); } else { $monat = (int) $_GET['month']; } if (!isset($_GET['year'])) { $jahr = date('Y'); } else { $jahr = (int) $_GET['year']; } if ($monat > 12) { $monat = 1; $jahr++; } if ($monat <= 0) { $monat = 12; $jahr--; } if ($jahr > 2034 or $jahr < 1970) { $jahr = date('Y'); } $tpl = new smarty(); $wochentag = date('w', mktime(0, 0, 0, $monat, 1, $jahr)); $woche = (int) date('W', mktime(0, 0, 0, $monat, 1, $jahr)); $tagemonat = date("t", mktime(0, 0, 0, $monat, 1, $jahr)); $wochen = array(); $wochen[] = array('woche' => $woche, 'akt' => '-1', 'events' => array()); $start = mktime(0, 0, 0, $monat, 1, $jahr); $ende = mktime(23, 59, 59, $monat + 1, 0, $jahr); // Kalander Anlegen // if ($wochentag == 0) { if ($woche >= 52) { $woche = date('W', mktime(0, 0, 0, $monat, 2, $jahr)) - 1; } $wochen[] = array('woche' => ++$woche, 'akt' => '-1', 'events' => array()); next($wochen); } for ($i = 1; $i <= $tagemonat; $i++) { if ($wochentag == 0) { $wochen[key($wochen) - 1]['tage'][$wochentag] = $i . '.'; if ($i === (int) date('d') and $monat == date('m') and $jahr == date('Y')) { $wochen[key($wochen) - 1]['akt'] = date('w'); } } else { $wochen[key($wochen)]['tage'][$wochentag] = $i . '.'; } $wochentag++; if ($i === (int) date('d') and $monat == date('m') and $jahr == date('Y') and date('w') != 0) { $wochen[key($wochen)]['akt'] = date('w'); } if ($wochentag > 6 and $i < $tagemonat) { $woche++; if ($woche >= 52) { $woche = date('W', mktime(0, 0, 0, $monat, $i + 2, $jahr)); } $wochen[] = array('woche' => $woche, 'akt' => '-1', 'events' => array()); $wochentag = 0; next($wochen); } } reset($wochen); // Kalender anlegen ende if (count($wochen[key($wochen)]['tage']) == 0) { array_splice($wochen, key($wochen)); } $db->query('SELECT `warID`, ' . DB_PRE . 'ecp_wars.datum, `result`, `resultscore`, `tname`, `oppname`, `country`, ' . DB_PRE . 'ecp_wars_opp.homepage, `icon`, `gamename`, `matchtypename`, COUNT(comID) as comments, status FROM ' . DB_PRE . 'ecp_wars LEFT JOIN ' . DB_PRE . 'ecp_teams ON ' . DB_PRE . 'ecp_teams.tID = ' . DB_PRE . 'ecp_wars.tID LEFT JOIN ' . DB_PRE . 'ecp_wars_games ON gID = gameID LEFT JOIN ' . DB_PRE . 'ecp_wars_opp ON oID = oppID LEFT JOIN ' . DB_PRE . 'ecp_wars_matchtype ON mID = matchtypeID LEFT JOIN ' . DB_PRE . 'ecp_comments ON (subID = warID AND bereich = "clanwars") WHERE ' . DB_PRE . 'ecp_wars.datum BETWEEN ' . $start . ' AND ' . $ende . ' GROUP BY warID ORDER BY ' . DB_PRE . 'ecp_wars.datum ASC'); $clanwars = array(); $lastday = 0; $lastdatum = 0; while ($row = $db->fetch_assoc()) { $datum = $row['datum']; $row['datum'] = date('H:i', $row['datum']); $row['resultscore'] == '' ? $row['resultscore'] = CLANWARS_OPEN : ''; $row['countryname'] = $countries[$row['country']]; if ($lastday == date('d', $datum)) { $clanwars[] = $row; } else { if (count($clanwars)) { foreach ($wochen as $key => $value) { if ($value['woche'] == date('W', $lastdatum)) { $wochen[$key]['events'][date('w', $lastdatum)] = kal_make_wars($clanwars); break; } } $clanwars = array(); } $clanwars[] = $row; } $lastday = date('d', $datum); $lastdatum = $datum; } if (count($clanwars)) { foreach ($wochen as $key => $value) { if ($value['woche'] == date('W', $datum)) { $wochen[$key]['events'][date('w', $datum)] = kal_make_wars($clanwars); break; } } } //Geburtstage $db->query('SELECT username, country, ID, geburtstag, date_format(geburtstag, \'%Y\') AS jahr, date_format(geburtstag, \'%d\') AS tag FROM ' . DB_PRE . 'ecp_user WHERE geburtstag != "00-00-0000" AND date_format(geburtstag, \'%m\') = ' . $monat . ' ORDER BY date_format(geburtstag, \'%d\') ASC'); $birth = array(); $lastday = 0; while ($row = $db->fetch_assoc()) { $row['alter'] = $jahr - $row['jahr']; if ($lastday == $row['tag']) { $birth[] = $row; } else { if (count($birth)) { foreach ($wochen as $key => $value) { if ($value['woche'] == date('W', mktime(0, 0, 0, $monat, $lastday, $jahr))) { @($wochen[$key]['events'][date('w', mktime(0, 0, 0, $monat, $lastday, $jahr))] .= kal_make_birthday($birth)); break; } } $birth = array(); } $birth[] = $row; } $lastday = $row['tag']; } if (count($birth)) { foreach ($wochen as $key => $value) { if ($value['woche'] == date('W', mktime(0, 0, 0, $monat, $lastday, $jahr))) { @($wochen[$key]['events'][date('w', mktime(0, 0, 0, $monat, $lastday, $jahr))] .= kal_make_birthday($birth)); break; } } } // News einfügen $db->query('SELECT `newsID`, a.`userID`, `topicID`, a.`datum`, `headline`, `username`, `topicname`, COUNT(comID) AS comments, country FROM ' . DB_PRE . 'ecp_news as a LEFT JOIN ' . DB_PRE . 'ecp_user ON (a.userID = ID) LEFT JOIN ' . DB_PRE . 'ecp_topics ON (topicID = tID) LEFT JOIN ' . DB_PRE . 'ecp_comments ON (subID = newsID AND bereich = "news") WHERE (lang = "" OR lang LIKE ",%' . LANGUAGE . '%,") AND a.datum < ' . time() . ' AND a.datum BETWEEN ' . $start . ' AND ' . $ende . ' AND (access = "" OR ' . $_SESSION['access_search'] . ') GROUP BY newsID ORDER BY datum ASC'); $news = array(); $lastday = 0; $lastdatum = 0; while ($row = $db->fetch_assoc()) { $datum = $row['datum']; $row['datum'] = date('H:i', $row['datum']); $row['countryname'] = $countries[$row['country']]; if ($lastday == date('d', $datum)) { $news[] = $row; } else { if (count($news)) { foreach ($wochen as $key => $value) { if ($value['woche'] == date('W', $lastdatum)) { @($wochen[$key]['events'][date('w', $lastdatum)] .= kal_make_news($news)); break; } } $news = array(); } $news[] = $row; } $lastday = date('d', $datum); $lastdatum = $datum; } if (count($news)) { foreach ($wochen as $key => $value) { if ($value['woche'] == date('W', $datum)) { @($wochen[$key]['events'][date('w', $datum)] .= kal_make_news($news)); break; } } } //Kalender Einträge hinzufügen $db->query('SELECT `calID`, `eventname`, `datum`, `inhalt`, `userID`, `username`, `country` FROM `' . DB_PRE . 'ecp_calendar` LEFT JOIN ' . DB_PRE . 'ecp_user ON (userID = ID) WHERE datum BETWEEN ' . $start . ' AND ' . $ende . ' AND (access = "" OR ' . $_SESSION['access_search'] . ') ORDER BY datum ASC'); $events = array(); $lastday = 0; $lastdatum = 0; while ($row = $db->fetch_assoc()) { $datum = $row['datum']; $row['datum'] = date('H:i', $row['datum']); $row['countryname'] = @$countries[$row['country']]; $row['inhalt'] = json_decode($row['inhalt'], true); isset($row['inhalt'][LANGUAGE]) ? $row['inhalt'] = $row['inhalt'][LANGUAGE] : ($row['inhalt'] = $row['inhalt'][DEFAULT_LANG]); if ($lastday == date('d', $datum)) { $events[] = $row; } else { if (count($events)) { foreach ($wochen as $key => $value) { if ($value['woche'] == date('W', $lastdatum)) { @($wochen[$key]['events'][date('w', $lastdatum)] .= kal_make_events($events)); break; } } $events = array(); } $events[] = $row; } $lastday = date('d', $datum); $lastdatum = $datum; } if (count($events)) { foreach ($wochen as $key => $value) { if ($value['woche'] == date('W', $datum)) { @($wochen[$key]['events'][date('w', $datum)] .= kal_make_events($events)); break; } } } $tpl->assign('year', $jahr); $tpl->assign('monthz', $monat); $tpl->assign('month', $monatsnamen[(int) $monat]); $tpl->assign('kalender', $wochen); ob_start(); $tpl->display(DESIGN . '/tpl/calendar/calendar.html'); $content = ob_get_contents(); ob_end_clean(); if (isset($_GET['ajax'])) { ob_end_clean(); echo html_ajax_convert($content); $db->close(); die; } else { main_content(CALENDAR, '<div id="calendar_main">' . $content . '</div>', '', 1); } }
function comments_get($bereich, $id, $conditions, $ajax = 0, $border = 1, $session = '') { global $db, $countries; $id = (int) $id; $bereich = strsave($bereich); if (@$_SESSION['rights']['public'][$session ? $session : $bereich]['com_view'] or @$_SESSION['rights']['superadmin']) { $anzahl = $db->result(DB_PRE . 'ecp_comments', 'COUNT(comID)', 'bereich = \'' . $bereich . '\' AND subID = ' . $id); if ($anzahl) { $seiten = get_sql_limit($anzahl, $conditions['LIMIT']); $db->query('SELECT a.username, a.registerdate, a.rID, rankname, iconname, author, c.homepage, c.email, comID, c.userID, a.country, a.sex, beitrag, datum, editdatum, editby, edits, lastklick, a.avatar, a.signatur, comments, b.username as editfrom, uID as online FROM ' . DB_PRE . 'ecp_comments as c LEFT JOIN ' . DB_PRE . 'ecp_user as a ON (c.userID = a.ID) LEFT JOIN ' . DB_PRE . 'ecp_user as b ON (c.editby = b.ID) LEFT JOIN ' . DB_PRE . 'ecp_user_stats ON (c.userID = ' . DB_PRE . 'ecp_user_stats.userID) LEFT JOIN ' . DB_PRE . 'ecp_ranks ON (a.rID = rankID) LEFT JOIN ' . DB_PRE . 'ecp_online ON (uID = c.userID AND lastklick > ' . (time() - SHOW_USER_ONLINE) . ') WHERE subID = ' . $id . ' AND bereich = "' . $bereich . '" GROUP BY comID ORDER BY datum ' . $conditions['ORDER'] . ' LIMIT ' . $seiten[1] . ',' . $conditions['LIMIT']); $comments = array(); while ($row = $db->fetch_assoc()) { $row['nr'] = ++$seiten[1]; $row['comments'] = format_nr($row['comments']); $row['countryname'] = @$countries[$row['country']]; $row['sex'] == 'male' ? $row['sextext'] = MALE : ($row['sextext'] = FEMALE); if ($row['edits']) { $row['edit'] = str_replace(array('{anzahl}', '{von}', '{last}'), array($row['edits'], '<a href="?section=user&id=' . $row['editby'] . '">' . $row['editfrom'] . '</a>', date(LONG_DATE, $row['editdatum'])), COMMENT_EDIT_TXT); } $row['datum'] = date(LONG_DATE, $row['datum']); $row['quote'] = $row['beitrag']; $row['beitrag'] = bb_code($row['beitrag']); $comments[] = $row; } $tpl = new smarty(); $tpl->assign('id', $id); $tpl->assign('link', $conditions['link']); $tpl->assign('section', $conditions['section']); if ($seiten[0] > 1) { $tpl->assign('seiten', makepagelink_ajax($conditions['link'], 'return load_com_page(\'' . $bereich . '\', ' . $id . ', {nr});', @$_GET['page'], $seiten[0])); } $tpl->assign('comments', $comments); $tpl->assign('bereich', $bereich); $tpl->assign('bereich2', $session ? $session : $bereich); $tpl->assign('ajax', $ajax); if ($ajax) { ob_start(); $tpl->display(DESIGN . '/tpl/comments.html'); $db->close(); $content = ob_get_contents(); ob_end_clean(); echo html_ajax_convert($content); die; } if ($border) { ob_start(); $tpl->display(DESIGN . '/tpl/comments.html'); $content = ob_get_contents(); ob_end_clean(); main_content(COMMENTS, $content, '', 1); } else { $tpl->display(DESIGN . '/tpl/comments.html'); } } else { if (!$ajax) { table(COMMENTS, '<div id="comments_bereich">' . NO_ENTRIES . '</div>'); } else { echo html_ajax_convert(NO_ENTRIES); } } if ((@$_SESSION['rights']['public'][$session ? $session : $bereich]['com_add'] or @$_SESSION['rights']['superadmin']) and !$ajax) { $tplc = new smarty(); $tplc->assign('section', $conditions['section'] ? $conditions['section'] : $bereich); $tplc->assign('action', $conditions['action']); $tplc->assign('id', $id); if ($border) { ob_start(); $tplc->display(DESIGN . '/tpl/comment_add_edit.html'); $content = ob_get_contents(); ob_end_clean(); main_content(ADD_COMMENT, $content, '', 1); } else { $tplc->display(DESIGN . '/tpl/comment_add_edit.html'); } } elseif (!$ajax) { table(ACCESS_DENIED, NO_RIGHTS_ADD_COMMENT); } } else { table(ACCESS_DENIED, NO_RIGHTS_READ_COMMENT); } }
function admin_downloads_edit($id) { global $db; ob_end_clean(); if ($_POST['name'] == '' or $_POST['url'] == '' or $_POST['size'] == '' or !$_POST['cID']) { echo html_ajax_convert(NOT_NEED_ALL_INPUTS); } else { ajax_convert_array($_POST); $lang = array(); foreach ($_POST as $key => $value) { if (strpos($key, 'cription_')) { $lang[substr($key, strpos($key, '_', 14) + 1)] = $value; } } $sql = sprintf('UPDATE ' . DB_PRE . 'ecp_downloads SET `cID` = %d, `name` = \'%s\', `url` = \'%s\', `userID` = %d, `info` = \'%s\', `homepage` = \'%s\', `version` = \'%s\', `size` = %d, `downloads` = %d, `access` = \'%s\' WHERE dID = %d', $_POST['cID'], strsave($_POST['name']), strsave($_POST['url']), $_SESSION['userID'], strsave(json_encode($lang)), strsave(check_url($_POST['homepage'])), strsave($_POST['version']), (int) $_POST['size'] * $_POST['modifkator'], (int) $_POST['downloads'], admin_make_rights($_POST['rights']), (int) $_GET['id']); $db->setMode(0); if ($db->query($sql)) { echo 'ok'; } } die; }
function admin_games_map_edit($id) { global $db; $db->setMode(0); ob_end_clean(); ajax_convert_array($_POST); if (@$_SESSION['rights']['admin']['clanwars']['maps_edit'] or @$_SESSION['rights']['superadmin']) { if ($_POST['name'] == '' or !$_POST['gameid']) { echo NOT_NEED_ALL_INPUTS; } else { if ($db->query(sprintf('UPDATE ' . DB_PRE . 'ecp_wars_locations SET locationname = \'%s\', gID = %d WHERE locationID = %d', strsave($_POST['name']), $_POST['gameid'], $id))) { echo 'ok'; } } } else { echo html_ajax_convert(NO_ADMIN_RIGHTS); } die; }
} html_convert_array($row); echo json_encode($row); } else { echo '{"error" : "' . html_ajax_convert(NO_ENTRIES_ID) . '"}'; } } else { echo '{"error" : "' . html_ajax_convert(NO_ADMIN_RIGHTS) . '"}'; } break; case 'del_cal': if (@$_SESSION['rights']['admin']['calendar']['del'] or @$_SESSION['rights']['superadmin']) { if ($db->query('DELETE FROM ' . DB_PRE . 'ecp_calendar WHERE calID = ' . (int) $_GET['id'])) { echo 'ok'; } } else { echo html_ajax_convert(NO_ADMIN_RIGHTS); } break; default: echo html_ajax_convert(NO_FUNKTION_CHOOSE); } } } else { echo NO_ADMIN_RIGHTS; } break; default: echo html_ajax_convert(NO_FUNKTION_CHOOSE); } $db->close();
function admin_awards_del($id) { global $db; $db->setMode(0); ob_end_clean(); if (@$_SESSION['rights']['admin']['awards']['del'] or @$_SESSION['rights']['superadmin']) { if ($db->query('DELETE FROM ' . DB_PRE . 'ecp_awards WHERE awardID = ' . $id) and $db->query('DELETE FROM ' . DB_PRE . 'ecp_comments WHERE bereich = \'awards\' AND subID =' . $id)) { echo 'ok'; } } else { echo html_ajax_convert(NO_ADMIN_RIGHTS); } die; }