public function idfeed_import(array $options) { if (count($options) < 1) { $this->cli->error('1 parameter required: handle'); return; } $this->cli->message('starting import of handle: ' . $options[0]); $idfeed = Kingboard_IdFeed::findByHandle($options[0]); if (is_null($idfeed)) { $this->cli->error('no such handle'); return; } $lastid = $idfeed->lastId; if (is_null($lastid)) { $lastid = 0; } if (!is_null($idfeed->type)) { $kidf = new Kingboard_IdFeed_Fetcher($idfeed->url, $idfeed->type); } else { $kidf = new Kingboard_IdFeed_Fetcher($idfeed->url); } try { $kills = $kidf->fetch($lastid)->kills; $kakp = new Kingboard_ApiKillParser(); $info = $kakp->parseKills($kills); $total = $info['oldkills'] + $info['newkills']; $this->cli->message("fetched {$total} kills, " . $info['oldkills'] . " allready known, " . $info['newkills'] . " new"); $this->cli->message("Last id was: " . $info['lastID'] . " internal: " . $info['lastIntID']); if (!is_null($idfeed->type) && $idfeed->type == "intid") { $idfeed->lastId = $info['lastIntID']; } else { $idfeed->lastId = $info['lastID']; } $idfeed->save(); } catch (Exception $e) { $this->cli->error("idfetch exception occured: " . $e->getMessage()); } }