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);
 }