| @@ 215-304 (lines=90) @@ | ||
| 212 | * | |
| 213 | * @return Response | |
| 214 | */ | |
| 215 | public function removeAction($id, Request $request, Application $app) | |
| 216 |     { | |
| 217 | if ( | |
| 218 |             !$app['security']->isGranted('ROLE_POSTS_EDITOR') && | |
| 219 |             !$app['security']->isGranted('ROLE_ADMIN') | |
| 220 |         ) { | |
| 221 | $app->abort(403); | |
| 222 | } | |
| 223 | ||
| 224 | $posts = array(); | |
| 225 |         $ids = $request->query->get('ids', false); | |
| 226 |         $idsExploded = explode(',', $ids); | |
| 227 |         foreach ($idsExploded as $singleId) { | |
| 228 | $singleEntity = $app['orm.em']->find( | |
| 229 | 'Application\Entity\PostEntity', | |
| 230 | $singleId | |
| 231 | ); | |
| 232 | ||
| 233 |             if ($singleEntity) { | |
| 234 | $posts[] = $singleEntity; | |
| 235 | } | |
| 236 | } | |
| 237 | ||
| 238 |         $post = $app['orm.em']->find('Application\Entity\PostEntity', $id); | |
| 239 | ||
| 240 | if ( | |
| 241 | ( | |
| 242 | !$post && | |
| 243 | $ids === false | |
| 244 | ) || | |
| 245 | ( | |
| 246 | empty($posts) && | |
| 247 | $ids !== false | |
| 248 | ) | |
| 249 |         ) { | |
| 250 | $app->abort(404); | |
| 251 | } | |
| 252 | ||
| 253 |         $confirmAction = $app['request']->query->has('action') && | |
| 254 |             $app['request']->query->get('action') == 'confirm' | |
| 255 | ; | |
| 256 | ||
| 257 |         if ($confirmAction) { | |
| 258 |             try { | |
| 259 |                 if (!empty($posts)) { | |
| 260 |                     foreach ($posts as $post) { | |
| 261 | $app['orm.em']->remove($post); | |
| 262 | } | |
| 263 |                 } else { | |
| 264 | $app['orm.em']->remove($post); | |
| 265 | } | |
| 266 | ||
| 267 | $app['orm.em']->flush(); | |
| 268 | ||
| 269 | $app['flashbag']->add( | |
| 270 | 'success', | |
| 271 | $app['translator']->trans( | |
| 272 | 'The post "%post%" was successfully removed!', | |
| 273 | array( | |
| 274 | '%post%' => $post, | |
| 275 | ) | |
| 276 | ) | |
| 277 | ); | |
| 278 |             } catch (\Exception $e) { | |
| 279 | $app['flashbag']->add( | |
| 280 | 'danger', | |
| 281 | $app['translator']->trans( | |
| 282 | $e->getMessage() | |
| 283 | ) | |
| 284 | ); | |
| 285 | } | |
| 286 | ||
| 287 | return $app->redirect( | |
| 288 | $app['url_generator']->generate( | |
| 289 | 'members-area.posts' | |
| 290 | ) | |
| 291 | ); | |
| 292 | } | |
| 293 | ||
| 294 | return new Response( | |
| 295 | $app['twig']->render( | |
| 296 | 'contents/members-area/posts/remove.html.twig', | |
| 297 | array( | |
| 298 | 'post' => $post, | |
| 299 | 'posts' => $posts, | |
| 300 | 'ids' => $ids, | |
| 301 | ) | |
| 302 | ) | |
| 303 | ); | |
| 304 | } | |
| 305 | } | |
| 306 | ||
| @@ 273-358 (lines=86) @@ | ||
| 270 | ); | |
| 271 | } | |
| 272 | ||
| 273 | public function removeAction($id, Request $request, Application $app) | |
| 274 |     { | |
| 275 | if ( | |
| 276 |             !$app['security']->isGranted('ROLE_USERS_EDITOR') && | |
| 277 |             !$app['security']->isGranted('ROLE_ADMIN') | |
| 278 |         ) { | |
| 279 | $app->abort(403); | |
| 280 | } | |
| 281 | ||
| 282 | $users = array(); | |
| 283 |         $ids = $request->query->get('ids', false); | |
| 284 |         $idsExploded = explode(',', $ids); | |
| 285 |         foreach ($idsExploded as $singleId) { | |
| 286 | $singleEntity = $app['orm.em']->find( | |
| 287 | 'Application\Entity\UserEntity', | |
| 288 | $singleId | |
| 289 | ); | |
| 290 | ||
| 291 |             if ($singleEntity) { | |
| 292 | $users[] = $singleEntity; | |
| 293 | } | |
| 294 | } | |
| 295 | ||
| 296 |         $user = $app['orm.em']->find('Application\Entity\UserEntity', $id); | |
| 297 | ||
| 298 | if ( | |
| 299 | ( | |
| 300 | !$user && | |
| 301 | $ids === false | |
| 302 | ) || | |
| 303 | ( | |
| 304 | empty($users) && | |
| 305 | $ids !== false | |
| 306 | ) | |
| 307 |         ) { | |
| 308 | $app->abort(404); | |
| 309 | } | |
| 310 | ||
| 311 |         $confirmAction = $app['request']->query->has('action') && $app['request']->query->get('action') == 'confirm'; | |
| 312 | ||
| 313 |         if ($confirmAction) { | |
| 314 |             try { | |
| 315 |                 if (!empty($users)) { | |
| 316 |                     foreach ($users as $user) { | |
| 317 | $app['orm.em']->remove($user); | |
| 318 | } | |
| 319 |                 } else { | |
| 320 | $app['orm.em']->remove($user); | |
| 321 | } | |
| 322 | ||
| 323 | $app['orm.em']->flush(); | |
| 324 | ||
| 325 | $app['flashbag']->add( | |
| 326 | 'success', | |
| 327 | $app['translator']->trans( | |
| 328 | 'The user "%user%" was successfully removed!', | |
| 329 | array( | |
| 330 | '%user%' => $user, | |
| 331 | ) | |
| 332 | ) | |
| 333 | ); | |
| 334 |             } catch (\Exception $e) { | |
| 335 | $app['flashbag']->add( | |
| 336 | 'danger', | |
| 337 | $app['translator']->trans( | |
| 338 | $e->getMessage() | |
| 339 | ) | |
| 340 | ); | |
| 341 | } | |
| 342 | ||
| 343 | return $app->redirect( | |
| 344 |                 $app['url_generator']->generate('members-area.users') | |
| 345 | ); | |
| 346 | } | |
| 347 | ||
| 348 | return new Response( | |
| 349 | $app['twig']->render( | |
| 350 | 'contents/members-area/users/remove.html.twig', | |
| 351 | array( | |
| 352 | 'user' => $user, | |
| 353 | 'users' => $users, | |
| 354 | 'ids' => $ids, | |
| 355 | ) | |
| 356 | ) | |
| 357 | ); | |
| 358 | } | |
| 359 | } | |
| 360 | ||