gc_collect_cycles(); echo "{$awardcount} records processed ... " . memory_get_usage() . " ..."; } } while ($awards->next()); unset($awards); unset($Player); unset($mundanes); unset($parks); unset($personas); gc_enable(); gc_collect_cycles(); echo memory_get_usage(); echo "{$awardcount} Awards entered ..."; echo "<h2>Player Attendance</h2>"; $Attendance = new APIModel('Attendance'); $attendance->clear(); $attendance->find(); $attendancecount = 0; do { if (isset($player_map[$attendance->mundanefk])) { $Attendance->AddAttendance(array('Token' => $Token, 'ClassId' => $class_map[$attendance->classfk], 'MundaneId' => $player_map[$attendance->mundanefk], 'Date' => $attendance->date, 'Credits' => max($attendance->credits, $attendance->eventcredits), 'ParkId' => $attendance->event ? 0 : $park_map[$attendance->park], 'KingdomId' => $KingdomId, 'EventCalendarDetailId' => 0)); $attendancecount++; } if ($attendancecount % 250 == 0) { set_time_limit(10); gc_enable(); gc_collect_cycles(); echo "{$attendancecount} records processed ... " . memory_get_usage() . " ..."; } } while ($attendance->next()); echo "{$attendancecount} Attendance records entered ...";
function ImportCredits($number = 5) { set_time_limit(600); echo "<h2>Import Credits</h2>"; list($creditID, $detail) = $this->LastStatus('credits'); $sql = "SELECT creditID, creditchapterID, playerID, IsStandard, value, date, class\n FROM `credits`\n left join classtypes classes on classes.classID = credits.classID \n WHERE credits.playerID > 0 and classes.classID > 0 and creditID > {$creditID} order by creditID limit {$number}"; $credits = $this->ORK2->query($sql); $Attendance = new APIModel('Attendance'); echo $sql . "<p>"; $imported = 0; echo "credits: " . $credits->size() . "<p>"; if ($credits->size() > 0) { do { if (!valid_id($credits->creditchapterID)) { //echo "no xID; "; continue; } list($tmp, $chapter_id) = $this->CacheMap('chapters', $credits->creditchapterID); if ($chapter_id == 0) { list($tmp, $chapter_id) = $this->CacheMap('principality-chapters', $credits->creditchapterID); } if ($chapter_id == 0) { //echo "no cID; "; continue; } list($tmp, $mundane_id) = $this->CacheMap('players', $credits->playerID); if ($mundane_id == 0) { //echo "no mID ({$credits->playerID}, $mundane_id) ; "; continue; } $imported++; if ($imported % 5000 == 0) { set_time_limit(600); } $date = $Attendance->AddAttendance(array('Token' => $this->token, 'MundaneId' => $mundane_id, 'ParkId' => $chapter_id, 'Persona' => '', 'ClassId' => $credits->IsStandard, 'Date' => $credits->date, 'Credits' => $credits->value, 'Note' => '', 'Flavor' => $credits->class)); if ($date['Status'] == ServiceErrorIds::Success) { $this->RecordTransfer('credits', 'Attendance', $credits->creditID, $date['Detail'], array($detail)); if ($imported % 500 == 0) { echo "A: {$credits->creditID}, {$date['Detail']} (record {$imported}); "; } } } while ($credits->next()); } echo "<h3>Import Credits Complete ({$imported})</h3>"; return $imported; }