61cb8761dd8a3522477f11415a138e335a6fe646
[yaffs-website] / web / core / modules / comment / src / Controller / AdminController.php
1 <?php
2
3 namespace Drupal\comment\Controller;
4
5 use Drupal\Core\Controller\ControllerBase;
6 use Drupal\Core\Form\FormBuilderInterface;
7 use Symfony\Component\HttpFoundation\Request;
8 use Symfony\Component\DependencyInjection\ContainerInterface;
9
10 /**
11  * Returns responses for comment module administrative routes.
12  */
13 class AdminController extends ControllerBase {
14
15   /**
16    * The form builder.
17    *
18    * @var \Drupal\Core\Form\FormBuilderInterface
19    */
20   protected $formBuilder;
21
22   /**
23    * {@inheritdoc}
24    */
25   public static function create(ContainerInterface $container) {
26     return new static(
27       $container->get('form_builder')
28     );
29   }
30
31   /**
32    * Constructs an AdminController object.
33    *
34    * @param \Drupal\Core\Form\FormBuilderInterface $form_builder
35    *   The form builder.
36    */
37   public function __construct(FormBuilderInterface $form_builder) {
38     $this->formBuilder = $form_builder;
39   }
40
41   /**
42    * Presents an administrative comment listing.
43    *
44    * @param \Symfony\Component\HttpFoundation\Request $request
45    *   The request of the page.
46    * @param string $type
47    *   The type of the overview form ('approval' or 'new') default to 'new'.
48    *
49    * @return array
50    *   Then comment multiple delete confirmation form or the comments overview
51    *   administration form.
52    */
53   public function adminPage(Request $request, $type = 'new') {
54     if ($request->request->get('operation') == 'delete' && $request->request->get('comments')) {
55       return $this->formBuilder->getForm('\Drupal\comment\Form\ConfirmDeleteMultiple', $request);
56     }
57     else {
58       return $this->formBuilder->getForm('\Drupal\comment\Form\CommentAdminOverview', $type);
59     }
60   }
61
62 }