public function update($id)
{
try {
$input = Input::all();
$validator = BuiltModule::validate($input, $id);
if ($validator->passes()) {
$module = BuiltModule::findOrFail($id);
if ($module->hash == '') {
$input['hash'] = uniqid('module_');
} else {
$input['hash'] = $module->hash;
}
$input['is_author'] = $module->is_author;
if (!(bool) $module->is_author) {
$input['name'] = $module->name;
$input['author'] = $module->author;
$input['vendor'] = $module->vendor;
$input['version'] = $module->version;
$input['website'] = $module->website;
$input['description'] = $module->description;
}
$zip_file = $this->moduleBuilder->createModule($input);
$file_name = Str::slug($input['name'], '_');
$input = $this->formatInput($zip_file, $input);
$module->update($input);
Session::put('download_file', $id);
return Redirect::to('backend/module-builder')->with('success_message', trans('success_messages.module_update'));
} else {
// Form validation failed
return Redirect::back()->withInput()->withErrors($validator);
}
} catch (Exception $e) {
return Redirect::back()->withInput()->with('error_message', trans('error_messages.module_update') . ' ' . $e->getMessage());
}
}