private function matchTwitchStreamsToModpacks() { $modpacks_array = []; $streams_array = []; $modpacks = Modpack::all(); $modpack_aliases = ModpackAlias::all(); $streams = TwitchStream::where('online', 1)->get(); foreach ($modpacks as $modpack) { $modpacks_array[] = ['id' => $modpack->id, 'name' => $modpack->name]; } foreach ($modpack_aliases as $alias) { $modpacks_array[] = ['id' => $alias->modpack_id, 'name' => $alias->alias]; } foreach ($streams as $stream) { $id = $stream->channel_id; $streams_array[$id] = $stream->status; } foreach ($streams_array as $s_id => $stream) { $stream_database = TwitchStream::find($s_id); foreach ($modpacks_array as $mod) { preg_match('/' . $mod['name'] . '/i', $stream, $match); if ($match) { $stream_database->modpack_id = $mod['id']; $stream_database->save(); $this->info('Matched \'' . $stream . '\' to ' . $mod['name']); break; } else { $stream_database->delete(); } } } }
/** * Make changes to the database. * * @return void */ public function up() { Schema::table('modpacks', function ($table) { $table->boolean('hidden')->default(1); }); foreach (Modpack::all() as $modpack) { $modpack->hidden = false; $modpack->save(); } }
private function fetchModpacks() { if (Cache::has('modpacks') && empty($this->client) && empty($this->key)) { $modpacks = Cache::get('modpacks'); } else { $modpacks = Modpack::all(); if (empty($this->client) && empty($this->key)) { Cache::put('modpacks', $modpacks, 5); } } $response = array(); $response['modpacks'] = array(); foreach ($modpacks as $modpack) { if ($modpack->private == 1 || $modpack->hidden == 1) { if (isset($this->client)) { foreach ($this->client->modpacks as $pmodpack) { if ($pmodpack->id == $modpack->id) { $response['modpacks'][$modpack->slug] = $modpack->name; } } } else { if (isset($this->key)) { $response['modpacks'][$modpack->slug] = $modpack->name; } } } else { $response['modpacks'][$modpack->slug] = $modpack->name; } } $response['mirror_url'] = Config::get('solder.mirror_url'); return $response; }
public function getList() { $modpacks = Modpack::all(); return View::make('modpack.list')->with('modpacks', $modpacks); }