Example #1
0
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);
    }
}
Example #2
0
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);
    }
}
Example #3
0
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);
}
Example #4
0
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);
    }
}
Example #5
0
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);
    }
}
Example #6
0
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;
    }
}
Example #7
0
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;
}
Example #8
0
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;
    }
}
Example #9
0
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;
}
Example #10
0
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);
    }
}
Example #11
0
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;
}
Example #12
0
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;
}
Example #13
0
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;
}
Example #14
0
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);
    }
}
Example #15
0
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);
    }
}
Example #16
0
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);
    }
}
Example #17
0
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;
}
Example #18
0
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;
}
Example #19
0
                                }
                                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();
Example #20
0
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;
}