Skip to content

Instantly share code, notes, and snippets.

@netlooker
Created April 12, 2018 14:25
Show Gist options
  • Save netlooker/8bbdca8ed2719951087b57849870af0b to your computer and use it in GitHub Desktop.
Save netlooker/8bbdca8ed2719951087b57849870af0b to your computer and use it in GitHub Desktop.
OPENEUROPA-342 - Helper Controller for testing
diff --git a/modules/oe_theme_demo/oe_theme_demo.routing.yml b/modules/oe_theme_demo/oe_theme_demo.routing.yml
new file mode 100644
index 0000000..525e6b3
--- /dev/null
+++ b/modules/oe_theme_demo/oe_theme_demo.routing.yml
@@ -0,0 +1,7 @@
+oe_theme_demo.example:
+ path: '/oe-theme-demo/example'
+ defaults:
+ _title: 'Example'
+ _controller: '\Drupal\oe_theme_demo\Controller\OpenEuropaThemeDemoController::build'
+ requirements:
+ _permission: 'access content'
diff --git a/modules/oe_theme_demo/src/Controller/OpenEuropaThemeDemoController.php b/modules/oe_theme_demo/src/Controller/OpenEuropaThemeDemoController.php
new file mode 100644
index 0000000..243766e
--- /dev/null
+++ b/modules/oe_theme_demo/src/Controller/OpenEuropaThemeDemoController.php
@@ -0,0 +1,193 @@
+<?php
+
+namespace Drupal\oe_theme_demo\Controller;
+
+use Drupal\Core\Controller\ControllerBase;
+use Drupal\Core\Datetime\DateFormatterInterface;
+use Symfony\Component\DependencyInjection\ContainerInterface;
+
+/**
+ * Returns responses for OpenEuropa Theme Demo routes.
+ */
+class OpenEuropaThemeDemoController extends ControllerBase {
+
+ /**
+ * The date formatter service.
+ *
+ * @var \Drupal\Core\Datetime\DateFormatterInterface
+ */
+ protected $dateFormatter;
+
+ /**
+ * Constructs the controller object.
+ *
+ * @param \Drupal\Core\Datetime\DateFormatterInterface $date_formatter
+ * The date formatter service.
+ */
+ public function __construct(DateFormatterInterface $date_formatter) {
+ $this->dateFormatter = $date_formatter;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public static function create(ContainerInterface $container) {
+ return new static(
+ $container->get('date.formatter')
+ );
+ }
+
+ /**
+ * Builds the response.
+ */
+ public function build() {
+ // Set up a render array.
+ $build['pager_0'] = [
+ '#type' => 'pager',
+ '#element' => 0,
+ ];
+ $build['pager_1'] = [
+ '#type' => 'pager',
+ '#element' => 1,
+ ];
+ $build['pager_2'] = [
+ '#type' => 'pager',
+ '#element' => 2,
+ ];
+ $build['pager_3'] = [
+ '#type' => 'pager',
+ '#element' => 3,
+ ];
+ $build['pager_4'] = [
+ '#type' => 'pager',
+ '#element' => 4,
+ ];
+ $build['pager_5'] = [
+ '#type' => 'pager',
+ '#element' => 5,
+ ];
+ $build['pager_6'] = [
+ '#type' => 'pager',
+ '#element' => 6,
+ ];
+ $build['pager_7'] = [
+ '#type' => 'pager',
+ '#element' => 7,
+ ];
+ $build['pager_8'] = [
+ '#type' => 'pager',
+ '#element' => 8,
+ ];
+ $build['pager_9'] = [
+ '#type' => 'pager',
+ '#element' => 9,
+ ];
+ $build['pager_10'] = [
+ '#type' => 'pager',
+ '#element' => 10,
+ ];
+ $build['pager_11'] = [
+ '#type' => 'pager',
+ '#element' => 11,
+ ];
+ $build['pager_12'] = [
+ '#type' => 'pager',
+ '#element' => 12,
+ ];
+ $build['pager_13'] = [
+ '#type' => 'pager',
+ '#element' => 13,
+ ];
+ $build['pager_14'] = [
+ '#type' => 'pager',
+ '#element' => 14,
+ ];
+ $build['pager_15'] = [
+ '#type' => 'pager',
+ '#element' => 15,
+ '#quantity' => 7,
+ ];
+ $build['pager_16'] = [
+ '#type' => 'pager',
+ '#element' => 16,
+ '#quantity' => 7,
+ ];
+ $build['pager_17'] = [
+ '#type' => 'pager',
+ '#element' => 17,
+ '#quantity' => 7,
+ ];
+ $build['pager_18'] = [
+ '#type' => 'pager',
+ '#element' => 18,
+ '#quantity' => 7,
+ ];
+ $build['pager_19'] = [
+ '#type' => 'pager',
+ '#element' => 19,
+ '#quantity' => 7,
+ ];
+ $build['pager_20'] = [
+ '#type' => 'pager',
+ '#element' => 20,
+ '#quantity' => 7,
+ ];
+ $build['pager_21'] = [
+ '#type' => 'pager',
+ '#element' => 21,
+ '#quantity' => 7,
+ ];
+
+ // Initialize pagers with some fake data.
+ pager_default_initialize(150, 10, 0);
+ pager_default_initialize(150, 10, 1);
+ pager_default_initialize(150, 10, 2);
+ pager_default_initialize(150, 10, 3);
+ pager_default_initialize(150, 10, 4);
+ pager_default_initialize(150, 10, 5);
+ pager_default_initialize(150, 10, 6);
+ pager_default_initialize(150, 10, 7);
+ pager_default_initialize(150, 10, 8);
+ pager_default_initialize(150, 10, 9);
+ pager_default_initialize(150, 10, 10);
+ pager_default_initialize(150, 10, 11);
+ pager_default_initialize(150, 10, 12);
+ pager_default_initialize(150, 10, 13);
+ pager_default_initialize(150, 10, 14);
+ pager_default_initialize(70, 10, 15);
+ pager_default_initialize(70, 10, 16);
+ pager_default_initialize(70, 10, 17);
+ pager_default_initialize(70, 10, 18);
+ pager_default_initialize(40, 10, 19);
+ pager_default_initialize(50, 10, 20);
+ pager_default_initialize(60, 10, 21);
+
+ // Set up the current page numbers for pagers.
+ global $pager_page_array;
+ $pager_page_array[0] = 0;
+ $pager_page_array[1] = 1;
+ $pager_page_array[2] = 2;
+ $pager_page_array[3] = 3;
+ $pager_page_array[4] = 4;
+ $pager_page_array[5] = 5;
+ $pager_page_array[6] = 6;
+ $pager_page_array[7] = 7;
+ $pager_page_array[8] = 8;
+ $pager_page_array[9] = 9;
+ $pager_page_array[10] = 10;
+ $pager_page_array[11] = 11;
+ $pager_page_array[12] = 12;
+ $pager_page_array[13] = 13;
+ $pager_page_array[14] = 14;
+ $pager_page_array[15] = 0;
+ $pager_page_array[16] = 6;
+ $pager_page_array[17] = 3;
+ $pager_page_array[18] = 5;
+ $pager_page_array[19] = 0;
+ $pager_page_array[20] = 0;
+ $pager_page_array[21] = 1;
+
+ return $build;
+ }
+
+}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment