## Configuration ### config.php First an example configuration: ```php <?php return [ 'title' => 'AAI Login', // --- language for ui 'lang' => 'de', // -- enable one of it: 'mode' => 'boxes', // 'mode' => 'wayf', // -- maintenance hint or other message on top // 'text-info' => '+++ Hinweis +++ Hinweis +++ Hinweis +++ Hinweis +++', // -- text before and after 'text-before' => '<h2>AAI Login</h2> <p> Studierende und Dozenten nutzen in der Regel das Anmelden über ihre Organisation: </p>', 'text-after' => '<br><br><h2>Anmeldung ohne AAI</h2> <p> Klicken Sie auf: <br /> <a href="/login.php" onclick="">Gast-Zugang</a> </p>', // -- positive list of IDPs 'idps' => [ "https://aai-idp.unibe.ch/idp/shibboleth", "https://aai.insel.ch/idp/shibboleth", "https://aai-logon.vho-switchaai.ch/idp/shibboleth", "https://aai-logon.unibas.ch/idp/shibboleth", ], // -- return URL 'return-url' => '/shib_login.php' // -- cache for discofeed 'cachefile' => 'discofeed.json', 'cachettl' => 60*60, ]; ``` #### Available settings | Key | Type | Description |-- |-- |-- | title | string | Title of the login page; used for title tag and h1 header | lang | string | Language as 2 letter code for ui and to detect texts in discofeed; If the language is not found in the discofeed it takes the 1st text item | mode | string | Selection mode; one of <br>- `"boxes"` Boxes with images incl. filter field<br>- `"list"` Top down list of IDPs with images incl. filter field<br>- `"wayf"` Selection with WAYF script from Switch | text-info | string | When not empty: show a warning banner with its text on top eg. for maintenance messages | text-before-wayf | string | Text to show before wayf select box (for mode = "wayf" only) | text-after-logins | string | Fisnishing text after | idps | array | List of enabled idps to whitelist; it will filtered by enabled organisatzions by shibboleth | return-url | string | Return url to your application afer logging in on then organization url<br>- '/shib_login.php' is for Ilias LMS | cachefile | string | Releative path for cache file of the discofeed; default: "discofeed.json"; the user of webserver (www-data, ...) needs write permission in the follder | cachettl | integer | Caching time for cache file (discofeed.json ); default: 60 min #### Screenshots of modes Mode "boxes":  Mode "list":  Mode "wayf":  ### Custom Css Place a file named "screen_custom.css". If this exists it will be added in the html code after all other css files. There you can override all styles and values. ### Custom look If you want to modify the look of the Idp selection: * go to directory "mode" * Make a copy of a view, eg. copy "boxes" to "myboxes" and make your changes for coding and styling in your copy * To activate it edit the ./config.php and set `'mode' => 'myboxes',`