protected function do_add($data) { if (!isset($data['set']) || !is_array($data['set'])) { return array('success' => false); } if (!empty($data['start'])) { $utc = $data['utc'] + 240; $start = date('Y-m-d G:i:s', strtotime($data['start']) + $utc * 60); } else { $start = ''; } $sets = array(); foreach ($data['set'] as $set) { if (preg_match('/[^-\\d\\.a-z]/ui', $set)) { continue; } $set = Database::get_full_row('set', 'id = ?', $set); if (empty($set)) { continue; } $sets[] = $set; if (!$set['grabbed']) { Grabber::get_set($set['id']); } } Database::begin(); Database::insert('game', array('id_user' => $this->user, 'pick_time' => isset($data['pick_time']) ? $data['pick_time'] : 0, 'pause_time' => isset($data['pause_time']) ? $data['pause_time'] : 0, 'type' => isset($data['type']) ? $data['type'] : 1, 'start' => $start)); $id_game = Database::last_id(); $order = 0; foreach ($sets as $set) { Database::insert('game_set', array('id_game' => $id_game, 'order' => ++$order, 'id_set' => $set['id'])); } Database::commit(); return array('success' => true); }
} foreach (glob($dir . '/*') as $file) { unlink($file); } } $file = array_shift($argv); $set = array_shift($argv); if (empty($set)) { die('Set needed' . "\n"); } $set = Database::get_full_row('set', 'id = ?', $set); if (empty($set)) { die('Incorrect set' . "\n"); } if (!$set['grabbed']) { Grabber::get_set($set['id']); } $folder = IMAGES . SL . 'import'; if (!file_exists($folder . SL . $set['id']) || !is_dir($folder . SL . $set['id'])) { die('No import folder' . "\n"); } $cards = Database::join('set_card', 'sc.id_card = c.id')->get_table('card', 'image', 'sc.id_set = ?', $set['id']); $images = glob($folder . SL . $set['id'] . SL . '*.jpg'); $import = array(); foreach ($images as $image) { $compare = str_replace($folder, '', $image); $compare = str_replace('.full.jpg', '.jpg', $compare); $compare = preg_replace('/[^a-zA-Z\\.\\/\\d\\-]|\\.(?!jpg$)/sui', '', $compare); foreach ($cards as $id => $card) { if ($compare == $card['image']) { $import[$image] = $card['image'];
public function generate() { parent::generate(); $shifted = Booster::get_cards('TST'); if (empty($shifted)) { Grabber::get_set('TST', true); $shifted = Booster::get_cards('TST'); } $shifted = current($shifted); $key = array_rand($shifted); $id = $shifted[$key]; $this->insert_card($id); $this->ids[] = $id; return $this->ids; }