コード例 #1
0
ファイル: import.wl.php プロジェクト: jfefes/ORK3
 *	CACHES & VARS
 *		$award_map[wl] => ork
 *		$park_map[wl] => ork
 *		$class_map[wl] => ork
 *		$Token
 *		$KingdomId
 *
 ******************************************************************************/
$sql = "\n\tselect m.*, p.persona, max(a.date) lastattendance, count(a.date) as attendancecount \n\t\tfrom mundanes m \n\t\t\tleft join personas p on m.mundanepk = p.mundanefk\n\t\t\tleft join attendance a on a.mundanefk = m.mundanepk\n\t\tgroup by m.mundanepk";
$count = 0;
$players = $WL->query($sql);
$player_map = array();
$Player = new APIModel('Player');
do {
    if ($players->attendancecount > 1) {
        $player = $Player->CreatePlayer(array('Token' => $Token, 'GivenName' => $players->first, 'Surname' => $players->last, 'OtherName' => '', 'UserName' => $players->username, 'Password' => $players->password, 'Persona' => $players->persona, 'Email' => $players->email, 'ParkId' => $park_map[$players->parkfk], 'KingdomId' => $KingdomId, 'Restricted' => $players->restricted, 'IsActive' => $players->attendancecount > 2 && strtotime($players->lastattendance) > strtotime("-6 month") ? 1 : 0, 'Waivered' => 0, 'Waiver' => '', 'WaiverExt' => '', 'HasHeraldry' => 0, 'Heraldry' => '', 'HasImage' => 0, 'Image' => ''));
        $reconciled->clear();
        $reconciled->mundanefk = $players->mundanepk;
        $reconcile = array('Token' => $Token, 'ParkId' => $park_map[$players->parkfk], 'MundaneId' => $player['Detail'], 'Reconcile' => array());
        $limit = 25;
        if ($reconciled->find()) {
            do {
                $reconcile['Reconcile'][] = array('ClassId' => $class_map[$reconciled->classfk], 'Quantity' => $reconciled->credits);
            } while ($reconciled->next() && $limit--);
        }
        $Player->SetPlayerReconciledCredits($reconcile);
        $count++;
        if ($count % 50 == 0) {
            gc_enable();
            gc_collect_cycles();
            set_time_limit(10);
コード例 #2
0
ファイル: import.primary.php プロジェクト: jfefes/ORK3
 function ImportPlayers($number = 20)
 {
     set_time_limit(120);
     echo "<h2>Import Players</h2>";
     list($playerID, $detail) = $this->LastStatus('players');
     $sql = "select * \n                    from players \n                        left join chapters on players.chapterID = chapters.chapterID\n                    where playerID > {$playerID} and (players.chapterID > 0 and chapters.kingdomID != 14) order by playerID limit {$number}";
     $players = $this->ORK2->query($sql);
     $Player = new APIModel('Player');
     echo $sql . "<p>";
     $imported = 0;
     if ($players->size() > 0) {
         do {
             set_time_limit(120);
             if ($players->kingdomID == 2) {
                 continue;
             }
             list($tmp, $chapter_id) = $this->CacheMap('chapters', $players->chapterID);
             if ($chapter_id == 0) {
                 list($tmp, $chapter_id) = $this->CacheMap('principality-chapters', $players->chapterID);
             }
             if ($chapter_id == 0) {
                 continue;
             }
             echo "Create Player {$players->aname}; ";
             $imported++;
             $player = $Player->CreatePlayer(array('Token' => $this->token, 'GivenName' => $players->fname, 'Surname' => $players->lname, 'OtherName' => '', 'UserName' => str_replace(array(" ", ".", "'"), "_", strtolower($players->fullaname)), 'Password' => md5($players->fullaname), 'Persona' => $players->fullaname, 'Email' => $players->email, 'ParkId' => $chapter_id, 'KingdomId' => 0, 'Restricted' => 0, 'IsActive' => $players->active == 'Y' ? 1 : 0, 'Waivered' => 0, 'Waiver' => '', 'WaiverExt' => '', 'HasHeraldry' => 0, 'Heraldry' => '', 'HasImage' => 0, 'Image' => ''));
             /*
             if (trimlen($players->heraldry) > 0)
                 $Player->SetHeraldry(array(
                     'Token' => $this->token,
                     'MundaneId' => $player['Detail'],
                     'HeraldryUrl' => $players->heraldry
                 ));
             if (trimlen($players->photo) > 0)
                 $Player->SetImage(array(
                     'Token' => $this->token,
                     'MundaneId' => $player['Detail'],
                     'ImageUrl' => $players->photo
                 ));
             */
             $this->RecordTransfer('players', 'Player', $players->playerID, $player['Detail'], array());
         } while ($players->next());
     }
     echo "<h3>Import Players Complete ({$imported})</h3>";
     return $imported;
 }