Example #1
0
 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)));
 }