/** * @Route("/read", name="read") * @Method({"GET", "POST", "OPTIONS"}) */ public function appshedAction(Request $request) { $view = $this->getView($request); if (!$view->getId()) { $screen = new Screen("Error"); $screen->addChild(new Text("You must setup the view first")); return (new Remote($screen))->getSymfonyResponse(); } $rootScreen = new Screen($view->getTitle() ?: "Results"); if ($view->getMessage()) { $rootScreen->addChild(new Text($view->getMessage())); } $datas = $this->getDoctrine()->getRepository('AppShedExtensionsStorageBundle:Data')->getDataForView($view); /** @var Data $dataO */ foreach ($datas as $dataO) { $data = $dataO->getData(); if (count($data)) { if (array_key_exists('title', $data)) { $title = $data['title']; unset($data['title']); } else { $title = current($data); } $dataScreen = new Screen($title); foreach ($data as $key => $value) { $dataScreen->addChild(new Thumb($key, $value)); } $link = new Link($title); $link->setScreenLink($dataScreen); $rootScreen->addChild($link); } } return (new Remote($rootScreen))->getSymfonyResponse(); }