Changeset 185

Show
Ignore:
Timestamp:
01/11/10 20:49:19 (8 months ago)
Author:
sausage
Message:

Guild control panel (read only),
Fix some minor XSS bugs,
Merge gmcharacter and character pages

Location:
webcp/trunk
Files:
4 added
2 removed
23 modified
1 moved

Legend:

Unmodified
Added
Removed
  • webcp/trunk/allguilds.php

    r133 r185  
    5959 
    6060$members = $db->SQL("SELECT guild FROM characters WHERE $guildlistq"); 
    61 $totalexp = $db->SQL("SELECT guild,exp FROM characters WHERE $guildlistq AND admin = 0"); 
     61$totalexp = $db->SQL("SELECT guild, exp FROM characters WHERE ($guildlistq) AND admin = 0"); 
    6262 
    6363foreach ($guilds as &$guild) 
     
    8282 
    8383        $guild['exp'] = $expcount; 
    84         $guild['members'] = $members; 
     84        $guild['members'] = $membercount; 
    8585} 
    8686unset($guild); 
  • webcp/trunk/character.php

    r105 r185  
    2020} 
    2121 
    22 $character = $db->SQL("SELECT * FROM characters WHERE name = '$' AND account = '$' LIMIT 1", strtolower($_GET['name']), $sess->username); 
     22if ($GM) 
     23{ 
     24        $character = $db->SQL("SELECT * FROM characters WHERE name = '$' LIMIT 1", strtolower($_GET['name'])); 
     25} 
     26else 
     27{ 
     28        $character = $db->SQL("SELECT * FROM characters WHERE name = '$' AND account = '$' LIMIT 1", strtolower($_GET['name']), $sess->username); 
     29} 
    2330 
    2431if (empty($character)) 
    2532{ 
    26         $tpl->message = 'Character does not exist or is not yours.'; 
     33        $tpl->message = 'Character does not exist' . ($GM ? '.' : ' or is not yours.'); 
    2734        $tpl->Execute(null); 
    2835        exit; 
     
    4653        if (!empty($guildinfo[0])) 
    4754        { 
    48                 $character['guild_name'] = $guildinfo[0]['name']; 
     55                $character['guild_name'] = ucfirst($guildinfo[0]['name']); 
    4956                $character['guild_rank_str'] = guildrank_str(unserialize_guildranks($guildinfo[0]['ranks']), $character['guild_rank']); 
    5057        } 
     
    5764$character['admin_str'] = adminrank_str($character['admin']); 
    5865 
    59 $pagetitle .= ': '.$character['name']; 
     66$pagetitle .= ': '.htmlentities($character['name']); 
    6067$tpl->pagetitle = $pagetitle; 
    6168 
  • webcp/trunk/class/Database.class.php

    r153 r185  
    22/* This script is free to modify and distribute 
    33 
    4 Current version: 1.4 
     4Current version: 1.5 
    55 
    66Updated 1 September 2009 (tehsausage@gmail.com) [1.5] 
  • webcp/trunk/common.php

    r133 r185  
    132132define('RACE_TAN', 2); 
    133133define('RACE_ORC', 3); 
    134 define('RACE_PANDA', 4); 
    135 define('RACE_SKELETON', 5); 
     134define('RACE_SKELETON', 4); 
     135define('RACE_PANDA', 5); 
    136136define('RACE_FISH', 6); 
    137137 
     
    386386                                ); 
    387387                        } 
    388                         if ($cd['guild_rank'] == 1) 
     388                        if ($cd['guild_rank'] <= 1) 
    389389                        { 
    390390                                $chardata_guilds[$cd['guild']]['leader'] = true; 
     
    620620function guildrank_str($ranks, $rank) 
    621621{ 
     622        if ($rank == 0) $rank = 1; 
    622623        return isset($ranks[$rank-1])?$ranks[$rank-1]:'Unknown'; 
    623624} 
  • webcp/trunk/gmaccount.php

    r105 r185  
    6161$tpl->pagetitle = $pagetitle; 
    6262 
    63 $tpl->Execute('gmaccount'); 
     63$tpl->Execute('account'); 
  • webcp/trunk/guilds.php

    r105 r185  
    3838 
    3939$members = $db->SQL("SELECT guild FROM characters WHERE $guildlistq"); 
    40 $totalexp = $db->SQL("SELECT guild,exp FROM characters WHERE $guildlistq AND admin = 0"); 
     40$totalexp = $db->SQL("SELECT guild,exp FROM characters WHERE ($guildlistq) AND admin = 0"); 
    4141 
    4242foreach ($guilds as &$guild) 
     
    6161 
    6262        $guild['exp'] = $expcount; 
    63         $guild['members'] = $members; 
     63        $guild['members'] = $membercount; 
    6464} 
    6565unset($guild); 
  • webcp/trunk/search.php

    r105 r185  
    212212                                        $membercount = $db->SQL("SELECT COUNT(1) as count FROM characters WHERE guild = '$'", $guild['tag']); 
    213213                                        $totalexp = $db->SQL("SELECT SUM(exp) as totalexp FROM characters WHERE guild = '$' AND admin = 0", $guild['tag']); 
     214                                        $guild['tag'] = trim(strtoupper($guild['tag'])); 
     215                                        $guild['name'] = ucfirst($guild['name']); 
    214216                                        $guild['members'] = number_format($membercount[0]['count']); 
    215217                                        $guild['exp'] = number_format($totalexp[0]['totalexp']); 
  • webcp/trunk/tpl/green/account.htm

    r105 r185  
    88        <thead> 
    99                <tr> 
    10                         <th colspan="2"><[account.username]> 
     10                        <th colspan="2"><[~account.username]> 
    1111 
    1212        <tbody> 
     
    1515                <tr><th>HDID<td><[account.hdid_str]> 
    1616 
    17                 <tr><th>Registered<td><[account.created_str]> 
     17                <tr><th>Registered<td><[account.created_str]> (<[account.regip]>) 
    1818 
    19                 <tr><th>Last Used<td><[account.lastused_str]> 
     19                <tr><th>Last Used<td><[if account.lastused]><[account.lastused_str]> (<[account.lastip]>)<[else]><i>Never</i><[endif]> 
    2020 
    21                 <tr><th>Full Name<td><[account.fullname]> 
     21                <tr><th>Full Name<td><[~account.fullname]> 
    2222 
    23                 <tr><th>Location<td><[account.location]> 
     23                <tr><th>Location<td><[~account.location]> 
    2424 
    25                 <tr><th>E-Mail<td><[account.email]> 
     25                <tr><th>E-Mail<td><[~account.email]> 
    2626 
    2727</table> 
     
    4141<[foreach characters char]> 
    4242                <tr> 
    43                         <td><a href="./gmcharacter<[php]>?name=<[char.name]>"><[char.name]></a><[if char.gm]> <img src="./tpl/green/images/admin.gif"><[endif]> 
     43                        <td><a href="./character<[php]>?name=<[~char.name]>"><[~char.name]></a><[if char.gm]> <img src="./tpl/green/images/admin.gif"><[endif]> 
    4444 
    4545                        <td><[~char.title]> 
  • webcp/trunk/tpl/green/accsearch_results.htm

    r105 r185  
    2323<[foreach accounts acc]> 
    2424                <tr> 
    25                         <td><a href="./gmaccount<[php]>?name=<[acc.username]>"><[acc.username]></a> 
     25                        <td><a href="./gmaccount<[php]>?name=<[~acc.username]>"><[~acc.username]></a> 
    2626                        <td><[acc.characters]> 
    2727 
  • webcp/trunk/tpl/green/allaccounts.htm

    r105 r185  
    1818<[foreach accounts acc]> 
    1919                <tr> 
    20                         <td><a href="./gmaccount<[php]>?name=<[acc.username]>"><[acc.username]></a> 
     20                        <td><a href="./gmaccount<[php]>?name=<[acc.username]>"><[~acc.username]></a> 
    2121                        <td><[acc.characters]> 
    2222 
  • webcp/trunk/tpl/green/allcharacters.htm

    r105 r185  
    1919<[foreach characters char]> 
    2020                <tr> 
    21                         <td><a href="./gmcharacter<[php]>?name=<[char.name]>"><[char.name]></a><[if char.gm]> <img src="./tpl/green/images/admin.gif"><[endif]> 
     21                        <td><a href="./character<[php]>?name=<[~char.name]>"><[~char.name]></a><[if char.gm]> <img src="./tpl/green/images/admin.gif"><[endif]> 
    2222 
    23                         <td><a href="./gmaccount<[php]>?name=<[char.account]>"><[char.account]></a> 
     23                        <td><a href="./gmaccount<[php]>?name=<[~char.account]>"><[~char.account]></a> 
    2424 
    2525                        <td><[char.level]> 
  • webcp/trunk/tpl/green/allguilds.htm

    r105 r185  
    1818<[foreach guilds guild]> 
    1919                <tr> 
    20                         <td><[guild.tag]> 
     20                        <td><[~guild.tag]> 
    2121 
    22                         <td><a href="./guild<[php]>?tag=<[guild.tag]>"><[guild.name]></a> 
     22                        <td><a href="./guild<[php]>?tag=<[~guild.tag]>"><[~guild.name]></a> 
    2323 
    2424                        <td><[guild.members]> 
  • webcp/trunk/tpl/green/bans.htm

    r133 r185  
    1919<[foreach bans ban]> 
    2020                <tr> 
    21                         <td><[if !ban.nouser]><a href="./gmaccount<[php]>?name=<[ban.username]>"><[endif]><[ban.username]><[if !ban.nouser]></a><[endif]> 
     21                        <td><[if !ban.nouser]><a href="./gmaccount<[php]>?name=<[~ban.username]>"><[endif]><[~ban.username]><[if !ban.nouser]></a><[endif]> 
    2222 
    23                         <td><[ban.ip_str]> 
     23                        <td><[~ban.ip_str]> 
    2424 
    2525                        <td><[~ban.hdid_str]> 
     
    2727                        <td><[ban.remaining]> 
    2828 
    29                         <td><a href="./gmcharacter<[php]>?name=<[ban.setter]>"><[ban.setter]></a> 
     29                        <td><a href="./character<[php]>?name=<[~ban.setter]>"><[~ban.setter]></a> 
    3030 
    3131<[endforeach]> 
  • webcp/trunk/tpl/green/character.htm

    r105 r185  
    77<table id="character"> 
    88        <thead> 
    9                 <tr><th colspan="3"><[character.name]> 
     9                <tr><th colspan="3"><[~character.name]><[if GM]> <a href="./gmaccount<[php]>?name=<[~character.account]>">(<[~character.account]>)</a><[endif]> 
    1010        <tbody> 
    1111                <tr><th>Level<td colspan="2"><[character.level]> 
     
    1414 
    1515                <tr><th>Admin Rank<td colspan="2"><[character.admin_str]> 
     16 
    1617<[if character.guild]> 
    17                 <tr><th rowspan="3">Guild<th>Tag<td><[character.guild]> 
     18                <tr><th rowspan="3">Guild<th>Tag<td><[~character.guild]> 
    1819 
    19                 <tr><th>Name<td><[character.guild_name]> 
    20  
     20                <tr><th>Name<td><a href="./guild<[php]>?tag=<[~character.guild]>"><[~character.guild_name]></a> 
    2121                <tr><th>Rank<td><[character.guild_rank_str]> (<[character.guild_rank]>) 
    2222<[else]> 
  • webcp/trunk/tpl/green/characters.htm

    r85 r185  
    1111<[foreach characters char]> 
    1212                <tr> 
    13                         <td><a href="./character<[php]>?name=<[char.name]>"><[char.name]></a><[if char.gm]> <img src="./tpl/green/images/admin.gif"><[endif]> 
     13                        <td><a href="./character<[php]>?name=<[~char.name]>"><[~char.name]></a><[if char.gm]> <img src="./tpl/green/images/admin.gif"><[endif]> 
    1414 
    1515                        <td><[~char.title]> 
  • webcp/trunk/tpl/green/charsearch_results.htm

    r105 r185  
    2222        <tbody> 
    2323                <tr> 
    24                         <td><a href="./gmcharacter<[php]>?name=<[char.name]>"><[char.name]></a><[if char.gm]> <img src="./tpl/green/images/admin.gif"><[endif]> 
     24                        <td><a href="./character<[php]>?name=<[~char.name]>"><[~char.name]></a><[if char.gm]> <img src="./tpl/green/images/admin.gif"><[endif]> 
    2525 
    26                         <td><a href="./gmaccount<[php]>?name=<[char.account]>"><[char.account]></a> 
     26                        <td><a href="./gmaccount<[php]>?name=<[~char.account]>"><[~char.account]></a> 
    2727 
    2828                        <td><[char.level]> 
  • webcp/trunk/tpl/green/guilds.htm

    r105 r185  
    1212<[foreach guilds guild]> 
    1313                <tr> 
    14                         <td><[guild.tag]> 
     14                        <td><[~guild.tag]> 
    1515 
    16                         <td><a href="./guild<[php]>?tag=<[guild.tag]>"><[guild.name]></a> 
     16                        <td><a href="./guild<[php]>?tag=<[~guild.tag]>"><[~guild.name]></a> 
    1717 
    1818                        <td><[guild.members]> 
  • webcp/trunk/tpl/green/guildsearch_results.htm

    r105 r185  
    2222<[foreach guilds guild]> 
    2323                <tr> 
    24                         <td><[guild.tag]> 
     24                        <td><[~guild.tag]> 
    2525 
    26                         <td><a href="./guild<[php]>?tag=<[guild.tag]>"><[guild.name]></a> 
     26                        <td><a href="./guild<[php]>?tag=<[~guild.tag]>"><[~guild.name]></a> 
    2727 
    2828                        <td><[guild.members]> 
  • webcp/trunk/tpl/green/header.htm

    r143 r185  
    44 
    55<div id="header"> 
    6 <h1><a href="<[homeurl]>"><[sitename]></a></h1> 
     6<h1><a href="<[homeurl]>"><[~sitename]></a></h1> 
    77<span id="subtitle"> 
    88EOSERV Control Panel 
     
    2121<[if logged]> 
    2222<ul class="nav playernav"> 
    23         <li><span><[username]></span> 
     23        <li><span><[~username]></span> 
    2424        <li><a href="./characters<[php]>">My&nbsp;Characters&nbsp;(<[numchars]>)</a> 
    2525        <li><a href="./details<[php]>">Edit&nbsp;Details</a> 
     
    2828<[endif]> 
    2929 
    30 <!-- 
    3130<[foreach chardata_guilds guild tag]> 
    3231<ul class="nav guildnav"> 
    33         <li><span>Guild: <a href="./guild<[php]>?tag=<[tag]>"><[tag]></a></span> 
    34         <[if guild.leader]><li><a href="./editguild<[php]>?tag=<[tag]>">Edit&nbsp;Guild</a><[endif]> 
     32        <li><span>Guild: <a href="./guild<[php]>?tag=<[~tag]>"><[~tag]></a></span> 
     33        <[if guild.leader]><li><a href="./editguild<[php]>?tag=<[~tag]>">Edit&nbsp;Guild</a><[endif]> 
    3534 
    36         <li><a href="./guildmembers<[php]>?tag=<[tag]>">Member&nbsp;List</a> 
    37         <li><a href="./guildsearch<[php]>?tag=<[tag]>">Member&nbsp;Search</a> 
     35        <li><a href="./guildmembers<[php]>?tag=<[~tag]>">Member&nbsp;List</a> 
     36        <li><a href="./guildsearch<[php]>?tag=<[~tag]>">Member&nbsp;Search</a> 
    3837</ul> 
    3938<[endforeach]> 
    40 --> 
    4139 
    4240<[if GUARDIAN]> 
  • webcp/trunk/tpl/green/index.htm

    r105 r185  
    11<ul> 
    2         <li>Server Name: <b><[sitename]></b> 
     2        <li>Server Name: <b><[~sitename]></b> 
    33        <li>Accounts: <b><[accounts]></b> 
    44        <li>Characters: <b><[characters]></b> (<b><[staffcharacters]></b> staff) 
  • webcp/trunk/tpl/green/online.htm

    r105 r185  
    99<[foreach characters char]> 
    1010                <tr> 
    11                         <td><[if GM]><a href="./gmcharacter<[php]>?name=<[char.name]>"><[endif]><[char.name]><[if GM]></a><[endif]><[if char.gm]> <img src="./tpl/green/images/admin.gif"><[endif]> 
     11                        <td><[if GM]><a href="./character<[php]>?name=<[~char.name]>"><[endif]><[~char.name]><[if GM]></a><[endif]><[if char.gm]> <img src="./tpl/green/images/admin.gif"><[endif]> 
    1212 
    1313                        <td><[~char.title]> 
    1414 
    15                         <td><[char.guild]> 
     15                        <td><a href="./guild<[php]>?tag=<[~char.guild]>"><[~char.guild]></a> 
    1616 
    1717<[endforeach]> 
  • webcp/trunk/tpl/green/players.htm

    r105 r185  
    1313<[foreach characters char]> 
    1414                <tr> 
    15                         <td><[if GM]><a href="./gmcharacter<[php]>?name=<[char.name]>"><[endif]><[char.name]><[if GM]></a><[endif]> 
     15                        <td><[if GM]><a href="./character<[php]>?name=<[~char.name]>"><[endif]><[~char.name]><[if GM]></a><[endif]> 
    1616 
    1717                        <td><[~char.title]> 
  • webcp/trunk/tpl/green/staff.htm

    r51 r185  
    99<[foreach characters char]> 
    1010                <tr> 
    11                         <td><[char.name]> 
     11                        <td><[~char.name]> 
    1212 
    1313                        <td><[~char.title]> 
  • webcp/trunk/tpl/green/style.css

    r148 r185  
    131131        min-height:260px; 
    132132        _height:260px; 
     133        position:relative; 
    133134} 
    134135 
     
    392393.showing 
    393394{ 
     395        width:80%; 
    394396        display:block; 
    395397        text-align:center; 
     
    399401.jumppage 
    400402{ 
    401         float:left; 
     403        position:absolute; 
     404        top:2px; 
     405        left:2px; 
    402406        font-size:120%; 
    403407} 
     
    411415.pagination 
    412416{ 
    413         clear:both; 
     417        width:80%; 
    414418        display:block; 
    415419        text-align:center; 
     
    433437        width:25%; 
    434438} 
     439 
     440table#guild tbody th 
     441{ 
     442        width:20%; 
     443}