public function installTheme()
 {
     $details = Request::all();
     $error = false;
     if (!empty($details['theme'])) {
         if (!($error = Theme::unzip($details['theme'] . '.zip', false))) {
             $withPageData = !empty($details['page-data']) ? 1 : 0;
             $result = Theme::install($details['theme'], ['withPageData' => $withPageData]);
             if ($result['error']) {
                 $error = $result['response'];
             }
             if (($usedThemeSetting = Setting::where('name', '=', 'frontend.theme')->first()) && ($theme = Theme::where('theme', '=', $details['theme'])->first())) {
                 $usedThemeSetting->value = $theme->id;
                 $usedThemeSetting->save();
             }
         }
     }
     if ($error) {
         FormMessage::add('theme', $error);
         $this->setupTheme();
     } else {
         include __DIR__ . '/../../Http/routes/admin.php';
         Install::setInstallState('complete-welcome');
         $this->layoutData['title'] = 'Install Complete';
         $this->layoutData['content'] = View::make('coaster::pages.install', ['stage' => 'complete']);
     }
 }