Skip to content

Instantly share code, notes, and snippets.

@rande
Created February 24, 2012 01:08
Show Gist options
  • Select an option

  • Save rande/1896425 to your computer and use it in GitHub Desktop.

Select an option

Save rande/1896425 to your computer and use it in GitHub Desktop.

Revisions

  1. rande revised this gist Feb 24, 2012. 1 changed file with 16 additions and 2 deletions.
    18 changes: 16 additions & 2 deletions gistfile1.aw
    Original file line number Diff line number Diff line change
    @@ -12,7 +12,7 @@ class DemoController extends Controller
    {
    // preset a default value
    $media = $this->get('sonata.media.manager.media')->create();
    $media->setBinaryContent('http://www.youtube.com/watch?v=qTVfFmENgPU&feature=g-all-esi&context=G2eb7e57FAAAAAAAAAAA');
    $media->setBinaryContent('http://www.youtube.com/watch?v=qTVfFmENgPU');

    // create the target object
    $mediaPreview = new MediaPreview();
    @@ -30,11 +30,25 @@ class DemoController extends Controller
    // bind and transform the media's binary content into real content
    if ($request->getMethod() == 'POST') {
    $form->bindRequest($request);

    $this->getSeoPage()
    ->setTitle($media->getName())
    ->addMeta('property', 'og:description', $media->getDescription())
    ->addMeta('property', 'og:type', 'video')
    ;
    }

    return $this->render('SonataDemoBundle:Demo:media.html.twig', array(
    'form' => $form->createView(),
    'media' => $mediaPreview->getMedia()
    ));
    }
    }

    /**
    * @return \Sonata\SeoBundle\Seo\SeoPageInterface
    */
    public function getSeoPage()
    {
    return $this->get('sonata.seo.page');
    }
    }
  2. rande created this gist Feb 24, 2012.
    40 changes: 40 additions & 0 deletions gistfile1.aw
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,40 @@
    <?php

    namespace Sonata\Bundle\DemoBundle\Controller;

    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Sonata\Bundle\DemoBundle\Model\MediaPreview;
    use Symfony\Component\HttpFoundation\Request;

    class DemoController extends Controller
    {
    public function mediaAction(Request $request)
    {
    // preset a default value
    $media = $this->get('sonata.media.manager.media')->create();
    $media->setBinaryContent('http://www.youtube.com/watch?v=qTVfFmENgPU&feature=g-all-esi&context=G2eb7e57FAAAAAAAAAAA');

    // create the target object
    $mediaPreview = new MediaPreview();
    $mediaPreview->setMedia($media);

    // create the form
    $builder = $this->createFormBuilder($mediaPreview);
    $builder->add('media', 'sonata_media_type', array(
    'provider' => 'sonata.media.provider.youtube',
    'context' => 'default'
    ));

    $form = $builder->getForm();

    // bind and transform the media's binary content into real content
    if ($request->getMethod() == 'POST') {
    $form->bindRequest($request);
    }

    return $this->render('SonataDemoBundle:Demo:media.html.twig', array(
    'form' => $form->createView(),
    'media' => $mediaPreview->getMedia()
    ));
    }
    }