Thanks for the help in advance, here is the error Im getting when I click on the roster button at www.wowwiki.mobi Fatal error: Call to undefined function createguildmember() in /home/wowwiki/public_html/components/com_armoryroster/classes/ArmoryRoster.class.php on line 204 Here is my ArmoryRoster.class.php file ---- (" . ($neededPoints - $points) . ")"; return ""; } function retrieveXMLInformation($server, $url, $debug = true) { // try to retrieve via file_get_contents if (ini_get("allow_url_fopen")) { ini_set('default_socket_timeout', 1); ini_set('user_agent', "Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.8) Gecko/20051111 Firefox/1.5\r\n"); $tryCounter = 0; // try for a maximum of 10 times to retrieve data while ((!isset ($xmlString) || !$xmlString) && $tryCounter++ < 10) { if ($debug) { echo "retrieving url: http://$server/$url for the " . ($tryCounter) . " time.
"; } $xmlString = @ file_get_contents('http://' . $server . $url, FALSE); } if (!isset ($xmlString)) { return false; } $xml = new JSimpleXML(); $status = $xml->loadString($xmlString); if (!$status) return false; return $xml; } else { // try to retrieve via sockets $response = ''; $xmlString = ''; $fp = @ fsockopen($server, 80, $errno, $errstr, 2); $counter = 10; while (!$fp && $counter--) { echo "$errstr ($errno)
\n"; } if (!$fp) { return false; } else { $get = "GET $url HTTP/1.0\r\n"; $get .= "Host: $server\r\n"; $get .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4\r\n"; $get .= "Accept: text/xml\r\n"; $get .= "Connection: Close\r\n"; $get .= "\r\n"; fputs($fp, $get); while (!feof($fp)) { $lineStr = fgets($fp, 32); $response .= $lineStr; } fclose($fp); // find the position of the header end $xmlString = trim(strstr($response, "\r\n\r\n")); $xml = new JSimpleXML(); $status = $xml->loadString($xmlString); if (!$status) { unset ($xml); return false; } return $xml; } } } function createGuildMember($member, $serverName, $WoWArmoryUrl, $memberInfoPage, $memberReputationPage, $memberSkillsPage, $debug = false){ // character Profile only available from lvl 10 if ($actMember->level >= 10) { $actMember->faction = in_array($actMember->raceId, array (1, 3, 4, 7, 11)) ? 'Alliance' : 'Horde'; $memberInfoRequestUrl = '/' . $memberInfoPage . '?r=' . $serverName . '&n=' . urlencode($actMember->name); $memberData = ArmoryRoster :: retrieveXMLInformation($WoWArmoryUrl, $memberInfoRequestUrl, $debug); // **** TALENTS **** if (isset($memberData->document->characterInfo[0]->characterTab[0]->talentSpec[0])) { $memberTalentArray = $memberData->document->characterInfo[0]->characterTab[0]->talentSpec[0]->attributes(); $actMember->talents = $memberTalentArray['treeone'] . "/" . $memberTalentArray['treetwo'] . "/" . $memberTalentArray['treethree']; } // **** SKILLS **** $memberSkillsRequestUrl = '/' . $memberSkillsPage . '?r=' . $serverName . '&n=' . urlencode($member->name); $memberSkillsData = ArmoryRoster :: retrieveXMLInformation($WoWArmoryUrl, $memberSkillsRequestUrl, $debug); $talentNames = array (); if (isset($memberSkillsData->document->characterInfo[0]->skillTab[0])) { $skillsArray = array (); $skillCats = $memberSkillsData->document->characterInfo[0]->skillTab[0]; $memberSkillsCats = $skillCats->children(); foreach ($memberSkillsCats as $category) { $skillCatAttrs = $category->attributes(); foreach ($category->children() as $skill) { $skillAttrs = $skill->attributes(); if ($skillCatAttrs['key'] == 'classskills' && !in_array($skillAttrs['key'], array ( 'lockpicking', 'poisons' ))) { $talentNames[] = $skillAttrs['key']; } $actMember->addSkill($skillAttrs['key'], $skillAttrs['name'], $skillAttrs['value'], $skillAttrs['max'], $skillCatAttrs['key']); } } } if (isset($memberSkillsData->document->characterInfo[0]->character[0])) { $character = $memberSkillsData->document->characterInfo[0]->character[0]; $characterAttributes = $character->attributes(); $actMember->faction = $characterAttributes['faction']; } /* build string for specialization */ $sum1 = $memberTalentArray['treeone']; $sum2 = $memberTalentArray['treetwo']; $sum3 = $memberTalentArray['treethree']; $allSum = $sum1 + $sum2 + $sum3; $border = $allSum * 0.6; $name = "hybrid"; if ($allSum == 0) { $name = "untalented"; } elseif ($sum1 > $border) { $name = $talentNames[0]; } elseif ($sum2 > $border) { $name = $talentNames[1]; } elseif ($sum3 > $border) { $name = $talentNames[2]; } $actMember->talentSpecializationName = $name; // **** REPUTATION **** // only retrieve reputation if member level is higher than 58 if ($actMember->level > 58) { // now for all members retrieve the fractions and the reputation $memberReputationRequestUrl = '/' . $memberReputationPage . '?r=' . $serverName . '&n=' . urlencode($actMember->name); $memberReputationData = ArmoryRoster :: retrieveXMLInformation($WoWArmoryUrl, $memberReputationRequestUrl, $debug); if ($memberReputationData->document->characterInfo[0]->reputationTab[0]) { $factionCategoryArray = $memberReputationData->document->characterInfo[0]->reputationTab[0]->children(); foreach ($factionCategoryArray as $factionCategory) { foreach ($factionCategory->children() as $faction) { $factionAttrs = $faction->attributes(); $actMember->addReputationFaction($factionAttrs['name'], $factionAttrs['reputation']); } } } } } return $member; } function retrieveGuildMembers($guildName, $serverName, $WoWArmoryUrl, $guildInfoPage, $memberInfoPage, $memberReputationPage, $memberSkillsPage, $debug = false, $start = 0, $limit = 20) { $serverName = urlencode(utf8_encode($serverName)); $guildName = urlencode(utf8_encode($guildName)); $guildInfoRequestUrl = '/' . $guildInfoPage . '?r=' . $serverName . '&n=' . $guildName; $simple = false; $originalData = ArmoryRoster :: retrieveXMLInformation($WoWArmoryUrl, $guildInfoRequestUrl, $debug); if (!$originalData) { return false; } $memberArray = $originalData->document->guildInfo[0]->guild[0]->members[0]->children(); $memberArray2 = array (); // now create the object member array $counter = 0; foreach ($memberArray as $member) { // only retrieve limit members at a time. if ($counter++ > $limit) break; $memberAttributes = $member->attributes(); $actMember = new Member($memberAttributes['name'], $memberAttributes['class'], $memberAttributes['classid'], $memberAttributes['level'], NULL, $memberAttributes['race'], $memberAttributes['raceid'], $memberAttributes['gender'], $memberAttributes['rank'], $memberAttributes['url']); $actMember = createGuildMember($actMember, $serverName, $WoWArmoryUrl, $memberInfoPage, $memberReputationPage, $memberSkillsPage, $debug = false); $memberArray2[] = $actMember; } // now for all members retrieve the fractions and the reputation return $memberArray2; } } ?>