示例#1
0
 public function save($request)
 {
     $ret = array();
     $filePath = $this->getFilePath($request);
     if (!file_exists($filePath)) {
         throw new Exception("File not found {$filePath}", 400);
     }
     $parser = new PgnParser($filePath);
     $games = $parser->getGames();
     $dbId = $this->getDatabaseId($request);
     $count = count($games);
     $pr = LudoDBProgress::getInstance();
     $pr->setSteps($count + 1, "Initializing import");
     $c = 0;
     foreach ($games as $game) {
         $c++;
         $pr->increment(1, "Importing game " . $c . " of " . $count);
         $ret[] = $this->importGame($game, $dbId);
     }
     $pr->increment(1, "Finished with import");
     return $ret;
 }
 private function runAndRemoveProgressBar($data)
 {
     if (!empty($data) && is_array($data) && isset($data['LudoDBProgressID'])) {
         $pr = LudoDBProgress::getInstance();
         $pr->save($data['LudoDBProgressID']);
         unset($data['LudoDBProgressID']);
     }
     return $data;
 }