public function addAction(Application $app, Request $request) { $data = array('title' => 'Title', 'text' => 'Text', 'category' => ''); $categoriesModel = new CategoriesModel($app); $data['categories'] = $categoriesModel->getAll(); $form = $app['form.factory']->createBuilder(new AdForm(), $data)->getForm(); $form->remove('id'); $form->handleRequest($request); if ($form->isValid()) { $data = $form->getData(); $data['category_id'] = $data['category']; unset($data['categories'], $data['category']); $usersModel = new UsersModel($app); $owner = $usersModel->getCurrentUserId($app); $data['user_id'] = $owner; //var_dump($image); //$extension = $form['image_name']->guessClientExtension(); /* if (!$extension) { $extension = 'bin'; } $image_name = rand(1, 999999).'.'.$extension; var_dump($image_name); unset($data['image']); */ $adModel = new AdsModel($app); $adModel->saveAd($data); $app['session']->getFlashBag()->add('message', array('type' => 'success', 'content' => $app['translator']->trans('New ad added.'))); return $app->redirect($app['url_generator']->generate('ads_index'), 301); } $this->view['form'] = $form->createView(); return $app['twig']->render('ads/add.twig', $this->view); }
public function adsAction(Application $app) { $usersModel = new UsersModel($app); $id = $usersModel->getCurrentUserId($app); $profileModel = new ProfilesModel($app); $ads['ads'] = $profileModel->getUsersAds($id); return $app['twig']->render('profile/ads.twig', $ads); }
public function editAction(Application $app, Request $request) { $adsModel = new AdsModel($app); $id = (int) $request->get('id', 0); $ad = $adsModel->getAd($id); $ad_owner = $ad['user_id']; $userModel = new UsersModel($app); $current_user_id = $userModel->getCurrentUserId($app); $current_user_role = $userModel->getUserRoles($current_user_id); if ($current_user_role == 'ROLE_ADMIN' || $current_user_role == 'ROLE_MOD' || $ad_owner == $current_user_id) { $categoriesModel = new CategoriesModel($app); $ad['categories'] = $categoriesModel->getAll(); if (count($ad)) { $form = $app['form.factory']->createBuilder(new AdForm(), $ad)->getForm(); $form->handleRequest($request); if ($form->isValid()) { $data = $form->getData(); $data['category_id'] = $data['category']; unset($data['categories'], $data['category']); $adsModel = new AdsModel($app); $adsModel->saveAd($data); $app['session']->getFlashBag()->add('message', array('type' => 'success', 'content' => $app['translator']->trans('Ad updated'))); return $app->redirect($app['url_generator']->generate('ads_index'), 301); } $this->view['id'] = $id; $this->view['form'] = $form->createView(); } else { return $app->redirect($app['url_generator']->generate('ads_add'), 301); } } else { throw new ForbiddenException("You lack authority", 403); } return $app['twig']->render('ads/edit.twig', $this->view); }