Merge branch 'release-2.140.115'
[feisty_meow.git] / production / example_apps / shared_calendar / src / Controller / AppController.php
diff --git a/production/example_apps/shared_calendar/src/Controller/AppController.php b/production/example_apps/shared_calendar/src/Controller/AppController.php
new file mode 100644 (file)
index 0000000..c3e0757
--- /dev/null
@@ -0,0 +1,103 @@
+<?php
+/**
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * For full copyright and license information, please see the LICENSE.txt
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link      http://cakephp.org CakePHP(tm) Project
+ * @since     0.2.9
+ * @license   http://www.opensource.org/licenses/mit-license.php MIT License
+ */
+namespace App\Controller;
+
+use Cake\Controller\Controller;
+use Cake\Event\Event;
+
+/**
+ * Application Controller
+ *
+ * Add your application-wide methods in the class below, your controllers
+ * will inherit them.
+ *
+ * @link http://book.cakephp.org/3.0/en/controllers.html#the-app-controller
+ */
+class AppController extends Controller
+{
+
+    /**
+     * Initialization hook method.
+     *
+     * Use this method to add common initialization code like loading components.
+     *
+     * e.g. `$this->loadComponent('Security');`
+     *
+     * @return void
+     */
+    public function initialize()
+    {
+        parent::initialize();
+
+        $this->loadComponent('RequestHandler');
+        $this->loadComponent('Flash');
+
+        /*
+         * Enable the following components for recommended CakePHP security settings.
+         * see http://book.cakephp.org/3.0/en/controllers/components/security.html
+         */
+        //$this->loadComponent('Security');
+        //$this->loadComponent('Csrf');
+
+/* not necessarily what we want.
+//CALCODE:
+        $this->loadComponent('Auth', [
+                'loginAction' => [
+                    'controller' => 'Users',
+                    'action' => 'authorize',
+                ],
+                'authenticate'         => [
+                    'Form' => [
+                        'fields' => [
+                            'username' => 'email',
+                            'password' => 'password'
+                        ]
+                    ]
+                ],
+                'authError'            => __('You do not have permission to access this page'),
+                'authorize'            => ['Controller'],
+                'unauthorizedRedirect' => [
+                    'controller' => 'Users',
+                    'action'     => 'forbidden'
+                ],
+                'loginRedirect'        => [
+                    'controller' => 'Users',
+                    'action'     => 'show_calendar'
+                ],
+                'logoutRedirect'       => [
+                    'controller' => 'Users',
+                    'action'     => 'authorize'
+                ]
+       ]);
+
+       $this->Auth->allow(['authorize', 'googleLogin']);
+*/
+    }
+
+    /**
+     * Before render callback.
+     *
+     * @param \Cake\Event\Event $event The beforeRender event.
+     * @return \Cake\Network\Response|null|void
+     */
+    public function beforeRender(Event $event)
+    {
+        if (!array_key_exists('_serialize', $this->viewVars) &&
+            in_array($this->response->type(), ['application/json', 'application/xml'])
+        ) {
+            $this->set('_serialize', true);
+        }
+    }
+}