function delete_topic($topic_id, $request) { $msg = new Messages($GLOBALS['locale']); Authenticator::assert_manager_or_professor($request->cookies['authToken']); try { $model = new Model(); $result = $model->delete_topic($topic_id); if ($result) { http_response_code(204); die; } else { Util::output_errors_and_die('', 404); } } catch (ConflictException $e) { Util::output_errors_and_die('', 409); } catch (DatabaseException $e) { Util::output_errors_and_die($e->getMessage(), 503); } catch (Exception $e) { Util::output_errors_and_die($e->getMessage(), 400); } }