From: <Kha...@us...> - 2009-05-04 02:28:58
|
Revision: 3612 http://planeshift.svn.sourceforge.net/planeshift/?rev=3612&view=rev Author: Khakilord Date: 2009-05-04 02:28:50 +0000 (Mon, 04 May 2009) Log Message: ----------- Added very basic view of the server report into gmconsole Modified Paths: -------------- www/gmconsole/classes/Navigation.php Added Paths: ----------- www/gmconsole/logs.php Modified: www/gmconsole/classes/Navigation.php =================================================================== --- www/gmconsole/classes/Navigation.php 2009-05-04 02:14:36 UTC (rev 3611) +++ www/gmconsole/classes/Navigation.php 2009-05-04 02:28:50 UTC (rev 3612) @@ -27,8 +27,11 @@ <tr> <td><a href="reportlogs.php">Report logs</a></td> </tr> + <tr> + <td><a href="logs.php">Other logs</a></td> + </tr> </table> NAV; } } -?> \ No newline at end of file +?> Added: www/gmconsole/logs.php =================================================================== --- www/gmconsole/logs.php (rev 0) +++ www/gmconsole/logs.php 2009-05-04 02:28:50 UTC (rev 3612) @@ -0,0 +1,46 @@ +<?php + + require_once('config.php'); + require_once('classes/PSGuild.php'); + require_once('classes/Navigation.php'); + session_start(); + + // is the user logged in? + if (!isset($_SESSION["__SECURITY_LEVEL"])) { + header("Location: index.php?origin=logs"); + exit; + } + +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html> + <head> + <title>Private server log (refreshed every few minutes)</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="stylesheet" type="text/css" href="<?=$__CSS_RELURI?>" media="all"/> + <link rel="stylesheet" type="text/css" href="<?=$__CSS_ADDON_RELURI?>" media="all"/> + </head> + <body> + <table> + <tr> + <td style="vertical-align:top;"> +<?php + echo Navigation::S_GetNavigation(); +?> + </td> + <td style="vertical-align:top;"> + <h2 class="yellowtitlebig">Log</h2> + +<?php + $file = fopen("../../psserver/planeshift/report.xml", "r"); + while(!feof($file)) + { + echo htmlentities(fgets($file))."<br>"; + } + fclose($file); +?> + </td> + </tr> + <table> + </body> +</html> \ No newline at end of file Property changes on: www/gmconsole/logs.php ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rav...@us...> - 2010-01-21 23:19:47
|
Revision: 5364 http://planeshift.svn.sourceforge.net/planeshift/?rev=5364&view=rev Author: ravna-ps Date: 2010-01-21 23:19:41 +0000 (Thu, 21 Jan 2010) Log Message: ----------- some minor fixes Patch by Drey Modified Paths: -------------- www/gmconsole/classes/PSGmEvents.php www/gmconsole/gmeventdetails.php www/gmconsole/gmevents.php Modified: www/gmconsole/classes/PSGmEvents.php =================================================================== --- www/gmconsole/classes/PSGmEvents.php 2010-01-21 23:18:59 UTC (rev 5363) +++ www/gmconsole/classes/PSGmEvents.php 2010-01-21 23:19:41 UTC (rev 5364) @@ -3,113 +3,143 @@ require_once('PSBaseClass.php'); class PSGmEvents extends PSBaseClass { - + - public function getEvents($orderBy = null) - { - if (isset($orderBy)) { - switch ($orderBY) { - case 'name': - $append = 'ORDER BY gme.name ASC'; - break; - case 'gm'; - $append = 'ORDER BY gme.name ASC'; - break; - default: - $append = ''; - } - } else { - $append = ''; - } - - $connection = PSBaseClass::S_GetConnection(); - - $query = 'SELECT gme.id, gme.name, c.name AS gm_name, c.lastname AS gm_lastname FROM gm_events gme ' - .'LEFT JOIN characters c ON c.id = gme.gm_id'; //Add clause to only get completed events - $query .= $append; - $result = mysql_query($query); - - //Build list as an array - $events = array(); - while ($row = mysql_fetch_assoc($result)) { - - $average = $this->getVoteAverage($row['id']); - $events[] = array('name'=>$row['name'], 'avg'=>$average, - 'id'=>$row['id'], 'gm_name'=>$row['gm_name'], 'gm_lastname'=>$row['gm_lastname']); - } - - - //@todo look into a better way of doing this. - if ($orderBy == 'avg') { - $pos = 0; - $sort_arr = array(); - foreach ($events as $event) { - $sort_arr[$pos] = $event['avg']; - $pos++; - } - //Now sorted by average asc, with keys intact - arsort($sort_arr); - - //rebuild $events - $rebuild_events = array(); - foreach ($sort_arr as $key => $value) { - $rebuild_events[] = $events[$key]; - } - - $events = $rebuild_events; - } - - return $events; - } - - public function getVoteAverage($event_id) - { - $connection = PSBaseClass::S_GetConnection(); - - //Get vote total and number of votes from db - $query = "SELECT SUM(vote), COUNT(player_id) FROM character_events WHERE event_id = $event_id"; - $result = mysql_query($query); - $row = mysql_fetch_assoc($result); - - //to avoid division by zero - if ($row['COUNT(player_id)'] < 1) { - $average = 0; - } else { - //Calculate average - $average = $row['SUM(vote)']/$row['COUNT(player_id)']; - } - - //Format to 2dp for nicer display - $average = number_format($average, 2); - - return $average; - } - - public function getEventDetails($event_id) - { - $connection = PSBaseClass::S_GetConnection(); - - $query = 'SELECT gme.name, gme.description, c.name AS gm_name, c.lastname AS gm_lastname, gme.id AS id FROM gm_events gme ' - .'LEFT JOIN characters c ON c.id = gme.gm_id WHERE gme.id =' . $event_id; - $result = mysql_query($query); - - return mysql_fetch_assoc($result); - } - - public function getEventComments($event_id) - { - $connection = PSBaseClass::S_GetConnection(); - - $query = 'SELECT ce.comments, ce.vote, c.name, c.lastname FROM character_events ce ' - .'LEFT JOIN characters c ON ce.player_id = c.id WHERE ce.event_id=' . $event_id; - $result = mysql_query($query); - - $comments = array(); - while ($row = mysql_fetch_assoc($result)) { - $comments[] = array('name'=>$row['name'] . ' ' . $row['lastname'], 'vote'=>$row['vote'], 'comment'=>$row['comments']); - } - - return $comments; - } - + public function getEvents($orderBy = null, $completed = true) + { + if (isset($orderBy)) + { + switch ($orderBY) + { + case 'name': + $append = 'ORDER BY gme.name ASC'; + break; + case 'gm'; + $append = 'ORDER BY gme.name ASC'; + break; + default: + $append = ''; + } + } + else + { + $append = ''; + } + + $connection = PSBaseClass::S_GetConnection(); + + $finished = ($completed) ? " WHERE status = '2'" : " WHERE status != '2'"; + + $query = 'SELECT gme.id, gme.name, c.name AS gm_name, c.lastname AS gm_lastname FROM gm_events gme ' + .'LEFT JOIN characters c ON c.id = gme.gm_id'; + $query .= $finished; + $query .= $append; + $result = mysql_query($query); + + //Build list as an array + $events = array(); + while ($row = mysql_fetch_assoc($result)) + { + + $average = $this->getVoteAverage($row['id']); + $events[] = array('name'=>$row['name'], 'avg'=>$average, + 'id'=>$row['id'], 'gm_name'=>$row['gm_name'], 'gm_lastname'=>$row['gm_lastname']); + } + + + //@todo look into a better way of doing this. + if ($orderBy == 'avg') + { + $pos = 0; + $sort_arr = array(); + foreach ($events as $event) + { + $sort_arr[$pos] = $event['avg']; + $pos++; + } + //Now sorted by average asc, with keys intact + arsort($sort_arr); + + //rebuild $events + $rebuild_events = array(); + foreach ($sort_arr as $key => $value) + { + $rebuild_events[] = $events[$key]; + } + + $events = $rebuild_events; + } + + return $events; + } + + public function getVoteAverage($event_id) + { + $connection = PSBaseClass::S_GetConnection(); + + //Get vote total and number of votes from db + $query = sprintf("SELECT SUM(vote), COUNT(player_id) FROM character_events WHERE vote IS NOT NULL AND event_id = '%s'", mysql_real_escape_string($event_id)); + $result = mysql_query($query); + $row = mysql_fetch_assoc($result); + + //to avoid division by zero + if ($row['COUNT(player_id)'] < 1) + { + $average = 0; + } else + { + //Calculate average + $average = $row['SUM(vote)']/$row['COUNT(player_id)']; + } + + //Format to 2dp for nicer display + $average = number_format($average, 2); + + return $average; + } + + public function getEventDetails($event_id) + { + $connection = PSBaseClass::S_GetConnection(); + + $query = sprintf("SELECT gme.name, gme.description, c.name AS gm_name, c.lastname AS gm_lastname, gme.id AS id FROM gm_events gme + LEFT JOIN characters c ON c.id = gme.gm_id WHERE gme.id ='%s'", mysql_real_escape_string($event_id)); + $result = mysql_query($query); + + return mysql_fetch_assoc($result); + } + + public function getEventComments($event_id) + { + $connection = PSBaseClass::S_GetConnection(); + + $query = sprintf("SELECT ce.comments, ce.vote, c.name, c.lastname FROM character_events ce + LEFT JOIN characters c ON ce.player_id = c.id WHERE ce.comments IS NOT NULL AND ce.event_id='%s'", mysql_real_escape_string($event_id)); + $result = mysql_query($query); + + $comments = array(); + while ($row = mysql_fetch_assoc($result)) + { + $comments[] = array('name'=>$row['name'] . ' ' . $row['lastname'], 'vote'=>$row['vote'], 'comment'=>$row['comments']); + } + + return $comments; + } + + public function getNonVoters($event_id) + { + $connection = PSBaseClass::S_GetConnection(); + + $query = sprintf("SELECT c.name, c.lastname FROM characters c JOIN character_events ce ON ce.player_id = c.id WHERE ce.vote IS NULL AND ce.event_id = '%s'", mysql_real_escape_string($event_id)); + $result = mysql_query($query); + + $non_voters = array(); + while($row = mysql_fetch_assoc($result)) + { + $non_voters[] = $row; + } + + return $non_voters; + } + } \ No newline at end of file Modified: www/gmconsole/gmeventdetails.php =================================================================== --- www/gmconsole/gmeventdetails.php 2010-01-21 23:18:59 UTC (rev 5363) +++ www/gmconsole/gmeventdetails.php 2010-01-21 23:19:41 UTC (rev 5364) @@ -7,59 +7,70 @@ session_start(); // is the user logged in? -if (!isset($_SESSION["__SECURITY_LEVEL"])) { - header("Location: index.php?origin=gmevents"); - exit; +if (!isset($_SESSION["__SECURITY_LEVEL"])) +{ + header("Location: index.php?origin=gmevents"); + exit; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> - <head> - <title>GM Events</title> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <head> + <title>GM Events</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <link rel="stylesheet" type="text/css" href="<?=$__CSS_RELURI?>"/> <link rel="stylesheet" type="text/css" href="<?=$__CSS_ADDON_RELURI?>"/> - </head> + </head> <body> - <table> - <tr> - <td style="vertical-align:top;"> + <table> + <tr> + <td style="vertical-align:top;"> <?php - echo Navigation::S_GetNavigation(); + echo Navigation::S_GetNavigation(); ?> - </td> - <td style="width:800px; vertical-align:top;"> - <?php + </td> + <td style="width:800px; vertical-align:top;"> + <?php - if (is_numeric($_POST['eventId'])) { - $events = new PSGmEvents(); - $details = $events->getEventDetails($_POST['eventId']); - $comments = $events->getEventComments($_POST['eventId']); - $average = $events->getVoteAverage($_POST['eventId']); - - echo '<b>Event ID:</b> ' . $details['id'] . '<br/>'; - echo '<b>Event:</b> ' . $details['name'] . '<br/>'; - echo '<b>Desciption:</b> ' . $details['description'] . '<br/>'; - echo '<b>Ran by:</b> ' . $details['gm_name'] . ' ' . $details['gm_lastname'] . '<br/>'; - echo '<b>Vote Average:</b> ' . $average; - echo '<br/><br/><b>Comments:</b><br/>'; - - foreach ($comments as $comment) { - echo '<b>By:</b>' . $comment['name']; - echo '<div ><b>Vote: ' . $comment['vote'] . '</b></div>'; - echo '<b>Comment: </b>' . $comment['comment']; - echo '<br/><br/>'; - } - - } - else { - echo 'Invalid event Id'; - } - ?> + if (is_numeric($_POST['eventId'])) + { + $events = new PSGmEvents(); + $details = $events->getEventDetails($_POST['eventId']); + $comments = $events->getEventComments($_POST['eventId']); + $average = $events->getVoteAverage($_POST['eventId']); + $non_voters = $events->getNonVoters($_POST['eventId']); + + echo '<b>Event ID:</b> ' . $details['id'] . '<br/>'; + echo '<b>Event:</b> ' . $details['name'] . '<br/>'; + echo '<b>Desciption:</b> ' . $details['description'] . '<br/>'; + echo '<b>Ran by:</b> ' . $details['gm_name'] . ' ' . $details['gm_lastname'] . '<br/>'; + echo '<b>Vote Average:</b> ' . $average; + echo '<br/><br/><b>Comments:</b><br/>'; + + foreach ($comments as $comment) + { + echo '<b>By:</b>' . $comment['name']; + echo '<div ><b>Vote: ' . $comment['vote'] . '</b></div>'; + echo '<b>Comment: </b>' . $comment['comment']; + echo '<br/><br/>'; + } + + echo '<b>Non Voters</b><br/>'; + foreach ($non_voters as $non_voter) + { + echo $non_voter['name'] . ' ' . $non_voter['lastname'] . '<br />'; + } + + } + else + { + echo 'Invalid event Id'; + } + ?> </td> </tr> </table> </body> - + </html> \ No newline at end of file Modified: www/gmconsole/gmevents.php =================================================================== --- www/gmconsole/gmevents.php 2010-01-21 23:18:59 UTC (rev 5363) +++ www/gmconsole/gmevents.php 2010-01-21 23:19:41 UTC (rev 5364) @@ -8,15 +8,15 @@ // is the user logged in? if (!isset($_SESSION["__SECURITY_LEVEL"])) { - header("Location: index.php?origin=gmevents"); - exit; + header("Location: index.php?origin=gmevents"); + exit; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> - <head> - <title>GM Events</title> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <head> + <title>GM Events</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <link rel="stylesheet" type="text/css" href="<?=$__CSS_RELURI?>"/> <link rel="stylesheet" type="text/css" href="<?=$__CSS_ADDON_RELURI?>"/> <script language="javascript" type="text/javascript"> @@ -26,44 +26,46 @@ document.getElementById("eventListForm").submit(); } </script> - </head> + </head> <body> - <table> - <tr> - <td style="vertical-align:top;"> + <table> + <tr> + <td style="vertical-align:top;"> <?php - echo Navigation::S_GetNavigation(); + echo Navigation::S_GetNavigation(); ?> - </td> - <form id="eventListForm" action="gmeventdetails.php" method="post"> - <td style="width:800px; vertical-align:top;"> - <table class="table"> - <tr> - <th>Name</th> - <th>GM</th> - <th>Vote Average</th> - <th>Action</th> - </tr> - - <?php - $GM_events = new PSGmEvents(); - $events = $GM_events->getEvents(); - foreach ($events as $event) { - echo '<tr>'; - echo '<td>' . $event['name'] . '</td>'; - echo '<td>' . $event['gm_name'] . ' ' . $event['gm_lastname'] . '</td>'; - echo '<td>' . $event['avg'] . '</td>'; - echo '<td><a href="javascript:setEventId(\'' . $event['id'] . '\');">View</a></td>'; - echo '</tr>'; - } - - ?> - </table> + </td> + <form id="eventListForm" action="gmeventdetails.php" method="post"> + <td style="width:800px; vertical-align:top;"> + <table class="table"> + <tr> + <th>ID</th> + <th>Name</th> + <th>GM</th> + <th>Vote Average</th> + <th>Action</th> + </tr> + + <?php + $GM_events = new PSGmEvents(); + $events = $GM_events->getEvents(); + foreach ($events as $event) { + echo '<tr>'; + echo '<td>' . $event['id'] . '</td>'; + echo '<td>' . $event['name'] . '</td>'; + echo '<td>' . $event['gm_name'] . ' ' . $event['gm_lastname'] . '</td>'; + echo '<td>' . $event['avg'] . '</td>'; + echo '<td><a href="javascript:setEventId(\'' . $event['id'] . '\');">View</a></td>'; + echo '</tr>'; + } + + ?> + </table> <input type="hidden" id="eventId" name="eventId"/> </td> </tr> </table> </body> - + </html> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lpa...@us...> - 2011-07-02 18:16:41
|
Revision: 7486 http://planeshift.svn.sourceforge.net/planeshift/?rev=7486&view=rev Author: lpancallo Date: 2011-07-02 18:16:35 +0000 (Sat, 02 Jul 2011) Log Message: ----------- added ability to see closed petitions with resolution. Modified Paths: -------------- www/gmconsole/classes/Navigation.php www/gmconsole/classes/PSPetition.php www/gmconsole/petitions.php Modified: www/gmconsole/classes/Navigation.php =================================================================== --- www/gmconsole/classes/Navigation.php 2011-07-02 16:26:11 UTC (rev 7485) +++ www/gmconsole/classes/Navigation.php 2011-07-02 18:16:35 UTC (rev 7486) @@ -25,6 +25,9 @@ <td><a href="petitions.php">Open petitions</a></td> </tr> <tr> + <td><a href="petitions.php?type=2">Closed petitions</a></td> + </tr> + <tr> <td><a href="gmevents.php">Review GM Events</a></td> </tr> <tr> Modified: www/gmconsole/classes/PSPetition.php =================================================================== --- www/gmconsole/classes/PSPetition.php 2011-07-02 16:26:11 UTC (rev 7485) +++ www/gmconsole/classes/PSPetition.php 2011-07-02 18:16:35 UTC (rev 7486) @@ -16,6 +16,7 @@ var $CaseworkerID; var $CaseworkerFirstName; var $EscalationLevel; + var $Resolution; // @@ -28,12 +29,21 @@ // // Functions // - function S_GetOpenPetitions() { + function S_GetPetitions($type = 1) { $conn = PSBaseClass::S_GetConnection(); - $sql = 'SELECT p.id, p.created_date, c.id AS petitioner_id, c.name AS petitioner, p.status, p.petition, gm.id AS caseworker_id, gm.name AS caseworker, p.escalation_level FROM petitions p INNER JOIN characters c ON c.id = p.player LEFT OUTER JOIN characters gm ON gm.id = p.assigned_gm WHERE LOWER(p.status) IN (\'open\', \'in progress\')'; + // base query + $sql = 'SELECT p.id, p.created_date, c.id AS petitioner_id, c.name AS petitioner, p.status, p.petition, gm.id AS caseworker_id, gm.name AS caseworker, p.escalation_level,p.resolution FROM petitions p INNER JOIN characters c ON c.id = p.player LEFT OUTER JOIN characters gm ON gm.id = p.assigned_gm WHERE LOWER(p.status) '; - $res = mysql_query($sql . " ORDER BY created_date DESC", $conn); + // if type = 1 then extract open and in progress petition + if ($type == 1) + $sql .= 'IN (\'open\', \'in progress\')'; + + // if type = 2 then extract closed petitions + if ($type == 2) + $sql .= 'IN (\'closed\')'; + + $res = mysql_query($sql . " ORDER BY created_date DESC LIMIT 100", $conn); if (!$res) { die($sql . $where . "<br>" . mysql_error()); } else { @@ -51,6 +61,7 @@ $petition->CaseworkerID = $row['caseworker_id']; $petition->CaseworkerFirstName = $row['caseworker']; $petition->EscalationLevel = $row['escalation_level']; + $petition->Resolution = $row['resolution']; $petition->__IsLoaded = true; array_push($petitions, $petition); Modified: www/gmconsole/petitions.php =================================================================== --- www/gmconsole/petitions.php 2011-07-02 16:26:11 UTC (rev 7485) +++ www/gmconsole/petitions.php 2011-07-02 18:16:35 UTC (rev 7486) @@ -10,6 +10,7 @@ header("Location: index.php?origin=petitions"); exit; } + ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> @@ -34,7 +35,7 @@ echo Navigation::S_GetNavigation(); ?> </td> - <td style="width:800px"> + <td> <form id="petitionListForm" action="chardetails.php" method="post"> <table class="table"> <tr> @@ -44,9 +45,17 @@ <th>Petition</th> <th>Assigned to</th> <th>Escalation</th> - </tr> <?php - $petitions = PSPetition::S_GetOpenPetitions(); + if ($_GET["type"]==2) { + echo "<th>Resolution</th>"; + } + echo "</tr>"; + + if ($_GET["type"]==2) { + $petitions = PSPetition::S_GetPetitions(2); + } else + $petitions = PSPetition::S_GetPetitions(1); + foreach ($petitions as $petition) { echo '<tr>'; echo '<td>' . $petition->CreatedDate . '</td>'; @@ -55,6 +64,11 @@ echo '<td>' . $petition->Petition . '</td>'; echo '<td><a href="javascript:setCharId(\'' . $petition->CaseworkerID . '\');">' . $petition->CaseworkerFirstName . '</a></td>'; echo '<td>' . $petition->EscalationLevel . '</td>'; + + if ($_GET["type"]==2) { + echo '<td>' . $petition->Resolution . '</td>'; + } + echo '</tr>'; } ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lpa...@us...> - 2011-07-11 14:31:32
|
Revision: 7508 http://planeshift.svn.sourceforge.net/planeshift/?rev=7508&view=rev Author: lpancallo Date: 2011-07-11 14:31:25 +0000 (Mon, 11 Jul 2011) Log Message: ----------- Realigned SVN with the files present on zeroping. The reports should be improved to allow more filtering and have the sorting actually working. Modified Paths: -------------- www/gmconsole/classes/Navigation.php www/gmconsole/classes/PSAccount.php Added Paths: ----------- www/gmconsole/advicelogs.php www/gmconsole/economylogs.php www/gmconsole/exchangelogs.php www/gmconsole/report.xsl www/gmconsole/sorttable.js www/gmconsole/stucklogs.php Added: www/gmconsole/advicelogs.php =================================================================== --- www/gmconsole/advicelogs.php (rev 0) +++ www/gmconsole/advicelogs.php 2011-07-11 14:31:25 UTC (rev 7508) @@ -0,0 +1,56 @@ +<?php + + require_once('config.php'); + require_once('classes/PSGuild.php'); + require_once('classes/Navigation.php'); + session_start(); + + // is the user logged in? + if (!isset($_SESSION["__SECURITY_LEVEL"])) { + header("Location: index.php?origin=reportlogs"); + exit; + } + +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html> + <head> + <title>List of exchange logs</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="stylesheet" type="text/css" href="<?=$__CSS_RELURI?>" media="all"/> + <link rel="stylesheet" type="text/css" href="<?=$__CSS_ADDON_RELURI?>" media="all"/> +</head> + <body> + <table> + <tr> + <td style="vertical-align:top;"> +<?php + echo Navigation::S_GetNavigation(); +?> + </td> + <td style="vertical-align:top;"> + <h2 class="yellowtitlebig">Advice log (usage: ?date=-1 week)</h2> +<table> +<?php +$date = (isset($_GET['date']) ? $_GET['date'] : '-1 week'); +$file = fopen("../../psserver/planeshift/logs/advice.csv", "r"); +echo "<tr><th>"; +$headerLine = fgets($file); +echo str_replace(",", "</th><th>", $headerLine); +echo "</th></tr>"; +$fromTime = strtotime($date); +while(!feof($file)) +{ + $line = fgets($file); + $exploded = explode(",", $line); + $dateLine = strtotime($exploded[0]); + // This is needed in case the dateline is corrupted. + if(!($dateLine > $fromTime)) + continue; + echo "<tr><td>" . str_replace("disabledtemp", "</td><td>", $line) . "</td></tr>"; +} +fclose($file); +?> +</table> + </body> +</html> Property changes on: www/gmconsole/advicelogs.php ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Modified: www/gmconsole/classes/Navigation.php =================================================================== --- www/gmconsole/classes/Navigation.php 2011-07-10 14:16:13 UTC (rev 7507) +++ www/gmconsole/classes/Navigation.php 2011-07-11 14:31:25 UTC (rev 7508) @@ -31,6 +31,18 @@ <td><a href="gmevents.php">Review GM Events</a></td> </tr> <tr> + <td><a href="advicelogs.php">Advice logs</a></td> + </tr> + <tr> + <td><a href="economylogs.php">Economy logs</a></td> + </tr> + <tr> + <td><a href="exchangelogs.php">Exchange logs</a></td> + </tr> + <tr> + <td><a href="stucklogs.php">Stuck logs</a></td> + </tr> + <tr> <td><a href="reportlogs.php">Report logs</a></td> </tr> <tr> Modified: www/gmconsole/classes/PSAccount.php =================================================================== --- www/gmconsole/classes/PSAccount.php 2011-07-10 14:16:13 UTC (rev 7507) +++ www/gmconsole/classes/PSAccount.php 2011-07-11 14:31:25 UTC (rev 7508) @@ -197,7 +197,7 @@ $sql = 'SELECT * FROM accounts'; $where = ''; - PSBaseClass::S_AppendWhereCondition($where, 'security_level', '>=', 1); + PSBaseClass::S_AppendWhereCondition($where, 'security_level', '>=', 10); $res = mysql_query($sql . $where . ' ORDER BY security_level DESC, username ASC', $conn); if (!$res) { Added: www/gmconsole/economylogs.php =================================================================== --- www/gmconsole/economylogs.php (rev 0) +++ www/gmconsole/economylogs.php 2011-07-11 14:31:25 UTC (rev 7508) @@ -0,0 +1,58 @@ +<?php + + require_once('config.php'); + require_once('classes/PSGuild.php'); + require_once('classes/Navigation.php'); + session_start(); + + // is the user logged in? + if (!isset($_SESSION["__SECURITY_LEVEL"])) { + header("Location: index.php?origin=reportlogs"); + exit; + } + +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html> + <head> + <title>List of exchange logs</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="stylesheet" type="text/css" href="<?=$__CSS_RELURI?>" media="all"/> + <link rel="stylesheet" type="text/css" href="<?=$__CSS_ADDON_RELURI?>" media="all"/> + <script src="sorttable.js"></script> +</head> + <body> + <table> + <tr> + <td style="vertical-align:top;"> +<?php + echo Navigation::S_GetNavigation(); +?> + </td> + <td style="vertical-align:top;"> + <h2 class="yellowtitlebig">Economy log (usage: ?date=-1 week)</h2> + Click columns to sort. +<table class=\"sortable\"> +<?php +$date = (isset($_GET['date']) ? $_GET['date'] : '-1 week'); +$file = fopen("../../psserver/planeshift/logs/economy.csv", "r"); +echo "<tr><th>"; +$headerLine = fgets($file); +echo str_replace(",", "</th><th>", $headerLine); +echo "</th></tr>"; +$fromTime = strtotime($date); +while(!feof($file)) +{ + $line = fgets($file); + $exploded = explode(",", $line); + $dateLine = strtotime($exploded[0]); + // This is needed in case the dateline is corrupted. + if(!($dateLine > $fromTime)) + continue; + echo "<tr><td>" . str_replace(",", "</td><td>", $line) . "</td></tr>"; +} +fclose($file); +?> +</table> + </body> +</html> Property changes on: www/gmconsole/economylogs.php ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: www/gmconsole/exchangelogs.php =================================================================== --- www/gmconsole/exchangelogs.php (rev 0) +++ www/gmconsole/exchangelogs.php 2011-07-11 14:31:25 UTC (rev 7508) @@ -0,0 +1,63 @@ +<?php + + require_once('config.php'); + require_once('classes/PSGuild.php'); + require_once('classes/Navigation.php'); + session_start(); + + // is the user logged in? + if (!isset($_SESSION["__SECURITY_LEVEL"])) { + header("Location: index.php?origin=reportlogs"); + exit; + } + +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html> + <head> + <title>List of exchange logs</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="stylesheet" type="text/css" href="<?=$__CSS_RELURI?>" media="all"/> + <link rel="stylesheet" type="text/css" href="<?=$__CSS_ADDON_RELURI?>" media="all"/> + <script src="sorttable.js"></script> +</head> + <body> + <table> + <tr> + <td style="vertical-align:top;"> +<?php + echo Navigation::S_GetNavigation(); +?> + </td> + <td style="vertical-align:top;"> + <h2 class="yellowtitlebig">Exchange log (usage: ?date=-1 week)</h2> + Click columns to sort. +<table class=\"sortable\"> +<?php +$date = (isset($_GET['date']) ? $_GET['date'] : '-1 week'); +$file = fopen("../../psserver/planeshift/logs/exchange.csv", "r"); +echo "<tr><th>"; +$headerLine = fgets($file); +echo str_replace(",", "</th><th>", $headerLine); +echo "</th></tr>"; +$fromTime = strtotime($date); +while(!feof($file)) +{ + $line = fgetcsv($file); + $dateLine = strtotime($line[0]); + // This is needed in case the dateline is corrupted. + if(!($dateLine > $fromTime)) + continue; + echo "<tr>"; + $num = count($line); + for ($c=0; $c < $num; $c++) { + echo "<td>" . $line[$c]. "</td>\n"; + } + echo "</tr>"; +} + +fclose($file); +?> +</table> + </body> +</html> Property changes on: www/gmconsole/exchangelogs.php ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: www/gmconsole/report.xsl =================================================================== --- www/gmconsole/report.xsl (rev 0) +++ www/gmconsole/report.xsl 2011-07-11 14:31:25 UTC (rev 7508) @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"> +<body> +<table> +<tr> +<xsl:for-each select="server_report/player[1]"> +<xsl:for-each select="@*"> +<th> <xsl:value-of select="name()"/> </th> +</xsl:for-each> +</xsl:for-each> +</tr> +<xsl:for-each select="server_report/player"> +<tr> +<xsl:for-each select="@*"> +<td> +<xsl:value-of select="."/> +</td> +</xsl:for-each> +</tr> +</xsl:for-each> +</table> + +<table> +<tr> +<xsl:for-each select="server_report/npc[1]"> +<xsl:for-each select="@*"> +<th> <xsl:value-of select="name()"/> </th> +</xsl:for-each> +</xsl:for-each> +</tr> +<xsl:for-each select="server_report/npc"> +<tr> +<xsl:for-each select="@*"> +<td> +<xsl:value-of select="."/> +</td> +</xsl:for-each> +</tr> +</xsl:for-each> +</table> + +</body> +</html> + + Property changes on: www/gmconsole/report.xsl ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: www/gmconsole/sorttable.js =================================================================== --- www/gmconsole/sorttable.js (rev 0) +++ www/gmconsole/sorttable.js 2011-07-11 14:31:25 UTC (rev 7508) @@ -0,0 +1,493 @@ +/* + SortTable + version 2 + 7th April 2007 + Stuart Langridge, http://www.kryogenix.org/code/browser/sorttable/ + + Instructions: + Download this file + Add <script src="sorttable.js"></script> to your HTML + Add class="sortable" to any table you'd like to make sortable + Click on the headers to sort + + Thanks to many, many people for contributions and suggestions. + Licenced as X11: http://www.kryogenix.org/code/browser/licence.html + This basically means: do what you want with it. +*/ + + +var stIsIE = /*@cc_on!@*/false; + +sorttable = { + init: function() { + // quit if this function has already been called + if (arguments.callee.done) return; + // flag this function so we don't do the same thing twice + arguments.callee.done = true; + // kill the timer + if (_timer) clearInterval(_timer); + + if (!document.createElement || !document.getElementsByTagName) return; + + sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/; + + forEach(document.getElementsByTagName('table'), function(table) { + if (table.className.search(/\bsortable\b/) != -1) { + sorttable.makeSortable(table); + } + }); + + }, + + makeSortable: function(table) { + if (table.getElementsByTagName('thead').length == 0) { + // table doesn't have a tHead. Since it should have, create one and + // put the first table row in it. + the = document.createElement('thead'); + the.appendChild(table.rows[0]); + table.insertBefore(the,table.firstChild); + } + // Safari doesn't support table.tHead, sigh + if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0]; + + if (table.tHead.rows.length != 1) return; // can't cope with two header rows + + // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as + // "total" rows, for example). This is B&R, since what you're supposed + // to do is put them in a tfoot. So, if there are sortbottom rows, + // for backwards compatibility, move them to tfoot (creating it if needed). + sortbottomrows = []; + for (var i=0; i<table.rows.length; i++) { + if (table.rows[i].className.search(/\bsortbottom\b/) != -1) { + sortbottomrows[sortbottomrows.length] = table.rows[i]; + } + } + if (sortbottomrows) { + if (table.tFoot == null) { + // table doesn't have a tfoot. Create one. + tfo = document.createElement('tfoot'); + table.appendChild(tfo); + } + for (var i=0; i<sortbottomrows.length; i++) { + tfo.appendChild(sortbottomrows[i]); + } + delete sortbottomrows; + } + + // work through each column and calculate its type + headrow = table.tHead.rows[0].cells; + for (var i=0; i<headrow.length; i++) { + // manually override the type with a sorttable_type attribute + if (!headrow[i].className.match(/\bsorttable_nosort\b/)) { // skip this col + mtch = headrow[i].className.match(/\bsorttable_([a-z0-9]+)\b/); + if (mtch) { override = mtch[1]; } + if (mtch && typeof sorttable["sort_"+override] == 'function') { + headrow[i].sorttable_sortfunction = sorttable["sort_"+override]; + } else { + headrow[i].sorttable_sortfunction = sorttable.guessType(table,i); + } + // make it clickable to sort + headrow[i].sorttable_columnindex = i; + headrow[i].sorttable_tbody = table.tBodies[0]; + dean_addEvent(headrow[i],"click", function(e) { + + if (this.className.search(/\bsorttable_sorted\b/) != -1) { + // if we're already sorted by this column, just + // reverse the table, which is quicker + sorttable.reverse(this.sorttable_tbody); + this.className = this.className.replace('sorttable_sorted', + 'sorttable_sorted_reverse'); + this.removeChild(document.getElementById('sorttable_sortfwdind')); + sortrevind = document.createElement('span'); + sortrevind.id = "sorttable_sortrevind"; + sortrevind.innerHTML = stIsIE ? ' <font face="webdings">5</font>' : ' ▴'; + this.appendChild(sortrevind); + return; + } + if (this.className.search(/\bsorttable_sorted_reverse\b/) != -1) { + // if we're already sorted by this column in reverse, just + // re-reverse the table, which is quicker + sorttable.reverse(this.sorttable_tbody); + this.className = this.className.replace('sorttable_sorted_reverse', + 'sorttable_sorted'); + this.removeChild(document.getElementById('sorttable_sortrevind')); + sortfwdind = document.createElement('span'); + sortfwdind.id = "sorttable_sortfwdind"; + sortfwdind.innerHTML = stIsIE ? ' <font face="webdings">6</font>' : ' ▾'; + this.appendChild(sortfwdind); + return; + } + + // remove sorttable_sorted classes + theadrow = this.parentNode; + forEach(theadrow.childNodes, function(cell) { + if (cell.nodeType == 1) { // an element + cell.className = cell.className.replace('sorttable_sorted_reverse',''); + cell.className = cell.className.replace('sorttable_sorted',''); + } + }); + sortfwdind = document.getElementById('sorttable_sortfwdind'); + if (sortfwdind) { sortfwdind.parentNode.removeChild(sortfwdind); } + sortrevind = document.getElementById('sorttable_sortrevind'); + if (sortrevind) { sortrevind.parentNode.removeChild(sortrevind); } + + this.className += ' sorttable_sorted'; + sortfwdind = document.createElement('span'); + sortfwdind.id = "sorttable_sortfwdind"; + sortfwdind.innerHTML = stIsIE ? ' <font face="webdings">6</font>' : ' ▾'; + this.appendChild(sortfwdind); + + // build an array to sort. This is a Schwartzian transform thing, + // i.e., we "decorate" each row with the actual sort key, + // sort based on the sort keys, and then put the rows back in order + // which is a lot faster because you only do getInnerText once per row + row_array = []; + col = this.sorttable_columnindex; + rows = this.sorttable_tbody.rows; + for (var j=0; j<rows.length; j++) { + row_array[row_array.length] = [sorttable.getInnerText(rows[j].cells[col]), rows[j]]; + } + /* If you want a stable sort, uncomment the following line */ + //sorttable.shaker_sort(row_array, this.sorttable_sortfunction); + /* and comment out this one */ + row_array.sort(this.sorttable_sortfunction); + + tb = this.sorttable_tbody; + for (var j=0; j<row_array.length; j++) { + tb.appendChild(row_array[j][1]); + } + + delete row_array; + }); + } + } + }, + + guessType: function(table, column) { + // guess the type of a column based on its first non-blank row + sortfn = sorttable.sort_alpha; + for (var i=0; i<table.tBodies[0].rows.length; i++) { + text = sorttable.getInnerText(table.tBodies[0].rows[i].cells[column]); + if (text != '') { + if (text.match(/^-?[\xA3$\xA4]?[\d,.]+%?$/)) { + return sorttable.sort_numeric; + } + // check for a date: dd/mm/yyyy or dd/mm/yy + // can have / or . or - as separator + // can be mm/dd as well + possdate = text.match(sorttable.DATE_RE) + if (possdate) { + // looks like a date + first = parseInt(possdate[1]); + second = parseInt(possdate[2]); + if (first > 12) { + // definitely dd/mm + return sorttable.sort_ddmm; + } else if (second > 12) { + return sorttable.sort_mmdd; + } else { + // looks like a date, but we can't tell which, so assume + // that it's dd/mm (English imperialism!) and keep looking + sortfn = sorttable.sort_ddmm; + } + } + } + } + return sortfn; + }, + + getInnerText: function(node) { + // gets the text we want to use for sorting for a cell. + // strips leading and trailing whitespace. + // this is *not* a generic getInnerText function; it's special to sorttable. + // for example, you can override the cell text with a customkey attribute. + // it also gets .value for <input> fields. + + hasInputs = (typeof node.getElementsByTagName == 'function') && + node.getElementsByTagName('input').length; + + if (node.getAttribute("sorttable_customkey") != null) { + return node.getAttribute("sorttable_customkey"); + } + else if (typeof node.textContent != 'undefined' && !hasInputs) { + return node.textContent.replace(/^\s+|\s+$/g, ''); + } + else if (typeof node.innerText != 'undefined' && !hasInputs) { + return node.innerText.replace(/^\s+|\s+$/g, ''); + } + else if (typeof node.text != 'undefined' && !hasInputs) { + return node.text.replace(/^\s+|\s+$/g, ''); + } + else { + switch (node.nodeType) { + case 3: + if (node.nodeName.toLowerCase() == 'input') { + return node.value.replace(/^\s+|\s+$/g, ''); + } + case 4: + return node.nodeValue.replace(/^\s+|\s+$/g, ''); + break; + case 1: + case 11: + var innerText = ''; + for (var i = 0; i < node.childNodes.length; i++) { + innerText += sorttable.getInnerText(node.childNodes[i]); + } + return innerText.replace(/^\s+|\s+$/g, ''); + break; + default: + return ''; + } + } + }, + + reverse: function(tbody) { + // reverse the rows in a tbody + newrows = []; + for (var i=0; i<tbody.rows.length; i++) { + newrows[newrows.length] = tbody.rows[i]; + } + for (var i=newrows.length-1; i>=0; i--) { + tbody.appendChild(newrows[i]); + } + delete newrows; + }, + + /* sort functions + each sort function takes two parameters, a and b + you are comparing a[0] and b[0] */ + sort_numeric: function(a,b) { + aa = parseFloat(a[0].replace(/[^0-9.-]/g,'')); + if (isNaN(aa)) aa = 0; + bb = parseFloat(b[0].replace(/[^0-9.-]/g,'')); + if (isNaN(bb)) bb = 0; + return aa-bb; + }, + sort_alpha: function(a,b) { + if (a[0]==b[0]) return 0; + if (a[0]<b[0]) return -1; + return 1; + }, + sort_ddmm: function(a,b) { + mtch = a[0].match(sorttable.DATE_RE); + y = mtch[3]; m = mtch[2]; d = mtch[1]; + if (m.length == 1) m = '0'+m; + if (d.length == 1) d = '0'+d; + dt1 = y+m+d; + mtch = b[0].match(sorttable.DATE_RE); + y = mtch[3]; m = mtch[2]; d = mtch[1]; + if (m.length == 1) m = '0'+m; + if (d.length == 1) d = '0'+d; + dt2 = y+m+d; + if (dt1==dt2) return 0; + if (dt1<dt2) return -1; + return 1; + }, + sort_mmdd: function(a,b) { + mtch = a[0].match(sorttable.DATE_RE); + y = mtch[3]; d = mtch[2]; m = mtch[1]; + if (m.length == 1) m = '0'+m; + if (d.length == 1) d = '0'+d; + dt1 = y+m+d; + mtch = b[0].match(sorttable.DATE_RE); + y = mtch[3]; d = mtch[2]; m = mtch[1]; + if (m.length == 1) m = '0'+m; + if (d.length == 1) d = '0'+d; + dt2 = y+m+d; + if (dt1==dt2) return 0; + if (dt1<dt2) return -1; + return 1; + }, + + shaker_sort: function(list, comp_func) { + // A stable sort function to allow multi-level sorting of data + // see: http://en.wikipedia.org/wiki/Cocktail_sort + // thanks to Joseph Nahmias + var b = 0; + var t = list.length - 1; + var swap = true; + + while(swap) { + swap = false; + for(var i = b; i < t; ++i) { + if ( comp_func(list[i], list[i+1]) > 0 ) { + var q = list[i]; list[i] = list[i+1]; list[i+1] = q; + swap = true; + } + } // for + t--; + + if (!swap) break; + + for(var i = t; i > b; --i) { + if ( comp_func(list[i], list[i-1]) < 0 ) { + var q = list[i]; list[i] = list[i-1]; list[i-1] = q; + swap = true; + } + } // for + b++; + + } // while(swap) + } +} + +/* ****************************************************************** + Supporting functions: bundled here to avoid depending on a library + ****************************************************************** */ + +// Dean Edwards/Matthias Miller/John Resig + +/* for Mozilla/Opera9 */ +if (document.addEventListener) { + document.addEventListener("DOMContentLoaded", sorttable.init, false); +} + +/* for Internet Explorer */ +/*@cc_on @*/ +/*@if (@_win32) + document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>"); + var script = document.getElementById("__ie_onload"); + script.onreadystatechange = function() { + if (this.readyState == "complete") { + sorttable.init(); // call the onload handler + } + }; +/*@end @*/ + +/* for Safari */ +if (/WebKit/i.test(navigator.userAgent)) { // sniff + var _timer = setInterval(function() { + if (/loaded|complete/.test(document.readyState)) { + sorttable.init(); // call the onload handler + } + }, 10); +} + +/* for other browsers */ +window.onload = sorttable.init; + +// written by Dean Edwards, 2005 +// with input from Tino Zijdel, Matthias Miller, Diego Perini + +// http://dean.edwards.name/weblog/2005/10/add-event/ + +function dean_addEvent(element, type, handler) { + if (element.addEventListener) { + element.addEventListener(type, handler, false); + } else { + // assign each event handler a unique ID + if (!handler.$$guid) handler.$$guid = dean_addEvent.guid++; + // create a hash table of event types for the element + if (!element.events) element.events = {}; + // create a hash table of event handlers for each element/event pair + var handlers = element.events[type]; + if (!handlers) { + handlers = element.events[type] = {}; + // store the existing event handler (if there is one) + if (element["on" + type]) { + handlers[0] = element["on" + type]; + } + } + // store the event handler in the hash table + handlers[handler.$$guid] = handler; + // assign a global event handler to do all the work + element["on" + type] = handleEvent; + } +}; +// a counter used to create unique IDs +dean_addEvent.guid = 1; + +function removeEvent(element, type, handler) { + if (element.removeEventListener) { + element.removeEventListener(type, handler, false); + } else { + // delete the event handler from the hash table + if (element.events && element.events[type]) { + delete element.events[type][handler.$$guid]; + } + } +}; + +function handleEvent(event) { + var returnValue = true; + // grab the event object (IE uses a global event object) + event = event || fixEvent(((this.ownerDocument || this.document || this).parentWindow || window).event); + // get a reference to the hash table of event handlers + var handlers = this.events[event.type]; + // execute each event handler + for (var i in handlers) { + this.$$handleEvent = handlers[i]; + if (this.$$handleEvent(event) === false) { + returnValue = false; + } + } + return returnValue; +}; + +function fixEvent(event) { + // add W3C standard event methods + event.preventDefault = fixEvent.preventDefault; + event.stopPropagation = fixEvent.stopPropagation; + return event; +}; +fixEvent.preventDefault = function() { + this.returnValue = false; +}; +fixEvent.stopPropagation = function() { + this.cancelBubble = true; +} + +// Dean's forEach: http://dean.edwards.name/base/forEach.js +/* + forEach, version 1.0 + Copyright 2006, Dean Edwards + License: http://www.opensource.org/licenses/mit-license.php +*/ + +// array-like enumeration +if (!Array.forEach) { // mozilla already supports this + Array.forEach = function(array, block, context) { + for (var i = 0; i < array.length; i++) { + block.call(context, array[i], i, array); + } + }; +} + +// generic enumeration +Function.prototype.forEach = function(object, block, context) { + for (var key in object) { + if (typeof this.prototype[key] == "undefined") { + block.call(context, object[key], key, object); + } + } +}; + +// character enumeration +String.forEach = function(string, block, context) { + Array.forEach(string.split(""), function(chr, index) { + block.call(context, chr, index, string); + }); +}; + +// globally resolve forEach enumeration +var forEach = function(object, block, context) { + if (object) { + var resolve = Object; // default + if (object instanceof Function) { + // functions have a "length" property + resolve = Function; + } else if (object.forEach instanceof Function) { + // the object implements a custom forEach method so use that + object.forEach(block, context); + return; + } else if (typeof object == "string") { + // the object is a string + resolve = String; + } else if (typeof object.length == "number") { + // the object is array-like + resolve = Array; + } + resolve.forEach(object, block, context); + } +}; + Property changes on: www/gmconsole/sorttable.js ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Added: www/gmconsole/stucklogs.php =================================================================== --- www/gmconsole/stucklogs.php (rev 0) +++ www/gmconsole/stucklogs.php 2011-07-11 14:31:25 UTC (rev 7508) @@ -0,0 +1,56 @@ +<?php + + require_once('config.php'); + require_once('classes/PSGuild.php'); + require_once('classes/Navigation.php'); + session_start(); + + // is the user logged in? + if (!isset($_SESSION["__SECURITY_LEVEL"])) { + header("Location: index.php?origin=reportlogs"); + exit; + } + +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html> + <head> + <title>List of exchange logs</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="stylesheet" type="text/css" href="<?=$__CSS_RELURI?>" media="all"/> + <link rel="stylesheet" type="text/css" href="<?=$__CSS_ADDON_RELURI?>" media="all"/> +</head> + <body> + <table> + <tr> + <td style="vertical-align:top;"> +<?php + echo Navigation::S_GetNavigation(); +?> + </td> + <td style="vertical-align:top;"> + <h2 class="yellowtitlebig">Stuck log (usage: ?date=-1 week)</h2> +<table> +<?php +$date = (isset($_GET['date']) ? $_GET['date'] : '-1 week'); +$file = fopen("../../psserver/planeshift/logs/stuck.csv", "r"); +echo "<tr><th>"; +$headerLine = fgets($file); +echo str_replace(",", "</th><th>", $headerLine); +echo "</th></tr>"; +$fromTime = strtotime($date); +while(!feof($file)) +{ + $line = fgets($file); + $exploded = explode(",", $line); + $dateLine = strtotime($exploded[0]); + // This is needed in case the dateline is corrupted. + if(!($dateLine > $fromTime)) + continue; + echo "<tr><td>" . str_replace(",", "</td><td>", $line) . "</td></tr>"; +} +fclose($file); +?> +</table> + </body> +</html> Property changes on: www/gmconsole/stucklogs.php ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pss...@us...> - 2012-02-28 20:44:14
|
Revision: 8106 http://planeshift.svn.sourceforge.net/planeshift/?rev=8106&view=rev Author: psshared Date: 2012-02-28 20:44:08 +0000 (Tue, 28 Feb 2012) Log Message: ----------- fixed access to files Modified Paths: -------------- www/gmconsole/economylogs.php www/gmconsole/exchangelogs.php www/gmconsole/stucklogs.php Modified: www/gmconsole/economylogs.php =================================================================== --- www/gmconsole/economylogs.php 2012-02-27 13:56:09 UTC (rev 8105) +++ www/gmconsole/economylogs.php 2012-02-28 20:44:08 UTC (rev 8106) @@ -35,7 +35,7 @@ <table class=\"sortable\"> <?php $date = (isset($_GET['date']) ? $_GET['date'] : '-1 week'); -$file = fopen("../../psserver/planeshift/logs/economy.csv", "r"); +$file = fopen("logs/economy.csv", "r"); echo "<tr><th>"; $headerLine = fgets($file); echo str_replace(",", "</th><th>", $headerLine); Modified: www/gmconsole/exchangelogs.php =================================================================== --- www/gmconsole/exchangelogs.php 2012-02-27 13:56:09 UTC (rev 8105) +++ www/gmconsole/exchangelogs.php 2012-02-28 20:44:08 UTC (rev 8106) @@ -35,7 +35,7 @@ <table class=\"sortable\"> <?php $date = (isset($_GET['date']) ? $_GET['date'] : '-1 week'); -$file = fopen("../../psserver/planeshift/logs/exchange.csv", "r"); +$file = fopen("logs/exchange.csv", "r"); echo "<tr><th>"; $headerLine = fgets($file); echo str_replace(",", "</th><th>", $headerLine); Modified: www/gmconsole/stucklogs.php =================================================================== --- www/gmconsole/stucklogs.php 2012-02-27 13:56:09 UTC (rev 8105) +++ www/gmconsole/stucklogs.php 2012-02-28 20:44:08 UTC (rev 8106) @@ -33,7 +33,7 @@ <table> <?php $date = (isset($_GET['date']) ? $_GET['date'] : '-1 week'); -$file = fopen("../../psserver/planeshift/logs/stuck.csv", "r"); +$file = fopen("logs/stuck.csv", "r"); echo "<tr><th>"; $headerLine = fgets($file); echo str_replace(",", "</th><th>", $headerLine); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pss...@us...> - 2012-02-28 20:55:18
|
Revision: 8107 http://planeshift.svn.sourceforge.net/planeshift/?rev=8107&view=rev Author: psshared Date: 2012-02-28 20:55:12 +0000 (Tue, 28 Feb 2012) Log Message: ----------- better sanity check for errors Modified Paths: -------------- www/gmconsole/advicelogs.php www/gmconsole/economylogs.php www/gmconsole/exchangelogs.php www/gmconsole/logs.php www/gmconsole/stucklogs.php Modified: www/gmconsole/advicelogs.php =================================================================== --- www/gmconsole/advicelogs.php 2012-02-28 20:44:08 UTC (rev 8106) +++ www/gmconsole/advicelogs.php 2012-02-28 20:55:12 UTC (rev 8107) @@ -33,23 +33,26 @@ <table> <?php $date = (isset($_GET['date']) ? $_GET['date'] : '-1 week'); -$file = fopen("../../psserver/planeshift/logs/advice.csv", "r"); -echo "<tr><th>"; -$headerLine = fgets($file); -echo str_replace(",", "</th><th>", $headerLine); -echo "</th></tr>"; -$fromTime = strtotime($date); -while(!feof($file)) +if(file_exists("logs/advice.csv")) { + $file = fopen("logs/advice.csv", "r"); + echo "<tr><th>"; + $headerLine = fgets($file); + echo str_replace(",", "</th><th>", $headerLine); + echo "</th></tr>"; + $fromTime = strtotime($date); + while(!feof($file)) + { $line = fgets($file); - $exploded = explode(",", $line); - $dateLine = strtotime($exploded[0]); + $exploded = explode(",", $line); + $dateLine = strtotime($exploded[0]); // This is needed in case the dateline is corrupted. if(!($dateLine > $fromTime)) continue; echo "<tr><td>" . str_replace("disabledtemp", "</td><td>", $line) . "</td></tr>"; + } + fclose($file); } -fclose($file); ?> </table> </body> Modified: www/gmconsole/economylogs.php =================================================================== --- www/gmconsole/economylogs.php 2012-02-28 20:44:08 UTC (rev 8106) +++ www/gmconsole/economylogs.php 2012-02-28 20:55:12 UTC (rev 8107) @@ -35,14 +35,16 @@ <table class=\"sortable\"> <?php $date = (isset($_GET['date']) ? $_GET['date'] : '-1 week'); -$file = fopen("logs/economy.csv", "r"); -echo "<tr><th>"; -$headerLine = fgets($file); -echo str_replace(",", "</th><th>", $headerLine); -echo "</th></tr>"; -$fromTime = strtotime($date); -while(!feof($file)) +if(file_exists("logs/economy.csv")) { + $file = fopen("logs/economy.csv", "r"); + echo "<tr><th>"; + $headerLine = fgets($file); + echo str_replace(",", "</th><th>", $headerLine); + echo "</th></tr>"; + $fromTime = strtotime($date); + while(!feof($file)) + { $line = fgets($file); $exploded = explode(",", $line); $dateLine = strtotime($exploded[0]); @@ -50,8 +52,9 @@ if(!($dateLine > $fromTime)) continue; echo "<tr><td>" . str_replace(",", "</td><td>", $line) . "</td></tr>"; + } + fclose($file); } -fclose($file); ?> </table> </body> Modified: www/gmconsole/exchangelogs.php =================================================================== --- www/gmconsole/exchangelogs.php 2012-02-28 20:44:08 UTC (rev 8106) +++ www/gmconsole/exchangelogs.php 2012-02-28 20:55:12 UTC (rev 8107) @@ -35,14 +35,16 @@ <table class=\"sortable\"> <?php $date = (isset($_GET['date']) ? $_GET['date'] : '-1 week'); -$file = fopen("logs/exchange.csv", "r"); -echo "<tr><th>"; -$headerLine = fgets($file); -echo str_replace(",", "</th><th>", $headerLine); -echo "</th></tr>"; -$fromTime = strtotime($date); -while(!feof($file)) +if(file_exists("logs/exchange.csv")) { + $file = fopen("logs/exchange.csv", "r"); + echo "<tr><th>"; + $headerLine = fgets($file); + echo str_replace(",", "</th><th>", $headerLine); + echo "</th></tr>"; + $fromTime = strtotime($date); + while(!feof($file)) + { $line = fgetcsv($file); $dateLine = strtotime($line[0]); // This is needed in case the dateline is corrupted. @@ -54,9 +56,9 @@ echo "<td>" . $line[$c]. "</td>\n"; } echo "</tr>"; + } + fclose($file); } - -fclose($file); ?> </table> </body> Modified: www/gmconsole/logs.php =================================================================== --- www/gmconsole/logs.php 2012-02-28 20:44:08 UTC (rev 8106) +++ www/gmconsole/logs.php 2012-02-28 20:55:12 UTC (rev 8107) @@ -32,7 +32,7 @@ <h2 class="yellowtitlebig">Log</h2> <?php - $file = fopen("../../psserver/planeshift/report.xml", "r"); + $file = fopen("/home/planeshift/psserver/planeshift/report.xml", "r"); while(!feof($file)) { echo htmlentities(fgets($file))."<br>"; @@ -43,4 +43,4 @@ </tr> <table> </body> -</html> \ No newline at end of file +</html> Modified: www/gmconsole/stucklogs.php =================================================================== --- www/gmconsole/stucklogs.php 2012-02-28 20:44:08 UTC (rev 8106) +++ www/gmconsole/stucklogs.php 2012-02-28 20:55:12 UTC (rev 8107) @@ -33,14 +33,16 @@ <table> <?php $date = (isset($_GET['date']) ? $_GET['date'] : '-1 week'); -$file = fopen("logs/stuck.csv", "r"); -echo "<tr><th>"; -$headerLine = fgets($file); -echo str_replace(",", "</th><th>", $headerLine); -echo "</th></tr>"; -$fromTime = strtotime($date); -while(!feof($file)) +if(file_exists("logs/stuck.csv")) { + $file = fopen("logs/stuck.csv", "r"); + echo "<tr><th>"; + $headerLine = fgets($file); + echo str_replace(",", "</th><th>", $headerLine); + echo "</th></tr>"; + $fromTime = strtotime($date); + while(!feof($file)) + { $line = fgets($file); $exploded = explode(",", $line); $dateLine = strtotime($exploded[0]); @@ -48,8 +50,9 @@ if(!($dateLine > $fromTime)) continue; echo "<tr><td>" . str_replace(",", "</td><td>", $line) . "</td></tr>"; + } + fclose($file); } -fclose($file); ?> </table> </body> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lpa...@us...> - 2013-01-10 08:09:35
|
Revision: 8540 http://planeshift.svn.sourceforge.net/planeshift/?rev=8540&view=rev Author: lpancallo Date: 2013-01-10 08:09:29 +0000 (Thu, 10 Jan 2013) Log Message: ----------- Added char creation time to gm console. Modified Paths: -------------- www/gmconsole/chardetails.php www/gmconsole/classes/PSCharacter.php Modified: www/gmconsole/chardetails.php =================================================================== --- www/gmconsole/chardetails.php 2013-01-10 08:08:32 UTC (rev 8539) +++ www/gmconsole/chardetails.php 2013-01-10 08:09:29 UTC (rev 8540) @@ -68,19 +68,19 @@ die("Could not load character, no ID specified by parent page."); } - $char = new PSCharacter($charId); - $race = $char->GetRace(); - $account = $char->GetAccount(); - $guild = $char->GetGuild(); - if ($char->CharacterType == 0) - $altChars = $account->GetCharacters(); - else - $altChars = array(); - $inventoryItems = $char->GetInventory(); - $timeconnect = $char->TimeConnectedInSeconds; - $hours = floor($char->TimeConnectedInSeconds / 3600); - $minutes = floor($char->TimeConnectedInSeconds / 60) - ($hours * 60); - $seconds = $char->TimeConnectedInSeconds - ($minutes * 60) - ($hours * 3600); + $char = new PSCharacter($charId); + $race = $char->GetRace(); + $account = $char->GetAccount(); + $guild = $char->GetGuild(); + if ($char->CharacterType == 0) + $altChars = $account->GetCharacters(); + else + $altChars = array(); + $inventoryItems = $char->GetInventory(); + $timeconnect = $char->TimeConnectedInSeconds; + $hours = floor($char->TimeConnectedInSeconds / 3600); + $minutes = floor($char->TimeConnectedInSeconds / 60) - ($hours * 60); + $seconds = $char->TimeConnectedInSeconds - ($minutes * 60) - ($hours * 3600); ?> <h2 class="yellowtitlebig">General character information</h2> @@ -179,6 +179,10 @@ <td><?=$account->LastLoginIP?></td> </tr> <tr> + <td>Creation date</td> + <td><?=$char->CreationTime?></td> + </tr> + <tr> <td>Guild</td> <td><a href="javascript:setGuildId('<?=$guild->ID?>');"><?=$guild->Name?></a></td> </tr> Modified: www/gmconsole/classes/PSCharacter.php =================================================================== --- www/gmconsole/classes/PSCharacter.php 2013-01-10 08:08:32 UTC (rev 8539) +++ www/gmconsole/classes/PSCharacter.php 2013-01-10 08:09:29 UTC (rev 8540) @@ -41,6 +41,7 @@ var $ProgressionPoints; var $DuelPoints; var $Description; + var $CreationTime; // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -101,6 +102,7 @@ $this->ProgressionPoints = $row['progression_points']; $this->DuelPoints = $row['duel_points']; $this->Description = $row['description']; + $this->CreationTime = $row['creation_time']; // Load completed successfully $this->__IsLoaded = true; @@ -295,6 +297,8 @@ $char->CharacterType = $row['character_type']; $char->StaminaPhysical = $row['stamina_physical']; $char->StaminaMental = $row['stamina_mental']; + $char->HP = $row['mod_hitpoints']; + $char->MANA = $row['mod_mana']; $char->MoneyCircles = $row['money_circles']; $char->MoneyOctas = $row['money_octas']; $char->MoneyHexas = $row['money_hexas']; @@ -308,6 +312,7 @@ $char->ProgressionPoints = $row['progression_points']; $char->DuelPoints = $row['duel_points']; $char->Description = $row['description']; + $char->CreationTime = $row['creation_time']; $char->__IsLoaded = true; array_push($characters, $char); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lpa...@us...> - 2013-01-10 08:46:50
|
Revision: 8543 http://planeshift.svn.sourceforge.net/planeshift/?rev=8543&view=rev Author: lpancallo Date: 2013-01-10 08:46:44 +0000 (Thu, 10 Jan 2013) Log Message: ----------- Added new menu to see banned users. Modified Paths: -------------- www/gmconsole/classes/Navigation.php Added Paths: ----------- www/gmconsole/bans.php www/gmconsole/classes/PSBan.php Added: www/gmconsole/bans.php =================================================================== --- www/gmconsole/bans.php (rev 0) +++ www/gmconsole/bans.php 2013-01-10 08:46:44 UTC (rev 8543) @@ -0,0 +1,71 @@ +<?php + + require_once('config.php'); + require_once('classes/Navigation.php'); + require_once('classes/PSBan.php'); + session_start(); + + // is the user logged in? + if (!isset($_SESSION["__SECURITY_LEVEL"])) { + header("Location: index.php?origin=bans"); + exit; + } + +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html> + <head> + <title>Bans</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="stylesheet" type="text/css" href="<?=$__CSS_RELURI?>"/> + <link rel="stylesheet" type="text/css" href="<?=$__CSS_ADDON_RELURI?>"/> + <script language="javascript" type="text/javascript"> + function setAccountId(accountId) + { + document.getElementById("accountId").value = accountId; + document.getElementById("bansListForm").submit(); + } + </script> + </head> + <body> + <table> + <tr> + <td style="vertical-align:top;"> +<?php + echo Navigation::S_GetNavigation(); +?> + </td> + <td> + <form id="bansListForm" action="accountdetails.php" method="post"> + <table class="table"> + <tr> + <th>Account</th> + <th>IP Range</th> + <th>Start Date</th> + <th>End Date</th> + <th>Reason</th> + <th>IP Ban</th> + <?php + echo "</tr>"; + + $bans = PSBan::S_GetBans(); + + foreach ($bans as $ban) { + echo '<tr>'; + echo '<td><a href="javascript:setAccountId(\'' . $ban->AccountID . '\');">' . $ban->AccountName . '</a></td>'; + echo '<td>' . $ban->IPRange . '</td>'; + echo '<td>' . $ban->DateStart . '</td>'; + echo '<td>' . $ban->DateEnd . '</td>'; + echo '<td>' . $ban->Reason . '</td>'; + echo '<td>' . $ban->IPBan . '</td>'; + echo '</tr>'; + } + ?> + </table> + <input type="hidden" id="accountId" name="accountId"/> + </form> + </td> + </tr> + </table> + </body> +</html> \ No newline at end of file Property changes on: www/gmconsole/bans.php ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Modified: www/gmconsole/classes/Navigation.php =================================================================== --- www/gmconsole/classes/Navigation.php 2013-01-10 08:42:09 UTC (rev 8542) +++ www/gmconsole/classes/Navigation.php 2013-01-10 08:46:44 UTC (rev 8543) @@ -31,6 +31,9 @@ <td><a href="gmevents.php">Review GM Events</a></td> </tr> <tr> + <td><a href="bans.php">Bans</a></td> + </tr> + <tr> <td><a href="advicelogs.php">Advice logs</a></td> </tr> <tr> Added: www/gmconsole/classes/PSBan.php =================================================================== --- www/gmconsole/classes/PSBan.php (rev 0) +++ www/gmconsole/classes/PSBan.php 2013-01-10 08:46:44 UTC (rev 8543) @@ -0,0 +1,60 @@ +<?php + +require_once('PSBaseClass.php'); + +class PSBan extends PSBaseClass { + + // + // Member variables + // + var $AccountID; + var $AccountName; + var $IPRange; + var $DateStart; + var $DateEnd; + var $Reason; + var $IPBan; + + // + // Constructor + // + function PSBan() { + } + + + // + // Functions + // + function S_GetBans() { + $conn = PSBaseClass::S_GetConnection(); + + // base query + $sql = 'SELECT a.id, a.username, b.* FROM accounts a, bans b WHERE a.id = b.account'; + + $res = mysql_query($sql, $conn); + if (!$res) { + die($sql . $where . "<br>" . mysql_error()); + } else { + $bans = array(); + + while (($row = mysql_fetch_array($res)) != null) { + $ban = new PSBan(); + + $ban->AccountID = $row['account']; + $ban->AccountName = $row['username']; + $ban->IPRange = $row['ip_range']; + $ban->DateStart = $row['start']; + $ban->DateEnd = $row['end']; + $ban->Reason = $row['reason']; + $ban->IPBan = $row['ban_ip']; + + $ban->__IsLoaded = true; + array_push($bans, $ban); + } + + return $bans; + } + } +} + +?> \ No newline at end of file Property changes on: www/gmconsole/classes/PSBan.php ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lpa...@us...> - 2013-01-17 20:43:53
|
Revision: 8549 http://planeshift.svn.sourceforge.net/planeshift/?rev=8549&view=rev Author: lpancallo Date: 2013-01-17 20:43:43 +0000 (Thu, 17 Jan 2013) Log Message: ----------- added IP on guild view to check alts at a glance. Modified Paths: -------------- www/gmconsole/classes/PSCharacter.php www/gmconsole/guilddetails.php Modified: www/gmconsole/classes/PSCharacter.php =================================================================== --- www/gmconsole/classes/PSCharacter.php 2013-01-17 18:03:00 UTC (rev 8548) +++ www/gmconsole/classes/PSCharacter.php 2013-01-17 20:43:43 UTC (rev 8549) @@ -42,6 +42,7 @@ var $DuelPoints; var $Description; var $CreationTime; + var $LastLoginIP; // used only for guild display // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -380,8 +381,8 @@ function S_GetMembersOfGuild($guildId) { $conn = PSBaseClass::S_GetConnection(); - $sql = 'SELECT * FROM characters'; - $where = ''; + $sql = 'SELECT * FROM characters c , accounts a '; + $where = 'where c.account_id=a.id '; PSBaseClass::S_AppendWhereCondition($where, 'guild_member_of', '=', $guildId); $res = mysql_query($sql . $where . ' ORDER BY guild_level DESC, name ASC', $conn); @@ -407,6 +408,7 @@ $char->GuildLevel = $row['guild_level']; $char->LastLogin = $row['last_login']; $char->AccountID = $row['account_id']; + $char->LastLoginIP = $row['last_login_ip']; $char->TimeConnectedInSeconds = $row['time_connected_sec']; $char->ExperiencePoints = $row['experience_points']; $char->ProgressionPoints = $row['progression_points']; Modified: www/gmconsole/guilddetails.php =================================================================== --- www/gmconsole/guilddetails.php 2013-01-17 18:03:00 UTC (rev 8548) +++ www/gmconsole/guilddetails.php 2013-01-17 20:43:43 UTC (rev 8549) @@ -42,17 +42,17 @@ <td style="vertical-align:top; width:800px"> <input type="button" onclick="javascript:window.history.back();" value="Back"/><br/> <?php - if(!is_numeric($guildId)) { - die("Could not load guild, no ID specified by parent page."); - } + if(!is_numeric($guildId)) { + die("Could not load guild, no ID specified by parent page."); + } - $guild = new PSGuild($guildId); - $founder = $guild->GetFounder(); - $guildLeader = $guild->GetLeader(); - $members = $guild->GetMembers();; + $guild = new PSGuild($guildId); + $founder = $guild->GetFounder(); + $guildLeader = $guild->GetLeader(); + $members = $guild->GetMembers(); ?> - <h2 class="yellowtitlebig">General guild information</h2> + <h2 class="yellowtitlebig">General guild information</h2> <form id="guildForm" action="chardetails.php" method="post"> <table class="table"> <tr> @@ -89,6 +89,7 @@ <th>First name</th> <th>Last name</th> <th>Last login</th> + <th>Last IP</th> <?php foreach ($members as $member) { echo '<tr>'; @@ -96,6 +97,7 @@ echo '<td><a href="javascript:setCharId(' . $member->ID . ');">' . $member->FirstName. '</a></td>'; echo '<td>' . $member->LastName . '</td>'; echo '<td>' . $member->LastLogin . '</td>'; + echo '<td>' . $member->LastLoginIP . '</td>'; echo '</tr>'; } ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lpa...@us...> - 2013-01-17 21:47:28
|
Revision: 8550 http://planeshift.svn.sourceforge.net/planeshift/?rev=8550&view=rev Author: lpancallo Date: 2013-01-17 21:47:21 +0000 (Thu, 17 Jan 2013) Log Message: ----------- Added Ip on guild members list. Added ability to sort by IP on guild member list. Modified Paths: -------------- www/gmconsole/classes/PSCharacter.php www/gmconsole/classes/PSGuild.php www/gmconsole/guilddetails.php Modified: www/gmconsole/classes/PSCharacter.php =================================================================== --- www/gmconsole/classes/PSCharacter.php 2013-01-17 20:43:43 UTC (rev 8549) +++ www/gmconsole/classes/PSCharacter.php 2013-01-17 21:47:21 UTC (rev 8550) @@ -378,14 +378,17 @@ // Returns all members of a guild as PSCharacter-objects. They are sorted by guild level (descending), then first name (ascending) // If the guild has no members, an empty array is returned. // - function S_GetMembersOfGuild($guildId) { + function S_GetMembersOfGuild($guildId,$order) { $conn = PSBaseClass::S_GetConnection(); $sql = 'SELECT * FROM characters c , accounts a '; $where = 'where c.account_id=a.id '; PSBaseClass::S_AppendWhereCondition($where, 'guild_member_of', '=', $guildId); + if ($order) + $res = mysql_query($sql . $where . ' ORDER BY last_login_ip ASC, name ASC', $conn); + else + $res = mysql_query($sql . $where . ' ORDER BY guild_level DESC, name ASC', $conn); - $res = mysql_query($sql . $where . ' ORDER BY guild_level DESC, name ASC', $conn); if (!$res) { die($sql . $where . "<br>" . mysql_error()); } else { Modified: www/gmconsole/classes/PSGuild.php =================================================================== --- www/gmconsole/classes/PSGuild.php 2013-01-17 20:43:43 UTC (rev 8549) +++ www/gmconsole/classes/PSGuild.php 2013-01-17 21:47:21 UTC (rev 8550) @@ -94,12 +94,12 @@ } - function GetMembers() { + function GetMembers($order) { if (!$this->__IsLoaded) { die('Cannot load the guild members from an uninitialized guild-object'); } - return PSCharacter::S_GetMembersOfGuild($this->ID); + return PSCharacter::S_GetMembersOfGuild($this->ID, $order); } Modified: www/gmconsole/guilddetails.php =================================================================== --- www/gmconsole/guilddetails.php 2013-01-17 20:43:43 UTC (rev 8549) +++ www/gmconsole/guilddetails.php 2013-01-17 21:47:21 UTC (rev 8550) @@ -14,6 +14,10 @@ // get variables $guildId = $_POST['guildId']; + if (!isset($_POST['guildId'])) + $guildId = $_GET['guildId']; + $order = $_GET['order']; + ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> @@ -49,7 +53,8 @@ $guild = new PSGuild($guildId); $founder = $guild->GetFounder(); $guildLeader = $guild->GetLeader(); - $members = $guild->GetMembers(); + $orderbyIP = $_GET['order'] ? 1 : 0; + $members = $guild->GetMembers($order); ?> <h2 class="yellowtitlebig">General guild information</h2> @@ -83,7 +88,7 @@ <input type="hidden" name="charId" id="charId"/> <hr/> - <h2 class="yellowtitlebig">Current guild members</h2> + <h2 class="yellowtitlebig">Current guild members (<a href="guilddetails.php?order=ip&guildId=<?=$guildId?>">Order by IP</a>)</h2> <table class="table"> <th>Guild level</th> <th>First name</th> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lpa...@us...> - 2013-01-17 22:16:01
|
Revision: 8551 http://planeshift.svn.sourceforge.net/planeshift/?rev=8551&view=rev Author: lpancallo Date: 2013-01-17 22:15:54 +0000 (Thu, 17 Jan 2013) Log Message: ----------- Fixed bans date, added security level Modified Paths: -------------- www/gmconsole/bans.php www/gmconsole/classes/PSBan.php Modified: www/gmconsole/bans.php =================================================================== --- www/gmconsole/bans.php 2013-01-17 21:47:21 UTC (rev 8550) +++ www/gmconsole/bans.php 2013-01-17 22:15:54 UTC (rev 8551) @@ -44,6 +44,7 @@ <th>Start Date</th> <th>End Date</th> <th>Reason</th> + <th>Security Level</th> <th>IP Ban</th> <?php echo "</tr>"; @@ -54,9 +55,10 @@ echo '<tr>'; echo '<td><a href="javascript:setAccountId(\'' . $ban->AccountID . '\');">' . $ban->AccountName . '</a></td>'; echo '<td>' . $ban->IPRange . '</td>'; - echo '<td>' . $ban->DateStart . '</td>'; - echo '<td>' . $ban->DateEnd . '</td>'; + echo '<td>' . date('d-M-Y',$ban->DateStart) . '</td>'; + echo '<td>' . date('d-M-Y',$ban->DateEnd) . '</td>'; echo '<td>' . $ban->Reason . '</td>'; + echo '<td>' . $ban->SecurityLevel . '</td>'; echo '<td>' . $ban->IPBan . '</td>'; echo '</tr>'; } Modified: www/gmconsole/classes/PSBan.php =================================================================== --- www/gmconsole/classes/PSBan.php 2013-01-17 21:47:21 UTC (rev 8550) +++ www/gmconsole/classes/PSBan.php 2013-01-17 22:15:54 UTC (rev 8551) @@ -9,6 +9,7 @@ // var $AccountID; var $AccountName; + var $SecurityLevel; var $IPRange; var $DateStart; var $DateEnd; @@ -29,7 +30,7 @@ $conn = PSBaseClass::S_GetConnection(); // base query - $sql = 'SELECT a.id, a.username, b.* FROM accounts a, bans b WHERE a.id = b.account'; + $sql = 'SELECT a.id, a.username, a.security_level, b.* FROM accounts a, bans b WHERE a.id = b.account order by end desc'; $res = mysql_query($sql, $conn); if (!$res) { @@ -42,6 +43,7 @@ $ban->AccountID = $row['account']; $ban->AccountName = $row['username']; + $ban->SecurityLevel = $row['security_level']; $ban->IPRange = $row['ip_range']; $ban->DateStart = $row['start']; $ban->DateEnd = $row['end']; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lpa...@us...> - 2013-12-29 11:35:59
|
Revision: 9125 http://sourceforge.net/p/planeshift/code/9125 Author: lpancallo Date: 2013-12-29 11:35:57 +0000 (Sun, 29 Dec 2013) Log Message: ----------- Added container information in character inventory display. Modified Paths: -------------- www/gmconsole/chardetails.php www/gmconsole/classes/PSItem.php Modified: www/gmconsole/chardetails.php =================================================================== --- www/gmconsole/chardetails.php 2013-12-29 11:17:47 UTC (rev 9124) +++ www/gmconsole/chardetails.php 2013-12-29 11:35:57 UTC (rev 9125) @@ -232,14 +232,17 @@ <tr> <th>Item</th> <th>Amount</th> - <th>Location</th> + <th>Location (parent ID)</th> </tr> <?php foreach ($inventoryItems as $item) { echo '<tr>'; echo '<td><a href="javascript:setItemId(\'' . $item->ID . '\');">' . $item->Name . '</a></td>'; echo '<td>' . $item->StackCount . '</td>'; - echo '<td>' . $item->GetHumanReadableItemLocation() . '</td>'; + $location = $item->GetHumanReadableItemLocation(); + if ($item->ParentItem) + $location .= '('.$item->ParentItem.')'; + echo '<td>' . $location . '</td>'; echo '</tr>'; } ?> Modified: www/gmconsole/classes/PSItem.php =================================================================== --- www/gmconsole/classes/PSItem.php 2013-12-29 11:17:47 UTC (rev 9124) +++ www/gmconsole/classes/PSItem.php 2013-12-29 11:35:57 UTC (rev 9125) @@ -194,7 +194,7 @@ $conn = PSBaseClass::S_GetConnection(); - $sql = 'SELECT inst.id AS inst_id, inst.char_id_owner AS inst_owner, inst.location_in_parent AS inst_location_in_parent, inst.stack_count AS inst_stack_count, inst.creator_mark_id AS inst_creator_mark_id, inst.item_quality AS inst_item_quality, inst.decay_resistance AS inst_decay_resistance, stats.name AS stats_name, stats.weight AS stats_weight, stats.valid_slots AS stats_valid_slots, stats.weapon_speed AS stats_weapon_speed, stats.dmg_slash AS stats_dmg_slash, stats.dmg_blunt AS stats_dmg_blunt, stats.dmg_pierce AS stats_dmg_pierce, cat.name AS cat_name '; + $sql = 'SELECT inst.id AS inst_id, inst.char_id_owner AS inst_owner, inst.parent_item_id, inst.location_in_parent AS inst_location_in_parent, inst.stack_count AS inst_stack_count, inst.creator_mark_id AS inst_creator_mark_id, inst.item_quality AS inst_item_quality, inst.decay_resistance AS inst_decay_resistance, stats.name AS stats_name, stats.weight AS stats_weight, stats.valid_slots AS stats_valid_slots, stats.weapon_speed AS stats_weapon_speed, stats.dmg_slash AS stats_dmg_slash, stats.dmg_blunt AS stats_dmg_blunt, stats.dmg_pierce AS stats_dmg_pierce, cat.name AS cat_name '; $sql .= 'FROM item_instances inst '; $sql .= 'INNER JOIN item_stats stats ON inst.item_stats_id_standard = stats.id '; $sql .= 'INNER JOIN item_categories cat ON stats.category_id = cat.category_id '; @@ -214,6 +214,7 @@ $item->ID = $row['inst_id']; $item->OwnerID = $row['inst_owner']; + $item->ParentItem = $row['parent_item_id']; $item->LocationInParent = $row['inst_location_in_parent']; $item->StackCount = $row['inst_stack_count']; $this->CreatorID = $row['inst_creator_mark_id']; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tua...@us...> - 2015-02-03 11:17:46
|
Revision: 9706 http://sourceforge.net/p/planeshift/code/9706 Author: tuathanach Date: 2015-02-03 11:17:43 +0000 (Tue, 03 Feb 2015) Log Message: ----------- Enable viewing of Character Variables Modified Paths: -------------- www/gmconsole/chardetails.php www/gmconsole/config.php Modified: www/gmconsole/chardetails.php =================================================================== --- www/gmconsole/chardetails.php 2015-02-01 13:22:48 UTC (rev 9705) +++ www/gmconsole/chardetails.php 2015-02-03 11:17:43 UTC (rev 9706) @@ -226,6 +226,30 @@ if ($_SESSION["__SECURITY_LEVEL"] >= 22) { ?> <hr/> + <h2 class="yellowtitlebig">Variables</h2> + <div style="height:100px; overflow:auto;clear:both;"> + <table class="table"> + <tr> + <th>Variable</th> + <th>Value</th> + </tr> +<?php + $sel_var = 'SELECT name, value FROM character_variables WHERE character_id='.$charId.' ORDER BY name'; + $var_sel = mysql_query($sel_var) or die ($sel_var . '<br>' . mysql_error()); + while($var= mysql_fetch_array($var_sel)) + { + echo('<tr><td>' . $var['name'] . '</td><td>' . $var['value'] . '</td></tr>'); + } +?> + </table> + </div> +<?php +} +?> +<?php +if ($_SESSION["__SECURITY_LEVEL"] >= 22) { +?> + <hr/> <h2 class="yellowtitlebig">Inventory</h2> <div style="height:200px; overflow:auto;clear:both;"> <table class="table"> Modified: www/gmconsole/config.php =================================================================== --- www/gmconsole/config.php 2015-02-01 13:22:48 UTC (rev 9705) +++ www/gmconsole/config.php 2015-02-03 11:17:43 UTC (rev 9706) @@ -30,4 +30,6 @@ $path_session = 'sessions'; session_save_path($path_session); + // set time/date + date_default_timezone_set('UTC'); ?> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lpa...@us...> - 2015-08-30 13:38:57
|
Revision: 9756 http://sourceforge.net/p/planeshift/code/9756 Author: lpancallo Date: 2015-08-30 13:38:54 +0000 (Sun, 30 Aug 2015) Log Message: ----------- Added function to check who has in his inventory a specific guildhouse key Modified Paths: -------------- www/gmconsole/classes/Navigation.php www/gmconsole/classes/PSCharacter.php Added Paths: ----------- www/gmconsole/check_keys.php Added: www/gmconsole/check_keys.php =================================================================== --- www/gmconsole/check_keys.php (rev 0) +++ www/gmconsole/check_keys.php 2015-08-30 13:38:54 UTC (rev 9756) @@ -0,0 +1,94 @@ +<?php + + require_once("config.php"); + require_once('classes/Navigation.php'); + require_once("classes/PSCharacter.php"); + + session_start(); + + // is the user logged in? + if (!isset($_SESSION["__SECURITY_LEVEL"])) { + header("Location: index.php?origin=check_keys"); + exit; + } + + // get variables + $keyField = $_POST['keyField']; +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html> + <head> + <title>Check Keys</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="stylesheet" type="text/css" href="<?=$__CSS_RELURI?>" media="all"/> + <link rel="stylesheet" type="text/css" href="<?=$__CSS_ADDON_RELURI?>" media="all"/> + <script language="javascript" type="text/javascript"> + function setKeyId(keyId) + { + document.getElementById("keyId").value = keyId; + document.getElementById("checkKeyForm").submit(); + } + </script> + </head> + <body> + <table> + <tr> + <td style="vertical-align:top;"> +<?php + echo Navigation::S_GetNavigation(); +?> + </td> + <td><?php echo $keyField; ?> + + <form action="check_keys.php" method="post"> + <table cellspacing="0" cellpadding="0"> + <tr> + <td>Key ID</td> + <td><input type="text" name="keyField" style="width:200px" value="<?=$keyField?>"/>(exact match)</td> + </tr> + </table> + <br/> + <input type="submit" value="Search"/> + </form> + + <br/> + <div> + <form id="checkKeyForm" action="chardetail.php" method="post"> + <table class="table"> + <tr> + <th>First Name</th> + <th>Last Name</th> + <th>Character type</th> + <th>Time connected</th> + </tr> +<?php + + if (isset($keyField)) + { + $characters = PSCharacter::Key_Find($keyField); + + foreach ($characters as $char) + { + // make the the time connected more human readable + $hours = floor($char->TimeConnectedInSeconds / 3600); + $minutes = floor($char->TimeConnectedInSeconds / 60) - ($hours * 60); + $seconds = $char->TimeConnectedInSeconds - ($minutes * 60) - ($hours * 3600); + + echo '<tr>'; + echo '<td><a href="javascript:setCharId(\'' . $char->ID . '\');">' . $char->FirstName . '</a></td>'; + echo '<td>' . $char->LastName . '</td>'; + echo '<td>' . $char->GetHumanReadableCharType() . '</td>'; + echo '<td>' . $hours . 'h ' . $minutes . 'm ' . $seconds . 's</td>'; + echo '</tr>'; + } + } +?> + </table> + <input type="hidden" id="keyId" name="keyId"/> + </form> + </div> + </td> + </tr> + </table> + </body> +</html> \ No newline at end of file Property changes on: www/gmconsole/check_keys.php ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: www/gmconsole/classes/Navigation.php =================================================================== --- www/gmconsole/classes/Navigation.php 2015-08-30 09:58:19 UTC (rev 9755) +++ www/gmconsole/classes/Navigation.php 2015-08-30 13:38:54 UTC (rev 9756) @@ -31,6 +31,9 @@ <td><a href="gmevents.php">Review GM Events</a></td> </tr> <tr> + <td><a href="check_keys.php">Check Guildhouse keys</a></td> + </tr> + <tr> <td><a href="bans.php">Bans</a></td> </tr> <tr> Modified: www/gmconsole/classes/PSCharacter.php =================================================================== --- www/gmconsole/classes/PSCharacter.php 2015-08-30 09:58:19 UTC (rev 9755) +++ www/gmconsole/classes/PSCharacter.php 2015-08-30 13:38:54 UTC (rev 9756) @@ -323,7 +323,57 @@ } } + // Searches characters owning a specific key + function Key_Find($keyField) { + require_once('PSBaseClass.php'); + $conn = PSBaseClass::S_GetConnection(); + // select name from item_instances s, characters c where c.id=s.char_id_owner and flags like '%key%' and openable_locks=35576198; + $sql = 'SELECT c.* FROM item_instances s, characters c where c.id=s.char_id_owner and openable_locks='.$keyField; + + $res = mysql_query($sql . ' ORDER BY name LIMIT 100', $conn); + if (!$res) { + die($sql . $where . mysql_error()); + } + else { + $characters = array(); + + while (($row = mysql_fetch_array($res)) != null) { + $char = new PSCharacter(); + + $char->ID = $row['id']; + $char->FirstName = $row['name']; + $char->LastName = $row['lastname']; + $char->RaceGenderID = $row['racegender_id']; + $char->CharacterType = $row['character_type']; + $char->StaminaPhysical = $row['stamina_physical']; + $char->StaminaMental = $row['stamina_mental']; + $char->HP = $row['mod_hitpoints']; + $char->MANA = $row['mod_mana']; + $char->MoneyCircles = $row['money_circles']; + $char->MoneyOctas = $row['money_octas']; + $char->MoneyHexas = $row['money_hexas']; + $char->MoneyTrias = $row['money_trias']; + $char->GuildID = $row['guild_member_of']; + $char->GuildLevel = $row['guild_level']; + $char->LastLogin = $row['last_login']; + $char->AccountID = $row['account_id']; + $char->TimeConnectedInSeconds = $row['time_connected_sec']; + $char->ExperiencePoints = $row['experience_points']; + $char->ProgressionPoints = $row['progression_points']; + $char->DuelPoints = $row['duel_points']; + $char->Description = $row['description']; + $char->CreationTime = $row['creation_time']; + + $char->__IsLoaded = true; + array_push($characters, $char); + } + + return $characters; + } + } + + // // Returns the leader of a guild. If there's more than one leader (database inconsistency?), the first one read from the // database will be returned. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lpa...@us...> - 2021-02-27 20:32:28
|
Revision: 10007 http://sourceforge.net/p/planeshift/code/10007 Author: lpancallo Date: 2021-02-27 20:32:26 +0000 (Sat, 27 Feb 2021) Log Message: ----------- Tua updates on the console to have it compatible with PHP 7.x Modified Paths: -------------- www/gmconsole/accountdetails.php www/gmconsole/accountsearch.php www/gmconsole/chardetails.php www/gmconsole/check_keys.php www/gmconsole/classes/Navigation.php www/gmconsole/classes/PSAccount.php www/gmconsole/classes/PSBan.php www/gmconsole/classes/PSBaseClass.php www/gmconsole/classes/PSCharacter.php www/gmconsole/classes/PSGMCommandLogEntry.php www/gmconsole/classes/PSGmEvents.php www/gmconsole/classes/PSGuild.php www/gmconsole/classes/PSItem.php www/gmconsole/classes/PSNameChange.php www/gmconsole/classes/PSPetition.php www/gmconsole/classes/PSQuests.php www/gmconsole/classes/PSRace.php www/gmconsole/config.php www/gmconsole/guilddetails.php www/gmconsole/guildsearch.php www/gmconsole/namechanges.php www/gmconsole/petitions.php Modified: www/gmconsole/accountdetails.php =================================================================== --- www/gmconsole/accountdetails.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/accountdetails.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -118,13 +118,12 @@ <?php $i = 0; foreach ($altChars as $altChar) { - if ($altChar->ID != $char->ID) { - $i++; + $i++; echo '<tr>'; echo '<td style="text-align:right;">#' . $i . '</td>'; echo '<td><a href="javascript:setCharId(\'' . $altChar->ID . '\');">' . $altChar->FirstName . ' ' . $altChar->LastName . '</a></td>'; echo '</tr>'; - } + } ?> </table> Modified: www/gmconsole/accountsearch.php =================================================================== --- www/gmconsole/accountsearch.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/accountsearch.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -13,8 +13,17 @@ } // get variables - $email = $_POST['email']; - $lastIP = $_POST['lastIP']; + $email = '';; + $lastIP = ''; + + if(isset($_POST['email'])) + { + $email = $_POST['email']; + } + if(isset($_POST['lastIP'])) + { + $lastIP = $_POST['lastIP']; + } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> Modified: www/gmconsole/chardetails.php =================================================================== --- www/gmconsole/chardetails.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/chardetails.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -2,6 +2,7 @@ require_once('config.php'); require_once('classes/Navigation.php'); + require_once('classes/PSBaseClass.php'); require_once("classes/PSCharacter.php"); session_start(); @@ -14,6 +15,7 @@ // get variables $charId = $_POST["charId"]; + $conn = PSBaseClass::S_GetConnection(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> @@ -235,8 +237,8 @@ </tr> <?php $sel_var = 'SELECT name, value FROM character_variables WHERE character_id='.$charId.' ORDER BY name'; - $var_sel = mysql_query($sel_var) or die ($sel_var . '<br>' . mysql_error()); - while($var= mysql_fetch_array($var_sel)) + $var_sel = mysqli_query($conn, $sel_var) or die ($sel_var . '<br>' . mysqli_error($conn)); + while($var= mysqli_fetch_array($var_sel)) { echo('<tr><td>' . $var['name'] . '</td><td>' . $var['value'] . '</td></tr>'); } Modified: www/gmconsole/check_keys.php =================================================================== --- www/gmconsole/check_keys.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/check_keys.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -13,7 +13,11 @@ } // get variables - $keyField = $_POST['keyField']; + $keyField = null; + if(isset($_POST['keyField'])) + { + $keyField = $_POST['keyField']; + } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> Modified: www/gmconsole/classes/Navigation.php =================================================================== --- www/gmconsole/classes/Navigation.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/classes/Navigation.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -1,6 +1,6 @@ <?php class Navigation { - function S_GetNavigation() { + static function S_GetNavigation() { return <<<NAV <table class="table" style="margin-right:20px"> <tr> Modified: www/gmconsole/classes/PSAccount.php =================================================================== --- www/gmconsole/classes/PSAccount.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/classes/PSAccount.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -24,7 +24,7 @@ // // Constructor // - function PSAccount($pID = 0) { + function __construct($pID = 0) { if ($pID > 0) { $this->ID = $pID; $this->Load(); @@ -47,18 +47,18 @@ PSBaseClass::S_AppendWhereCondition($where, 'id', '=', $this->ID); - $res = mysql_query($sql . $where, $conn); + $res = mysqli_query($conn, $sql . $where); if (!$res) { - die($sql . $where . '<br>' . mysql_error()); + die($sql . $where . '<br>' . mysqli_error($conn)); } else { // since it's the ID, there's only one character - $row = mysql_fetch_array($res); + $row = mysqli_fetch_array($res); $this->UserName = $row['username']; $this->LastLogin = $row['last_login']; $this->CreatedDate = $row['created_date']; $this->LastLoginIP = $row['last_login_ip']; - $this->LastLoginHostName = $row['last_login_hostname']; + //$this->LastLoginHostName = $row['last_login_hostname']; $this->SecurityLevel = $row['security_level']; $this->Country = $row['country']; $this->SpamPoints = $row['spam_points']; @@ -111,7 +111,7 @@ // // Searches for an account by user name and password, used only at login from main page // - function S_FindOne($userName, $password) { + static function S_FindOne($userName, $password) { $conn = PSBaseClass::S_GetConnection(); $sql = 'SELECT * FROM accounts'; @@ -119,11 +119,11 @@ PSBaseClass::S_AppendWhereCondition($where, 'username', '=', $userName); PSBaseClass::S_AppendWhereCondition($where, 'password', '=', md5($password)); - $res = mysql_query($sql . $where, $conn); + $res = mysqli_query($conn, $sql . $where); if (!$res) { - die($sql . $where . "<br>" . mysql_error()); + die($sql . $where . "<br>" . mysqli_error($conn)); } else { - $row = mysql_fetch_array($res); + $row = mysqli_fetch_array($res); if (!$row) { // Authentication failed! return null; @@ -154,7 +154,7 @@ // // Searches for all accounts that match the given the criteria // - function S_Find($email, $lastIP) { + static function S_Find($email, $lastIP) { $conn = PSBaseClass::S_GetConnection(); $sql = 'SELECT * FROM accounts'; @@ -166,15 +166,15 @@ //echo "before query ".$sql . $where . ' ORDER BY username ASC LIMIT 100'; //echo time(); - $res = mysql_query($sql . $where . ' ORDER BY username ASC LIMIT 100', $conn); + $res = mysqli_query($conn, $sql . $where . ' ORDER BY username ASC LIMIT 100'); //echo "after query"; //echo time(); if (!$res) { - die($sql . $where . "<br>" . mysql_error()); + die($sql . $where . "<br>" . mysqli_error($conn)); } else { $accounts = array(); - while (($row = mysql_fetch_array($res)) != null) { + while (($row = mysqli_fetch_array($res)) != null) { $account = new PSAccount(); $account->ID = $row['id']; @@ -182,7 +182,7 @@ $account->LastLogin = $row['last_login']; $account->CreatedDate = $row['created_date']; $account->LastLoginIP = $row['last_login_ip']; - $account->LastLoginHostName = $row['last_login_hostname']; + //$account->LastLoginHostName = $row['last_login_hostname']; $account->SecurityLevel = $row['security_level']; $account->Country = $row['country']; $account->SpamPoints = $row['spam_points']; @@ -204,7 +204,7 @@ // Returns an array of character objects that are GMs, ordered by security leven and name in ascending order. // This function can be called statically. // - function S_GetGMs() { + static function S_GetGMs() { $conn = PSBaseClass::S_GetConnection(); $sql = 'SELECT * FROM accounts'; @@ -211,13 +211,13 @@ $where = ''; PSBaseClass::S_AppendWhereCondition($where, 'security_level', '>=', 10); - $res = mysql_query($sql . $where . ' ORDER BY security_level DESC, username ASC', $conn); + $res = mysqli_query($conn, $sql . $where . ' ORDER BY security_level DESC, username ASC'); if (!$res) { - die($sql . $where . '<br>' . mysql_error()); + die($sql . $where . '<br>' . mysqli_error($conn)); } else { $gmAccounts = array(); - while (($row = mysql_fetch_array($res)) != null) { + while (($row = mysqli_fetch_array($res)) != null) { $gmAccount = new PSAccount(); $gmAccount->ID = $row['id']; @@ -225,7 +225,7 @@ $gmAccount->LastLogin = $row['last_login']; $gmAccount->CreatedDate = $row['created_date']; $gmAccount->LastLoginIP = $row['last_login_ip']; - $gmAccount->LastLoginHostName = $row['last_login_hostname']; + //$gmAccount->LastLoginHostName = $row['last_login_hostname']; $gmAccount->SecurityLevel = $row['security_level']; $gmAccount->Country = $row['country']; $gmAccount->SpamPoints = $row['spam_points']; Modified: www/gmconsole/classes/PSBan.php =================================================================== --- www/gmconsole/classes/PSBan.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/classes/PSBan.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -19,7 +19,7 @@ // // Constructor // - function PSBan() { + function __construct() { } @@ -26,19 +26,19 @@ // // Functions // - function S_GetBans() { + static function S_GetBans() { $conn = PSBaseClass::S_GetConnection(); // base query $sql = 'SELECT a.id, a.username, a.security_level, b.* FROM accounts a, bans b WHERE a.id = b.account order by end desc'; - $res = mysql_query($sql, $conn); + $res = mysqli_query($conn, $sql); if (!$res) { - die($sql . $where . "<br>" . mysql_error()); + die($sql . $where . "<br>" . mysqli_error($conn)); } else { $bans = array(); - while (($row = mysql_fetch_array($res)) != null) { + while (($row = mysqli_fetch_array($res)) != null) { $ban = new PSBan(); $ban->AccountID = $row['account']; Modified: www/gmconsole/classes/PSBaseClass.php =================================================================== --- www/gmconsole/classes/PSBaseClass.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/classes/PSBaseClass.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -9,22 +9,35 @@ var $__IsLoaded; var $conn; - function PSBaseClass() { + function __construct() { } - function S_GetConnection() + static function S_GetConnection() { require('config.php'); + $mysqli; + $mysqli = new mysqli($__DB_HOST, $__DB_USER, $__DB_PASS, $__DB_NAME); + + /* check connection */ + if ($mysqli->connect_errno) //error code 0 means success, causing us to fail this if. + { + printf("Connect failed: %s\n", $mysqli->connect_error); + exit(); + } + return $mysqli; + + /*require('config.php'); + //if ($conn==null) { - $conn = mysql_connect($__DB_HOST, $__DB_USER, $__DB_PASS); - mysql_select_db($__DB_NAME); + $conn = mysqli_connect($__DB_HOST, $__DB_USER, $__DB_PASS); + mysqli_select_db($__DB_NAME); //echo "Opened a db connection."; //} - return $conn; + return $conn;*/ } - function S_AppendWhereCondition(&$where, $param, $op, $value) { + static function S_AppendWhereCondition(&$where, $param, $op, $value) { if (isset($value)) { if ($where == '') { $where .= ' WHERE '; Modified: www/gmconsole/classes/PSCharacter.php =================================================================== --- www/gmconsole/classes/PSCharacter.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/classes/PSCharacter.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -39,7 +39,7 @@ var $TimeConnectedInSeconds; var $ExperiencePoints; var $ProgressionPoints; - var $DuelPoints; + //var $DuelPoints; var $Description; var $CreationTime; var $LastLoginIP; // used only for guild display @@ -48,38 +48,48 @@ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructor // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - function PSCharacter($pID = 0) { + /* static function PSCharacter($pID = 0) { if ($pID > 0) { $this->ID = $pID; $this->Load(); } + }*/ + function __construct($pID = 0) + { + if ($pID > 0) + { + $this->ID = $pID; + $this->Load($pID); + } } // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Functions +// functions // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - function Load() { - if (!$this->ID) { + function Load($pID) { + + if (!$pID) { die('Cannot load a character if the object trying to load it has an uninitialized property "ID"'); } + $conn = PSBaseClass::S_GetConnection(); $sql = 'SELECT * FROM characters'; $where = ''; - PSBaseClass::S_AppendWhereCondition($where, 'id', '=', $this->ID); + PSBaseClass::S_AppendWhereCondition($where, 'id', '=', $pID); - $res = mysql_query($sql . $where, $conn); + $res = mysqli_query($conn, $sql . $where); if (!$res) { - die($sql . $where . mysql_error()); - } if (!mysql_num_rows($res)) { + die($sql . $where . mysqli_error($conn)); + } if (!mysqli_num_rows($res)) { // the char ID does not exist aborting $this->FirstName = 'INVALID ID'; return; } else { // since it's the ID, there's only one character - $row = mysql_fetch_array($res); + $row = mysqli_fetch_array($res); $this->ID = $row['id']; $this->FirstName = $row['name']; @@ -101,7 +111,7 @@ $this->TimeConnectedInSeconds = $row['time_connected_sec']; $this->ExperiencePoints = $row['experience_points']; $this->ProgressionPoints = $row['progression_points']; - $this->DuelPoints = $row['duel_points']; + // $this->DuelPoints = $row['duel_points']; $this->Description = $row['description']; $this->CreationTime = $row['creation_time']; @@ -112,12 +122,12 @@ // extract stats/skills $sql = 'SELECT * FROM character_skills where character_id='.$this->ID; - $res = mysql_query($sql, $conn); + $res = mysqli_query($conn, $sql); if (!$res) { - die($sql . $where . mysql_error()); + die($sql . $where . mysqli_error($conn)); } else { - while($data = mysql_fetch_array($res)) { + while($data = mysqli_fetch_array($res)) { $stat = $data['skill_id']; //echo '--> '.$stat; @@ -192,7 +202,7 @@ // // Returns all GM actions that this character has done as an array of PSGMCommandLogEntry-objects. // The array is empty, if the character is no GM or has never issued any GM command. - // This function only makes sense if the character in question actually is a GM, or has ever been one. + // This static function only makes sense if the character in question actually is a GM, or has ever been one. // function GetGMCommandLog() { if (!$this->__IsLoaded) { @@ -249,7 +259,7 @@ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Static Functions +// Static static functions // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // @@ -256,9 +266,9 @@ // Searches for characters that fulfill the given search parameters. // Returns an array of character objects ordered by name in ascending order. For performance reasons, a maximum of // 100 characters is returned. If no character match the search parameters, an empty yet initialized array is returned. - // This function can be called statically. + // This static function can be called statically. // - function S_Find($firstName, $lastName, $charType = -1, $lastIP = '') { + static function S_Find($firstName, $lastName, $charType = -1, $lastIP = '') { require_once('PSBaseClass.php'); $conn = PSBaseClass::S_GetConnection(); @@ -281,14 +291,14 @@ PSBaseClass::S_AppendWhereCondition($where, 'a.last_login_ip', '=', $lastIP); } - $res = mysql_query($sql . $where . ' ORDER BY name LIMIT 100', $conn); + $res = mysqli_query($conn, $sql . $where . ' ORDER BY name LIMIT 100'); if (!$res) { - die($sql . $where . mysql_error()); + die($sql . $where . mysqli_error($conn)); } else { $characters = array(); - while (($row = mysql_fetch_array($res)) != null) { + while (($row = mysqli_fetch_array($res)) != null) { $char = new PSCharacter(); $char->ID = $row['id']; @@ -311,7 +321,7 @@ $char->TimeConnectedInSeconds = $row['time_connected_sec']; $char->ExperiencePoints = $row['experience_points']; $char->ProgressionPoints = $row['progression_points']; - $char->DuelPoints = $row['duel_points']; + //$char->DuelPoints = $row['duel_points']; $char->Description = $row['description']; $char->CreationTime = $row['creation_time']; @@ -324,7 +334,7 @@ } // Searches characters owning a specific key - function Key_Find($keyField) { + static function Key_Find($keyField) { require_once('PSBaseClass.php'); $conn = PSBaseClass::S_GetConnection(); @@ -331,14 +341,14 @@ // select name from item_instances s, characters c where c.id=s.char_id_owner and flags like '%key%' and openable_locks=35576198; $sql = 'SELECT c.* FROM item_instances s, characters c where c.id=s.char_id_owner and openable_locks='.$keyField; - $res = mysql_query($sql . ' ORDER BY name LIMIT 100', $conn); + $res = mysqli_query($conn, $sql . ' ORDER BY name LIMIT 100'); if (!$res) { - die($sql . $where . mysql_error()); + die($sql . $where . mysqli_error($conn)); } else { $characters = array(); - while (($row = mysql_fetch_array($res)) != null) { + while (($row = mysqli_fetch_array($res)) != null) { $char = new PSCharacter(); $char->ID = $row['id']; @@ -361,7 +371,7 @@ $char->TimeConnectedInSeconds = $row['time_connected_sec']; $char->ExperiencePoints = $row['experience_points']; $char->ProgressionPoints = $row['progression_points']; - $char->DuelPoints = $row['duel_points']; + // $char->DuelPoints = $row['duel_points']; $char->Description = $row['description']; $char->CreationTime = $row['creation_time']; @@ -377,9 +387,9 @@ // // Returns the leader of a guild. If there's more than one leader (database inconsistency?), the first one read from the // database will be returned. - // This function is intended to be called statically. + // This static function is intended to be called statically. // - function S_GetLeaderOfGuild($guildId) { + static function S_GetLeaderOfGuild($guildId) { $conn = PSBaseClass::S_GetConnection(); $sql = 'SELECT * FROM characters'; @@ -387,13 +397,13 @@ PSBaseClass::S_AppendWhereCondition($where, 'guild_member_of', '=', $guildId); PSBaseClass::S_AppendWhereCondition($where, 'guild_level', '=', 9); - $res = mysql_query($sql . $where, $conn); + $res = mysqli_query($conn, $sql . $where); if (!$res) { - die($sql . $where . "<br>" . mysql_error()); + die($sql . $where . "<br>" . mysqli_error($conn)); } else { // In theory each guild has only one leader. If this is not the case (because of erroneous/incosistent data in the database, // we will simply return the first leader that is returned. - $row = mysql_fetch_array($res); + $row = mysqli_fetch_array($res); $char = new PSCharacter(); @@ -415,7 +425,7 @@ $char->TimeConnectedInSeconds = $row['time_connected_sec']; $char->ExperiencePoints = $row['experience_points']; $char->ProgressionPoints = $row['progression_points']; - $char->DuelPoints = $row['duel_points']; + //$char->DuelPoints = $row['duel_points']; $char->Description = $row['description']; $char->__IsLoaded = true; @@ -428,7 +438,7 @@ // Returns all members of a guild as PSCharacter-objects. They are sorted by guild level (descending), then first name (ascending) // If the guild has no members, an empty array is returned. // - function S_GetMembersOfGuild($guildId,$order) { + static function S_GetMembersOfGuild($guildId,$order) { $conn = PSBaseClass::S_GetConnection(); $sql = 'SELECT * FROM characters c , accounts a '; @@ -435,15 +445,15 @@ $where = 'where c.account_id=a.id '; PSBaseClass::S_AppendWhereCondition($where, 'guild_member_of', '=', $guildId); if ($order) - $res = mysql_query($sql . $where . ' ORDER BY last_login_ip ASC, name ASC', $conn); + $res = mysqli_query($conn, $sql . $where . ' ORDER BY last_login_ip ASC, name ASC'); else - $res = mysql_query($sql . $where . ' ORDER BY guild_level DESC, name ASC', $conn); + $res = mysqli_query($conn, $sql . $where . ' ORDER BY guild_level DESC, name ASC'); if (!$res) { - die($sql . $where . "<br>" . mysql_error()); + die($sql . $where . "<br>" . mysqli_error($conn)); } else { $chars = array(); - while (($row = mysql_fetch_array($res)) != null) { + while (($row = mysqli_fetch_array($res)) != null) { $char = new PSCharacter(); $char->ID = $row['id']; @@ -465,7 +475,7 @@ $char->TimeConnectedInSeconds = $row['time_connected_sec']; $char->ExperiencePoints = $row['experience_points']; $char->ProgressionPoints = $row['progression_points']; - $char->DuelPoints = $row['duel_points']; + // $char->DuelPoints = $row['duel_points']; $char->Description = $row['description']; $char->__IsLoaded = true; @@ -477,7 +487,7 @@ } - function S_GetCharactersOfAccount($accountID) { + static function S_GetCharactersOfAccount($accountID) { $conn = PSBaseClass::S_GetConnection(); $sql = 'SELECT * FROM characters'; @@ -484,13 +494,13 @@ $where = ''; PSBaseClass::S_AppendWhereCondition($where, 'account_id', '=', $accountID); - $res = mysql_query($sql . $where . ' ORDER BY name ASC', $conn); + $res = mysqli_query($conn, $sql . $where . ' ORDER BY name ASC'); if (!$res) { - die($sql . $where . "<br>" . mysql_error()); + die($sql . $where . "<br>" . mysqli_error($conn)); } else { $chars = array(); - while (($row = mysql_fetch_array($res)) != null) { + while (($row = mysqli_fetch_array($res)) != null) { $char = new PSCharacter(); $char->ID = $row['id']; @@ -511,7 +521,7 @@ $char->TimeConnectedInSeconds = $row['time_connected_sec']; $char->ExperiencePoints = $row['experience_points']; $char->ProgressionPoints = $row['progression_points']; - $char->DuelPoints = $row['duel_points']; + //$char->DuelPoints = $row['duel_points']; $char->Description = $row['description']; $char->__IsLoaded = true; Modified: www/gmconsole/classes/PSGMCommandLogEntry.php =================================================================== --- www/gmconsole/classes/PSGMCommandLogEntry.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/classes/PSGMCommandLogEntry.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -18,7 +18,7 @@ // // Constructor // - function PSGMCommandLogEntry() { + function __construct() { } @@ -25,7 +25,7 @@ // // Functions // - function S_GetActionsOfGM($pGMID) { + static function S_GetActionsOfGM($pGMID) { $conn = PSBaseClass::S_GetConnection(); $sql = 'SELECT l.id, gm.id AS gm_id, gm.name AS gm_name, l.command, p.id AS player_id, p.name AS player_name, l.ex_time FROM gm_command_log l INNER JOIN characters gm ON gm.id = l.gm LEFT OUTER JOIN characters p ON p.id = l.player '; @@ -32,17 +32,17 @@ $where = ''; PSBaseClass::S_AppendWhereCondition($where, 'gm', '=', $pGMID); - $res = mysql_query($sql . $where . ' ORDER BY ex_time DESC', $conn); + $res = mysqli_query($conn, $sql . $where . ' ORDER BY ex_time DESC'); if (!$res) { - die($sql . $where . "<br>" . mysql_error()); + die($sql . $where . "<br>" . mysqli_error($conn)); } else { $actions = array(); - while (($row = mysql_fetch_array($res)) != null) { + while (($row = mysqli_fetch_array($res)) != null) { $action = new PSGMCommandLogEntry(); $action->ID = $row['id']; - $action->GMID = $row['gm']; + $action->GMID = $row['gm_id']; $action->GMFirstName = $row['gm_name']; $action->Command = $row['command']; $action->TargetPlayerID = $row['player_id']; Modified: www/gmconsole/classes/PSGmEvents.php =================================================================== --- www/gmconsole/classes/PSGmEvents.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/classes/PSGmEvents.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -26,7 +26,7 @@ $append = ''; } - $connection = PSBaseClass::S_GetConnection(); + $conn = PSBaseClass::S_GetConnection(); $finished = ($completed) ? " WHERE status = '2'" : " WHERE status != '2'"; @@ -34,11 +34,11 @@ .'LEFT JOIN characters c ON c.id = gme.gm_id'; $query .= $finished; $query .= $append; - $result = mysql_query($query); + $result = mysqli_query($conn, $query); //Build list as an array $events = array(); - while ($row = mysql_fetch_assoc($result)) + while ($row = mysqli_fetch_assoc($result)) { $average = $this->getVoteAverage($row['id']); @@ -75,12 +75,12 @@ public function getVoteAverage($event_id) { - $connection = PSBaseClass::S_GetConnection(); + $conn = PSBaseClass::S_GetConnection(); //Get vote total and number of votes from db - $query = sprintf("SELECT SUM(vote), COUNT(player_id) FROM character_events WHERE vote IS NOT NULL AND event_id = '%s'", mysql_real_escape_string($event_id)); - $result = mysql_query($query); - $row = mysql_fetch_assoc($result); + $query = sprintf("SELECT SUM(vote), COUNT(player_id) FROM character_events WHERE vote IS NOT NULL AND event_id = '%s'", mysqli_real_escape_string($conn, $event_id)); + $result = mysqli_query($conn, $query); + $row = mysqli_fetch_assoc($result); //to avoid division by zero if ($row['COUNT(player_id)'] < 1) @@ -100,25 +100,25 @@ public function getEventDetails($event_id) { - $connection = PSBaseClass::S_GetConnection(); + $conn = PSBaseClass::S_GetConnection(); $query = sprintf("SELECT gme.name, gme.description, c.name AS gm_name, c.lastname AS gm_lastname, gme.id AS id FROM gm_events gme - LEFT JOIN characters c ON c.id = gme.gm_id WHERE gme.id ='%s'", mysql_real_escape_string($event_id)); - $result = mysql_query($query); + LEFT JOIN characters c ON c.id = gme.gm_id WHERE gme.id ='%s'", mysqli_real_escape_string($conn, $event_id)); + $result = mysqli_query($conn, $query); - return mysql_fetch_assoc($result); + return mysqli_fetch_assoc($result); } public function getEventComments($event_id) { - $connection = PSBaseClass::S_GetConnection(); + $conn = PSBaseClass::S_GetConnection(); $query = sprintf("SELECT ce.comments, ce.vote, c.name, c.lastname FROM character_events ce - LEFT JOIN characters c ON ce.player_id = c.id WHERE ce.comments IS NOT NULL AND ce.event_id='%s'", mysql_real_escape_string($event_id)); - $result = mysql_query($query); + LEFT JOIN characters c ON ce.player_id = c.id WHERE ce.comments IS NOT NULL AND ce.event_id='%s'", mysqli_real_escape_string($conn, $event_id)); + $result = mysqli_query($conn, $query); $comments = array(); - while ($row = mysql_fetch_assoc($result)) + while ($row = mysqli_fetch_assoc($result)) { $comments[] = array('name'=>$row['name'] . ' ' . $row['lastname'], 'vote'=>$row['vote'], 'comment'=>$row['comments']); } @@ -128,13 +128,13 @@ public function getNonVoters($event_id) { - $connection = PSBaseClass::S_GetConnection(); + $conn = PSBaseClass::S_GetConnection(); - $query = sprintf("SELECT c.name, c.lastname FROM characters c JOIN character_events ce ON ce.player_id = c.id WHERE ce.vote IS NULL AND ce.event_id = '%s'", mysql_real_escape_string($event_id)); - $result = mysql_query($query); + $query = sprintf("SELECT c.name, c.lastname FROM characters c JOIN character_events ce ON ce.player_id = c.id WHERE ce.vote IS NULL AND ce.event_id = '%s'", mysqli_real_escape_string($conn, $event_id)); + $result = mysqli_query($conn, $query); $non_voters = array(); - while($row = mysql_fetch_assoc($result)) + while($row = mysqli_fetch_assoc($result)) { $non_voters[] = $row; } Modified: www/gmconsole/classes/PSGuild.php =================================================================== --- www/gmconsole/classes/PSGuild.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/classes/PSGuild.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -22,7 +22,7 @@ // // Constructor // - function PSGuild($pID = 0) { + function __construct($pID = 0) { if ($pID > 0) { $this->ID = $pID; $this->Load(); @@ -44,13 +44,13 @@ $where = ''; PSBaseClass::S_AppendWhereCondition($where, 'id', '=', $this->ID); - $res = mysql_query($sql . $where, $conn); + $res = mysqli_query($conn, $sql . $where); if (!$res) { - die($sql . $where . mysql_error()); + die($sql . $where . mysqli_error($conn)); } else { // since it's the ID, there's only one character - $row = mysql_fetch_array($res); + $row = mysqli_fetch_array($res); $this->Name = $row['name']; $this->FounderID = $row['char_id_founder']; @@ -104,7 +104,7 @@ } - function S_Find($guildName) { + static function S_Find($guildName) { $conn = PSBaseClass::S_GetConnection(); $sql = 'SELECT * FROM guilds'; @@ -111,13 +111,13 @@ $where = ''; PSBaseClass::S_AppendWhereCondition($where, 'name', 'LIKE', $guildName); - $res = mysql_query($sql . $where . " ORDER BY name LIMIT 100", $conn); + $res = mysqli_query($conn, $sql . $where . " ORDER BY name LIMIT 100"); if (!$res) { - die($sql . $where . mysql_error()); + die($sql . $where . mysqli_error($conn)); } else { $guilds = array(); - while (($row = mysql_fetch_array($res)) != null) { + while (($row = mysqli_fetch_array($res)) != null) { $guild = new PSGuild(); $guild->ID = $row['id']; Modified: www/gmconsole/classes/PSItem.php =================================================================== --- www/gmconsole/classes/PSItem.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/classes/PSItem.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -32,7 +32,7 @@ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Constructor // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - function PSItem($pID = 0) { + function __construct($pID = 0) { if ($pID > 0) { $this->ID = $pID; $this->Load(); @@ -59,13 +59,13 @@ $where = ''; PSBaseClass::S_AppendWhereCondition($where, 'inst.id', '=', $this->ID); - $res = mysql_query($sql . $where, $conn); + $res = mysqli_query($conn, $sql . $where); if (!$res) { - die($sql . $where . mysql_error()); + die($sql . $where . mysqli_error($conn)); } else { // Only one item will be returned - $row = mysql_fetch_array($res); + $row = mysqli_fetch_array($res); $this->ID = $row['inst_id']; $this->OwnerID = $row['inst_owner']; @@ -187,7 +187,7 @@ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Static Functions // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - function S_GetInventoryOfPlayer($playerID) { + static function S_GetInventoryOfPlayer($playerID) { if (!$playerID) { die('Cannot load the inventory of a player who does not exist.'); } @@ -202,14 +202,14 @@ $where = ''; PSBaseClass::S_AppendWhereCondition($where, 'char_id_owner', '=', $playerID); - $res = mysql_query($sql . $where . ' ORDER BY inst_location_in_parent ASC', $conn); + $res = mysqli_query($conn, $sql . $where . ' ORDER BY inst_location_in_parent ASC'); if (!$res) { - die($sql . $where . mysql_error()); + die($sql . $where . mysqli_error($conn)); } else { $items = array(); - while (($row = mysql_fetch_array($res)) != null) { + while (($row = mysqli_fetch_array($res)) != null) { $item = new PSItem(); $item->ID = $row['inst_id']; @@ -217,9 +217,11 @@ $item->ParentItem = $row['parent_item_id']; $item->LocationInParent = $row['inst_location_in_parent']; $item->StackCount = $row['inst_stack_count']; - $this->CreatorID = $row['inst_creator_mark_id']; + //$this->CreatorID = $row['inst_creator_mark_id']; + $item->CreatorID = $row['inst_creator_mark_id']; $item->ItemQuality = $row['inst_item_quality']; - $this->DecayResistance = $row['inst_decay_resistance']; + //$this->DecayResistance = $row['inst_decay_resistance']; + $item->DecayResistance = $row['inst_decay_resistance']; $item->Name = $row['stats_name']; $item->Weight = $row['stats_weight']; $item->ValidSlots = $row['stats_valid_slots']; Modified: www/gmconsole/classes/PSNameChange.php =================================================================== --- www/gmconsole/classes/PSNameChange.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/classes/PSNameChange.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -17,11 +17,11 @@ // // Constructor // - function PSNameChange() { + function __construct() { } - function S_GetLatest($page = 0) { + static function S_GetLatest($page = 0) { $conn = PSBaseClass::S_GetConnection(); $sql = 'SELECT l.command, l.ex_time, gm.name FROM gm_command_log l INNER JOIN characters gm ON l.gm = gm.id'; @@ -28,14 +28,14 @@ $where = ''; PSBaseClass::S_AppendWhereCondition($where, 'command', 'LIKE', '/changename %'); - $res = mysql_query($sql . $where . ' ORDER BY ex_time DESC LIMIT ' . ($page * 100) . ', 100', $conn); + $res = mysqli_query($conn, $sql . $where . ' ORDER BY ex_time DESC LIMIT ' . ($page * 100) . ', 100'); if (!$res) { - die($sql . $where . ' ORDER BY ex_time DESC LIMIT ' . ($page * 100) . ', 100<br/>' . mysql_error()); + die($sql . $where . ' ORDER BY ex_time DESC LIMIT ' . ($page * 100) . ', 100<br/>' . mysqli_error($conn)); } else { $namechanges = array(); - while (($row = mysql_fetch_array($res)) != null) { + while (($row = mysqli_fetch_array($res)) != null) { $namechange = new PSNameChange(); // First, remove multiple space characters because they will cause trouble when splitting Modified: www/gmconsole/classes/PSPetition.php =================================================================== --- www/gmconsole/classes/PSPetition.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/classes/PSPetition.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -22,7 +22,7 @@ // // Constructor // - function PSPetition() { + function __construct() { } @@ -29,7 +29,7 @@ // // Functions // - function S_GetPetitions($type = 1) { + static function S_GetPetitions($type = 1) { $conn = PSBaseClass::S_GetConnection(); // base query @@ -43,13 +43,13 @@ if ($type == 2) $sql .= 'IN (\'closed\')'; - $res = mysql_query($sql . " ORDER BY created_date DESC LIMIT 100", $conn); + $res = mysqli_query($conn, $sql . " ORDER BY created_date DESC LIMIT 100"); if (!$res) { - die($sql . $where . "<br>" . mysql_error()); + die($sql . $where . "<br>" . mysqli_error($conn)); } else { $petitions = array(); - while (($row = mysql_fetch_array($res)) != null) { + while (($row = mysqli_fetch_array($res)) != null) { $petition = new PSPetition(); $petition->ID = $row['id']; Modified: www/gmconsole/classes/PSQuests.php =================================================================== --- www/gmconsole/classes/PSQuests.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/classes/PSQuests.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -15,7 +15,7 @@ // // Constructor // - function PSQuests() { + function __construct() { } @@ -22,19 +22,19 @@ // // Functions // - function S_GetQuestEntries($pID) { + static function S_GetQuestEntries($pID) { $conn = PSBaseClass::S_GetConnection(); $sql = 'SELECT q.id, q.name,c.status, c.remaininglockout from quests q, character_quests c where q.id=c.quest_id and player_id='.$pID; - $res = mysql_query($sql , $conn); + $res = mysqli_query($conn, $sql); if (!$res) { - die($sql . $where . "<br>" . mysql_error()); + die($sql . $where . "<br>" . mysqli_error($conn)); } else { $actions = array(); - while (($row = mysql_fetch_array($res)) != null) { + while (($row = mysqli_fetch_array($res)) != null) { $action = new PSQuests(); $action->ID = $row['id']; @@ -50,7 +50,7 @@ } } - function S_GetQuestStepEntries($pID, $qID) { + static function S_GetQuestStepEntries($pID, $qID) { $conn = PSBaseClass::S_GetConnection(); $min = 10000+(100*$qID); @@ -58,13 +58,13 @@ $sql = 'SELECT quest_id, status, remaininglockout, last_response from character_quests where player_id='.$pID.' and quest_id>'.$min.' and quest_id<'.$max. ' order by quest_id'; - $res = mysql_query($sql , $conn); + $res = mysqli_query($conn, $sql); if (!$res) { - die($sql . $where . "<br>" . mysql_error()); + die($sql . $where . "<br>" . mysqli_error($conn)); } else { $actions = array(); - while (($row = mysql_fetch_array($res)) != null) { + while (($row = mysqli_fetch_array($res)) != null) { $action = new PSQuests(); $action->ID = $row['quest_id']; Modified: www/gmconsole/classes/PSRace.php =================================================================== --- www/gmconsole/classes/PSRace.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/classes/PSRace.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -15,7 +15,7 @@ // // Constructor // - function PSRace($pID = -1) { + function __construct($pID = -1) { if ($pID > -1) { $this->ID = $pID; $this->Load(); @@ -37,13 +37,13 @@ $where = ''; PSBaseClass::S_AppendWhereCondition($where, 'id', '=', $this->ID); - $res = mysql_query($sql . $where, $conn); + $res = mysqli_query($conn, $sql . $where); if (!$res) { - die($sql . $where . mysql_error()); + die($sql . $where . mysqli_error($conn)); } else { // since it's the ID, there's only one character - $row = mysql_fetch_array($res); + $row = mysqli_fetch_array($res); $this->Name = $row['name']; $this->Sex = $row['sex']; Modified: www/gmconsole/config.php =================================================================== --- www/gmconsole/config.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/config.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -1,5 +1,5 @@ <?php - + require_once('classes/PSBaseClass.php'); // // Settings to connect to the database // @@ -32,4 +32,5 @@ // set time/date date_default_timezone_set('UTC'); + ?> \ No newline at end of file Modified: www/gmconsole/guilddetails.php =================================================================== --- www/gmconsole/guilddetails.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/guilddetails.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -13,10 +13,21 @@ } // get variables - $guildId = $_POST['guildId']; - if (!isset($_POST['guildId'])) - $guildId = $_GET['guildId']; - $order = $_GET['order']; + $guildId = null; + if(isset($_POST['guildId'])) + { + $guildId = $_POST['guildId']; + } + else + { + $guildId = $_GET['guildId']; + } + + $order = null; + if(isset($_GET['order'])) + { + $order = $_GET['order']; + } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> @@ -53,7 +64,7 @@ $guild = new PSGuild($guildId); $founder = $guild->GetFounder(); $guildLeader = $guild->GetLeader(); - $orderbyIP = $_GET['order'] ? 1 : 0; + $orderbyIP = $order ? 1 : 0; $members = $guild->GetMembers($order); ?> Modified: www/gmconsole/guildsearch.php =================================================================== --- www/gmconsole/guildsearch.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/guildsearch.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -13,7 +13,11 @@ } // get variables - $guildName = $_POST['guildName']; + $guildName = ''; + if(isset($_POST['guildName'])) + { + $guildName = $_POST['guildName']; + } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> Modified: www/gmconsole/namechanges.php =================================================================== --- www/gmconsole/namechanges.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/namechanges.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -10,8 +10,11 @@ header("Location: index.php?origin=guildsearch"); exit; } - - $page = $_POST['pageId']; + $page = null; + if(isset($_POST['pageId'])) + { + $page = $_POST['pageId']; + } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> Modified: www/gmconsole/petitions.php =================================================================== --- www/gmconsole/petitions.php 2020-05-30 20:03:50 UTC (rev 10006) +++ www/gmconsole/petitions.php 2021-02-27 20:32:26 UTC (rev 10007) @@ -10,6 +10,11 @@ header("Location: index.php?origin=petitions"); exit; } + $type = null; + if(isset($_GET['type'])) + { + $type = $_GET['type']; + } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> @@ -46,12 +51,12 @@ <th>Assigned to</th> <th>Escalation</th> <?php - if ($_GET["type"]==2) { + if ($type==2) { echo "<th>Resolution</th>"; } echo "</tr>"; - if ($_GET["type"]==2) { + if ($type==2) { $petitions = PSPetition::S_GetPetitions(2); } else $petitions = PSPetition::S_GetPetitions(1); @@ -65,7 +70,7 @@ echo '<td><a href="javascript:setCharId(\'' . $petition->CaseworkerID . '\');">' . $petition->CaseworkerFirstName . '</a></td>'; echo '<td>' . $petition->EscalationLevel . '</td>'; - if ($_GET["type"]==2) { + if ($type==2) { echo '<td>' . $petition->Resolution . '</td>'; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lpa...@us...> - 2024-04-04 20:38:51
|
Revision: 10017 http://sourceforge.net/p/planeshift/code/10017 Author: lpancallo Date: 2024-04-04 20:38:48 +0000 (Thu, 04 Apr 2024) Log Message: ----------- Added pets list to character page Modified Paths: -------------- www/gmconsole/chardetails.php www/gmconsole/classes/PSCharacter.php Modified: www/gmconsole/chardetails.php =================================================================== --- www/gmconsole/chardetails.php 2024-03-09 19:06:23 UTC (rev 10016) +++ www/gmconsole/chardetails.php 2024-04-04 20:38:48 UTC (rev 10017) @@ -83,6 +83,8 @@ $hours = floor($char->TimeConnectedInSeconds / 3600); $minutes = floor($char->TimeConnectedInSeconds / 60) - ($hours * 60); $seconds = $char->TimeConnectedInSeconds - ($minutes * 60) - ($hours * 3600); + $Pets = $char->Pets; + echo "Pets number: ".count($Pets); ?> <h2 class="yellowtitlebig">General character information</h2> @@ -280,8 +282,38 @@ <?php } ?> + <?php if ($account->SecurityLevel >= 21) { +?> + <hr/> + <h2 class="yellowtitlebig">Pets owned by this player</h2> + <div style="height:200px; overflow:auto;clear:both;"> + <table class="table"> + <tr> + <th>ID</th> + <th>Name</th> + <th>Race</th> + <th>Relationship</th> + <th>Active</th> + </tr> +<?php + foreach ($Pets as $pet) { + echo '<tr>'; + echo '<td>' . $pet->ID . '</td>'; + echo '<td>' . $pet->Name . '</td>'; + echo '<td>' . $pet->Race . '</td>'; + echo '<td>' . $pet->Relationship . '</td>'; + echo '<td>' . $pet->active . '</td>'; + echo '</tr>'; + } + } +?> + </table> + </div> + +<?php + if ($account->SecurityLevel >= 21) { $actions = $char->GetGMCommandLog(); ?> <hr/> Modified: www/gmconsole/classes/PSCharacter.php =================================================================== --- www/gmconsole/classes/PSCharacter.php 2024-03-09 19:06:23 UTC (rev 10016) +++ www/gmconsole/classes/PSCharacter.php 2024-04-04 20:38:48 UTC (rev 10017) @@ -6,6 +6,7 @@ require_once('PSGMCommandLogEntry.php'); require_once('PSItem.php'); require_once('PSRace.php'); +require_once('PSPet.php'); require_once('PSQuests.php'); class PSCharacter extends PSBaseClass { @@ -43,6 +44,8 @@ var $Description; var $CreationTime; var $LastLoginIP; // used only for guild display + + var $Pets; // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -146,6 +149,23 @@ $this->WIL = $data['skill_Rank']; } } + + // load pets + $sql = 'SELECT * FROM character_relationships where character_id='.$this->ID . ' and relationship_type=\'familiar\' '; + + $res = mysqli_query($conn, $sql); + if (!$res) { + die($sql . $where . mysqli_error($conn)); + } + else { + $localPets = array(); + while($data = mysqli_fetch_array($res)) { + array_push($localPets, new PSPet($data['related_id'], $this->ID)); + //echo '--> '.$stat; + } + $this->Pets = $localPets; + echo "Pets found: ". $this->Pets[0]->Name; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lpa...@us...> - 2024-04-17 20:10:58
|
Revision: 10019 http://sourceforge.net/p/planeshift/code/10019 Author: lpancallo Date: 2024-04-17 20:10:54 +0000 (Wed, 17 Apr 2024) Log Message: ----------- Added pet information Modified Paths: -------------- www/gmconsole/chardetails.php www/gmconsole/config.php Added Paths: ----------- www/gmconsole/classes/PSPet.php Modified: www/gmconsole/chardetails.php =================================================================== --- www/gmconsole/chardetails.php 2024-04-17 20:09:38 UTC (rev 10018) +++ www/gmconsole/chardetails.php 2024-04-17 20:10:54 UTC (rev 10019) @@ -284,7 +284,7 @@ ?> <?php - if ($account->SecurityLevel >= 21) { +if ($_SESSION["__SECURITY_LEVEL"] >= 22) { ?> <hr/> <h2 class="yellowtitlebig">Pets owned by this player</h2> @@ -295,6 +295,7 @@ <th>Name</th> <th>Race</th> <th>Relationship</th> + <th>Character Type</th> <th>Active</th> </tr> <?php @@ -304,15 +305,17 @@ echo '<td>' . $pet->Name . '</td>'; echo '<td>' . $pet->Race . '</td>'; echo '<td>' . $pet->Relationship . '</td>'; + echo '<td>' . $pet->CharType . '</td>'; echo '<td>' . $pet->active . '</td>'; echo '</tr>'; } - } ?> </table> </div> <?php + } + if ($account->SecurityLevel >= 21) { $actions = $char->GetGMCommandLog(); ?> Added: www/gmconsole/classes/PSPet.php =================================================================== --- www/gmconsole/classes/PSPet.php (rev 0) +++ www/gmconsole/classes/PSPet.php 2024-04-17 20:10:54 UTC (rev 10019) @@ -0,0 +1,76 @@ +<?php + +require_once('PSBaseClass.php'); + +class PSPet extends PSBaseClass { + + // + // Member-Variables (incomplete, but sufficient for now) + // + var $ID; + var $OwnerID; + var $Name; + var $Race; + var $CharType; + var $Exp; + var $Relationship; + var $active; + + + // + // Constructor + // + function __construct($pID = -1, $inOwnerID = -1) { + if ($pID > -1) { + $this->ID = $pID; + $this->OwnerID = $inOwnerID; + $this->Load(); + } + } + + + // + // Functions + // + function Load() { + if ($this->ID == null || $this->ID < 0) { + die('Cannot load a race if the object trying to load it has an uninitialized property "ID"'); + } + + $conn = PSBaseClass::S_GetConnection(); + + // read relationship info + $sql = 'SELECT * FROM character_relationships where character_id=' . $this->OwnerID . ' and related_id='.$this->ID; + $res = mysqli_query($conn, $sql); + if (!$res) { + die($sql . mysqli_error($conn)); + } + else { + // since it's the ID, there's only one character + $row = mysqli_fetch_array($res); + + $this->Relationship = $row['relationship_type']; + $this->active = $row['add_info']; + } + + $sql = 'SELECT *, c.name as charname, r.name as racename FROM characters c, race_info r where c.racegender_id = r.id and c.id='.$this->ID; + + $res = mysqli_query($conn, $sql); + if (!$res) { + die($sql . mysqli_error($conn)); + } + else { + // since it's the ID, there's only one character + $row = mysqli_fetch_array($res); + + $this->Name = $row['charname'] . " " . $row['lastname']; + $this->CharType = $row['character_type']; + $this->Race = $row['racename']; + + $this->__IsLoaded = true; + } + } + +} + +?> \ No newline at end of file Property changes on: www/gmconsole/classes/PSPet.php ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Modified: www/gmconsole/config.php =================================================================== --- www/gmconsole/config.php 2024-04-17 20:09:38 UTC (rev 10018) +++ www/gmconsole/config.php 2024-04-17 20:10:54 UTC (rev 10019) @@ -7,7 +7,7 @@ $__DB_PORT = 3308; $__DB_USER = "planeshift"; $__DB_PASS = "planeshift"; - $__DB_NAME = "planeshift"; + $__DB_NAME = "planeshift_prod2"; // // CSS related stuff This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |