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);
 }