public function parseFreeCompany($ID, $Options = null) { if (!$ID) { echo "error: No ID Set."; } else { // Options $this->defaults['automaticallyParseFreeCompanyMembers'] = isset($Options['members']) ? $Options['members'] : $this->defaults['automaticallyParseFreeCompanyMembers']; // Get source $this->getSource($this->URL['freecompany']['profile'] . $ID); // Create a new character object $FreeCompany = new FreeCompany(); // Set Character Data $FreeCompany->setID(trim($ID), $this->URL['freecompany']['profile'] . $ID); $FreeCompany->setBasicData($this->findRange('crest_id centering_h', 10)); $FreeCompany->setEmblum($this->findRange('ic_crest_64', 10, null, false)); $FreeCompany->setFullDetails($this->findRange('-- Company Profile --', null, '-- //Company Profile --', false)); // If to parse free company members if ($this->defaults['automaticallyParseFreeCompanyMembers']) { // Temp array $MembersList = []; // Get number of pages $TotalPages = ceil(round(intval($FreeCompany->getMemberCount()) / intval(trim($this->defaults['pagesPerFreeCompanyMemberList'])), 10)); // Get all members for ($Page = 1; $Page <= $TotalPages; $Page++) { // Parse Members page $this->getSource($FreeCompany->getLodestone() . $this->URL['freecompany']['member'] . str_ireplace('%page%', $Page, $this->URL['freecompany']['memberpage'])); // Set Members $MemberArray = $FreeCompany->parseMembers($this->findAll('thumb_cont_black_50', null, '/message_ic_box', false)); // Merge existing member list with new member array $MembersList = array_merge($MembersList, $MemberArray); } // End point for member list $FreeCompany->setMembers($MembersList); } // Save free company $this->FreeCompanies[$ID] = $FreeCompany; } }