if (!is_numeric($class)) { header("Location: pets.php"); exit; } $Title = "Pets Statistics"; include $includes_dir . 'headers.php'; print "<table border=0 width=100%><tr valign=top><td nowrap>"; CreateToolTip('class15', '<table> <td> <img src="images/monograms/15.gif"> </td> <td> The Beastlord class is a unique class that is a hybrid of the Shaman and Monk parent classes. One of the class\'s distinguishing features is the ability to summon a warder pet to fight alongside them. The form the warder takes depends on the race of the beastlord. </td>'); CreateToolTip('class6', '<table> <td> <img src="images/monograms/6.gif"> </td> <td> Druids - a powerful outdoor class. With the triple ability to heal, inflict direct damage and cast damage over time, druids are a popular solo class, as well as popular in a group. They are also a travelling class, given both sow and teleportation abilities. </td>'); CreateToolTip('class14', '<table> <td> <img src="images/monograms/14.gif"> </td> <td> Enchanter - the game\'s traffic cop. When the enchanter yells stop, creatures cease what they are doing and just wait to die. A complex class, enchanters get a variety of spells as well as a pet, and can be played in a number of different ways. </td>'); CreateToolTip('class13', '<table> <td> <img src="images/monograms/13.gif"> </td> <td> Magicians - Dealers of damage. With the combination of a strong pet and the second best set of direct damage spells, magicians can deal out some serious damage. </td>'); CreateToolTip('class11', '<table><td><img src="images/monograms/11.gif"> </td> <td> Necromancers - Masters of death. With their powerful pets and variety of damage over time spells, necromancers are one of the best solo classes in the game. </td>'); CreateToolTip('class5', '<table> <td> <img src="images/monograms/5.gif"> </td> <td> Shadowknights - The evil warriors. A combination of fighter and necromancer, the shadowknight is a complex class to develop and play correctly. </td>'); CreateToolTip('class10', '<table> <td> <img src="images/monograms/10.gif"> </td> <td> Shamen - primitive power. The only magic using class of the barbarians, ogres and trolls, shamen get a variety of spells that combine aspects of most of the other magic using classes. This combination, along with the racial strength, means the class can be played in a variety of different ways. </td>'); CreateToolTip('class2', '<table> <td> <img src="images/monograms/2.gif"> </td> <td> Clerics -- the premier healer in the game. A popular class for any group, the cleric brings the ability to heal the party and keep you from dying, and can even bring you back from death at higher levels. </td>'); CreateToolTip('class12', '<table> <td> <img src="images/monograms/12.gif"> </td> <td> S The Wizard - Master Nuker. The wizard\'s abilities are in direct damage spells and in individual and group teleportation. </td>'); print "<table border=0 width=0%><tr valign=top><td nowrap>"; print "<b>Choose a class:</b><ul>"; print "<li><a href={$PHP_SELF}?class=15 id='class15'>Beastlord</a>"; print "<li><a href={$PHP_SELF}?class=2 id='class2'>Cleric</a>"; print "<li><a href={$PHP_SELF}?class=6 id='class6'>Druid</a>"; print "<li><a href={$PHP_SELF}?class=14 id='class14'>Enchanter</a>"; print "<li><a href={$PHP_SELF}?class=13 id='class13'>Magician</a>"; print "<li><a href={$PHP_SELF}?class=11 id='class11'>Necromancer</a>"; print "<li><a href={$PHP_SELF}?class=5 id='class5'>Shadow knight</a>"; print "<li><a href={$PHP_SELF}?class=10 id='class10'>Shaman</a>"; print "<li><a href={$PHP_SELF}?class=12 id='class12'>Wizard</a>"; print "</ul>"; print "</td></tr></table></td><td nowrap>"; if (isset($class) && $class != 0) { $Query = "SELECT\n\t\t\t{$tbspells}.name,\n\t\t\t{$tbspells}.id,\n\t\t\t{$tbspells}.new_icon,\n\t\t\t{$tbspells}.teleport_zone,\n\t\t\t{$tbspells}.classes" . $class . ",\n\t\t\t{$tbnpctypes}.race,\n\t\t\t{$tbnpctypes}.level,\n\t\t\t{$tbnpctypes}.class,\n\t\t\t{$tbnpctypes}.hp,\n\t\t\t{$tbnpctypes}.mana,\n\t\t\t{$tbnpctypes}.AC,\n\t\t\t{$tbnpctypes}.mindmg,\n\t\t\t{$tbnpctypes}.maxdmg\n\t\t\tFROM\n\t\t\t{$tbspells} \n\t\t\tINNER JOIN {$tbpets} ON {$tbpets}.type = {$tbspells}.teleport_zone\n\t\t\tINNER JOIN {$tbnpctypes} ON {$tbnpctypes}.name = {$tbspells}.teleport_zone\n\t\t\tWHERE {$tbspells}.classes" . $class . " > 0 \n\t\t\tAND {$tbspells}.classes" . $class . " < " . $ServerMaxLevel;
echo "<b>" . $num_rows . " " . ($num_rows == 1 ? "item" : "items") . " displayed</b>" . $OutOf . "<br>"; echo "</center>"; echo "<center><table border='{$Tableborder}' cellpadding='5' width='0%'>"; echo "<tr>\n\t\t\t\t\t<th class='menuh'>Icon</th>\n\t\t\t\t\t<th class='menuh'>Item Name</th>\n\t\t\t\t\t<th class='menuh'>Item Type</th>\n\t\t\t\t\t<th class='menuh'>AC</th>\n\t\t\t\t\t<th class='menuh'>HPs</th>\n\t\t\t\t\t<th class='menuh'>Mana</th>\n\t\t\t\t\t<th class='menuh'>Damage</th>\n\t\t\t\t\t<th class='menuh'>Delay</th>\n\t\t\t\t\t<th class='menuh'>Item ID</th>\n\t\t\t\t\t</tr>"; $RowClass = "lr"; for ($count = 1; $count <= $num_rows; $count++) { $TableData = ""; $row = mysql_fetch_array($QueryResult); $TableData .= "<tr valign='top' class='" . $RowClass . "'><td>"; if (file_exists(getcwd() . "/icons/item_" . $row["icon"] . ".gif")) { $TableData .= "<img src='" . $icons_url . "item_" . $row["icon"] . ".gif' align='left'/>"; } else { $TableData .= "<img src='" . $icons_url . "item_.gif' align='left'/>"; } $TableData .= "</td><td>"; CreateToolTip($row["id"], BuildItemStats($row, 1)); $TableData .= "<a href='item.php?id=" . $row["id"] . "' id='" . $row["id"] . "'>" . $row["Name"] . "</a>"; $TableData .= "</td><td>"; $TableData .= $dbitypes[$row["itemtype"]]; $TableData .= "</td><td>"; $TableData .= $row["ac"]; $TableData .= "</td><td>"; $TableData .= $row["hp"]; $TableData .= "</td><td>"; $TableData .= $row["mana"]; $TableData .= "</td><td>"; $TableData .= $row["damage"]; $TableData .= "</td><td>"; $TableData .= $row["delay"]; $TableData .= "</td><td>"; $TableData .= $row["id"];
<?php $Title = "Zone List"; include './includes/config.php'; include $includes_dir . 'constantes.php'; include $includes_dir . 'headers.php'; include $includes_dir . 'mysql.php'; include $includes_dir . 'functions.php'; CreateToolTip("kunark", '<center><img src="http://media.giantbomb.com/uploads/0/1593/370230-everquest_ruins_of_kunark_large.jpg"></center>'); CreateToolTip("velious", '<center><img src="http://upload.wikimedia.org/wikipedia/en/d/d5/EverQuest_-_The_Scars_of_Velious_Coverart.png"></center>'); CreateToolTip("luclin", '<center><img src="http://upload.wikimedia.org/wikipedia/en/1/19/EverQuest_-_The_Shadows_of_Luclin_Coverart.png"></center>'); CreateToolTip("pop", '<center><img src="http://cdn.wikimg.net/strategywiki/images/thumb/4/45/EverQuest_The_Planes_of_Power_cover_art.jpg/250px-EverQuest_The_Planes_of_Power_cover_art.jpg"></center>'); echo '<center>'; echo '<a href=static/antonica.php>Antonica</a><br> '; echo '<a href=static/odus.php>Odus</a><br> '; echo '<a href=static/faydwer.php>Faydwer</a><br> '; echo '<a href=static/planes.php>Old World Planes</a><br> '; echo '<a href=static/kunark.php id="kunark">Ruins of Kunark</a><br> '; echo '<a href=static/velious.php id="velious">Scars of Velious</a><br> '; echo '<a href=static/luclin.php id="luclin">Shadows of Luclin</a><br> '; echo '<a href=static/power.php id="pop">The Planes of Power</a><br> '; echo '</center>'; include $includes_dir . "footers.php";
} print "</ul></td></tr>"; } if ($recipe["nofail"] == 0) { // results fail $query = "SELECT {$tbtradeskillrecipeentries}.*,{$tbitems}.*,{$tbitems}.id AS item_id\n\t\t\t\tFROM {$tbtradeskillrecipe},{$tbtradeskillrecipeentries},{$tbitems}\n\t\t\t\tWHERE {$tbtradeskillrecipe}.id={$tbtradeskillrecipeentries}.recipe_id\n\t\t\t\t AND {$tbtradeskillrecipeentries}.recipe_id={$id}\n\t\t\t\t AND {$tbtradeskillrecipeentries}.item_id={$tbitems}.id\n\t\t\t\t AND {$tbtradeskillrecipeentries}.failcount>0"; $result = mysql_query($query) or message_die('recipe.php', 'MYSQL_QUERY', $query, mysql_error()); if (mysql_num_rows($result) > 0) { print "<tr class=myline height=6><td colspan=2></td><tr>"; print "<tr><td nowrap><b>Items resulting of a <FONT COLOR='#FF0000'> failed combine </FONT></b><ul>"; while ($row = mysql_fetch_array($result)) { CreateToolTip($row["item_id"] * 10, BuildItemStats($row, 1)); print "<img src='" . $icons_url . "item_" . $row["icon"] . ".gif' align='left' width='15' height='15'/>" . "<a href=item.php?id=" . $row["item_id"] . " id=" . $row["item_id"] * 10 . ">" . str_replace("_", " ", $row["Name"]) . "</a> x" . $row["failcount"] . " <br>"; } print "</td></tr>"; } } // components $query = "SELECT {$tbtradeskillrecipeentries}.*,{$tbitems}.*,{$tbitems}.id AS item_id\n\t\t\tFROM {$tbtradeskillrecipe},{$tbtradeskillrecipeentries},{$tbitems}\n\t\t\tWHERE {$tbtradeskillrecipe}.id={$tbtradeskillrecipeentries}.recipe_id\n\t\t\tAND {$tbtradeskillrecipeentries}.recipe_id={$id}\n\t\t\tAND {$tbtradeskillrecipeentries}.item_id={$tbitems}.id\n\t\t\tAND {$tbtradeskillrecipeentries}.iscontainer=0\n\t\t\tAND {$tbtradeskillrecipeentries}.componentcount>0"; $result = mysql_query($query) or message_die('recipe.php', 'MYSQL_QUERY', $query, mysql_error()); if (mysql_num_rows($result) > 0) { print "<tr class=myline height=6><td colspan=2></td><tr>"; print "<tr><td nowrap><b>Components needed : </b><ul>"; while ($row = mysql_fetch_array($result)) { CreateToolTip($row["item_id"] * 100, BuildItemStats($row, 1)); print "<img src='" . $icons_url . "item_" . $row["icon"] . ".gif' align='left' width='15' height='15'/>" . "<a href=item.php?id=" . $row["item_id"] . " id=" . $row["item_id"] * 100 . ">" . str_replace("_", " ", $row["Name"]) . "</a> x " . $row["componentcount"] . " <br>"; } print "</td></tr>"; } print "</table>"; include $includes_dir . "footers.php";
function LoadTheHTML($thehtmlfile, $allrows, $logname, $mulitrow, $depth = 1, $changeoncol = '*') { /* * funtion to do row-by-row replacements on html file. final result should be an * html ready to display to the client. * * $thehtmlfile : name of the $_SESSION['html'] key that holds the html text * $allrows : an array of arrays of objects. the first key must match the name of the html file that * will use that particular data. objects, represetning all rows of the data make up the second key * $depth : just for debugging info to tell you how many times the function has recursivly called itself * $multirow : either 1 or x. tells the function that only one row of data is expected for the sake of * doing replacements (there is then no need to repeat the html multiple times) * $changeoncol : column that will dictate the changing of the row color. when this column changes * from one row of data to the next, the color of the row will change too. '*' * means the row color will change every time * * for testing purposes, leftover replacement fields are NOT removed. */ if ($depth > 100) { //prevent infinte loops exit; } $indent = substr(' ', 0, $depth); logit($logname, $indent . 'Loading HTML: ' . $thehtmlfile); $therow = ''; // initialze some vars if (!key_exists($thehtmlfile, $_SESSION['html'])) { logit($logname, $indent . ' **ERROR** the html is MISSING'); exit; } $thehtml = $_SESSION['html'][$thehtmlfile]; $rowtype = 'ReportDetailsEvenDataRow'; // check if there are html's inside this html $i = 0; while (strpos($thehtml, '%%%') != 0 and $i < 10) { // get next html replacement $nextpiece = substr($thehtml, strpos($thehtml, '%%%') + 3); $nextpiece = substr($nextpiece, 0, strpos($nextpiece, '%%%')); //fill var that indicates multi or single row replacements $nextmulitrow = substr($thehtml, strpos($thehtml, '%%%') + 3, 1); //extract the html name $thehtmlname = substr($nextpiece, 2); // get the color change col if present if (strpos($thehtmlname, '|') > 1) { $changeoncol = substr($thehtmlname, strpos($thehtmlname, '|') + 1); //$changeoncol = substr($changeoncol,0,strlen($changeoncol)-3); $thehtmlname = substr($thehtmlname, 0, strpos($thehtmlname, '|')); } else { $changeoncol = '*'; } $newstuff = LoadTheHTML($thehtmlname, $allrows, $logname, $nextmulitrow, $depth + 1, $changeoncol); $thehtml = str_replace('%%%' . $nextpiece . '%%%', $newstuff, $thehtml); $i++; } //for each row of data in the query $lastchangeonvalue = '~%~%~'; if ($mulitrow == 'x') { foreach ($allrows[$thehtmlfile] as $row) { $therow .= $thehtml; //alternating row colors if ($changeoncol == '*' or $row->{$changeoncol} != $lastchangeonvalue) { if ($changeoncol != '*') { $lastchangeonvalue = $row->{$changeoncol}; } if ($rowtype != 'ReportDetailsEvenDataRow') { $rowtype = 'ReportDetailsEvenDataRow'; } else { $rowtype = 'ReportDetailsOddDataRow'; } } $therow = str_replace('%%rowtype%%', $rowtype, $therow); // set tooltips if any if (strpos($therow, '%%tooltip|') != 0) { if (!isset($pdowebcntrl)) { $pdowebcntrl = PDOconnect('wc2', $_SESSION["wc2host"], $logname); } while (strpos($therow, '%%tooltip|') != 0) { $thecol = substr($therow, strpos($therow, '%%tooltip|') + 10); $thecol = substr($thecol, 0, strpos($thecol, '%%')); $thecolvalue = (array) $row; $therow = str_replace('%%tooltip|' . $thecol . '%%', CreateToolTip($thehtmlfile, $thecol, $thecolvalue[$thecol], $_SESSION["userlanguage"], $pdowebcntrl, 'left', $logname), $therow); } } //for each column of the row of data, replace the merge fields with the data form the query foreach ($row as $key => $value) { $therow = str_replace('%%data-' . $key . '%%', $value, $therow); //echo $key.' '; } //echo '<br>'; } } else { if ($mulitrow == '1' or isset($allrows[$thehtmlfile][0])) { // not a multi row $therow .= $thehtml; // set tooltips if any if (strpos($therow, '%%tooltip|') != 0) { if (!isset($pdowebcntrl)) { $pdowebcntrl = PDOconnect('wc2', $_SESSION["wc2host"], $logname); } while (strpos($therow, '%%tooltip|') != 0) { $thecol = substr($therow, strpos($therow, '%%tooltip|') + 10); $thecol = substr($thecol, 0, strpos($thecol, '%%')); //echo ' ' . $thecol; $therow = str_replace('%%tooltip|' . $thecol . '%%', CreateToolTip($thehtmlfile, $thecol, '', $_SESSION["userlanguage"], $pdowebcntrl, 'left', $logname), $therow); } } //for each column of the row of data (if there is any data), replace the merge fields with the data form the query if (isset($allrows[$thehtmlfile][0])) { //var_dump($allrows[$thehtmlfile][0]); foreach ($allrows[$thehtmlfile][0] as $key => $value) { $therow = str_replace('%%data-' . $key . '%%', $value, $therow); } } } } // put menu in if (isset($_SESSION['viewlevel'])) { if ($_SESSION['viewlevel'] == 5) { $therow = str_replace('%%vertmenu%%', $_SESSION['usermenu-account'], $therow); } else { $therow = str_replace('%%vertmenu%%', $_SESSION['usermenu-field'], $therow); } } //localization replacements // foreach ($_SESSION['local'] as $key => $value) { //$therow = str_replace('%%local-' . $key . '%%', $value, $therow); //logit($logname, $key); //} //clientdefault replacements foreach ($_SESSION['clientdefaults'] as $key => $value) { $therow = str_replace('%%clientdefaults-' . $key . '%%', $value, $therow); //logit($logname, $key); } // other misc replacements (accountinfo, userinfo, languagebar) foreach ($_SESSION as $key => $value) { if (!is_array($value)) { $therow = str_replace('%%' . $key . '%%', $value, $therow); // echo $value.'<br>'; } } // erase any leftovers ONLY when running under production if ($_SERVER['SERVER_NAME'] != 'localhost') { $therow = preg_replace('/%%.+%%/', '', $therow); } return $therow; }
$ItemType = $dbitypes[$ItemData["itemtype"]]; } } $EquiptmentTable .= "<tr class='" . $RowClass . "'>\n\t\t<td><img src='" . $icons_url . "item_" . $ItemData["icon"] . ".gif' align='left'/>\n\t\t<img src='" . $images_url . "spacer_1.png' align='left'/>\n\t\t</td><td><a href=item.php?id=" . $ItemData["id"] . " id='" . $ItemData["id"] . "'>" . $ItemData["Name"] . "</a></td>\n\t\t<td>" . $ItemType . "</td></tr>"; if ($RowClass == "lr") { $RowClass = "dr"; } else { $RowClass = "lr"; } } $EquiptmentTable .= "</table>"; print "<center>"; if ($ItemsFound > 0) { print $EquiptmentTable; foreach ($ItemsData as $key => $ItemData) { $ToolTips .= CreateToolTip($ItemData["id"], BuildItemStats($ItemData, 1)); } print $ToolTips; } else { print "<br><b>No Items Found</b>"; } print "</center>"; } // end items if ($mode == "spawngroups") { if ($DisplaySpawnGroupInfo == TRUE) { print "</center>"; $query = "SELECT {$tbspawngroup}.*,{$tbspawn2}.x,{$tbspawn2}.y,{$tbspawn2}.z,{$tbspawn2}.respawntime\n\t\t\tFROM {$tbspawn2},{$tbspawngroup}\n\t\t\tWHERE {$tbspawn2}.zone='{$name}'\n\t\t\tAND {$tbspawngroup}.id={$tbspawn2}.spawngroupID\n\t\t\tORDER BY {$tbspawngroup}.name ASC"; $result = mysql_query($query) or message_die('zone.php', 'MYSQL_QUERY', $query, mysql_error()); if (mysql_num_rows($result) > 0) { while ($row = mysql_fetch_array($result)) {