SetStartStatus(); //Setup the Finances Container $finance = new Finances(); //Setup an array to store corporations which have been logged so we don't keep calling the same ones. We need //this step in order to save time during the cronjob. $finishedCorps = array(); $corpCompleted = false; //Get the corps with structures logged in the database $structures = DB::table('CorpStructures')->get(); //For each structure get the corp journals from the corporation owning the structure //After getting the corp journal for the corporation, let's not do the corporation again foreach($structures as $structure) { foreach($finishedCorps as $finished) { if($finished == $structure->corporation_id) { $corpCompleted = true; break; } else { //If the corp wasn't completed yet ensure the variable is false //If the corp was completed, the variable will be true and this else //will be skipped $corpCompleted = false; } } //If we didn't find the corporation was already done, then complete it. if($corpCompleted === false) { $this->GetJournal($structure->character_id); $finishedCorps[sizeof($finishedCorps)] = $structure->corporation_id; //After the corporation has been done set the variable back to false $corpCompleted = false; } } //Mark the job as finished $task->SetStopStatus(); } private function GetJournal($charId) { $finances = new Finances(); //Get the master wallet journal for the corporation for the character $finances->GetWalletJournal(1, $charId); } }