*/ class EditController extends Controller { public function createAction(Request $request, Application $app) { $data = array( 'type' => 'html', 'cipher' => 'no', ); $form = new CreateGistForm($app['form.factory'], $app['translator'], $data); $form = $form->build()->getForm(); if ($request->isMethod('post')) { $form->submit($request); if ($form->isValid()) { $gist = $app['gist']->create(new Gist(), $form->getData()); } } return $this->render( 'Edit/index.html.twig', array( 'gist' => isset($gist) ? $gist : null, 'form' => $form->createView(), ), $app ); } public function cloneAction(Request $request, Application $app, $gist, $commit) { $viewOptions = $this->getViewOptions($request, $app, $gist, $commit); $data = array( 'type' => $viewOptions['gist']->getType(), 'content' => $viewOptions['raw_content'], 'cipher' => 'no', ); $form = new CloneGistForm($app['form.factory'], $app['translator'], $data); $form = $form->build()->getForm(); if ($request->isMethod('post')) { $form->submit($request); if ($form->isValid()) { try { $gist = $app['gist']->commit($viewOptions['gist'], $form->getData()); } catch (GitException $e) { $gist = $viewOptions['gist']; } $history = $app['gist']->getHistory($gist); return new RedirectResponse($app['url_generator']->generate( 'view', array( 'gist' => $gist->getFile(), 'commit' => array_pop($history)['commit'], ) )); } } $viewOptions['form'] = $form->createView(); return $this->render('Edit/clone.html.twig', $viewOptions, $app); } }