public function showAdmin(Request $request, Application $app, $shop) { $models_attr = array(); $models = Shop::getShopModels($shop); foreach ($models as $model) { $models_attr[$model['name']] = Model::getModelDescription($model['name']); } $model = new Model(rand(1, 99999)); $form = $model->createForm($app); $form->handleRequest($request); $subshop = new Shop(); $shop_form = $subshop->createForm($app); $shop_form->handleRequest($request); if ($shop_form->isSubmitted() && $shop_form->isValid()) { $imageDir = '/images/' . $shop; if (!empty($shop_form['image']->getData())) { $file = $shop_form['image']->getData(); $fileName = md5(uniqid()) . '.' . $file->guessExtension(); $file->move('.' . $imageDir, $fileName); $subshop->setImage($imageDir . '/' . $fileName, $shop); } if (!empty($shop_form['title_image']->getData())) { $file = $shop_form['title_image']->getData(); $fileName = md5(uniqid()) . '.' . $file->guessExtension(); $file->move('.' . $imageDir, $fileName); $subshop->setTitleImage($imageDir . '/' . $fileName, $shop); } if (!empty($shop_form['logo']->getData())) { $file = $shop_form['logo']->getData(); $fileName = md5(uniqid()) . '.' . $file->guessExtension(); $file->move('.' . $imageDir, $fileName); $subshop->setLogo($imageDir . '/' . $fileName, $shop); } } elseif ($shop_form->isSubmitted() && !$shop_form->isValid()) { var_dump($form->getErrors(true)); die; } if ($form->isSubmitted() && $form->isValid()) { $dir = '/models/shop/' . $shop; $file = $form['model']->getData(); $extension = 'stl'; $filename = rand(1, 99999) . '.' . $extension; $file->move('.' . $dir, $filename); $image_dir = '/models/' . $shop; $image = $form['image']->getData(); $image->move('.' . $image_dir, $image->getClientOriginalName()); $id = $model->store($dir . '/' . $filename, $shop, $image_dir . '/' . $image->getClientOriginalName()); return $app->redirect('/admin/' . $shop . '/' . $model->getModelName($id) . '/edit'); } elseif ($form->isSubmitted() && !$form->isValid()) { var_dump($form->getErrors(true)); die; } return $app['twig']->render('page/admin.twig', array("shop" => $shop, "models" => $models, "form" => $form->createView(), "shop_form" => $shop_form->createView(), "shop_image" => $subshop->getSavedImage($shop), "shop_title_image" => $subshop->getSavedTitleImage($shop), "shop_logo" => $subshop->getSavedLogo($shop))); }